From d7f0b77a81c6c6f8895af082214edcbed29e3ab9 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期一, 06 十一月 2023 16:27:04 +0800
Subject: [PATCH] feat: 调拨调整

---
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
index 2030a00..ea3b9ea 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java
@@ -13,7 +13,6 @@
 
 /**
  * @ClassName LWhGoodsService
-
  * @Date 2023/10/24
  * @Description
  * @Version 1.0
@@ -132,7 +131,9 @@
      * @param goodsModelNum     鍙栧嚭鐨勬暟閲�
      * @return
      */
-    private static String QUERY_SCRAPPED_GOODS_PREFIX = "SELECT goods.id FROM L_WH_GOODS goods LEFT JOIN (SELECT t2.*FROM (SELECT max(DEAL_TIME) DEAL_TIME,WH_GOODS_ID FROM L_GOODS_USER_RECORD GROUP BY WH_GOODS_ID) t1 LEFT JOIN L_GOODS_USER_RECORD t2 ON t1.DEAL_TIME=t2.DEAL_TIME AND t1.WH_GOODS_ID=t2.WH_GOODS_ID) useRecord ON goods.id=useRecord.WH_GOODS_ID WHERE 1=1";
+
+    private static String QUERY_SCRAPPED_GOODS_PREFIX_1 = "SELECT goods.id FROM L_WH_GOODS goods LEFT JOIN L_GOODS_USER_RECORD useRecord ON goods.id=useRecord.WH_GOODS_ID AND useRecord.LAST_RECORD=1 WHERE 1=1 ";
+    private static String QUERY_SCRAPPED_GOODS_PREFIX_2 = " AND goods.id IN (SELECT lwgrd.WH_GOODS_ID FROM L_WAREHOUSE_FLOW flow LEFT JOIN L_WH_GOODS_RECORD lwgr ON lwgr.WAREHOUSE_FLOW_ID=flow.id LEFT JOIN L_WH_GOODS_RECORD_DETAILS lwgrd ON lwgrd.WH_GOODS_RECORD_ID=lwgr.id WHERE flow.THIS_TYPE=4 AND flow.BUSINESS_FORM_ID=:transBusinessId)";
     private static String QUERY_SCRAPPED_GOODS_END = " ORDER BY goods.PRICE DESC,goods.PROCURE_DATE ASC,goods.id";
 
     public List<Map<String, Object>> queryScrappedGoods(Integer warehouseType,
@@ -145,7 +146,7 @@
         if (warehouseType == null) {
             warehouseType = 0;
         }
-        StringBuilder sql = new StringBuilder(QUERY_SCRAPPED_GOODS_PREFIX);
+        StringBuilder sql = new StringBuilder(QUERY_SCRAPPED_GOODS_PREFIX_1);
         Map<String, Object> paramts = new HashMap<>();
         if (warehouseType != null) {
             sql.append(" AND goods.WAREHOUSE_TYPE=:warehouseType");
@@ -154,10 +155,6 @@
         if (warehouseId != null) {
             sql.append(" AND goods.WAREHOUSE_ID=:warehouseId");
             paramts.put("warehouseId", warehouseId);
-        }
-        if (transBusinessId != null) {
-            sql.append(" and useRecord.TRANS_BUSINESS_ID=:transBusinessId");
-            paramts.put("transBusinessId", transBusinessId);
         }
         if (StringUtils.isNotEmpty(nowUserName)) {
             sql.append(" AND useRecord.NOW_USER_NAME=:nowUserName");
@@ -171,7 +168,15 @@
             sql.append(" AND goods.STATES=:states");
             paramts.put("states", states);
         }
-        return select(sql.append(QUERY_SCRAPPED_GOODS_END).append(" limit").append(goodsModelNum).toString(), paramts);
+        if (transBusinessId != null) {
+            sql.append(QUERY_SCRAPPED_GOODS_PREFIX_2);
+            paramts.put("transBusinessId", transBusinessId);
+        }
+        sql.append(QUERY_SCRAPPED_GOODS_END);
+        if (goodsModelNum != null) {
+            sql.append(" limit").append(goodsModelNum);
+        }
+        return select(sql.toString(), paramts);
     }
 
     /**
@@ -237,6 +242,5 @@
         params.add(whGoods);
         return update(sql.toString(), params.toArray());
     }
-
 
 }

--
Gitblit v1.9.1