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/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()){ 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) { 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 3306096..71c5b25 100644 --- a/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java +++ b/mmpac/src/private/nccloud/pubimpl/mmpac/issue/service/IssuePickmPrintOperator.java @@ -17,7 +17,7 @@ import java.util.ArrayList; import java.util.List; /** - * 生产领料-备料计划列表打印服务类 + * 生产领料-备料计划列表打印和输出服务类 */ public class IssuePickmPrintOperator extends BaseMetaPrintService {