diff --git a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java index e7d56e6..7a58b72 100644 --- a/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java +++ b/uapbd/src/private/nccloud/api/uapbd/material/listener/MaterialToEpicMesListener.java @@ -14,6 +14,7 @@ import nc.bs.uapbd.util.ThirdPartyPostRequestUtil; import nc.jdbc.framework.processor.MapProcessor; import nc.vo.bd.material.MaterialVO; import nc.vo.bd.material.marbasclass.MarBasClassVO; +import nc.vo.bd.material.stock.MaterialStockVO; import nc.vo.org.FactoryVO; import nc.vo.pub.BusinessException; @@ -71,7 +72,7 @@ public class MaterialToEpicMesListener implements IBusinessListener { String mrlTypeCOde = MyHelper.transferField(MarBasClassVO.getDefaultTableName(), MarBasClassVO.CODE, MarBasClassVO.PK_MARBASCLASS, pk_marbasclass); // 计量单位 String pkMaterial = vo.getPk_material(); - Map unitMap = getUnitInfo(pkMaterial); + Map unitMap = getGoodsInfo(pkMaterial); // 1=未启用;2=已启用;3=已停用; Integer enablestate = vo.getEnablestate(); @@ -89,7 +90,7 @@ public class MaterialToEpicMesListener implements IBusinessListener { singleObj.put("deputyUnit", unitMap.get("deputy_unitname"));// 副单位 singleObj.put("auditCode", "1");// 审核码 singleObj.put("statusCode", statusCode);// 状态码(Y表示启用,N表示停用) - singleObj.put("mrlTypeErp", "3");// 物料类型ERP(1:专用件,3:通用件)todo + singleObj.put("mrlTypeErp", getGoodsProject(pkMaterial));// 物料类型ERP(1:专用件,3:通用件) singleObj.put("mrlType", mrlTypeCOde);// 物料分类编码 singleObj.put("convertRate", unitMap.getOrDefault("convertRate", "1"));// 单位换算率 // singleObj.put("isCheck", "1");// 是否选中(1:是,0:否) @@ -131,7 +132,7 @@ public class MaterialToEpicMesListener implements IBusinessListener { return map.getOrDefault(eventType, "I"); } - private Map getUnitInfo(String pkMaterial) throws BusinessException { + private Map getGoodsInfo(String pkMaterial) throws BusinessException { String sql = " select a.pk_measdoc, c.name unitname, b.pk_measdoc deputyUnit, d.name deputy_unitname, nvl(b.measrate, '1/1') measrate " + "from bd_material a " + "left join bd_materialconvert b on a.pk_material = b.pk_material " + @@ -144,4 +145,14 @@ public class MaterialToEpicMesListener implements IBusinessListener { return map; } + private String getGoodsProject(String pkMaterial) throws BusinessException { + // 物料-库存信息页签勾选项目为专用件、未勾选项目为通用件 + String mrlTypeErp = "3"; // 物料类型ERP(1:专用件,3:通用件) + String fixasst2 = MyHelper.transferField(MaterialStockVO.getDefaultTableName(), MaterialStockVO.FIXASST2, MaterialStockVO.PK_MATERIAL, pkMaterial); + if ("Y".equals(fixasst2)) { + mrlTypeErp = "1"; + } + return mrlTypeErp; + } + }