From eaf2992f9f885a03b2bf3afcd9d990b2169ba271 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 26 十月 2023 18:12:20 +0800
Subject: [PATCH] feat: 调拨单出库

---
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java |   98 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 96 insertions(+), 2 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 16b81eb..3275512 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
@@ -1,7 +1,13 @@
 package com.consum.base.service;
 
+import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
 import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName LWhGoodsService
@@ -18,13 +24,101 @@
      * @param warehouseId       鎵�灞炰粨搴撲粨搴撶紪鍙�
      * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿
      * @param states            锛�0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
+     * @param buyType 閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
      * @return 鏌ヨ鏌愪釜鍨嬪彿鍦ㄤ粨搴撲腑鐨勬暟閲�
      */
-    private static String query_Goods_Model_Num = "";
+    private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1";
 
-    public int queryGoodsModelNum(long warehouseId, long baseGoodsModelsId, Short states) {
+    public int queryGoodsModelNum(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType) {
+        StringBuilder sql = new StringBuilder(query_Goods_Model_Num);
+        Map<String, Object> paramts = new HashMap<>();
+
+        if (warehouseId != null) {
+            sql.append(" and WAREHOUSE_ID=:warehouseId");
+            paramts.put("warehouseId", warehouseId);
+        }
+        if (baseGoodsModelsId != null) {
+            sql.append(" and BASE_GOODS_TEMPLATE_ID=:baseGoodsModelsId");
+            paramts.put("baseGoodsModelsId", baseGoodsModelsId);
+        }
+        if (states != null) {
+            sql.append(" and STATES=:STATES");
+            paramts.put("states", states);
+        }
+        if (buyType != null) {
+            sql.append(" and BUY_TYPE=:buyType");
+            paramts.put("buyType", buyType);
+        }
+        return queryForInt(sql.toString(), paramts);
+    }
 
 
+    /**
+     * 鍑哄簱鏃跺�欙紝鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱
+     *
+     * @param warehouseId       鎵�灞炰粨搴撲粨搴撶紪鍙�
+     * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿
+     * @param states            鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
+     * @param buyType           閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
+     * @param goodsModelNum 鍙栧嚭鐨勬暟閲�
+     * @return
+     */
+    private static String QUERY_OUT_GOODS_ID = "SELECT*FROM L_WH_GOODS WHERE 1=1";
+
+    public List<Map<String, Object>> queryOutGoods(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) {
+        StringBuilder sql = new StringBuilder(QUERY_OUT_GOODS_ID);
+        Map<String, Object> paramts = new HashMap<>();
+        if (warehouseId != null) {
+            sql.append(" and WAREHOUSE_ID=:warehouseId");
+            paramts.put("warehouseId", warehouseId);
+        }
+        if (baseGoodsModelsId != null) {
+            sql.append(" and BASE_GOODS_TEMPLATE_ID=:baseGoodsModelsId");
+            paramts.put("baseGoodsModelsId", baseGoodsModelsId);
+        }
+        if (states != null) {
+            sql.append(" and STATES=:STATES");
+            paramts.put("states", states);
+        }
+        if (buyType != null) {
+            sql.append(" and BUY_TYPE=:buyType");
+            paramts.put("buyType", buyType);
+        }
+        return select(sql.append(" limit").append(goodsModelNum).toString(), paramts);
+    }
+
+
+    /**
+     * 鍑哄簱鏃跺�欙紝鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱
+     *
+     * @param warehouseId       鎵�灞炰粨搴撲粨搴撶紪鍙�
+     * @param baseGoodsModelsId 瑙勬牸鍨嬪彿缂栧彿
+     * @param states            鐘舵�侊紙0=鍦ㄩ�旇皟鎷紱1=鍏ュ簱鏈垎鍙戯紱2=宸蹭笅鍙戯紱3=鎶ュ簾锛�
+     * @param buyType           閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
+     * @param goodsModelNum     鍙栧嚭鐨勬暟閲�
+     * @return
+     */
+    public List<Long> queryOutGoodsId(Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) {
+        List<Map<String, Object>> outGoods = queryOutGoods(warehouseId, baseGoodsModelsId, states, buyType, goodsModelNum);
+        if (CollectionUtils.isEmpty(outGoods)) {
+            return null;
+        }
+        List<Long> whGoodsIds = outGoods.stream().map(map -> (Long) map.get("id")).collect(Collectors.toList());
+        return whGoodsIds;
+    }
+
+    /**
+     * 璁剧疆鐗╁搧鐘舵�佷负璋冩嫧涓�
+     *
+     * @param whGoods
+     * @param toWarehouseId
+     * @param toWarehouseName
+     * @return
+     */
+    private static String MOD_GOODS_TRANSFERING = "";
+
+    public int modGoodsTransfering(List<Long> whGoods, Long toWarehouseId, String toWarehouseName) {
+//upda
         return 0;
     }
 }

--
Gitblit v1.9.1