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+"],逾期未收款,请确认!!!"); + } + } + } + } + + } + } + +}