diff --git a/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSaveOp.java b/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSaveOp.java index ee22d900..2fba8df5 100644 --- a/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSaveOp.java +++ b/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSaveOp.java @@ -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); + } + } + } }