From efc51c7e9bc314757bf6fb6bfbc2079cd63ebe93 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 17 Sep 2025 10:50:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E8=A1=8C=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pickm/action/PickmToBuyingreqAction.java | 6 ++- .../web/mmpac/pickm/action/PickmToPmo.java | 46 +++++++++++++------ 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java index a65e427..a88974d 100644 --- a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java +++ b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToBuyingreqAction.java @@ -53,13 +53,15 @@ public class PickmToBuyingreqAction implements ICommonAction { PickmQueryInfoDTO paramDTO = json.fromJson(read, PickmQueryInfoDTO.class); // 获取主键 String[] cpickmids = paramDTO.getCpickmids(); -// String[] cpickmbids = paramDTO.getCpickmbids(); + String[] cpickmbids = paramDTO.getCpickmbids(); // if (MMValueCheck.isEmpty(cpickmids) && (null == cpickmbids || cpickmbids.length == 0)) { // return null; // } AggPickmVO[] aggVOs = null; IPickmQueryService service = ServiceLocator.find(IPickmQueryService.class); - if (MMValueCheck.isNotEmpty(cpickmids)) { + if (MMValueCheck.isNotEmpty(cpickmbids)) { + aggVOs = service.queryAggPickmVObyBid(cpickmbids); + } else if (MMValueCheck.isNotEmpty(cpickmids)) { aggVOs = service.queryBillsByPks(cpickmids); } if (MMValueCheck.isEmpty(aggVOs)) { diff --git a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java index 6f127f6..448e1b0 100644 --- a/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java +++ b/mmpac/src/client/nccloud/web/mmpac/pickm/action/PickmToPmo.java @@ -47,13 +47,15 @@ public class PickmToPmo implements ICommonAction { PickmQueryInfoDTO paramDTO = json.fromJson(read, PickmQueryInfoDTO.class); // 获取主键 String[] cpickmids = paramDTO.getCpickmids(); -// String[] cpickmbids = paramDTO.getCpickmbids(); + String[] cpickmbids = paramDTO.getCpickmbids(); // if (MMValueCheck.isEmpty(cpickmids) && (null == cpickmbids || cpickmbids.length == 0)) { // return null; // } AggPickmVO[] aggVOs = null; IPickmQueryService service = ServiceLocator.find(IPickmQueryService.class); - if (MMValueCheck.isNotEmpty(cpickmids)) { + if (MMValueCheck.isNotEmpty(cpickmbids)) { + aggVOs = service.queryAggPickmVObyBid(cpickmbids); + } else if (MMValueCheck.isNotEmpty(cpickmids)) { aggVOs = service.queryBillsByPks(cpickmids); } if (MMValueCheck.isEmpty(aggVOs)) { @@ -169,21 +171,39 @@ public class PickmToPmo implements ICommonAction { for (PMOItemVO itemVO: inVO.getChildrenVO()){ // itemVO.setTplanendtime(); for(AggPickmVO aggPickmVO:sourceBillVOs){ - if(itemVO.getVsrcid().equals(aggPickmVO.getParentVO().getCpickmid())){ - String[] ids = new String[1]; - ids[0] = aggPickmVO.getParentVO().getVfirstmoid(); +// if(itemVO.getVsrcid().equals(aggPickmVO.getParentVO().getCpickmid())){ - PMOAggVO[] rvo = query.queryByPks(ids); - if(null == rvo || rvo.length == 0){ - continue; - } - for (PMOItemVO ritem: rvo[0].getChildrenVO()){ - if(ritem.getVrowno().equals(aggPickmVO.getParentVO().getVfirstbillrowno())){ - itemVO.setTplanendtime(ritem.getTplanendtime()); + if(null!=aggPickmVO.getParentVO().getVfirstbilltype() &&aggPickmVO.getParentVO().getVfirstbilltype().equals("55A2") ){ + String[] ids = new String[1]; + ids[0] = aggPickmVO.getParentVO().getVfirstmoid(); + PMOAggVO[] rvo = query.queryByPks(ids); + if(null == rvo || rvo.length == 0){ + continue; + } + for (PMOItemVO ritem: rvo[0].getChildrenVO()){ + if(ritem.getVrowno().equals(aggPickmVO.getParentVO().getVfirstbillrowno())){ + itemVO.setTplanendtime(ritem.getTplanendtime()); + } } } - } + + if(null!=aggPickmVO.getParentVO().getVsourcebilltype() &&aggPickmVO.getParentVO().getVsourcebilltype().equals("55A2") ){ + String[] ids = new String[1]; + ids[0] = aggPickmVO.getParentVO().getVsourcemoid(); + + PMOAggVO[] rvo = query.queryByPks(ids); + if(null == rvo || rvo.length == 0){ + continue; + } + for (PMOItemVO ritem: rvo[0].getChildrenVO()){ + if(ritem.getVrowno().equals(aggPickmVO.getParentVO().getVsourcebillrowno())){ + itemVO.setTplanendtime(ritem.getTplanendtime()); + } + } + } + +// } } if(null !=itemVO.getCprojectid() && null!=itemVO.getCmaterialvid()){ From 0c44a83335f512b717f8dda8f8cfb439c25fb641 Mon Sep 17 00:00:00 2001 From: mzr Date: Wed, 17 Sep 2025 10:53:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=A0=E9=99=A4=E5=90=8C=E6=AD=A5=E8=89=BE?= =?UTF-8?q?=E6=99=AEMES=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java | 12 ++++++++++++ .../pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java | 1 + 2 files changed, 13 insertions(+) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java index 105459e..9b96863 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterDelSyncEpicMesRule.java @@ -10,6 +10,7 @@ import nc.bs.uapbd.util.MyHelper; import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.impl.pubapp.pattern.rule.IRule; import nc.util.mmf.framework.base.MMArrayUtil; +import nc.vo.bd.material.MaterialVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; @@ -85,14 +86,25 @@ public class AfterDelSyncEpicMesRule implements IRule { */ private void buildSyncData(PMOAggVO aggVO, JSONArray orderArr) throws BusinessException { PMOHeadVO headVo = aggVO.getParentVO(); + PMOItemVO pmoItem = aggVO.getChildrenVO()[0]; + String cdeptid = pmoItem.getCdeptid(); + // 物料 + String cmaterialid = pmoItem.getCmaterialid(); + String goodsCode = MyHelper.getStrValByCondition(MaterialVO.getDefaultTableName(), MaterialVO.CODE, + MaterialVO.PK_MATERIAL + " = '" + cmaterialid + "'"); // 组织 String pkOrg = headVo.getPk_org(); String orgCode = MyHelper.transferField(OrgVO.getDefaultTableName(), OrgVO.CODE, OrgVO.PK_ORG, pkOrg); + String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid); // 组装数据 JSONObject orderParam = new JSONObject(); orderParam.put("type", "D"); // 删除标识 orderParam.put("companyCode", orgCode);// 公司编码 orderParam.put("workOrderCode", headVo.getVbillcode());// 工单号 + // 根据自定义档案中的映射关系,部门编码转换为MES中的编码 + orderParam.put("siteCode", deptParams.getOrDefault(deptCode, ""));// 工厂编码 + orderParam.put("produCode", goodsCode); // 产品编码 + orderParam.put("qty", String.valueOf(pmoItem.getNastnum())); // 计划数量 orderArr.add(orderParam); } diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java index ee79efd..deda644 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/util/SyncEpicMesUtil.java @@ -184,6 +184,7 @@ public class SyncEpicMesUtil { JSONObject data = new JSONObject(); JSONObject orderParam = new JSONObject(); orderParam.put("id", null); // 唯一标识(主键) + // 根据自定义档案中的映射关系,部门编码转换为MES中的编码 orderParam.put("siteCode", deptParams.getOrDefault(deptCode, ""));// 工厂编码 orderParam.put("contractNo", pmoItem.getVfirstcode());// 合同号-取ERP的源头单据号-销售订单号 /*if (projectMap != null) { From 5f55993e683e0558f78b28e0b5d5f87deb2c5928 Mon Sep 17 00:00:00 2001 From: mzr Date: Wed, 17 Sep 2025 11:04:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E9=A2=86=E6=96=99-?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E7=B1=BB=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nccloud/web/mmpac/issue/action/IssuePrintAction.java | 7 ++++++- .../mmpac/issue/service/IssuePickmPrintOperator.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java b/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java index 50b6830..e975496 100644 --- a/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java +++ b/mmpac/src/client/nccloud/web/mmpac/issue/action/IssuePrintAction.java @@ -1,9 +1,10 @@ package nccloud.web.mmpac.issue.action; +import nccloud.framework.core.io.WebFileType; import nccloud.web.platform.print.AbstractPrintAction; /** - * 生产领料-备料计划列表打印 + * 生产领料-备料计划列表打印和输出 */ public class IssuePrintAction extends AbstractPrintAction { @Override @@ -15,4 +16,8 @@ public class IssuePrintAction extends AbstractPrintAction { public String getPrintServiceName() { return "nccloud.pubimpl.mmpac.issue.service.IssuePickmPrintOperator"; } + + public WebFileType getWebFileType() { + return WebFileType.Pdf; + } } diff --git a/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java b/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java index 5daf0d0..d4f1b3b 100644 --- a/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java +++ b/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java @@ -13,7 +13,7 @@ import java.util.ArrayList; import java.util.List; /** - * 生产领料-备料计划列表打印服务类 + * 生产领料-备料计划列表打印和输出服务类 */ public class IssuePickmPrintOperator extends BaseMetaPrintService { @Override