From 425d7d29a21b7b0aa225f6bf46a62f22df003334 Mon Sep 17 00:00:00 2001 From: ljw Date: Tue, 12 Nov 2024 18:07:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=201.=E8=AE=A2=E8=88=B1=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=8D=95=E6=8F=90=E4=BA=A4=E6=95=88=E9=AA=8C=E6=B1=87=E6=80=BB?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E4=BF=A1=E6=81=AF=E5=88=86=E5=BD=95=E6=95=B0?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../storagetrans/op/StorageTransSubmitOp.java | 2 + .../StorageTransSubmitValidator.java | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/main/java/com/yem/wm/es/storagetrans/validator/StorageTransSubmitValidator.java diff --git a/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSubmitOp.java b/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSubmitOp.java index 2682bca8..245d8397 100644 --- a/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSubmitOp.java +++ b/src/main/java/com/yem/wm/es/storagetrans/op/StorageTransSubmitOp.java @@ -1,6 +1,7 @@ package com.yem.wm.es.storagetrans.op; import com.yem.wm.es.storagetrans.validator.StorageTransSubmitValid; +import com.yem.wm.es.storagetrans.validator.StorageTransSubmitValidator; import com.yem.wm.utils.YEM; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; @@ -32,6 +33,7 @@ public class StorageTransSubmitOp extends AbstractOperationServicePlugIn { @Override public void onAddValidators(AddValidatorsEventArgs e) { super.onAddValidators(e); + e.addValidator(new StorageTransSubmitValidator()); e.addValidator(new AbstractValidator() { @Override public void validate() { diff --git a/src/main/java/com/yem/wm/es/storagetrans/validator/StorageTransSubmitValidator.java b/src/main/java/com/yem/wm/es/storagetrans/validator/StorageTransSubmitValidator.java new file mode 100644 index 00000000..3b65e198 --- /dev/null +++ b/src/main/java/com/yem/wm/es/storagetrans/validator/StorageTransSubmitValidator.java @@ -0,0 +1,38 @@ +package com.yem.wm.es.storagetrans.validator; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.ExtendedDataEntity; +import kd.bos.entity.validate.AbstractValidator; + +import java.math.BigDecimal; + +/** + * @author ljw + * @date 2024/11/12 17:46 + * @description StorageTransSubmitValidator + */ +public class StorageTransSubmitValidator extends AbstractValidator { + @Override + public void validate() { + ExtendedDataEntity[] dataEntities = this.getDataEntities(); + for (ExtendedDataEntity dataEntitie : dataEntities) { + DynamicObject dataEntity = dataEntitie.getDataEntity(); + DynamicObjectCollection yemEsMaterialinfo = dataEntity.getDynamicObjectCollection("yem_es_materialinfo"); + BigDecimal yemOrdersumnumber = dataEntity.getBigDecimal("yem_ordersumnumber"); + 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")); + } + } + if (yemOrdersumnumber.compareTo(yemQty)!= 0){ + this.addMessage(dataEntitie,"订单总台数["+yemOrdersumnumber+"]和汇总数量["+yemQty+"]不一致,不允许提交!!!"); + } + } + } + } +}