From 1742240f8f6841e2d930e549caabab94f2a58ece Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 22 十一月 2023 18:37:10 +0800
Subject: [PATCH] --报废单

---
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java |  101 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 60 insertions(+), 41 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 e53939c..32b6f70 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,15 +1,16 @@
 package com.consum.base.service;
 
-import com.consum.model.po.LWhGoods;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Service;
 
 /**
  * @ClassName LWhGoodsService
@@ -31,7 +32,7 @@
      */
     private static String query_Goods_Model_Num = "SELECT COUNT(1) from L_WH_GOODS where 1=1";
 
-    public int queryGoodsModelNum(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType) {
+    public int queryGoodsModelNum(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType) {
         StringBuilder sql = new StringBuilder(query_Goods_Model_Num);
         Map<String, Object> paramts = new HashMap<>();
 
@@ -71,8 +72,8 @@
      */
     private static String QUERY_OUT_GOODS_ID = "SELECT * FROM L_WH_GOODS WHERE 1=1";
 
-    public List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType,
-        Integer goodsModelNum) {
+    public List<Map<String, Object>> queryOutGoods(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType,
+                                                   Integer goodsModelNum) {
         StringBuilder sql = new StringBuilder(QUERY_OUT_GOODS_ID);
         Map<String, Object> paramts = new HashMap<>();
         if (warehouseType != null) {
@@ -109,13 +110,30 @@
      * @param goodsModelNum     鍙栧嚭鐨勬暟閲�
      * @return
      */
-    public List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Short states, Short buyType, Integer goodsModelNum) {
+    public List<Long> queryOutGoodsId(Integer warehouseType, Long warehouseId, Long baseGoodsModelsId, Integer states, Integer buyType, Integer goodsModelNum) {
         List<Map<String, Object>> outGoods = queryOutGoods(warehouseType, 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;
+    }
+
+    private static String QUERY_GOODS_PRICE_BY_ID = "SELECT sum(PRICE)totalPrice from L_WH_GOODS goods where 1=1";
+
+    public long queryGoodsPriceById(List<Long> goodsIds) {
+        StringBuilder sql = new StringBuilder(QUERY_GOODS_PRICE_BY_ID);
+        Map<String, Object> paramts = new HashMap<>();
+        if (!CollectionUtils.isEmpty(goodsIds)) {
+            sql.append(" and id in(:goodsIds)");
+            paramts.put("goodsIds", goodsIds);
+        }
+        List<Map<String, Object>> map = this.select(sql.toString(), paramts);
+        if (CollectionUtils.isEmpty(map)) {
+            return 0;
+        }
+        BigDecimal totalPrice = (BigDecimal) map.get(0).get("totalPrice");
+        return totalPrice.longValue();
     }
 
 
@@ -137,12 +155,12 @@
     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,
-        Long warehouseId,
-        Long transBusinessId,
-        String nowUserName,
-        Long baseGoodsModelsId,
-        Short states,
-        Integer goodsModelNum) {
+                                                        Long warehouseId,
+                                                        Long transBusinessId,
+                                                        String nowUserName,
+                                                        Long baseGoodsModelsId,
+                                                        Short states,
+                                                        Integer goodsModelNum) {
         if (warehouseType == null) {
             warehouseType = 0;
         }
@@ -174,7 +192,7 @@
         }
         sql.append(QUERY_SCRAPPED_GOODS_END);
         if (goodsModelNum != null) {
-            sql.append(" limit").append(goodsModelNum);
+            sql.append(" limit ").append(goodsModelNum);
         }
         return select(sql.toString(), paramts);
     }
@@ -192,14 +210,14 @@
      * @return
      */
     public List<Long> queryScrappedGoodsIds(Integer warehouseType,
-        Long warehouseId,
-        Long transBusinessId,
-        String nowUserName,
-        Long baseGoodsModelsId,
-        Short states,
-        Integer goodsModelNum) {
+                                            Long warehouseId,
+                                            Long transBusinessId,
+                                            String nowUserName,
+                                            Long baseGoodsModelsId,
+                                            Short states,
+                                            Integer goodsModelNum) {
         List<Map<String, Object>> outGoods = queryScrappedGoods(warehouseType, warehouseId, transBusinessId, nowUserName, baseGoodsModelsId, states,
-            goodsModelNum);
+                goodsModelNum);
         if (CollectionUtils.isEmpty(outGoods)) {
             return null;
         }
@@ -219,26 +237,27 @@
     private static String MOD_GOODS_TRANSFERING_PREFIX = "update L_WH_GOODS set ";
 
     public int modGoodsTransfering(List<Long> whGoods, Integer warehouseType, Long toWarehouseId, String toWarehouseName, Integer states) {
-
-        List<LWhGoods> params = new ArrayList<>();
-        whGoods.stream().forEach(id -> {
-            LWhGoods lWhGoods = new LWhGoods();
-            lWhGoods.setId(id);
-            if (toWarehouseId != null) {
-                lWhGoods.setWarehouseType(warehouseType);
-            }
-            if (toWarehouseId != null) {
-                lWhGoods.setWarehouseId(toWarehouseId);
-            }
-            if (toWarehouseName != null) {
-                lWhGoods.setWarehouseName(toWarehouseName);
-            }
-            if (states != null) {
-                lWhGoods.setStates(states);
-            }
-            params.add(lWhGoods);
-        });
-        return updateBatch(params);
+        StringBuilder sql = new StringBuilder(MOD_GOODS_TRANSFERING_PREFIX);
+        ArrayList<Object> params = new ArrayList<>();
+        if (toWarehouseId != null) {
+            sql.append(", WAREHOUSE_TYPE=?");
+            params.add(warehouseType);
+        }
+        if (toWarehouseId != null) {
+            sql.append(", WAREHOUSE_ID=?");
+            params.add(toWarehouseId);
+        }
+        if (toWarehouseName != null) {
+            sql.append(", WAREHOUSE_NAME=?");
+            params.add(toWarehouseName);
+        }
+        if (states != null) {
+            sql.append(", STATES=?");
+            params.add(states);
+        }
+        sql.deleteCharAt(22);
+        sql.append(" where id in(").append(StringUtils.join(whGoods, ",")).append(")");
+        return update(sql.toString(), params.toArray());
     }
 
 }

--
Gitblit v1.9.1