寄单放单申请,拼接优化
This commit is contained in:
ljw 2025-01-17 11:30:34 +08:00
parent 0d9cb4c4e3
commit 0a91f4ceb0
2 changed files with 25 additions and 43 deletions

View File

@ -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);
}
}
}

View File

@ -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);
}
}