fix:款项类型 = 普通选项 时,判断当前 客户 在 【订舱通知单-信保回填 】中是否存在满足以下条件的信保明细:(应回款倒计时<0 并且投保回款金额<应收款金额)

如果满足, 提示:当前寄单放单客户存在历史合同:***,订舱通知单:****,逾期未收款,请确认!!!
    款项类型=特殊情况不判断。
This commit is contained in:
ljw 2024-09-24 19:37:01 +08:00
parent 314a0c65c6
commit a955344dfa
2 changed files with 68 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.yem.wm.es.exportpresent.op; package com.yem.wm.es.exportpresent.op;
import com.yem.wm.es.exportpresent.validator.ExportPresentSubmitValidator; 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 com.yem.wm.es.shippingdetails.util.PaymentControlUtil;
import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.entity.DynamicObjectCollection;
@ -29,6 +30,7 @@ public class ExportPresentSubmitOp extends AbstractOperationServicePlugIn
{ {
super.onAddValidators(e); super.onAddValidators(e);
e.addValidator(new ExportPresentSubmitValidator()); e.addValidator(new ExportPresentSubmitValidator());
e.addValidator(new ExportPresentSubmitsValidator());
} }
@Override @Override

View File

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