1.订舱通知单保存报错处理

(cherry picked from commit e9b19fe3cd)
This commit is contained in:
ljw 2024-11-14 11:48:12 +08:00
parent 2848c97f81
commit 8822ce3ce5

View File

@ -9,6 +9,7 @@ import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.PreparePropertysEventArgs;
import kd.bos.entity.plugin.args.BeforeOperationArgs;
import kd.bos.entity.plugin.args.BeginOperationTransactionArgs;
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
import kd.bos.exception.KDBizException;
@ -51,19 +52,6 @@ public class StorageTransSaveOp extends AbstractOperationServicePlugIn {
DynamicObject[] storageTrans = e.getDataEntities();
for (DynamicObject storageTran : storageTrans) {
extracted(e, storageTran, storageTrans);
DynamicObjectCollection yemEsMaterialinfo = storageTran.getDynamicObjectCollection("yem_es_materialinfo");
if (!yemEsMaterialinfo.isEmpty()){
BigDecimal yemQty = BigDecimal.ZERO;
for (DynamicObject dynamicObject : yemEsMaterialinfo) {
String yemBusinesssort = dynamicObject.getString("yem_businesssort");
boolean yemIfgift = dynamicObject.getBoolean("yem_ifgift");
if ("Z".equals(yemBusinesssort)&&!yemIfgift){
yemQty =yemQty.add(dynamicObject.getBigDecimal("yem_qty"));
}
}
storageTran.set("yem_ordersumnumber",yemQty);
SaveServiceHelper.save(storageTrans);
}
}
}
@ -283,4 +271,25 @@ public class StorageTransSaveOp extends AbstractOperationServicePlugIn {
linkRow.set("yem_im_materialinfo_mi_lk_sid", tarBillEntryRow.getLong("yem_sourceentryid"));
linkRows.add(linkRow);
}
@Override
public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
super.beforeExecuteOperationTransaction(e);
DynamicObject[] eDataEntities = e.getDataEntities();
for (DynamicObject eDataEntity : eDataEntities) {
DynamicObjectCollection yemEsMaterialinfo = eDataEntity.getDynamicObjectCollection("yem_es_materialinfo");
if (!yemEsMaterialinfo.isEmpty()){
BigDecimal yemQty = BigDecimal.ZERO;
for (DynamicObject dynamicObject : yemEsMaterialinfo) {
String yemBusinesssort = dynamicObject.getString("yem_businesssort");
boolean yemIfgift = dynamicObject.getBoolean("yem_ifgift");
if ("Z".equals(yemBusinesssort)&&!yemIfgift){
yemQty =yemQty.add(dynamicObject.getBigDecimal("yem_qty"));
}
}
eDataEntity.set("yem_ordersumnumber",yemQty);
// SaveServiceHelper.save(storageTrans);
}
}
}
}