feat:寄单放单申请提交收款校验改为改成应收款日期1小于当前日期

This commit is contained in:
zzs 2024-12-16 10:03:42 +08:00
parent 0234a1df02
commit 19c58d6a6d

View File

@ -1,6 +1,7 @@
package com.yem.wm.es.exportpresent.validator; package com.yem.wm.es.exportpresent.validator;
import com.yem.wm.utils.DynamicObjectUtil; import com.yem.wm.utils.DynamicObjectUtil;
import com.yem.wm.utils.YEM;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.ExtendedDataEntity;
@ -11,6 +12,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -21,28 +23,27 @@ import java.util.List;
public class ExportPresentSubmitsValidator extends AbstractValidator { public class ExportPresentSubmitsValidator extends AbstractValidator {
@Override @Override
public void validate() public void validate() {
{
ExtendedDataEntity[] dataEntities = this.getDataEntities(); ExtendedDataEntity[] dataEntities = this.getDataEntities();
for (ExtendedDataEntity data : dataEntities) { for (ExtendedDataEntity data : dataEntities) {
DynamicObject dataEntity = data.getDataEntity(); DynamicObject dataEntity = data.getDataEntity();
// 款项类型 // 款项类型
String paymenttype = dataEntity.getString("yem_paymenttype"); String paymenttype = dataEntity.getString("yem_paymenttype");
if ("A".equals(paymenttype)) { if ("A".equals(paymenttype)) {
arrearsVerification(dataEntity,data); arrearsVerification(dataEntity, data);
} }
} }
} }
private void arrearsVerification(DynamicObject dataEntity,ExtendedDataEntity data) { private void arrearsVerification(DynamicObject dataEntity, ExtendedDataEntity data) {
DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer"); DynamicObject yemCustomer = dataEntity.getDynamicObject("yem_customer");
if (yemCustomer!=null){ if (yemCustomer != null) {
long aLong = yemCustomer.getLong("id"); long aLong = yemCustomer.getLong("id");
String selectfield = DynamicObjectUtil.getSelectfields("yem_es_storagetrans_xbs", false); String selectfield = DynamicObjectUtil.getSelectfields("yem_es_storagetrans_xbs", false);
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_storagetrans_xbs", "yem_creditdetail", false); String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_es_storagetrans_xbs", "yem_creditdetail", false);
DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_storagetrans_xbs", selectfields DynamicObject[] load = BusinessDataServiceHelper.load("yem_es_storagetrans_xbs", selectfields
, new QFilter[]{new QFilter("yem_customer.id", QCP.equals, aLong)}); , new QFilter[]{new QFilter("yem_customer.id", QCP.equals, aLong)});
if (load.length>0){ if (load.length > 0) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
for (DynamicObject dynamicObject : load) { for (DynamicObject dynamicObject : load) {
DynamicObjectCollection yemCreditdetail = dynamicObject.getDynamicObjectCollection("yem_creditdetail"); DynamicObjectCollection yemCreditdetail = dynamicObject.getDynamicObjectCollection("yem_creditdetail");
@ -51,17 +52,18 @@ public class ExportPresentSubmitsValidator extends AbstractValidator {
BigDecimal yemCountpayback = object.getBigDecimal("yem_countpayback"); BigDecimal yemCountpayback = object.getBigDecimal("yem_countpayback");
BigDecimal yemActualsinkamtCd = object.getBigDecimal("yem_actualsinkamt_cd"); BigDecimal yemActualsinkamtCd = object.getBigDecimal("yem_actualsinkamt_cd");
BigDecimal yemPaymentamt1Cd = object.getBigDecimal("yem_paymentamt1_cd"); BigDecimal yemPaymentamt1Cd = object.getBigDecimal("yem_paymentamt1_cd");
if (yemCountpayback.compareTo(BigDecimal.ZERO)<0&&yemActualsinkamtCd.compareTo(yemPaymentamt1Cd)<0){ Date paydate1 = object.getDate("yem_paydate1");//应收款日期1
if (YEM.isNotEmpty(paydate1) && paydate1.before(new Date()) && yemActualsinkamtCd.compareTo(yemPaymentamt1Cd) < 0) {
DynamicObject yemSalecontractno = object.getDynamicObject("yem_salecontractno"); DynamicObject yemSalecontractno = object.getDynamicObject("yem_salecontractno");
if (yemSalecontractno!=null){ if (yemSalecontractno != null) {
String billno = yemSalecontractno.getString("billno"); String billno = yemSalecontractno.getString("billno");
list.add("当前寄单放单客户存在历史合同:["+billno+"],订舱通知单:["+dynamicObjectString+"],逾期未收款,请确认!!!\n"); list.add("当前寄单放单客户存在历史合同:[" + billno + "],订舱通知单:[" + dynamicObjectString + "],逾期未收款,请确认!!!\n");
} }
} }
} }
} }
if (list.size()>0){ if (list.size() > 0) {
this.addMessage(data, list.toString()); this.addMessage(data, list.toString());
} }
} }