From fe9a0e82ce550d4c819cd002ca98f9c4aeb028cc Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Jun 2022 15:03:45 +0800
Subject: [PATCH] 农资统计

---
 src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml |  173 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 171 insertions(+), 2 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 d77ff70..933d5ff 100644
--- a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
+++ b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
@@ -70,12 +70,181 @@
     </select>
     <!--入库出库-->
     <update id="UpdaeAmountc">
-        update sys_stock set amount = #{stock.amount} ,state=#{stock.state} where id=#{stock.id}
+        update sys_stock
+        set amount = #{stock.amount},
+            state=#{stock.state}
+        where id = #{stock.id}
     </update>
 
     <!--入库出库-->
     <update id="Updaet">
-        update sys_stock set amount = #{stock.amount} where id=#{stock.id}
+        update sys_stock
+        set amount = #{stock.amount}
+        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
+        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
+        ) 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 time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="stock.endTime!=null and stock.endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) cg ON cg.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS dbrknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 1
+        AND type1 = 1
+        <if test="stock.startTime!=null and stock.startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="stock.endTime!=null and stock.endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) dbr ON dbr.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS lycknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 0
+        <if test="stock.startTime!=null and stock.startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="stock.endTime!=null and stock.endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) lyc ON lyc.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS dbcknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 1
+        <if test="stock.startTime!=null and stock.startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="stock.endTime!=null and stock.endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) dbc ON dbc.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS bfcknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 2
+        <if test="stock.startTime!=null and stock.startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="stock.endTime!=null and stock.endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) bfc ON bfc.stock_id1 = a.id
+    </select>
+
+    <select id="StockCount" resultType="java.util.Map">
+        SELECT st.specs,
+               st.amount,
+               st.specs_value1 as spe,
+               sto.type
+        FROM `sys_stock` st
+                 LEFT JOIN (SELECT id, type FROM sys_stockfactory) sto ON st.stock_id = sto.id
+        WHERE st.is_deleted = 0
+    </select>
+
+    <!--小程序数据统计-->
+    <select id="slectNumx" 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
+        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
+        ) a
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS cgnum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 1
+        AND type1 = 0
+        <if test="startTime!=null and startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) cg ON cg.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS dbrknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 1
+        AND type1 = 1
+        <if test="startTime!=null and startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) dbr ON dbr.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS lycknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 0
+        <if test="startTime!=null and startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) lyc ON lyc.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS dbcknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 1
+        <if test="startTime!=null and startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) dbc ON dbc.stock_id1 = a.id
+        LEFT JOIN (SELECT stock_id1, SUM(census) AS bfcknum
+        FROM sys_stockrecord
+        WHERE stock_type1 = 0
+        AND type1 = 2
+        <if test="startTime!=null and startTime!=''">
+            and time1 &gt;= #{stock.startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and time1 &lt;= #{stock.endTime}
+        </if>
+        GROUP BY stock_id1) bfc ON bfc.stock_id1 = a.id
+    </select>
 </mapper>

--
Gitblit v1.9.3