From d464b1adca1a515799d061b5d350f8bca2e101bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AD=A3=40=E7=94=A8=E5=8F=8B?= Date: Wed, 21 May 2025 10:08:05 +0800 Subject: [PATCH] =?UTF-8?q?mmpac=5F=E7=94=9F=E4=BA=A7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=8E=A8=E9=80=81=E9=94=90=E5=88=B6=5FV1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java | 2 +- .../rule/AfterApprovingSynchronizeRuleRZ.java | 22 ++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java index 943304d..108cdeb 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/PMOApproveBP.java @@ -49,7 +49,7 @@ public class PMOApproveBP { processer.addAfterRule(new PMOCreatePSCPlanRule()); ICompareRule auditSupplyRule = new PMOApproveAuditSupplyRule(); processer.addAfterRule(auditSupplyRule); - // 审批后推送到RZ系统 + // 审批后推送到RZ系统 processer.addAfterRule(new AfterApprovingSynchronizeRuleRZ()); } diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java index 90ae7a7..6befb6f 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApprovingSynchronizeRuleRZ.java @@ -47,7 +47,7 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule { // 推送到RZ系统 pushToRZMOM(filteredOrders.toArray(new PMOAggVO[0])); } catch (Exception e) { - log.error("同步生产订单到RZ系统失败: " + e.getMessage(), e); + log.error("同步生产订单到RZ系统失败: " + e.getMessage()); ExceptionUtils.wrappException(e); } } @@ -59,8 +59,9 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule { List aggvoList = new ArrayList<>(); for (PMOAggVO aggvo : pmoAggVOS) { String pkOrg = aggvo.getParentVO().getPk_org(); + Integer fbillstatus = aggvo.getParentVO().getFbillstatus(); String orgCode = transferCodeByPk(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); - if ("30401".equals(orgCode)) { + if ("30401".equals(orgCode)&&1==fbillstatus) { aggvoList.add(aggvo); } } @@ -110,17 +111,22 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule { for (PMOItemVO body : bodys) { JSONObject detailItem = new JSONObject(); +// jhmx_wbid varchar(100) 第三方系统主键id 必填 上位系统后台唯一ID + detailItem.put("jhmx_wbid", head.getCpmohid()); // 第三方系统计划类别id detailItem.put("jhlb_wbid", head.getVtrantypecode()); // 第三方系统产品ID 物料ID detailItem.put("wlbm_wbid", transferCodeByPk(MaterialVO.getDefaultTableName(), MaterialVO.CODE, MaterialVO.PK_MATERIAL, body.getCmaterialvid())); // 预计开工日期 - detailItem.put("sxrq", body.getTplanstarttime().toString()); + if(body.getTplanstarttime()!=null){ + detailItem.put("sxrq", body.getTplanstarttime().toString()); + } // 预计完工日期 - detailItem.put("wcrq", body.getTplanendtime().toString()); - detailItem.put("gdbj", body.getFitemstatus()); + if(body.getTplanendtime()!=null){ + detailItem.put("wcrq", body.getTplanendtime().toString()); + } // 计划产出数量 - detailItem.put("jhsl", body.getNmmastnum().doubleValue()); + detailItem.put("jhsl", body.getNmmastnum().getDouble()); // 入库仓库 detailItem.put("sdck", transferCodeByPk(StordocVO.getDefaultTableName(), StordocVO.CODE, StordocVO.PK_STORDOC, body.getCinwarehouseid())); detailItem.put("wlzdycs01", transferCodeByPk(StordocVO.getDefaultTableName(), StordocVO.CODE, StordocVO.PK_STORDOC, body.getCinwarehouseid())); @@ -130,11 +136,11 @@ public class AfterApprovingSynchronizeRuleRZ implements IRule { detailItem.put("ddbh", body.getVsalebillcode()); // 订单序号 detailItem.put("khddh", null); - detailItem.put("ddxh", null); + detailItem.put("ddxh", 1); // 备注说明 detailItem.put("bzsm", body.getVnote()); // 项目编号 - detailItem.put("htbz,wlzdycs06", body.getVdef1()); + detailItem.put("wlzdycs06", body.getVdef1()); details.add(detailItem); } }