diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncEpicMesRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncEpicMesRule.java index 803e84a..246eadf 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncEpicMesRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveSyncEpicMesRule.java @@ -13,15 +13,18 @@ import nc.itf.arap.goldentax.SysParaInitQuery; import nc.jdbc.framework.processor.MapListProcessor; import nc.jdbc.framework.processor.MapProcessor; import nc.vo.bc.pmpub.project.ProjectHeadVO; +import nc.vo.bd.bom.bom0202.entity.BomVO; 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; +import nc.vo.org.DeptVO; import nc.vo.org.FactoryVO; import nc.vo.pub.BusinessException; import nc.vo.pubapp.pattern.exception.ExceptionUtils; import nc.vo.pubapp.pattern.pub.SqlBuilder; import nc.vo.scmpub.util.ArrayUtil; +import nccloud.baseapp.core.log.NCCForUAPLogger; import nccloud.commons.lang.StringUtils; import java.util.ArrayList; @@ -117,10 +120,15 @@ public class AfterApproveSyncEpicMesRule implements IRule { String orgCode = MyHelper.transferField(FactoryVO.getDefaultTableName(), FactoryVO.CODE, FactoryVO.PK_FACTORY, pkOrg); // 检查当前组织是否为电力电子 if (MyHelper.checkIfDldzOrg(orgCode)) { + // 按照部门筛选生产订单,只传消弧车间、电容车间、成套车间(部门是配置项) + PMOItemVO[] childrenVO = aggVo.getChildrenVO(); + for (PMOItemVO item : childrenVO) { + String cdeptid = item.getCdeptid(); + String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid); + } aggvoList.add(aggVo); } } - // 按照部门筛选生产订单,只传消弧车间、电容车间、成套车间(部门是配置项) return aggvoList; } @@ -145,11 +153,17 @@ public class AfterApproveSyncEpicMesRule implements IRule { String cprojectid = pmoItem.getCprojectid(); selectFields = ProjectHeadVO.PROJECT_CODE + "," + ProjectHeadVO.PROJECT_NAME; Map projectMap = MyHelper.transferFields(MaterialVO.getDefaultTableName(), selectFields, ProjectHeadVO.PK_PROJECT, cprojectid); + // 生产部门 cdeptid + String cdeptid = pmoItem.getCdeptid(); + String deptCode = MyHelper.transferField(DeptVO.getDefaultTableName(), DeptVO.CODE, DeptVO.PK_DEPT, cdeptid); + // 生产BOM版本 + String cbomversionid = pmoItem.getCbomversionid(); + String bomCode = MyHelper.transferField(BomVO.TABLE_NAME, BomVO.HVERSION, BomVO.CBOMID, cbomversionid); // 组装数据 JSONObject data = new JSONObject(); JSONObject orderParam = new JSONObject(); orderParam.put("id", null); // 唯一标识(主键) - orderParam.put("siteCode", null);// 工厂编码 + orderParam.put("siteCode", deptCode);// 工厂编码 if (projectMap != null) { orderParam.put("contractNo", projectMap.get(ProjectHeadVO.PROJECT_CODE));// 合同号 orderParam.put("contractName", projectMap.get(ProjectHeadVO.PROJECT_NAME)); // 合同名称 @@ -161,7 +175,9 @@ public class AfterApproveSyncEpicMesRule implements IRule { orderParam.put("produName", goodsMap.get(MaterialVO.NAME)); // 产品名称 } // cbomversionid 生产BOM版本 - orderParam.put("bomCode", null); // BOM 编码 + orderParam.put("bomCode", bomCode); // BOM 编码 + NCCForUAPLogger.debug("计划开始时间:" + pmoItem.getTplanstarttime().getMillis()); + NCCForUAPLogger.debug("计划完成时间:" + pmoItem.getTplanendtime().getMillis()); orderParam.put("planBeginDate", pmoItem.getTplanstarttime().getMillis()); // 计划开始时间(毫秒级时间戳) orderParam.put("planEndDate", pmoItem.getTplanendtime()); // 计划完成时间(毫秒级时间戳) // orderParam.put("endDate", null); // 试验结束时间(毫秒级时间戳)