update 辅材出库,解决出库成功后再次出库时失败的问题
This commit is contained in:
parent
4256c15f5d
commit
ca12615cc5
@ -245,6 +245,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
for (int i = 0; i < boxList.size(); i++) {
|
||||
LinkedHashMap<String, String> boxlinkedHashMap = boxList.get(i);
|
||||
String boxShipRequestName = (String) boxlinkedHashMap.get("SHIPREQUESTNAME");
|
||||
String boxShipRequestDetailName = (String) boxlinkedHashMap.get("SHIPREQUESTDETAILNAME");
|
||||
String materialSpecName = (String) boxlinkedHashMap.get("MATERIALSPECNAME");
|
||||
String sdkId = (String) boxlinkedHashMap.get("SDK_ID");
|
||||
String phase = (String) boxlinkedHashMap.get("PHASE");
|
||||
@ -261,10 +262,11 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
"AND M.MATERIALSPECNAME = :MATERIALSPECNAME AND (M.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (M.PHASE = :PHASE OR :PHASE IS NULL)\n" +
|
||||
"UNION \n" +
|
||||
"SELECT T.RECEIVEREQUESTNAME SHIPREQUESTNAME,T.RECEIVEREQUESTDETAILNAME SHIPREQUESTDETAILNAME , T.REQUESTQUANTITY - T.RECEIVEDQUANTITY MINQTY \n" +
|
||||
"FROM MATERIALRECEIVEREQUESTDETAIL T WHERE T.RECEIVEREQUESTNAME = :SHIPREQUESTNAME AND T.REQUESTQUANTITY - T.RECEIVEDQUANTITY > 0 \n" +
|
||||
"FROM MATERIALRECEIVEREQUESTDETAIL T WHERE T.RECEIVEREQUESTNAME = :SHIPREQUESTNAME AND T.RECEIVEREQUESTDETAILNAME = :SHIPREQUESTDETAILNAME AND T.REQUESTQUANTITY - T.RECEIVEDQUANTITY > 0 \n" +
|
||||
"AND T.MATERIALSPECNAME = :MATERIALSPECNAME AND (T.SDK_ID = :SDK_ID OR :SDK_ID IS NULL) AND (T.PHASE = :PHASE OR :PHASE IS NULL)";
|
||||
Map<String, Object> bindMap1 = new HashMap<String, Object>();
|
||||
bindMap1.put("SHIPREQUESTNAME",shipRequestName);
|
||||
bindMap1.put("SHIPREQUESTNAME",boxShipRequestName);
|
||||
bindMap1.put("SHIPREQUESTDETAILNAME",boxShipRequestDetailName);
|
||||
bindMap1.put("MATERIALSPECNAME",materialSpecName);
|
||||
bindMap1.put("SDK_ID",sdkId);
|
||||
bindMap1.put("PHASE",phase);
|
||||
@ -331,6 +333,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
" AND A.OQARESULTSTATE <> 'PREOQA'\r\n" +
|
||||
" AND to_char(A.EXPIRINGDATE, 'yyyymmdd') >= to_char(SYSDATE, 'yyyymmdd')\r\n" +
|
||||
" ORDER BY to_char(A.RECEIVETIME, 'yyyymmdd') ";
|
||||
bindMap1.put("SHIPREQUESTDETAILNAME",shipRequestDetailName);
|
||||
List<Map<String,Object>> list2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(boxListSql, bindMap1);
|
||||
if(null != list2 && list2.size() > 0){
|
||||
for (Map<String, Object> map2 : list2) {
|
||||
@ -648,6 +651,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//备份过账条码表的信息,并删除
|
||||
String bfSql = "INSERT\r\n" +
|
||||
" INTO\r\n" +
|
||||
@ -664,8 +668,8 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
" MATERIALPACKINGSUB M\r\n" +
|
||||
"WHERE\r\n" +
|
||||
" M.RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||
String scSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(bfSql, hashMap);
|
||||
String scSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(scSql, hashMap);
|
||||
|
||||
//循环过账批次
|
||||
@ -746,6 +750,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
// MaterialPackingKey materialPackingKey = new MaterialPackingKey("SDK",materialPackingName);
|
||||
// arrayList.add(materialPackingKey);
|
||||
}
|
||||
|
||||
//判断会有多少个仓库发货,不同仓库需要分开走账
|
||||
StringBuffer cklx = new StringBuffer();
|
||||
cklx.append("SELECT DISTINCT m.ERPLOCATION FROM MATERIALPACKING m WHERE m.MATERIALPACKINGNAME IN ");
|
||||
@ -929,6 +934,8 @@ public class MaterialShipServiceImpl implements IMaterialShipService {
|
||||
default :
|
||||
break;
|
||||
}
|
||||
String deleteSql = "DELETE FROM MATERIALPACKINGSUB WHERE RECEIVEREQUESTNAME = :SHIPREQUESTNAME";
|
||||
IDMFrameServiceProxy.getSqlTemplate().update(deleteSql, hashMap);
|
||||
return AjaxResult.me().setSuccess(true).setErrorCode(200);
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user