diff --git a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java index f339b41..711d115 100644 --- a/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java +++ b/zi-wms-inf/src/main/java/com/cim/idm/service/impl/ToSAPServiceImpl.java @@ -5087,6 +5087,9 @@ public class ToSAPServiceImpl { " T.MATERIALSPECNAME, " + SystemPropHelper.CR+ " T.UNIT, " + SystemPropHelper.CR+ " T.PACKINGGRADE," + SystemPropHelper.CR+ + " D.MATERIALSPECTYPE," + SystemPropHelper.CR+ + " D.SHIPREQUESTNAME," + SystemPropHelper.CR+ + " D.SHIPREQUESTDETAILNAME," + SystemPropHelper.CR+ " SUM(T.MATERIALQUANTITY) AS MATERIALQUANTITY" + SystemPropHelper.CR+ " FROM MATERIALPACKING T LEFT JOIN BS_MES_SHIPPED D ON D.LOTNAME = T.MATERIALPACKINGNAME" + SystemPropHelper.CR+ " WHERE 1 = 1 " + SystemPropHelper.CR+ @@ -5094,7 +5097,7 @@ public class ToSAPServiceImpl { " AND T.SITENAME = :SITENAME " + SystemPropHelper.CR+ " AND T.STOCKSTATE = 'Created' " + SystemPropHelper.CR+ "GROUP BY T.RECEIVEREQUESTNAME, D.REQUESTNAME, T.ERPFACTORY,T.ERPLOCATION, " + SystemPropHelper.CR+ - " T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE "; + " T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE,D.MATERIALSPECTYPE,D.SHIPREQUESTNAME,D.SHIPREQUESTDETAILNAME "; Map hashMap = new HashMap(); hashMap.put("SITENAME", siteName); // hashMap.put("SHIPREQUESTNAME", shipRequestName); @@ -5149,17 +5152,24 @@ public class ToSAPServiceImpl { if (list == null || list.size() < 1) { return ""; } - String moveType = "262"; -// String shipRequestType = (String)list.get(0).get("SHIPREQUESTTYPE"); + String mesSql = "S"; + String moveType = "262"; // 默认 + String materialSpecType = list.get(0).get("MATERIALSPECTYPE") == null ? "" : list.get(0).get("MATERIALSPECTYPE").toString(); + + // 如果是成本中心退料移动类型202 + if("CBT".equals(materialSpecType)) { + moveType = "202"; + } + // switch(shipRequestType) { // //生产退料单,同组织&跨组织,投工单的退料使用 移动类型用262 // case "03": moveType = "262";break; // //转库单,同组织&跨组织,有线边仓退料使用,移动类型用311 -// case "04": moveType = "311";break; +//// case "04": moveType = "311";break; // //成本中心退料,移动类型202 // case "07": moveType = "202";break; // //研发(内部订单)退料, 移动类型Z62 -// case "10": moveType = "Z62";break; +//// case "10": moveType = "Z62";break; // default:break; // } Map bodyData = new HashMap<>(); @@ -5179,7 +5189,15 @@ public class ToSAPServiceImpl { item.put("BWART", moveType); //移动类型 item.put("LIFNR", ""); if(moveType.equals("202")) { - item.put("KOSTL", mm.get("COSTCENTER")); //成本中心 + // 查询成本中心退料单据获取客户中心 + String qdsql = "SELECT COSTCENTER FROM MATERIALRECEIVEREQUESTDETAIL m WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME"; + Map hashMap = new HashMap(); + hashMap.put("SHIPREQUESTNAME", mm.get("SHIPREQUESTNAME")); + List> cqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(qdsql, hashMap); + item.put("KOSTL", cqueryForList.get(0).get("COSTCENTER") == null ? "" : cqueryForList.get(0).get("COSTCENTER")); //成本中心 + item.put("AUFNR", mm.get("SHIPREQUESTNAME")); // //从mes_ship表获取的单据号 + item.put("AUFPS", mm.get("SHIPREQUESTDETAILNAME")); // //从mes_ship表获取的单据号 + item.put("AUFPS", mm.get("")); //移动原因 } if(moveType.equals("262")) { item.put("AUFNR", mm.get("PRODUCTORDER"));; //生产工单 diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java index ffaad40..33249e6 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/ReturnStockIntoServiceImpl.java @@ -280,9 +280,9 @@ public class ReturnStockIntoServiceImpl implements ReturnStockInService { // SHIPMesShippInfo(makeEventInfo, "SDK", materialPackingName, "", user, // materialPackingName, ReceiveRequestActNo, erpLocation, erpFactory, locationName,queryForList.get(0).get("SHIPREQUESTNAME").toString(), queryForList.get(0).get("SHIPREQUESTDETAILNAME").toString()); - + String REQUESTNAME = list2.get(0).get("REQUESTNAME") == null ? "" : list2.get(0).get("REQUESTNAME").toString(); SHIPMesShippInfo2(makeEventInfo, "SDK", materialPackingName, "", user, - materialPackingName, ReceiveRequestActNo, erpLocation, erpFactory, locationName,list2.get(0).get("REQUESTNAME").toString(), ""); + materialPackingName, ReceiveRequestActNo, erpLocation, erpFactory, locationName,REQUESTNAME, ""); } catch (Exception e) { e.printStackTrace();