fix:修改退料过账
This commit is contained in:
parent
3b672a220a
commit
8af573aa3c
@ -5565,30 +5565,92 @@ public class ToSAPServiceImpl {
|
|||||||
// "GROUP BY T.RECEIVEREQUESTNAME, D.REQUESTNAME, T.ERPFACTORY,T.ERPLOCATION, " + SystemPropHelper.CR+
|
// "GROUP BY T.RECEIVEREQUESTNAME, D.REQUESTNAME, T.ERPFACTORY,T.ERPLOCATION, " + SystemPropHelper.CR+
|
||||||
// " T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE,D.MATERIALSPECTYPE,D.SHIPREQUESTNAME,D.SHIPREQUESTDETAILNAME ";
|
// " T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE,D.MATERIALSPECTYPE,D.SHIPREQUESTNAME,D.SHIPREQUESTDETAILNAME ";
|
||||||
|
|
||||||
String sql="SELECT T.RECEIVEREQUESTNAME , \n" +
|
//修改二
|
||||||
" D.REQUESTNAME PRODUCTORDER, \n" +
|
// String sql="SELECT T.RECEIVEREQUESTNAME , \n" +
|
||||||
" T.ERPFACTORY, \n" +
|
// " D.REQUESTNAME PRODUCTORDER, \n" +
|
||||||
" T.ERPLOCATION, \n" +
|
// " T.ERPFACTORY, \n" +
|
||||||
" T.MATERIALSPECNAME, \n" +
|
// " T.ERPLOCATION, \n" +
|
||||||
" T.UNIT, \n" +
|
// " T.MATERIALSPECNAME, \n" +
|
||||||
" T.PACKINGGRADE, \n" +
|
// " T.UNIT, \n" +
|
||||||
" D.MATERIALSPECTYPE, \n" +
|
// " T.PACKINGGRADE, \n" +
|
||||||
" D.SHIPREQUESTNAME, \n" +
|
// " D.MATERIALSPECTYPE, \n" +
|
||||||
" D.SHIPREQUESTDETAILNAME, \n" +
|
// " D.SHIPREQUESTNAME, \n" +
|
||||||
" B.RECEIVEREQUESTNAME PRERECEIVEREQUESTNAME,\n" +
|
// " D.SHIPREQUESTDETAILNAME, \n" +
|
||||||
" B.RECEIVEREQUESTDETAILNAME PRERECEIVEREQUESTDETAILNAME,\n" +
|
// " B.RECEIVEREQUESTNAME PRERECEIVEREQUESTNAME,\n" +
|
||||||
" SUM(T.MATERIALQUANTITY) AS MATERIALQUANTITY \n" +
|
// " B.RECEIVEREQUESTDETAILNAME PRERECEIVEREQUESTDETAILNAME,\n" +
|
||||||
" FROM BS_MES_SHIPPED D LEFT JOIN MATERIALPACKING T ON D.LOTNAME = T.MATERIALPACKINGNAME\n" +
|
// " SUM(T.MATERIALQUANTITY) AS MATERIALQUANTITY \n" +
|
||||||
" LEFT JOIN MATERIALPACKINGSUB B ON D.MATERIALPACKINGNAME = B.MATERIALPACKINGNAME\n" +
|
// " FROM BS_MES_SHIPPED D LEFT JOIN MATERIALPACKING T ON D.LOTNAME = T.MATERIALPACKINGNAME\n" +
|
||||||
" LEFT JOIN MATERIALSHIPREQUESTDETAIL m ON m.SHIPREQUESTNAME = B.RECEIVEREQUESTNAME AND m.SHIPREQUESTDETAILNAME = B.RECEIVEREQUESTDETAILNAME\n" +
|
// " LEFT JOIN MATERIALPACKINGSUB B ON D.MATERIALPACKINGNAME = B.MATERIALPACKINGNAME\n" +
|
||||||
" AND (m.RECEIVEPRODUCTIONORDERNUMBER = D.REQUESTNAME OR m.RECEIVEPRODUCTIONORDERNUMBER = '0000' || D.REQUESTNAME)\n" +
|
// " LEFT JOIN MATERIALSHIPREQUESTDETAIL m ON m.SHIPREQUESTNAME = B.RECEIVEREQUESTNAME AND m.SHIPREQUESTDETAILNAME = B.RECEIVEREQUESTDETAILNAME\n" +
|
||||||
"WHERE 1 = 1 \n" +
|
// " AND (m.RECEIVEPRODUCTIONORDERNUMBER = D.REQUESTNAME OR m.RECEIVEPRODUCTIONORDERNUMBER = '0000' || D.REQUESTNAME)\n" +
|
||||||
" AND T.receiveActNo = :SHIPREQUESTNAME \n" +
|
// "WHERE 1 = 1 \n" +
|
||||||
" AND T.SITENAME = :SITENAME \n" +
|
// " AND T.receiveActNo = :SHIPREQUESTNAME \n" +
|
||||||
" AND T.STOCKSTATE = 'Created' \n" +
|
// " AND T.SITENAME = :SITENAME \n" +
|
||||||
" GROUP BY T.RECEIVEREQUESTNAME, D.REQUESTNAME, T.ERPFACTORY,T.ERPLOCATION, \n" +
|
// " AND T.STOCKSTATE = 'Created' \n" +
|
||||||
" T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE,D.MATERIALSPECTYPE,D.SHIPREQUESTNAME,D.SHIPREQUESTDETAILNAME,\n" +
|
// " GROUP BY T.RECEIVEREQUESTNAME, D.REQUESTNAME, T.ERPFACTORY,T.ERPLOCATION, \n" +
|
||||||
" B.RECEIVEREQUESTNAME,B.RECEIVEREQUESTDETAILNAME";
|
// " T.MATERIALSPECNAME,T.UNIT,T.PACKINGGRADE,D.MATERIALSPECTYPE,D.SHIPREQUESTNAME,D.SHIPREQUESTDETAILNAME,\n" +
|
||||||
|
// " B.RECEIVEREQUESTNAME,B.RECEIVEREQUESTDETAILNAME";
|
||||||
|
|
||||||
|
String sql= "SELECT \n" +
|
||||||
|
" T.RECEIVEREQUESTNAME, \n" +
|
||||||
|
" D.REQUESTNAME PRODUCTORDER, \n" +
|
||||||
|
" T.ERPFACTORY, \n" +
|
||||||
|
" T.ERPLOCATION, \n" +
|
||||||
|
" T.MATERIALSPECNAME, \n" +
|
||||||
|
" T.UNIT, \n" +
|
||||||
|
" T.PACKINGGRADE, \n" +
|
||||||
|
" D.MATERIALSPECTYPE, \n" +
|
||||||
|
" D.SHIPREQUESTNAME, \n" +
|
||||||
|
" D.SHIPREQUESTDETAILNAME, \n" +
|
||||||
|
" B.RECEIVEREQUESTNAME PRERECEIVEREQUESTNAME,\n" +
|
||||||
|
" B.RECEIVEREQUESTDETAILNAME PRERECEIVEREQUESTDETAILNAME,\n" +
|
||||||
|
" SUM(T.MATERIALQUANTITY) AS MATERIALQUANTITY \n" +
|
||||||
|
"FROM \n" +
|
||||||
|
" BS_MES_SHIPPED D \n" +
|
||||||
|
" LEFT JOIN MATERIALPACKING T \n" +
|
||||||
|
" ON D.LOTNAME = T.MATERIALPACKINGNAME\n" +
|
||||||
|
" LEFT JOIN (\n" +
|
||||||
|
" -- 子查询:为每个MATERIALPACKINGNAME取EDITDATE最近的记录\n" +
|
||||||
|
" SELECT \n" +
|
||||||
|
" MATERIALPACKINGNAME,\n" +
|
||||||
|
" RECEIVEREQUESTNAME,\n" +
|
||||||
|
" RECEIVEREQUESTDETAILNAME,\n" +
|
||||||
|
" EDITDATE\n" +
|
||||||
|
" FROM (\n" +
|
||||||
|
" SELECT \n" +
|
||||||
|
" B.*,\n" +
|
||||||
|
" ROW_NUMBER() OVER (\n" +
|
||||||
|
" PARTITION BY MATERIALPACKINGNAME \n" +
|
||||||
|
" ORDER BY EDITDATE DESC\n" +
|
||||||
|
" ) AS rn\n" +
|
||||||
|
" FROM MATERIALPACKINGSUB B\n" +
|
||||||
|
" ) \n" +
|
||||||
|
" WHERE rn = 1 -- 仅保留每个分组的最新记录\n" +
|
||||||
|
" ) B \n" +
|
||||||
|
" ON D.MATERIALPACKINGNAME = B.MATERIALPACKINGNAME\n" +
|
||||||
|
" LEFT JOIN MATERIALSHIPREQUESTDETAIL m \n" +
|
||||||
|
" ON m.SHIPREQUESTNAME = B.RECEIVEREQUESTNAME \n" +
|
||||||
|
" AND m.SHIPREQUESTDETAILNAME = B.RECEIVEREQUESTDETAILNAME\n" +
|
||||||
|
" AND (m.RECEIVEPRODUCTIONORDERNUMBER = D.REQUESTNAME \n" +
|
||||||
|
" OR m.RECEIVEPRODUCTIONORDERNUMBER = '0000' || D.REQUESTNAME)\n" +
|
||||||
|
"WHERE \n" +
|
||||||
|
" 1 = 1 \n" +
|
||||||
|
" AND T.receiveActNo = :SHIPREQUESTNAME \n" +
|
||||||
|
" AND T.SITENAME = :SITENAME \n" +
|
||||||
|
" -- AND T.STOCKSTATE = 'Created' \n" +
|
||||||
|
"GROUP BY \n" +
|
||||||
|
" T.RECEIVEREQUESTNAME, \n" +
|
||||||
|
" D.REQUESTNAME, \n" +
|
||||||
|
" T.ERPFACTORY,\n" +
|
||||||
|
" T.ERPLOCATION, \n" +
|
||||||
|
" T.MATERIALSPECNAME,\n" +
|
||||||
|
" T.UNIT,\n" +
|
||||||
|
" T.PACKINGGRADE,\n" +
|
||||||
|
" D.MATERIALSPECTYPE,\n" +
|
||||||
|
" D.SHIPREQUESTNAME,\n" +
|
||||||
|
" D.SHIPREQUESTDETAILNAME,\n" +
|
||||||
|
" B.RECEIVEREQUESTNAME,\n" +
|
||||||
|
" B.RECEIVEREQUESTDETAILNAME";
|
||||||
Map<String, Object> hashMap = new HashMap<String, Object>();
|
Map<String, Object> hashMap = new HashMap<String, Object>();
|
||||||
hashMap.put("SITENAME", siteName);
|
hashMap.put("SITENAME", siteName);
|
||||||
// hashMap.put("SHIPREQUESTNAME", shipRequestName);
|
// hashMap.put("SHIPREQUESTNAME", shipRequestName);
|
||||||
@ -5687,8 +5749,8 @@ public class ToSAPServiceImpl {
|
|||||||
hashMap.put("SHIPREQUESTNAME", mm.get("SHIPREQUESTNAME"));
|
hashMap.put("SHIPREQUESTNAME", mm.get("SHIPREQUESTNAME"));
|
||||||
List<Map<String, Object>> cqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(qdsql, hashMap);
|
List<Map<String, Object>> cqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(qdsql, hashMap);
|
||||||
item.put("KOSTL", cqueryForList.get(0).get("COSTCENTER") == null ? "" : cqueryForList.get(0).get("COSTCENTER")); //成本中心
|
item.put("KOSTL", cqueryForList.get(0).get("COSTCENTER") == null ? "" : cqueryForList.get(0).get("COSTCENTER")); //成本中心
|
||||||
item.put("AUFNR", mm.get("SHIPREQUESTNAME")); // //从mes_ship表获取的单据号
|
item.put("ZLLORDER", mm.get("SHIPREQUESTNAME")); // //从mes_ship表获取的单据号
|
||||||
item.put("AUFPS", mm.get("SHIPREQUESTDETAILNAME")); // //从mes_ship表获取的单据号
|
item.put("ZLLITEM", mm.get("SHIPREQUESTDETAILNAME")); // //从mes_ship表获取的单据号
|
||||||
}
|
}
|
||||||
if(moveType.equals("262")) {
|
if(moveType.equals("262")) {
|
||||||
item.put("AUFNR", mm.get("PRODUCTORDER"));; //生产工单
|
item.put("AUFNR", mm.get("PRODUCTORDER"));; //生产工单
|
||||||
|
@ -604,6 +604,20 @@ public class MESToWMSServiceImpl implements MESToWMSService {
|
|||||||
String charge = jb.get("charge").toString(); // 批号
|
String charge = jb.get("charge").toString(); // 批号
|
||||||
boxIdList.add(charge);
|
boxIdList.add(charge);
|
||||||
barCodeList.add(jb.get("lotName").toString());
|
barCodeList.add(jb.get("lotName").toString());
|
||||||
|
|
||||||
|
String stype = jb.get("stockInType") == null ? "" : jb.get("stockInType").toString();
|
||||||
|
|
||||||
|
if("MAT".equals(stype)) {
|
||||||
|
String sqld = "SELECT b.LOTNAME FROM BS_MES_SHIPPED b WHERE b.CHARGE = :CHARGE ";
|
||||||
|
Map<String, Object> hashMapdel = new HashMap<>();
|
||||||
|
hashMapdel.put("CHARGE", charge);
|
||||||
|
List<Map<String, Object>> delqueryForList = sqlTemplate.queryForList(sqld, hashMapdel);
|
||||||
|
if(delqueryForList != null && delqueryForList.size() > 0) {
|
||||||
|
String deleteSql="DELETE FROM BS_MES_SHIPPED WHERE CHARGE=?";
|
||||||
|
Object[] obj=new Object[] {charge};
|
||||||
|
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, obj);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
String sqld = "SELECT b.charge,b.RECEIVE_FLAG,b.LOTNAME FROM BS_MES_SHIPPED b WHERE b.CHARGE in(:BOXIDLIST) ";
|
String sqld = "SELECT b.charge,b.RECEIVE_FLAG,b.LOTNAME FROM BS_MES_SHIPPED b WHERE b.CHARGE in(:BOXIDLIST) ";
|
||||||
Map<String, Object> hashMap = new HashMap<>();
|
Map<String, Object> hashMap = new HashMap<>();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user