From 72b971c98c46531064d74b68fc8fe8864ed0b544 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:04:56 +0800
Subject: [PATCH] 大屏溯源统计次数sql修改

---
 src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml |   64 ++++++++++++++++++--------------
 1 files changed, 36 insertions(+), 28 deletions(-)

diff --git a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
index 0e83182..0e55b4f 100644
--- a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
+++ b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
@@ -54,7 +54,10 @@
             AND blade_dict_biz.tenant_id = #{stock.codes}
         </if>) a ON
         a.dict_key = stf.type
-        WHERE st.is_deleted = 0 and state=0
+        WHERE st.is_deleted = 0 and state=0 AND st.amount != 0
+        <if test="stock.deptId !=null and stock.deptId !=''">
+            and st.dept_id = #{stock.deptId}
+        </if>
         <if test="stock.stype!=null and stock.stype != ''">
             and stf.type = #{stock.stype}
         </if>
@@ -134,39 +137,44 @@
     <!--入库出库-->
     <update id="Updaet">
         update sys_stock
-        set amount = #{stock.amount}
+        set amount = #{stock.amount},state = #{stock.state}
         where id = #{stock.id}
     </update>
 
     <select id="slectNum" resultType="org.springblade.modules.stock.vo.StocksVO">
         SELECT id,
-        a.agricultural_name as agrname,
-        a.factory_name as facname,
-        IFNULL(cg.cgnum, 0) AS cgnum,
-        IFNULL(dbr.dbrknum, 0) AS dbrknum,
-        IFNULL(lyc.lycknum, 0) AS lycknum,
-        IFNULL(dbc.dbcknum, 0) AS dbcknum,
-        IFNULL(bfc.bfcknum, 0) AS bfcknum
+            a.agricultural_name as agrname,
+            a.factory_name as facname,
+            IFNULL(cg.cgnum, 0) AS cgnum,
+            IFNULL(dbr.dbrknum, 0) AS dbrknum,
+            IFNULL(lyc.lycknum, 0) AS lycknum,
+            IFNULL(dbc.dbcknum, 0) AS dbcknum,
+            IFNULL(bfc.bfcknum, 0) AS bfcknum
         FROM (
-        SELECT stf.id,
-        stf.agricultural_name,
-        stf.factory_name
-        FROM sys_stockrecord st
-        LEFT JOIN (SELECT id, agricultural_name, factory_name FROM sys_stockfactory) stf
-        ON st.stock_id1 = stf.id
-        GROUP BY stf.id,
-        stf.agricultural_name,
-        stf.factory_name
+            SELECT stf.id,
+                stf.agricultural_name,
+                stf.factory_name
+            FROM
+                 sys_stockrecord st
+            LEFT JOIN (SELECT id, agricultural_name, factory_name,type FROM sys_stockfactory) stf
+            ON st.stock_id1 = stf.id
+        <if test="stock.stockType !=null and stock.stockType !=''">
+            WHERE stf.type =#{stock.stockType}
+        </if>
+        GROUP BY
+                 stf.id,
+            stf.agricultural_name,
+            stf.factory_name
         ) a
         LEFT JOIN (SELECT stock_id1, SUM(census) AS cgnum
         FROM sys_stockrecord
         WHERE stock_type1 = 1
         AND type1 = 0
         <if test="stock.startTime!=null and stock.startTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &gt;= #{stock.startTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &gt;= #{stock.startTime}
         </if>
         <if test="stock.endTime!=null and stock.endTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &lt;= #{stock.endTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &lt;= #{stock.endTime}
         </if>
         <if test="stock.deptId!=null and stock.deptId!=''">
             and dept_id = #{stock.deptId}
@@ -177,10 +185,10 @@
         WHERE stock_type1 = 1
         AND type1 = 1
         <if test="stock.startTime!=null and stock.startTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &gt;= #{stock.startTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &gt;= #{stock.startTime}
         </if>
         <if test="stock.endTime!=null and stock.endTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &lt;= #{stock.endTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &lt;= #{stock.endTime}
         </if>
         <if test="stock.deptId!=null and stock.deptId!=''">
             and dept_id = #{stock.deptId}
@@ -191,10 +199,10 @@
         WHERE stock_type1 = 0
         AND type1 = 0
         <if test="stock.startTime!=null and stock.startTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &gt;= #{stock.startTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &gt;= #{stock.startTime}
         </if>
         <if test="stock.endTime!=null and stock.endTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &lt;= #{stock.endTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &lt;= #{stock.endTime}
         </if>
         <if test="stock.deptId!=null and stock.deptId!=''">
             and dept_id = #{stock.deptId}
@@ -205,10 +213,10 @@
         WHERE stock_type1 = 0
         AND type1 = 1
         <if test="stock.startTime!=null and stock.startTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &gt;= #{stock.startTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &gt;= #{stock.startTime}
         </if>
         <if test="stock.endTime!=null and stock.endTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &lt;= #{stock.endTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &lt;= #{stock.endTime}
         </if>
         <if test="stock.deptId!=null and stock.deptId!=''">
             and dept_id = #{stock.deptId}
@@ -219,10 +227,10 @@
         WHERE stock_type1 = 0
         AND type1 = 2
         <if test="stock.startTime!=null and stock.startTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &gt;= #{stock.startTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &gt;= #{stock.startTime}
         </if>
         <if test="stock.endTime!=null and stock.endTime!=''">
-            and DATE_FORMAT(time1,'%Y-%m-%d') &lt;= #{stock.endTime}
+            and DATE_FORMAT(sys_stockrecord.time1,'%Y-%m-%d') &lt;= #{stock.endTime}
         </if>
         <if test="stock.deptId!=null and stock.deptId!=''">
             and dept_id = #{stock.deptId}

--
Gitblit v1.9.3