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 734ce5b9..60a20ae5 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 @@ -2,21 +2,9 @@ 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; import kd.bos.entity.plugin.AbstractOperationServicePlugIn; import kd.bos.entity.plugin.AddValidatorsEventArgs; import kd.bos.entity.plugin.PreparePropertysEventArgs; -import kd.bos.entity.plugin.args.EndOperationTransactionArgs; -import kd.bos.servicehelper.BusinessDataServiceHelper; -import kd.bos.servicehelper.operation.SaveServiceHelper; - -import java.math.BigDecimal; -import java.math.RoundingMode; - -import static com.yem.wm.es.contractamtlist.util.FunUtil.getPayBills; -import static com.yem.wm.es.contractamtlist.util.FunUtil.getShipBills; /** * @Description 寄单放单申请提交 @@ -24,45 +12,17 @@ import static com.yem.wm.es.contractamtlist.util.FunUtil.getShipBills; * @Created by ZZSLL */ -public class ExportPresentSubmitOp extends AbstractOperationServicePlugIn -{ +public class ExportPresentSubmitOp extends AbstractOperationServicePlugIn { public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); e.getFieldKeys().addAll(this.billEntityType.getAllFields().keySet()); } + @Override - public void onAddValidators(AddValidatorsEventArgs e) - { + public void onAddValidators(AddValidatorsEventArgs e) { super.onAddValidators(e); e.addValidator(new ExportPresentSubmitValidator()); e.addValidator(new ExportPresentSubmitsValidator()); } - @Override - public void endOperationTransaction(EndOperationTransactionArgs e) - { - super.endOperationTransaction(e); - DynamicObject[] eDataEntities = e.getDataEntities(); - String operationKey = e.getOperationKey(); - if ("submit".equals(operationKey)) { - for (DynamicObject dataEntity : eDataEntities) { - DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("yem_es_exportpre_erf"); - for (DynamicObject dynamicObject : collection) { - DynamicObject saleOrder = dynamicObject.getDynamicObject("yem_saleorder"); - if (saleOrder == null) continue; - DynamicObject shipDetail = dynamicObject.getDynamicObject("yem_shipbill"); - if (shipDetail == null) continue; - shipDetail = BusinessDataServiceHelper.loadSingle(shipDetail.getPkValue(), shipDetail.getDataEntityType().getName()); - saleOrder = BusinessDataServiceHelper.loadSingle(saleOrder.getPkValue(), saleOrder.getDataEntityType().getName()); - DynamicObject[] shipBills = getShipBills(saleOrder, dataEntity, "A");//出运 - DynamicObject[] payBills = getPayBills(saleOrder, dataEntity, "B");//收款单 - - BigDecimal thisRealityAmt = PaymentControlUtil.getThisRealityAmt(saleOrder, shipBills, payBills, shipDetail); - dynamicObject.set("yem_debtamt", thisRealityAmt.setScale(2, RoundingMode.HALF_UP)); - } - dataEntity.set("yem_cloudhousetitle","标准出口交单-"+dataEntity.getString("billno") +"-"+ dataEntity.getString("yem_salarcontractnum") ); - } - SaveServiceHelper.save(eDataEntities); - } - } } 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 index bf58ba20..842beb30 100644 --- a/src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java +++ b/src/main/java/com/yem/wm/es/exportpresent/validator/ExportPresentSubmitsValidator.java @@ -1,5 +1,6 @@ package com.yem.wm.es.exportpresent.validator; +import com.yem.wm.es.shippingdetails.util.PaymentControlUtil; import com.yem.wm.utils.DynamicObjectUtil; import com.yem.wm.utils.YEM; import kd.bos.dataentity.entity.DynamicObject; @@ -9,12 +10,17 @@ import kd.bos.entity.validate.AbstractValidator; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.List; +import static com.yem.wm.es.contractamtlist.util.FunUtil.getPayBills; +import static com.yem.wm.es.contractamtlist.util.FunUtil.getShipBills; + /** * @author ljw * @date 2024/9/24 19:04 @@ -32,6 +38,22 @@ public class ExportPresentSubmitsValidator extends AbstractValidator { if ("A".equals(paymenttype)) { arrearsVerification(dataEntity, data); } + DynamicObjectCollection collection = dataEntity.getDynamicObjectCollection("yem_es_exportpre_erf"); + for (DynamicObject dynamicObject : collection) { + DynamicObject saleOrder = dynamicObject.getDynamicObject("yem_saleorder"); + if (saleOrder == null) continue; + DynamicObject shipDetail = dynamicObject.getDynamicObject("yem_shipbill"); + if (shipDetail == null) continue; + shipDetail = BusinessDataServiceHelper.loadSingle(shipDetail.getPkValue(), shipDetail.getDataEntityType().getName()); + saleOrder = BusinessDataServiceHelper.loadSingle(saleOrder.getPkValue(), saleOrder.getDataEntityType().getName()); + DynamicObject[] shipBills = getShipBills(saleOrder, dataEntity, "A");//出运 + DynamicObject[] payBills = getPayBills(saleOrder, dataEntity, "B");//收款单 + + BigDecimal thisRealityAmt = PaymentControlUtil.getThisRealityAmt(saleOrder, shipBills, payBills, shipDetail); + dynamicObject.set("yem_debtamt", thisRealityAmt.setScale(2, RoundingMode.HALF_UP)); + } + dataEntity.set("yem_cloudhousetitle", "标准出口交单-" + dataEntity.getString("billno") + "-" + dataEntity.getString("yem_salarcontractnum")); + SaveServiceHelper.update(dataEntity); } }