fix:修改备货出库

This commit is contained in:
郭飞 2025-04-24 08:37:18 +08:00
parent 00214095e4
commit 609e642d03
3 changed files with 39 additions and 32 deletions

View File

@ -217,7 +217,7 @@ public class MESServiceImpl implements MESService{
+ " ORDER BY m5.USEDATE,m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)WO,:SHIPREQUESTNAME \r\n" + " ORDER BY m5.USEDATE,m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)WO,:SHIPREQUESTNAME \r\n"
+ " FROM MATERIALPACKING m ,MATERIALSPEC m2 ,MATERIALSHIPREQUEST m3 ,BS_MATERIALDESCRIPTION m4 ,BS_MATERIALUNIT bm \r\n" + " FROM MATERIALPACKING m ,MATERIALSPEC m2 ,MATERIALSHIPREQUEST m3 ,BS_MATERIALDESCRIPTION m4 ,BS_MATERIALUNIT bm \r\n"
+ " WHERE m.SITENAME =:SITENAME \r\n" + " WHERE m.SITENAME =:SITENAME \r\n"
+ " AND m.SHIPREQUESTNAME =:SHIPREQUESTNAME \r\n" + " AND m.SHIPREQUESTNAME =:SHIPREQUESTNAME AND m.MATERIALPACKINGNAME =:MATERIALPACKINGNAME \r\n"
+ " AND (m.RECEIVEACTNO =:RECEIVEACTNO OR :RECEIVEACTNO IS NULL ) \r\n" + " AND (m.RECEIVEACTNO =:RECEIVEACTNO OR :RECEIVEACTNO IS NULL ) \r\n"
+ " AND m.MATERIALSPECNAME =m2.MATERIALSPECNAME \r\n" + " AND m.MATERIALSPECNAME =m2.MATERIALSPECNAME \r\n"
+ " AND m.SHIPREQUESTNAME =m3.SHIPREQUESTNAME \r\n" + " AND m.SHIPREQUESTNAME =m3.SHIPREQUESTNAME \r\n"
@ -226,6 +226,7 @@ public class MESServiceImpl implements MESService{
+ " AND m.FUNIT =bm.ADDITIONALUNIT(+) AND m.STOCKSTATE = 'Stocked'"; + " AND m.FUNIT =bm.ADDITIONALUNIT(+) AND m.STOCKSTATE = 'Stocked'";
hashMap.put("QTY", qty); hashMap.put("QTY", qty);
hashMap.put("MATERIALPACKINGNAME", boxid);
IDMFrameServiceProxy.getSqlTemplate().update(sqli, hashMap); IDMFrameServiceProxy.getSqlTemplate().update(sqli, hashMap);
} }
@ -326,32 +327,36 @@ public class MESServiceImpl implements MESService{
" WHERE m.MATERIALPACKINGNAME =:MATERIALPACKINGNAME)"; " WHERE m.MATERIALPACKINGNAME =:MATERIALPACKINGNAME)";
IDMFrameServiceProxy.getSqlTemplate().update(sqlu, bps); IDMFrameServiceProxy.getSqlTemplate().update(sqlu, bps);
} }
String sqli = "INSERT INTO MATERIALPACKINGMDC(MATERIALPACKINGNAME,CHARGE,MATERIALSPECNAME,EXPIRINGDATE,PHASE, \r\n"
+ " TRUEGG ,MATERIALQUANTITY ,FQTY ,FUNIT ,LASTEVENTUSER ,REMARK , \r\n"
+ " SHIPREQUESTDETAILTYPE ,MATERIALUNIT ,CONVERSIONSCALE, \r\n"
+ " DESCRIPTION ,MATERIALTYPE, ERPFACTORY,ERPLOCATION,OUTTIME,EVENTNAME,EVENTTIME,WO,SHIPREQUESTNAME) \r\n"
+ " SELECT m.MATERIALPACKINGNAME,m.CHARGE,m.MATERIALSPECNAME,m.EXPIRINGDATE,m.PHASE, \r\n"
+ " m.TRUEGG ,:QTY ,m.FQTY ,m.FUNIT ,m.LASTEVENTUSER ,m.REMARK , \r\n"
+ " m3.SHIPREQUESTDETAILTYPE ,m2.MATERIALUNIT ,bm.DENOMINATOR/bm.MODULECULE CONVERSIONSCALE, \r\n"
+ " m4.DESCRIPTION ,m2.MATERIALTYPE ,:ERPFACTORY,:ERPLOCATION,SYSDATE,:EVENTNAME,SYSDATE ,\r\n"
+ " (SELECT RECEIVEPRODUCTIONORDERNUMBER FROM MATERIALSHIPREQUESTDETAIL m5\r\n"
+ " WHERE m5.SHIPREQUESTNAME=:SHIPREQUESTNAME AND m5.MATERIALSPECNAME=m.MATERIALSPECNAME \r\n"
+ " ORDER BY m5.USEDATE,m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)WO,:SHIPREQUESTNAME \r\n"
+ " FROM MATERIALPACKING m ,MATERIALSPEC m2 ,MATERIALSHIPREQUEST m3 ,BS_MATERIALDESCRIPTION m4 ,BS_MATERIALUNIT bm \r\n"
+ " WHERE m.SITENAME =:SITENAME \r\n"
+ " AND m.SHIPREQUESTNAME =:SHIPREQUESTNAME AND m.MATERIALPACKINGNAME =:MATERIALPACKINGNAME\r\n"
+ " AND (m.RECEIVEACTNO =:RECEIVEACTNO OR :RECEIVEACTNO IS NULL ) \r\n"
+ " AND m.MATERIALSPECNAME =m2.MATERIALSPECNAME \r\n"
+ " AND m.SHIPREQUESTNAME =m3.SHIPREQUESTNAME \r\n"
+ " AND m.MATERIALSPECNAME =m4.MATERIALSPECNAME \r\n"
+ " AND m.MATERIALSPECNAME =bm.MATERIALSPECNAME(+) \r\n"
+ " AND m.FUNIT =bm.ADDITIONALUNIT(+) AND m.STOCKSTATE = 'Stocked'";
hashMap.put("QTY", qty); hashMap.put("QTY", qty);
hashMap.put("MATERIALPACKINGNAME", boxid);
IDMFrameServiceProxy.getSqlTemplate().update(sqli, hashMap);
} }
String sqli = "INSERT INTO MATERIALPACKINGMDC(MATERIALPACKINGNAME,CHARGE,MATERIALSPECNAME,EXPIRINGDATE,PHASE, \r\n"
+ " TRUEGG ,MATERIALQUANTITY ,FQTY ,FUNIT ,LASTEVENTUSER ,REMARK , \r\n"
+ " SHIPREQUESTDETAILTYPE ,MATERIALUNIT ,CONVERSIONSCALE, \r\n"
+ " DESCRIPTION ,MATERIALTYPE, ERPFACTORY,ERPLOCATION,OUTTIME,EVENTNAME,EVENTTIME,WO,SHIPREQUESTNAME) \r\n"
+ " SELECT m.MATERIALPACKINGNAME,m.CHARGE,m.MATERIALSPECNAME,m.EXPIRINGDATE,m.PHASE, \r\n"
+ " m.TRUEGG ,:QTY ,m.FQTY ,m.FUNIT ,m.LASTEVENTUSER ,m.REMARK , \r\n"
+ " m3.SHIPREQUESTDETAILTYPE ,m2.MATERIALUNIT ,bm.DENOMINATOR/bm.MODULECULE CONVERSIONSCALE, \r\n"
+ " m4.DESCRIPTION ,m2.MATERIALTYPE ,:ERPFACTORY,:ERPLOCATION,SYSDATE,:EVENTNAME,SYSDATE ,\r\n"
+ " (SELECT RECEIVEPRODUCTIONORDERNUMBER FROM MATERIALSHIPREQUESTDETAIL m5\r\n"
+ " WHERE m5.SHIPREQUESTNAME=:SHIPREQUESTNAME AND m5.MATERIALSPECNAME=m.MATERIALSPECNAME \r\n"
+ " ORDER BY m5.USEDATE,m5.SHIPREQUESTDETAILNAME FETCH FIRST ROW ONLY)WO,:SHIPREQUESTNAME \r\n"
+ " FROM MATERIALPACKING m ,MATERIALSPEC m2 ,MATERIALSHIPREQUEST m3 ,BS_MATERIALDESCRIPTION m4 ,BS_MATERIALUNIT bm \r\n"
+ " WHERE m.SITENAME =:SITENAME \r\n"
+ " AND m.SHIPREQUESTNAME =:SHIPREQUESTNAME \r\n"
+ " AND (m.RECEIVEACTNO =:RECEIVEACTNO OR :RECEIVEACTNO IS NULL ) \r\n"
+ " AND m.MATERIALSPECNAME =m2.MATERIALSPECNAME \r\n"
+ " AND m.SHIPREQUESTNAME =m3.SHIPREQUESTNAME \r\n"
+ " AND m.MATERIALSPECNAME =m4.MATERIALSPECNAME \r\n"
+ " AND m.MATERIALSPECNAME =bm.MATERIALSPECNAME(+) \r\n"
+ " AND m.FUNIT =bm.ADDITIONALUNIT(+) AND m.STOCKSTATE = 'Stocked'";
IDMFrameServiceProxy.getSqlTemplate().update(sqli, hashMap);
return code; return code;
} }

View File

@ -143,8 +143,7 @@ public class ERPLocationMoveNoInvoiceServiceImpl implements ERPLocationMoveNoInv
}else { }else {
bindSet = new String[]{storageSpec.getMaterialPackingName()}; bindSet = new String[]{storageSpec.getMaterialPackingName()};
} }
List<MaterialPacking> MaterialPackingList = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet); List<MaterialPacking> MaterialPackingList = MaterialPackingServiceProxy.getMaterialPackingService().select(condition, bindSet);
all.addAll(MaterialPackingList); all.addAll(MaterialPackingList);
//解析条码,根据远条码信息更新目标条码数量和库存状态 //解析条码,根据远条码信息更新目标条码数量和库存状态

View File

@ -344,11 +344,11 @@ public class InvoiceServiceImpl implements InvoiceService {
str += "'" + materialPacking + "',"; str += "'" + materialPacking + "',";
} }
str += "'')"; str += "'')";
Object[] bindSet = {}; // Object[] bindSet = {};
// List<Map<String, Object>> queryForList2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(cklx.toString() + str, hashMap); // List<Map<String, Object>> queryForList2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(cklx.toString() + str, hashMap);
// 查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改数量不相等则修改数量 // 查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改数量不相等则修改数量
List<Map<String, Object>> qtyQueryForList = IDMFrameServiceProxy.getSqlTemplate().queryForList(cklx.toString() + str, hashMap); List<Map<String, Object>> qtyQueryForList1 = IDMFrameServiceProxy.getSqlTemplate().queryForList(cklx.toString() + str, hashMap);
// List<MaterialPacking> qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(cklx.toString() + str, bindSet,MaterialPacking.class); // List<MaterialPacking> qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(cklx.toString() + str, bindSet,MaterialPacking.class);
String billCode = ""; String billCode = "";
@ -385,11 +385,14 @@ public class InvoiceServiceImpl implements InvoiceService {
//MES需要接收则只抛送数据 或如果是现场仓,先移到现场仓 //MES需要接收则只抛送数据 或如果是现场仓,先移到现场仓
if(src.size()>0 || !ERPRECEIVELOCATION.isEmpty()) { if(src.size()>0 || !ERPRECEIVELOCATION.isEmpty()) {
// 查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改数量不相等则修改数量 // 查询MATERIALQUANTITY MATERIALQUANTITY2是否相等如果相等则未修改数量不相等则修改数量
// 如果已修改数量则进行拆单 // 如果已修改数量则进行拆单
// for (int z = 0; z < qtyQueryForList.size(); z++) { // for (int z = 0; z < qtyQueryForList1.size(); z++) {
// // String MATERIALPACKINGNAME = qtyQueryForList1.get(z).get("MATERIALPACKINGNAME").toString();
// String qty = String.valueOf(qtyQueryForList.get(z).getMaterialQuantity()); // Object[] bindSet = {MATERIALPACKINGNAME};
// String qtysql = "SELECT * FROM MATERIALPACKING m WHERE m.MATERIALPACKINGNAME = ?";
// List<MaterialPacking> qtyQueryForList = MaterialPackingServiceProxy.getMaterialPackingService().select(qtysql, bindSet);
// String qty = String.valueOf(qtyQueryForList.get(z).getMaterialQuantity());`
// //
// String qty2 = new Double(qtyQueryForList.get(z).getMaterialQuantity2()) == null ? "0" : String.valueOf(qtyQueryForList.get(z).getMaterialQuantity2()); // String qty2 = new Double(qtyQueryForList.get(z).getMaterialQuantity2()) == null ? "0" : String.valueOf(qtyQueryForList.get(z).getMaterialQuantity2());
// String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName(); // String materialPackingName = qtyQueryForList.get(z).getMaterialPackingName();