From db1cce9b4dd0202ed5a26f39fdcaa7c9c55be1c1 Mon Sep 17 00:00:00 2001 From: "zzs01@yunemao.com" Date: Thu, 29 Aug 2024 17:31:52 +0800 Subject: [PATCH] =?UTF-8?q?wip:PLM=E5=8C=B9=E9=85=8D=EF=BC=8C=E7=94=9F?= =?UTF-8?q?=E6=88=90=E6=9B=BF=E6=8D=A2=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GenerateReplaceRelationshipTaskEdit.java | 21 +++++++- .../java/com/yem/em/utils/AtlasUtils.java | 52 ++----------------- 2 files changed, 23 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/yem/em/task/GenerateReplaceRelationshipTaskEdit.java b/src/main/java/com/yem/em/task/GenerateReplaceRelationshipTaskEdit.java index 09872d32..47616ec6 100644 --- a/src/main/java/com/yem/em/task/GenerateReplaceRelationshipTaskEdit.java +++ b/src/main/java/com/yem/em/task/GenerateReplaceRelationshipTaskEdit.java @@ -6,6 +6,7 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.exception.KDException; import kd.bos.schedule.executor.AbstractTask; +import kd.bos.servicehelper.BusinessDataServiceHelper; import java.util.Map; @@ -34,7 +35,25 @@ public class GenerateReplaceRelationshipTaskEdit extends AbstractTask { // if (替换件启用停用状态 = "启用") {} enabled.add(plm); } - AtlasUtils.generateReplaceRelationPLM(plmObj, enabled); + DynamicObject bomChange = createBOMChange(plmObj, enabled); + DynamicObjectCollection entry = bomChange.getDynamicObjectCollection("yem_entryentity"); + if (!entry.isEmpty()) { + DynamicObject replace = null; + if (entry.size() == 1) { + replace = AtlasUtils.Addreplace(bomChange, entry.get(0), null, "yem_em_replace", "add"); + } + for (DynamicObject entryObject : entry) { + int idx = entry.indexOf(entryObject); + if (idx == 0) continue; + replace = AtlasUtils.Addreplace(bomChange, entry.get(0), replace, "yem_em_replace", "update"); + } + } } } + + private DynamicObject createBOMChange(DynamicObject head, DynamicObjectCollection entry) { + DynamicObject bomchange = BusinessDataServiceHelper.newDynamicObject("yem_em_bomchange"); + + return bomchange; + } } diff --git a/src/main/java/com/yem/em/utils/AtlasUtils.java b/src/main/java/com/yem/em/utils/AtlasUtils.java index 87bba664..d5d76043 100644 --- a/src/main/java/com/yem/em/utils/AtlasUtils.java +++ b/src/main/java/com/yem/em/utils/AtlasUtils.java @@ -32,8 +32,9 @@ public class AtlasUtils { * @param bill 表头数据包 * @param entryentity 分录行数据包 * @param entityName 单据标识 + * @return */ - public static void Addreplace(DynamicObject bill, DynamicObject entryentity, DynamicObject replace, String entityName, String type) { + public static DynamicObject Addreplace(DynamicObject bill, DynamicObject entryentity, DynamicObject replace, String entityName, String type) { DynamicObject billObj = null; if (type.equals("add")) { billObj = BusinessDataServiceHelper.newDynamicObject(entityName); @@ -127,6 +128,7 @@ public class AtlasUtils { // AtlasUtils.Upassatlasdet(bill, entryentity, "Audit"); SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit"); } + return billObj; } else { List allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo(); String message = Operate.getMessage(); @@ -1082,52 +1084,4 @@ public class AtlasUtils { } return list; } - - /** - * PLM变更单生成替换关系 - * @param head 单据头数据 - * @param entryCollection 分录数据(一行) - */ - public static void generateReplaceRelationPLM(DynamicObject head, DynamicObjectCollection entryCollection) { - DynamicObject replace = BusinessDataServiceHelper.newDynamicObject("yem_em_replace"); - replace.set("createorg", head.getDynamicObject("createorg")); - replace.set("enable", "1"); - replace.set("status", "C"); - replace.set("yem_sourcetype", "PLM");//来源类型 - DynamicObjectCollection collection = replace.getDynamicObjectCollection("yem_entryentity"); - for (DynamicObject entry : entryCollection) { - DynamicObject addNew = collection.addNew(); - - addNew.set("yem_operator", YEM.getCurrentUserId());//操作人 - addNew.set("yem_replacedate", new Date());//操作时间 - - addNew.set("yem_replace", entry.getString("yem_exchangetype"));//替换关系 - addNew.set("yem_sourcetypeen", head.getDynamicObjectType().getName());//来源类型 - addNew.set("yem_trackingno", head.getString("billno"));//来源单号 - addNew.set("yem_trackingid", head.getLong("id"));//来源内码 - addNew.set("yem_sourceid", entry.getLong("id"));//来源分录内码 - } - - OperationResult Operate = OperationServiceHelper.executeOperate("save", - replace.getDynamicObjectType().getName(), - new DynamicObject[]{replace}, OperateOption.create()); - - if (Operate.isSuccess()) { -// //总成 -// boolean yem_isass = entryentity.getBoolean("yem_isass"); -// if (yem_isass) { -// AtlasUtils.Upassatlasdet(head, entryentity, "Audit"); -// } -// //资源 -// boolean yem_isresource = entryentity.getBoolean("yem_isresource"); -// if (yem_isresource) { -//// AtlasUtils.Upassatlasdet(bill, entryentity, "Audit"); -// SubRelationUtils.BomUpdateCMMPTable(bill, entryentity, "Audit"); -// } - } else { - List allErrorOrValidateInfo = Operate.getAllErrorOrValidateInfo(); - String message = Operate.getMessage(); - throw new KDBizException("保存《替换关系》失败,失败信息为:," + message + "," + allErrorOrValidateInfo); - } - } }