update 备货出库,出库按钮优化

This commit is contained in:
18110972313 2025-05-14 13:40:36 +08:00
parent eab3db5fdb
commit 3668e489a2

View File

@ -549,7 +549,7 @@ public class InvoiceServiceImpl implements InvoiceService {
setEventInfo.setUserColumns(hashMapPack);
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mpKeyList, makeEventInfo, setEventInfo);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", materialPackingKeyList);
untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
WlySaveUnDoInfo( billCode,commitDate);
}
@ -562,7 +562,7 @@ public class InvoiceServiceImpl implements InvoiceService {
}
// billCode=toSAPService.ProductionStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList);
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
//billCode = NCWServiceImpl.SaleOut2(shipRequestName, "SDK", eventUser,materialPackingKeyList,"");
untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo);
}
@ -572,7 +572,7 @@ public class InvoiceServiceImpl implements InvoiceService {
// billCode=toSAPService.orderStockOut(shipRequestName, "SDK", eventUser,materialPackingKeyList);
billCode=orderStockOut(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList);
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
//更新MES管芯数据
new MESServiceImpl().updateDurable_ByCostcenter(shipRequestName, "SDK", eventUser, materialPackingKeyList);
//billCode = NCWServiceImpl.SaleOut2(shipRequestName, "SDK", eventUser,materialPackingKeyList,"");
@ -3183,7 +3183,8 @@ public class InvoiceServiceImpl implements InvoiceService {
hashMapPack.put("oldStockState", GenericServiceProxy.getConstantMap().STOCKSTATE_STOCKED);
setEventInfo.setUserColumns(hashMapPack);
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(arrayList, mesEventInfo, setEventInfo);
}else if(!ERPRECEIVELOCATION.isEmpty()){
} else {
if(!ERPRECEIVELOCATION.isEmpty()) {
// 拆条码查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改了数量不相等则修改了数量
// 如果已修改数量则进行拆条码
@ -3254,98 +3255,112 @@ public class InvoiceServiceImpl implements InvoiceService {
// }
//new MESServiceImpl().NeedReceiveMaterialInfoSend_NEW(shipRequestName, "SDK", materialPackingKeyList);
billCode="Y";
String sqlZK=" SELECT\r\n" +
" t.MATERIALSPECNAME,m.MATERIALPACKINGNAME,\r\n" +
" t.ERPFACTORY,\r\n" +
" t.ERPLOCATION,\r\n" +
" m2.SHIPREQUESTDETAILTYPE,\r\n" +
" t.UNIT,\r\n" +
" m1.COSTCENTER,\r\n" +
" m1.SHIPREQUESTNAME,\r\n" +
" m1.SHIPREQUESTDETAILNAME,\r\n" +
" m1.ERPRECEIVELOCATION,\r\n" +
" m1.ERPRECEIVEFACTORY,\r\n" +
" m1.SENDSALESORDER ,m1.SENDSALESORDERDETAILNO,\r\n" +
" CASE WHEN m1.SENDSALESORDER IS NOT NULL THEN 'E' ELSE '' END SOBKZ,\r\n" +
" (\r\n" +
" SELECT\r\n" +
" RECEIVEPRODUCTIONORDERNUMBER\r\n" +
" FROM\r\n" +
" MATERIALSHIPREQUESTDETAIL m5\r\n" +
" WHERE\r\n" +
" m5.SHIPREQUESTNAME =:SHIPREQUESTNAME\r\n" +
" AND m5.MATERIALSPECNAME = t.MATERIALSPECNAME\r\n" +
" ORDER BY\r\n" +
" m5.USEDATE,\r\n" +
" m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)RECEIVEPRODUCTIONORDERNUMBER,\r\n" +
" SUM(m.QTY) AS MATERIALQUANTITY\r\n" +
" FROM \r\n" +
" MATERIALPACKINGSUB m\r\n" +
" LEFT JOIN MATERIALPACKING T ON \r\n" +
" m.MATERIALPACKINGNAME = T.MATERIALPACKINGNAME\r\n" +
" AND m.RECEIVEREQUESTNAME = T.SHIPREQUESTNAME\r\n" +
" LEFT JOIN MATERIALSHIPREQUESTDETAIL M1 \r\n" +
" ON \r\n" +
" m.RECEIVEREQUESTNAME = M1.SHIPREQUESTNAME\r\n" +
" AND m.RECEIVEREQUESTDETAILNAME = M1.SHIPREQUESTDETAILNAME\r\n" +
" LEFT JOIN MATERIALSHIPREQUEST M2 \r\n" +
" ON \r\n" +
" M1.SHIPREQUESTNAME = M2.SHIPREQUESTNAME\r\n" +
" WHERE \r\n" +
" T.SHIPREQUESTNAME = :SHIPREQUESTNAME\r\n" +
" AND T.SITENAME = :SITENAME\r\n" +
" AND T.STOCKSTATE = 'Stocked'\r\n" +
" AND T.MATERIALPACKINGNAME IN (:BOXLIST)\r\n" +
" GROUP BY\r\n" +
" t.MATERIALSPECNAME,\r\n" +
" t.ERPFACTORY,\r\n" +
" t.ERPLOCATION,\r\n" +
" m2.SHIPREQUESTDETAILTYPE,\r\n" +
" t.UNIT,\r\n" +
" m1.COSTCENTER,\r\n" +
" m1.SHIPREQUESTNAME,m1.SENDSALESORDER ,m1.SENDSALESORDERDETAILNO,\r\n" +
" m1.SHIPREQUESTDETAILNAME,\r\n" +
" m1.ERPRECEIVELOCATION,\r\n" +
" m1.ERPRECEIVEFACTORY,m.MATERIALPACKINGNAME";
//new MESServiceImpl().NeedReceiveMaterialInfoSend_NEW(shipRequestName, "SDK", materialPackingKeyList);
billCode="Y";
String sqlZK=" SELECT\r\n" +
" t.MATERIALSPECNAME,m.MATERIALPACKINGNAME,\r\n" +
" t.ERPFACTORY,\r\n" +
" t.ERPLOCATION,\r\n" +
" m2.SHIPREQUESTDETAILTYPE,\r\n" +
" t.UNIT,\r\n" +
" m1.COSTCENTER,\r\n" +
" m1.SHIPREQUESTNAME,\r\n" +
" m1.SHIPREQUESTDETAILNAME,\r\n" +
" m1.ERPRECEIVELOCATION,\r\n" +
" m1.ERPRECEIVEFACTORY,\r\n" +
" m1.SENDSALESORDER ,m1.SENDSALESORDERDETAILNO,\r\n" +
" CASE WHEN m1.SENDSALESORDER IS NOT NULL THEN 'E' ELSE '' END SOBKZ,\r\n" +
" (\r\n" +
" SELECT\r\n" +
" RECEIVEPRODUCTIONORDERNUMBER\r\n" +
" FROM\r\n" +
" MATERIALSHIPREQUESTDETAIL m5\r\n" +
" WHERE\r\n" +
" m5.SHIPREQUESTNAME =:SHIPREQUESTNAME\r\n" +
" AND m5.MATERIALSPECNAME = t.MATERIALSPECNAME\r\n" +
" ORDER BY\r\n" +
" m5.USEDATE,\r\n" +
" m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)RECEIVEPRODUCTIONORDERNUMBER,\r\n" +
" SUM(m.QTY) AS MATERIALQUANTITY\r\n" +
" FROM \r\n" +
" MATERIALPACKINGSUB m\r\n" +
" LEFT JOIN MATERIALPACKING T ON \r\n" +
" m.MATERIALPACKINGNAME = T.MATERIALPACKINGNAME\r\n" +
" AND m.RECEIVEREQUESTNAME = T.SHIPREQUESTNAME\r\n" +
" LEFT JOIN MATERIALSHIPREQUESTDETAIL M1 \r\n" +
" ON \r\n" +
" m.RECEIVEREQUESTNAME = M1.SHIPREQUESTNAME\r\n" +
" AND m.RECEIVEREQUESTDETAILNAME = M1.SHIPREQUESTDETAILNAME\r\n" +
" LEFT JOIN MATERIALSHIPREQUEST M2 \r\n" +
" ON \r\n" +
" M1.SHIPREQUESTNAME = M2.SHIPREQUESTNAME\r\n" +
" WHERE \r\n" +
" T.SHIPREQUESTNAME = :SHIPREQUESTNAME\r\n" +
" AND T.SITENAME = :SITENAME\r\n" +
" AND T.STOCKSTATE = 'Stocked'\r\n" +
" AND T.MATERIALPACKINGNAME IN (:BOXLIST)\r\n" +
" GROUP BY\r\n" +
" t.MATERIALSPECNAME,\r\n" +
" t.ERPFACTORY,\r\n" +
" t.ERPLOCATION,\r\n" +
" m2.SHIPREQUESTDETAILTYPE,\r\n" +
" t.UNIT,\r\n" +
" m1.COSTCENTER,\r\n" +
" m1.SHIPREQUESTNAME,m1.SENDSALESORDER ,m1.SENDSALESORDERDETAILNO,\r\n" +
" m1.SHIPREQUESTDETAILNAME,\r\n" +
" m1.ERPRECEIVELOCATION,\r\n" +
" m1.ERPRECEIVEFACTORY,m.MATERIALPACKINGNAME";
// 转库到线边仓
// 转库到线边仓
// String sqlZK = "SELECT b.MATERIALPACKINGNAME FROM MATERIALPACKINGSUB b WHERE b.MATERIALPACKINGNAME IN (:BOXLIST)";
Map<String, Object> hashMapZK = new HashMap<String, Object>();
hashMapZK.put("BOXLIST", materialPackingKeyList);
hashMapZK.put("SHIPREQUESTNAME", shipRequestName);
hashMapZK.put("SITENAME", siteName);
List<Map<String, Object>> ZKqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlZK.toString(), hashMapZK);
Map<String, Object> hashMapZK = new HashMap<String, Object>();
hashMapZK.put("BOXLIST", materialPackingKeyList);
hashMapZK.put("SHIPREQUESTNAME", shipRequestName);
hashMapZK.put("SITENAME", siteName);
List<Map<String, Object>> ZKqueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(sqlZK.toString(), hashMapZK);
for (int z = 0; z < ZKqueryForList.size(); z++) {
String materialPackingName = ZKqueryForList.get(z).get("MATERIALPACKINGNAME").toString();
materialPackingKeyList.add(materialPackingName);
MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
arrayList.add(materialPackingKey);
for (int z = 0; z < ZKqueryForList.size(); z++) {
String materialPackingName = ZKqueryForList.get(z).get("MATERIALPACKINGNAME").toString();
materialPackingKeyList.add(materialPackingName);
MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
arrayList.add(materialPackingKey);
}
billCode = UnSourcedChangeLocation(arrayList,ERPRECEIVEFACTORY,
ERPRECEIVELOCATION, "", eventUser, commitDate );
List<MaterialPackingKey> mpKeyList = new ArrayList<MaterialPackingKey> ();
SetEventInfo setEventInfo = new SetEventInfo();
for (MaterialPackingKey materialPacking : arrayList) {
MaterialPackingKey key = materialPacking;
mpKeyList.add(key);
}
Map<String, Object> hashMapPack = new HashMap<String,Object> ();
hashMapPack.put("erpLocation", ERPRECEIVELOCATION == null ? "" : ERPRECEIVELOCATION);
hashMapPack.put("erpFactory", ERPRECEIVEFACTORY == null ? "" : ERPRECEIVEFACTORY);
hashMapPack.put("locationName", "");
hashMapPack.put("lastEventUser", eventUser);
hashMapPack.put("unDoID", billCode);
setEventInfo.setUserColumns(hashMapPack);
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mpKeyList, makeEventInfo, setEventInfo);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
WlySaveUnDoInfo( billCode,commitDate);
}
billCode = UnSourcedChangeLocation(arrayList,ERPRECEIVEFACTORY,
ERPRECEIVELOCATION, "", eventUser, commitDate );
else
{
List<MaterialPackingKey> mpKeyList = new ArrayList<MaterialPackingKey> ();
SetEventInfo setEventInfo = new SetEventInfo();
for (MaterialPackingKey materialPacking : arrayList) {
MaterialPackingKey key = materialPacking;
mpKeyList.add(key);
billCode=ProductionStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate);
if (billCode.isEmpty()) {
throw new CustomException("SAP过账异常");
}
// billCode=toSAPService.ProductionStockOut_NEW(shipRequestName, "SDK", eventUser,materialPackingKeyList);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
//billCode = NCWServiceImpl.SaleOut2(shipRequestName, "SDK", eventUser,materialPackingKeyList,"");
untils.SaveUnDoInfo_ForSap(materialPackingKeyList, billCode, makeEventInfo);
}
Map<String, Object> hashMapPack = new HashMap<String,Object> ();
hashMapPack.put("erpLocation", ERPRECEIVELOCATION == null ? "" : ERPRECEIVELOCATION);
hashMapPack.put("erpFactory", ERPRECEIVEFACTORY == null ? "" : ERPRECEIVEFACTORY);
hashMapPack.put("locationName", "");
hashMapPack.put("lastEventUser", eventUser);
hashMapPack.put("unDoID", billCode);
setEventInfo.setUserColumns(hashMapPack);
MaterialPackingServiceProxy.getMaterialPackingService().setEvent(mpKeyList, makeEventInfo, setEventInfo);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW2(shipRequestName, "", materialPackingKeyList);
WlySaveUnDoInfo( billCode,commitDate);
}
break;
@ -3353,7 +3368,7 @@ public class InvoiceServiceImpl implements InvoiceService {
// billCode=toSAPService.orderStockOut(shipRequestName, "SDK", eventUser,materialPackingKeyList);
billCode=orderStockOut(shipRequestName, "SDK", eventUser,materialPackingKeyList,commitDate);
//抛送MES数据
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList);
untils.sendMaterialInfoToMES_NEW(shipRequestName, "", materialPackingKeyList,billCode,eventUser);
//更新MES管芯数据
new MESServiceImpl().updateDurable_ByCostcenter(shipRequestName, "SDK", eventUser, materialPackingKeyList);
//billCode = NCWServiceImpl.SaleOut2(shipRequestName, "SDK", eventUser,materialPackingKeyList,"");