From 75aaca3a95314be8c384df18dba23c661dea742c Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期一, 27 十一月 2023 19:05:38 +0800
Subject: [PATCH] feat:

---
 consum-base/src/main/java/com/consum/base/service/LWhGoodsService.java |   55 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 34 insertions(+), 21 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 1881d31..4aa7b31 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,6 +1,6 @@
 package com.consum.base.service;
 
-import com.consum.model.po.LWhGoods;
+import com.consum.base.core.utils.MapperUtil;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.jdbc.service.BaseServiceImpl;
 import org.apache.commons.lang3.StringUtils;
@@ -193,7 +193,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);
     }
@@ -238,26 +238,39 @@
     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) {
+        StringBuilder sql = new StringBuilder(MOD_GOODS_TRANSFERING_PREFIX);
+        ArrayList<Object> params = new ArrayList<>();
+        if (warehouseType != 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());
+    }
 
-        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);
+    private static String GOODS_NUM_PRICE = "SELECT t.tenantId,count(id) total_Num,count(CASE WHEN STATES=2 THEN 1 END) xia_fa_num,IFNULL(round(sum(PRICE)/1000000,2),0) total_price,IFNULL(ROUND(count(CASE WHEN STATES=2 THEN 1 END)/count(id),4),0)*100 AS zhan_you_percent,count(CASE COST_TYPE WHEN 1 THEN 1 END) a_total_Num,count(CASE COST_TYPE WHEN 2 THEN 1 END) b_total_Num,count(CASE COST_TYPE WHEN 3 THEN 1 END) c_total_Num FROM (SELECT tCangKu.tenantId,tKuCun.id,tKuCun.STATES,tKuCun.COST_TYPE,tKuCun.price FROM (SELECT tenant.id tenantId,tenant.NAME AS org_name,ware.*FROM fin_sys_tenant tenant RIGHT JOIN ( SELECT 0 WAREHOUSE_TYPE,id,AGENCY_ID,WAREHOUSE_NAME FROM BASE_WAREHOUSE UNION ALL SELECT 1 WAREHOUSE_TYPE,id,TENANT_ID AGENCY_ID,`NAME` WAREHOUSE_NAME FROM fin_sys_tenant_department) ware ON tenant.id=ware.AGENCY_ID WHERE 1=1 ";
+    private static String GOODS_NUM_PRICE_END = ") tCangKu LEFT JOIN L_WH_GOODS tKuCun ON tCangKu.WAREHOUSE_TYPE=tKuCun.WAREHOUSE_TYPE AND tCangKu.id=tKuCun.WAREHOUSE_ID AND tKuCun.STATES BETWEEN 1 AND 2) t GROUP BY t.tenantId";
+
+    //鏈烘瀯
+    public List<Map<String, Object>> getGoodsNumPrice(Long agencyId) {
+        StringBuilder sql = new StringBuilder(GOODS_NUM_PRICE);
+        Map<String, Object> paramts = new HashMap<>();
+        sql.append(" and tenant.id=:agencyId");
+        paramts.put("agencyId", agencyId);
+        return select(sql.append(GOODS_NUM_PRICE_END).toString(), paramts, new MapperUtil());
     }
 
 }

--
Gitblit v1.9.1