From 126526eb632818a928c869e49040a1fe704a23eb Mon Sep 17 00:00:00 2001 From: ljw Date: Sat, 11 Jan 2025 20:00:49 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=20=E5=87=BA=E5=8F=A3=E6=8A=A5?= =?UTF-8?q?=E5=85=B3=E7=94=9F=E6=88=90=E5=87=BA=E5=8F=A3=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=97=B6=E5=A4=9A=E9=80=89=E5=9F=BA=E7=A1=80=E8=B5=84=E6=96=99?= =?UTF-8?q?=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DeclareDocxToExportinvoiceConvert.java | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/yem/wm/es/declaredocx/convert/DeclareDocxToExportinvoiceConvert.java b/src/main/java/com/yem/wm/es/declaredocx/convert/DeclareDocxToExportinvoiceConvert.java index b11503ae..c2feca41 100644 --- a/src/main/java/com/yem/wm/es/declaredocx/convert/DeclareDocxToExportinvoiceConvert.java +++ b/src/main/java/com/yem/wm/es/declaredocx/convert/DeclareDocxToExportinvoiceConvert.java @@ -5,6 +5,7 @@ import com.yem.wm.utils.DynamicObjectUtil; import com.yem.wm.utils.YEM; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.entity.MulBasedataDynamicObjectCollection; import kd.bos.entity.BillEntityType; import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; @@ -32,14 +33,34 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn { BillEntityType srcMainType = this.getSrcMainType(); //上游 String name = this.getSrcMainType().getName(); - ExtendedDataEntity[] findByEntityKeys = e.getTargetExtDataEntitySet().FindByEntityKey(targetName); for (ExtendedDataEntity findByEntityKey : findByEntityKeys) { - DynamicObject findBynames = BusinessDataServiceHelper.loadSingle(findByEntityKey.getValue("id"), name); - //携带合同中的佣金率 + List shippingDetails = (List) findByEntityKey.getValue("ConvertSource"); + DynamicObject dataEntity = findByEntityKey.getDataEntity();//单据主实体 + + for (DynamicObject shippingDetail : shippingDetails) { + + Long value = shippingDetail.getLong("id"); + DynamicObject findBynames = BusinessDataServiceHelper.loadSingle(value, name); + MulBasedataDynamicObjectCollection yemDestport = (MulBasedataDynamicObjectCollection ) findByEntityKey.getValue("yem_shipports"); + DynamicObjectCollection fourBookColls = new DynamicObjectCollection(); + DynamicObject tempDyObjs = new DynamicObject(yemDestport.getDynamicObjectType()); + tempDyObjs.set("fbasedataid",findBynames.getDynamicObject("yem_despportcodebase")); + fourBookColls.add(tempDyObjs); + dataEntity.set("yem_shipports", fourBookColls); + + + MulBasedataDynamicObjectCollection yemDestports = (MulBasedataDynamicObjectCollection ) findByEntityKey.getValue("yem_destports"); + DynamicObjectCollection fourBookColl = new DynamicObjectCollection(); + DynamicObject tempDyObj = new DynamicObject(yemDestports.getDynamicObjectType()); + tempDyObj.set("fbasedataid",findBynames.getDynamicObject("yem_distinateportbase")); + fourBookColl.add(tempDyObj); + dataEntity.set("yem_destports", fourBookColl); + + + }//携带合同中的佣金率 setRate(findByEntityKey); - DynamicObject dataEntity = findByEntityKey.getDataEntity();//单据主实体 bringLatestExRate(dataEntity); DynamicObjectCollection yemExportinvoiceC = dataEntity.getDynamicObjectCollection("yem_exportinvoice_c");//报关商品 DynamicObjectCollection yemExportinvoiceCd = dataEntity.getDynamicObjectCollection("yem_exportinvoice_cd");//报关商品对照表 @@ -101,24 +122,7 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn { // } calculatePremium(dataEntity); - List userList = new ArrayList<>(); - DynamicObjectCollection userColl = findBynames.getDynamicObjectCollection("yem_shipports"); - userList.add((DynamicObject) findByEntityKey.getValue("yem_despportcodebase")); - for (DynamicObject users : userList) { - DynamicObject newUser = new DynamicObject(userColl.getDynamicObjectType()); - newUser.set("fbasedataId", users); - userColl.add(newUser); - } - findBynames.set("yem_shipports", userColl); - List userLists = new ArrayList<>(); - DynamicObjectCollection userColls = findBynames.getDynamicObjectCollection("yem_destports"); - userLists.add((DynamicObject) findByEntityKey.getValue("yem_distinateportbase")); - for (DynamicObject users : userLists) { - DynamicObject newUser = new DynamicObject(userColls.getDynamicObjectType()); - newUser.set("fbasedataId", users); - userColls.add(newUser); - } - findBynames.set("yem_destports", userColls); + } ExtendedDataEntity[] findByname = e.getTargetExtDataEntitySet().FindByEntityKey(targetName);