diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java index b13cc467..7e0bdf19 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToGyMesListener.java @@ -52,21 +52,21 @@ public class MaterialToGyMesListener implements IBusinessListener { // EventType是事件编码 1002-新增后 1004-修改后 1071-状态由停用变为启用后 1069-状态由启用变为停用后 if ("1004".equals(eventType)) { MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class); - configParams = MyHelper.getConfigParams("jm-config", null); + configParams = MyHelper.getConfigParams("gy-config", null); if (configParams.isEmpty()) { throw new BusinessException("高压的gymes接口缺少配置"); } buildSyncData(useVOs, eventType); } else if ("1071".equals(eventType) || "1069".equals(eventType)) { MaterialVO[] useVOs = ArrayClassConvertUtil.convert(objs, MaterialVO.class); - configParams = MyHelper.getConfigParams("jm-config", null); + configParams = MyHelper.getConfigParams("gy-config", null); if (configParams.isEmpty()) { throw new BusinessException("高压的gymes接口缺少配置"); } buildSyncData(useVOs, eventType); } else if ("1009".equals(eventType)) { // 物料可见性范围-分配后 1009 - configParams = MyHelper.getConfigParams("jm-config", null); + configParams = MyHelper.getConfigParams("gy-config", null); if (configParams.isEmpty()) { throw new BusinessException("高压的gymes接口缺少配置"); } @@ -119,6 +119,10 @@ public class MaterialToGyMesListener implements IBusinessListener { MMValueCheck.isNotEmpty(planMap.get(pkMaterial))) { isvirtual = planMap.get(pkMaterial).getIsvirtual(); } + // 库存 + Map stockMap = getStockInfo(pkMaterial); + // 生产报告 + Map prodMap = getProdInfo(pkMaterial); // creator 创建人 String creator = vo.getCreator(); String creatorName = MyHelper.getStrValByCondition("sm_user", UserVO.USER_NAME, @@ -130,24 +134,25 @@ public class MaterialToGyMesListener implements IBusinessListener { singleObj.put("materialCode", vo.getCode()); // 物料编码 singleObj.put("bipMaterialId", pkMaterial); // 物料主键 singleObj.put("materialName", vo.getName()); // 物料名称 - singleObj.put("materialCategory", ""); // 物料分类 + singleObj.put("materialCategory", pk_marbasclass); // 物料分类 singleObj.put("specification", vo.getMaterialspec()); // 规格 - singleObj.put("intervalModel", ""); // 产品类型 例如35-KV-断路器(物料自定义字段) + singleObj.put("model", vo.getMaterialtype()); // 型号文字 +// singleObj.put("intervalModel", ""); // 产品类型 例如35-KV-断路器(物料自定义字段) singleObj.put("primaryUnit", unitMap.get("unitname")); // 主单位 - singleObj.put("materialUnit", unitMap.get("deputy_unitname")); // 单位 +// singleObj.put("materialUnit", unitMap.get("deputy_unitname")); // 单位 singleObj.put("drawingNumber", vo.getGraphid()); // 图号编码 singleObj.put("enableStatus", enablestate - 1); // 启用状态 0 未启动 1 已启动 2 已停用 - singleObj.put("materialType", ""); // 物料类型编码 - singleObj.put("batchManagement", ""); // 批次管理 - singleObj.put("outboundPriority", ""); // 出库优先级 - singleObj.put("mainWarehouse", ""); // 主仓库 - singleObj.put("reservation", ""); // 预留 + singleObj.put("materialType", stockMap.get("martype")); // 物料类型编码 + singleObj.put("batchManagement", stockMap.get("wholemanaflag")); // 批次管理 + singleObj.put("outboundPriority", stockMap.get("outpriority")); // 出库优先级 + singleObj.put("mainWarehouse", stockMap.get("pk_stordoc")); // 主仓库 + singleObj.put("reservation", stockMap.get("remain")); // 预留 singleObj.put("virtualItem", isvirtual.toString()); // 虚项 - singleObj.put("productionDepartment", ""); // 生产部门编码 - singleObj.put("matchingComponents", ""); // 配套子件 - singleObj.put("issuance", ""); // 发料 - singleObj.put("backflushMethod", ""); // 倒冲方式 - singleObj.put("postCompletionProcessing", ""); // 完工后续处理 + singleObj.put("productionDepartment", prodMap.get("deptCode")); // 生产部门编码 + singleObj.put("matchingComponents", prodMap.get("iscreatesonprodorder")); // 配套子件 + singleObj.put("issuance", prodMap.get("issend")); // 发料 + singleObj.put("backflushMethod", prodMap.get("conversemethod")); // 倒冲方式 + singleObj.put("postCompletionProcessing", prodMap.get("wghxcl")); // 完工后续处理 singleObj.put("bipCreateBy", creatorName); // 创建人 dataArr.add(singleObj); /** @@ -223,8 +228,27 @@ public class MaterialToGyMesListener implements IBusinessListener { return map; } + private Map getStockInfo(String pkMaterial) throws BusinessException { + String sql = " select martype, wholemanaflag, outpriority, pk_stordoc, remain" + + "from bd_materialstock" + + "where pk_material = '" + pkMaterial + "' "; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + return map; + } + + private Map getProdInfo(String pkMaterial) throws BusinessException { + String sql = "SELECT b.code deptCode, a.iscreatesonprodorder, a.issend, a.conversemethod, a.converstime, a.wghxcl" + + " pk_materialprod " + + "FROM " + + " bd_materialprod a" + + "left join org_dept b on a.pk_prodeptdoc = b.pk_dept " + + "where a.pk_material = '" + pkMaterial + "' "; + Map map = (Map) new BaseDAO().executeQuery(sql, new MapProcessor()); + return map; + } + private boolean checkIfOrg(String code, Map configParams) throws BusinessException { - String targetCode = configParams.get("jmOrg"); + String targetCode = configParams.get("mesBaseUrl"); if (targetCode == null || StringUtils.isEmpty(targetCode)) { throw new BusinessException("未配置组织参数"); }