From a955344dfaca2f5c0617de50b8505ff18226a19c Mon Sep 17 00:00:00 2001 From: ljw Date: Tue, 24 Sep 2024 19:37:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=AC=BE=E9=A1=B9=E7=B1=BB=E5=9E=8B=20=3D?= =?UTF-8?q?=20=E6=99=AE=E9=80=9A=E9=80=89=E9=A1=B9=20=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E5=BD=93=E5=89=8D=20=E5=AE=A2=E6=88=B7=20=20?= =?UTF-8?q?=E5=9C=A8=20=E3=80=90=E8=AE=A2=E8=88=B1=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=8D=95-=E4=BF=A1=E4=BF=9D=E5=9B=9E=E5=A1=AB=20=E3=80=91?= =?UTF-8?q?=E4=B8=AD=E6=98=AF=E5=90=A6=E5=AD=98=E5=9C=A8=E6=BB=A1=E8=B6=B3?= =?UTF-8?q?=E4=BB=A5=E4=B8=8B=E6=9D=A1=E4=BB=B6=E7=9A=84=E4=BF=A1=E4=BF=9D?= =?UTF-8?q?=E6=98=8E=E7=BB=86=EF=BC=9A=EF=BC=88=E5=BA=94=E5=9B=9E=E6=AC=BE?= =?UTF-8?q?=E5=80=92=E8=AE=A1=E6=97=B6<0=20=20=E5=B9=B6=E4=B8=94=E6=8A=95?= =?UTF-8?q?=E4=BF=9D=E5=9B=9E=E6=AC=BE=E9=87=91=E9=A2=9D<=E5=BA=94?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E9=87=91=E9=A2=9D=EF=BC=89=20=20=20=20=20?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=BB=A1=E8=B6=B3=EF=BC=8C=20=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=EF=BC=9A=E5=BD=93=E5=89=8D=E5=AF=84=E5=8D=95=E6=94=BE?= =?UTF-8?q?=E5=8D=95=E5=AE=A2=E6=88=B7=E5=AD=98=E5=9C=A8=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E5=90=88=E5=90=8C=EF=BC=9A***=EF=BC=8C=E8=AE=A2=E8=88=B1?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E5=8D=95=EF=BC=9A****=EF=BC=8C=E9=80=BE?= =?UTF-8?q?=E6=9C=9F=E6=9C=AA=E6=94=B6=E6=AC=BE=EF=BC=8C=E8=AF=B7=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=EF=BC=81=EF=BC=81=EF=BC=81=20=20=20=20=20=E6=AC=BE?= =?UTF-8?q?=E9=A1=B9=E7=B1=BB=E5=9E=8B=3D=E7=89=B9=E6=AE=8A=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8D=E5=88=A4=E6=96=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../op/ExportPresentSubmitOp.java | 2 + .../ExportPresentSubmitsValidator.java | 66 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java diff --git a/src/main/java/com/yem/wm/es/exportpresent/op/ExportPresentSubmitOp.java b/src/main/java/com/yem/wm/es/exportpresent/op/ExportPresentSubmitOp.java index 2e3b646b..a083384c 100644 --- a/src/main/java/com/yem/wm/es/exportpresent/op/ExportPresentSubmitOp.java +++ b/src/main/java/com/yem/wm/es/exportpresent/op/ExportPresentSubmitOp.java @@ -1,6 +1,7 @@ package com.yem.wm.es.exportpresent.op; import com.yem.wm.es.exportpresent.validator.ExportPresentSubmitValidator; +import com.yem.wm.es.exportpresent.validator.ExportPresentSubmitsValidator; import com.yem.wm.es.shippingdetails.util.PaymentControlUtil; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; @@ -29,6 +30,7 @@ public class ExportPresentSubmitOp extends AbstractOperationServicePlugIn { super.onAddValidators(e); e.addValidator(new ExportPresentSubmitValidator()); + e.addValidator(new ExportPresentSubmitsValidator()); } @Override diff --git a/src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java b/src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java new file mode 100644 index 00000000..b64383f5 --- /dev/null +++ b/src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java @@ -0,0 +1,66 @@ +package com.yem.wm.es.exportpresent.validator; + +import com.yem.wm.utils.DynamicObjectUtil; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.ExtendedDataEntity; +import kd.bos.entity.validate.AbstractValidator; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; + +import java.math.BigDecimal; + +/** + * @author ljw + * @date 2024/9/24 19:04 + * @description ExportPresentSubmitsValidator + */ +public class ExportPresentSubmitsValidator extends AbstractValidator { + + @Override + public void validate() + { + ExtendedDataEntity[] dataEntities = this.getDataEntities(); + for (ExtendedDataEntity data : dataEntities) { + DynamicObject dataEntity = data.getDataEntity(); + // 款项类型 + String paymenttype = dataEntity.getString("yem_paymenttype"); + if ("A".equals(paymenttype)) { + arrearsVerification(dataEntity,data); + } + } + } + + private void arrearsVerification(DynamicObject dataEntity,ExtendedDataEntity data) { + DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer"); + if (yemCustomer!=null){ + long aLong = yemCustomer.getLong("id"); + String selectfield = DynamicObjectUtil.getSelectfields("yem_es_storagetrans_xbs", false); + String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_storagetrans_xbs", "yem_creditdetail", false); + DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_storagetrans_xbs", selectfields + , new QFilter[]{new QFilter("yem_customer.id", QCP.equals, aLong)}); + if (load.length>0){ + for (DynamicObject dynamicObject : load) { + DynamicObjectCollection yemCreditdetail = dynamicObject.getDynamicObjectCollection("yem_creditdetail"); + String dynamicObjectString = dynamicObject.getString("billno"); + for (DynamicObject object : yemCreditdetail) { + BigDecimal yemCountpayback = object.getBigDecimal("yem_countpayback"); + BigDecimal yemActualsinkamtCd = object.getBigDecimal("yem_actualsinkamt_cd"); + BigDecimal yemPaymentamt1Cd = object.getBigDecimal("yem_paymentamt1_cd"); + if (yemCountpayback.compareTo(BigDecimal.ZERO)<0&&yemActualsinkamtCd.compareTo(yemPaymentamt1Cd)<0){ + DynamicObject yemSalecontractno = object.getDynamicObject("yem_salecontractno"); + String billno = ""; + if (yemSalecontractno!=null){ + billno = yemSalecontractno.getString("billno"); + } + this.addMessage(data,"当前寄单放单客户存在历史合同:["+billno+"],订舱通知单:["+dynamicObjectString+"],逾期未收款,请确认!!!"); + } + } + } + } + + } + } + +}