From ca12615cc5b1e4659b6547c8653bd008c0c03058 Mon Sep 17 00:00:00 2001 From: 18110972313 <780768673@qq.com> Date: Thu, 24 Apr 2025 19:48:37 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=BE=85=E6=9D=90=E5=87=BA=E5=BA=93?= =?UTF-8?q?=EF=BC=8C=E8=A7=A3=E5=86=B3=E5=87=BA=E5=BA=93=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E5=90=8E=E5=86=8D=E6=AC=A1=E5=87=BA=E5=BA=93=E6=97=B6=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idm/service/Impl/MaterialShipServiceImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java index 61d2718..820162d 100644 --- a/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java +++ b/zi-wms-pda/src/main/java/com/cim/idm/service/Impl/MaterialShipServiceImpl.java @@ -245,6 +245,7 @@ public class MaterialShipServiceImpl implements IMaterialShipService { for (int i = 0; i < boxList.size(); i++) { LinkedHashMap 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 bindMap1 = new HashMap(); - 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> list2 = IDMFrameServiceProxy.getSqlTemplate().queryForList(boxListSql, bindMap1); if(null != list2 && list2.size() > 0){ for (Map 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); }