From 2be019fb95ffd8f91d1498fcbf9a111f18e65907 Mon Sep 17 00:00:00 2001 From: zzs Date: Fri, 20 Dec 2024 16:04:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:CMMP=E6=88=96BOM=E5=8F=98=E6=9B=B4=E5=8D=95?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=9B=B4=E6=96=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E5=90=AF=E7=94=A8=E6=97=B6=E9=97=B4=E8=B5=8B?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yem/em/task/BomChangeTaskEdit.java | 2 +- .../java/com/yem/em/utils/AtlasUtils.java | 92 +++++++++---------- 2 files changed, 44 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/yem/em/task/BomChangeTaskEdit.java b/src/main/java/com/yem/em/task/BomChangeTaskEdit.java index 844cdeb6..6492d2dd 100644 --- a/src/main/java/com/yem/em/task/BomChangeTaskEdit.java +++ b/src/main/java/com/yem/em/task/BomChangeTaskEdit.java @@ -51,7 +51,7 @@ public class BomChangeTaskEdit extends AbstractTask { QFilter qFilter = new QFilter("number", QCP.equals, "110"); DynamicObject bos_org = BusinessDataServiceHelper.loadSingle("bos_org", "id", qFilter.toArray()); String Queryfield = AtlasUtils.Queryfield("changebill_code", "pcode", "ccode", "qty", "break_flag", "complete_time", - "disable_time", "state", "complete_time", "complete_user", "MATER_NAME", "CMATER_NAME", "COMPLETE_TIME"); + "disable_time", "state", "complete_time", "complete_user", "MATER_NAME", "CMATER_NAME", "COMPLETE_TIME", "enable_time"); Calendar calendar = Calendar.getInstance(); // 昨天 diff --git a/src/main/java/com/yem/em/utils/AtlasUtils.java b/src/main/java/com/yem/em/utils/AtlasUtils.java index 981f3467..89e1e6ed 100644 --- a/src/main/java/com/yem/em/utils/AtlasUtils.java +++ b/src/main/java/com/yem/em/utils/AtlasUtils.java @@ -923,10 +923,13 @@ public class AtlasUtils { DynamicObject yem_em_bomchange = BusinessDataServiceHelper.loadSingle("yem_em_bomchange", "id", qFilter1.toArray()); if (yem_em_bomchange != null) { DynamicObject bomchange = BusinessDataServiceHelper.loadSingle(yem_em_bomchange.getLong("id"), "yem_em_bomchange"); - if (bomchange != null) { - DynamicObjectCollection yem_entryentity = bomchange.getDynamicObjectCollection("yem_entryentity"); - if (yem_entryentity.size() == 0) { - DynamicObject dynamicObject = yem_entryentity.addNew(); + DynamicObjectCollection yem_entryentity = bomchange.getDynamicObjectCollection("yem_entryentity"); + String code = map.get("pcode").toString() + "_" + map.get("ccode").toString(); + boolean exist = false; + for (DynamicObject dynamicObject : yem_entryentity) { + String key = dynamicObject.getString("yem_parentno") + "_" + dynamicObject.getString("yem_subno"); + if (code.equals(key)) { + exist = true; dynamicObject.set("yem_changeno", changebill_code);//更改单号 dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码 dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称 @@ -956,54 +959,45 @@ public class AtlasUtils { } dynamicObject.set("yem_completetime", map.get("complete_time")); - } else { - Boolean fag = true; - String code = map.get("pcode").toString() + "_" + map.get("ccode").toString(); - for (int j = 0; j < yem_entryentity.size(); j++) { - DynamicObject dynamicObject = yem_entryentity.get(j); - String key = dynamicObject.getString("yem_parentno") + "_" + dynamicObject.getString("yem_subno"); - if (key.equals(code)) { - fag = false; - break; - } - } - if (fag) { - DynamicObject dynamicObject = yem_entryentity.addNew(); - dynamicObject.set("yem_changeno", changebill_code);//更改单号 - dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码 - dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称 - dynamicObject.set("yem_subno", map.get("ccode"));//父件编码 - dynamicObject.set("yem_subname", map.get("cmater_name"));//子件名称 - dynamicObject.set("yem_qty", map.get("qty"));//数量 - if (map.get("break_flag").toString().equals("启用")) { - dynamicObject.set("yem_enablesta", "A");//启用停用状态 - } - if (map.get("break_flag").toString().equals("停用")) { - dynamicObject.set("yem_enablesta", "B");//启用停用状态 - } - dynamicObject.set("yem_enableparno", map.get("pcode"));//替换父件名称 - dynamicObject.set("yem_enableparname", map.get("mater_name"));//替换父件名称 - dynamicObject.set("yem_enableddate", map.get("enable_time"));//启用时间 - dynamicObject.set("yem_downdate", map.get("disable_time"));//停用时间 - dynamicObject.set("yem_exestate", map.get("state"));//执行状态 - DynamicObject assatlasdet = seelctDyn("yem_em_assatlasdet", "number", map.get("pcode").toString()); - if (assatlasdet != null) { - //是否总成 yem_isass - dynamicObject.set("yem_isass", true); - } - DynamicObject basemodelib = seelctDyn("yem_bd_basemodelib", "number", map.get("pcode").toString()); - if (basemodelib != null) { - //是否资源 yem_isass - dynamicObject.set("yem_isresource", true); - } - dynamicObject.set("yem_completetime", map.get("complete_time")); - } } } - OperationResult Operate = OperationServiceHelper.executeOperate("save", - bomchange.getDynamicObjectType().getName(), new DynamicObject[]{bomchange}, OperateOption.create()); - if (Operate.isSuccess()) { + if (!exist) { + DynamicObject dynamicObject = yem_entryentity.addNew(); + dynamicObject.set("yem_changeno", changebill_code);//更改单号 + dynamicObject.set("yem_parentno", map.get("pcode"));//父件编码 + dynamicObject.set("yem_parentname", map.get("mater_name"));//父件名称 + dynamicObject.set("yem_subno", map.get("ccode"));//父件编码 + dynamicObject.set("yem_subname", map.get("cmater_name"));//子件名称 + dynamicObject.set("yem_qty", map.get("qty"));//数量 + if (map.get("break_flag").toString().equals("启用")) { + dynamicObject.set("yem_enablesta", "A");//启用停用状态 + } + if (map.get("break_flag").toString().equals("停用")) { + dynamicObject.set("yem_enablesta", "B");//启用停用状态 + } + dynamicObject.set("yem_enableparno", map.get("pcode"));//替换父件名称 + dynamicObject.set("yem_enableparname", map.get("mater_name"));//替换父件名称 + dynamicObject.set("yem_enableddate", map.get("enable_time"));//启用时间 + dynamicObject.set("yem_downdate", map.get("disable_time"));//停用时间 + dynamicObject.set("yem_exestate", map.get("state"));//执行状态 + DynamicObject assatlasdet = seelctDyn("yem_em_assatlasdet", "number", map.get("pcode").toString()); + if (assatlasdet != null) { + //是否总成 yem_isass + dynamicObject.set("yem_isass", true); + } + DynamicObject basemodelib = seelctDyn("yem_bd_basemodelib", "number", map.get("pcode").toString()); + if (basemodelib != null) { + //是否资源 yem_isass + dynamicObject.set("yem_isresource", true); + } + + dynamicObject.set("yem_completetime", map.get("complete_time")); + } + OperationResult save = OperationServiceHelper.executeOperate("save", + bomchange.getDynamicObjectType().getName(), new DynamicObject[]{bomchange}, OperateOption.create()); + if (!save.isSuccess()) { + throw new KDBizException("保存失败!" + save.getMessage()); } } else { DynamicObject cmmptable = BusinessDataServiceHelper.newDynamicObject("yem_em_bomchange");