出口报关生成出口发票时多选基础资料赋值
This commit is contained in:
ljw 2025-01-11 20:00:49 +08:00
parent c4e4842bdb
commit 126526eb63

View File

@ -5,6 +5,7 @@ import com.yem.wm.utils.DynamicObjectUtil;
import com.yem.wm.utils.YEM; 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.dataentity.entity.MulBasedataDynamicObjectCollection;
import kd.bos.entity.BillEntityType; import kd.bos.entity.BillEntityType;
import kd.bos.entity.ExtendedDataEntity; import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.botp.plugin.AbstractConvertPlugIn; import kd.bos.entity.botp.plugin.AbstractConvertPlugIn;
@ -32,14 +33,34 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn {
BillEntityType srcMainType = this.getSrcMainType(); BillEntityType srcMainType = this.getSrcMainType();
//上游 //上游
String name = this.getSrcMainType().getName(); String name = this.getSrcMainType().getName();
ExtendedDataEntity[] findByEntityKeys = e.getTargetExtDataEntitySet().FindByEntityKey(targetName); ExtendedDataEntity[] findByEntityKeys = e.getTargetExtDataEntitySet().FindByEntityKey(targetName);
for (ExtendedDataEntity findByEntityKey : findByEntityKeys) { for (ExtendedDataEntity findByEntityKey : findByEntityKeys) {
DynamicObject findBynames = BusinessDataServiceHelper.loadSingle(findByEntityKey.getValue("id"), name); List<DynamicObject> shippingDetails = (List<DynamicObject>) 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); setRate(findByEntityKey);
DynamicObject dataEntity = findByEntityKey.getDataEntity();//单据主实体
bringLatestExRate(dataEntity); bringLatestExRate(dataEntity);
DynamicObjectCollection yemExportinvoiceC = dataEntity.getDynamicObjectCollection("yem_exportinvoice_c");//报关商品 DynamicObjectCollection yemExportinvoiceC = dataEntity.getDynamicObjectCollection("yem_exportinvoice_c");//报关商品
DynamicObjectCollection yemExportinvoiceCd = dataEntity.getDynamicObjectCollection("yem_exportinvoice_cd");//报关商品对照表 DynamicObjectCollection yemExportinvoiceCd = dataEntity.getDynamicObjectCollection("yem_exportinvoice_cd");//报关商品对照表
@ -101,24 +122,7 @@ public class DeclareDocxToExportinvoiceConvert extends AbstractConvertPlugIn {
// } // }
calculatePremium(dataEntity); calculatePremium(dataEntity);
List<DynamicObject> 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<DynamicObject> 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); ExtendedDataEntity[] findByname = e.getTargetExtDataEntitySet().FindByEntityKey(targetName);