diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java index 7ec1f6f..87912b0 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelpayBillTask.java @@ -46,18 +46,21 @@ public class BeiIntelpayBillTask extends AbstractTask implements Plugin { // 用于批量保存 List toSaveList = new ArrayList<>(); for (DynamicObject beiIntelPay : beiIntelPays) { - String number = beiIntelPay.getString("recedbillentry.e_recedbillnumber"); - if (number!=null && !"".equals(number)){ - String billType = beiIntelPay.getString("recedbillentry.e_recedbilltype"); - // 下查关联单据 - DynamicObject relevancyBill = BusinessDataServiceHelper.loadSingle(billType, new QFilter[]{new QFilter("billno", QCP.equals, number)}); - if (relevancyBill != null) { - // 尝试从不同类型的关联单据中获取凭证号 - String credentialNum = findCredentialNum(relevancyBill, billType); - logger.info(beiIntelPay.getString("billno")+"查询到 " + number + "关联到SAP号:"+credentialNum); - if (StringUtils.isNotEmpty(credentialNum)) { - beiIntelPay.set("shjh_credentialnums", credentialNum); - toSaveList.add(beiIntelPay); + DynamicObjectCollection entry = beiIntelPay.getDynamicObjectCollection("recedbillentry"); + if (entry.size()!=0){ + String number = entry.get(0).getString("e_recedbillnumber"); + if (number!=null && !"".equals(number)){ + String billType = entry.get(0).getString("e_recedbilltype"); + // 下查关联单据 + DynamicObject relevancyBill = BusinessDataServiceHelper.loadSingle(billType, new QFilter[]{new QFilter("billno", QCP.equals, number)}); + if (relevancyBill != null) { + // 尝试从不同类型的关联单据中获取凭证号 + String credentialNum = findCredentialNum(relevancyBill, billType); + logger.info(beiIntelPay.getString("billno")+"查询到 " + number + "关联到SAP号:"+credentialNum); + if (StringUtils.isNotEmpty(credentialNum)) { + beiIntelPay.set("shjh_credentialnums", credentialNum); + toSaveList.add(beiIntelPay); + } } } } diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelrecBillTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelrecBillTask.java index fffa4c7..aae8b6d 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelrecBillTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/BeiIntelrecBillTask.java @@ -2,6 +2,7 @@ package shjh.jhzj7.fi.fi.plugin.task; import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.exception.KDException; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; @@ -45,21 +46,25 @@ public class BeiIntelrecBillTask extends AbstractTask implements Plugin { // 用于批量保存 List toSaveList = new ArrayList<>(); for (DynamicObject beiIntelRec : beiIntelRecs) { - String number = beiIntelRec.getString("recedbillentry.e_recedbillnumber"); - if (number!=null && !"".equals(number)){ - String billType = beiIntelRec.getString("recedbillentry.e_recedbilltype"); - // 下查关联单据 - DynamicObject relevancyBill = BusinessDataServiceHelper.loadSingle(billType, new QFilter[]{new QFilter("billno", QCP.equals, number)}); - if (relevancyBill != null) { - // 尝试从不同类型的关联单据中获取凭证号 - String credentialNum = findCredentialNum(relevancyBill, billType); - logger.info(beiIntelRec.getString("billno")+"查询到 " + number + "关联到SAP号:"+credentialNum); - if (StringUtils.isNotEmpty(credentialNum)) { - beiIntelRec.set("shjh_credentialnums", credentialNum); - toSaveList.add(beiIntelRec); + DynamicObjectCollection entry = beiIntelRec.getDynamicObjectCollection("recedbillentry"); + if (entry.size()!=0){ + String number = entry.get(0).getString("e_recedbillnumber"); + if (number!=null && !"".equals(number)){ + String billType = entry.get(0).getString("e_recedbilltype"); + // 下查关联单据 + DynamicObject relevancyBill = BusinessDataServiceHelper.loadSingle(billType, new QFilter[]{new QFilter("billno", QCP.equals, number)}); + if (relevancyBill != null) { + // 尝试从不同类型的关联单据中获取凭证号 + String credentialNum = findCredentialNum(relevancyBill, billType); + logger.info(beiIntelRec.getString("billno")+"查询到 " + number + "关联到SAP号:"+credentialNum); + if (StringUtils.isNotEmpty(credentialNum)) { + beiIntelRec.set("shjh_credentialnums", credentialNum); + toSaveList.add(beiIntelRec); + } } } } + } // 批量保存 if (!toSaveList.isEmpty()) {