From 0ea162c9bbd4e2ac337aae567005369fbc911032 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 01 Jul 2022 18:19:35 +0800
Subject: [PATCH] 新增查询溯源详情接口,采收新增修改

---
 src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
index 3d7cc61..50aed43 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -4,13 +4,110 @@
 
     <!--自定义查询农产品库存分页数据-->
     <select id="selectFarmProductStockPage" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
-        select * from sys_farm_product_stock
+        select sfps.strain_id strainId,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from
+        sys_farm_product_stock sfps
+        left join sys_strain ss on ss.id = sfps.strain_id
         where 1=1
         <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''">
-            and strain_id = #{farmProductStock.strainId}
+            and sfps.strain_id = #{farmProductStock.strainId}
         </if>
         <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''">
-            and leaves = #{farmProductStock.leaves}
+            and sfps.leaves = #{farmProductStock.leaves}
+        </if>
+        <if test="farmProductStock.startTime!=null and farmProductStock.startTime!=''">
+            and sfps.time &gt;= #{farmProductStock.startTime}
+        </if>
+        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
+            and sfps.time &lt;= #{farmProductStock.endTime}
+        </if>
+        <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''">
+            and sfps.dept_id = #{farmProductStock.deptId}
+        </if>
+        <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''">
+            and sfps.tenant_id = #{farmProductStock.tenantId}
+        </if>
+        group by sfps.strain_id,ss.url,ss.strain_name
+    </select>
+
+
+    <!--查询农产品库存数据-->
+    <select id="statisticsProduct" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
+        select sfps.strain_id strainId,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from
+        sys_farm_product_stock sfps
+        left join sys_strain ss on ss.id = sfps.strain_id
+        where 1=1
+        <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''">
+            and sfps.strain_id = #{farmProductStock.strainId}
+        </if>
+        <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''">
+            and sfps.leaves = #{farmProductStock.leaves}
+        </if>
+        <if test="farmProductStock.startTime!=null and farmProductStock.startTime!=''">
+            and sfps.time &gt;= #{farmProductStock.startTime}
+        </if>
+        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
+            and sfps.time &lt;= #{farmProductStock.endTime}
+        </if>
+        <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''">
+            and sfps.dept_id = #{farmProductStock.deptId}
+        </if>
+        <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''">
+            and sfps.tenant_id = #{farmProductStock.tenantId}
+        </if>
+        group by sfps.strain_id,ss.url,ss.strain_name
+    </select>
+
+    <!--大屏产量每个月统计-->
+    <select id="selctProductCount" resultType="java.util.HashMap">
+        SELECT SUM(CASE WHEN MONTH ( s.time ) = 1 THEN s.weight END ) AS '1', SUM(CASE WHEN MONTH ( s.time ) = 2 THEN s.weight END ) AS '2', SUM(CASE WHEN MONTH ( s.time ) = 3 THEN s.weight END ) AS '3', SUM(CASE WHEN MONTH ( s.time ) = 4 THEN s.weight END ) AS '4', SUM(CASE WHEN MONTH ( s.time ) = 5 THEN s.weight END ) AS '5', SUM(CASE WHEN MONTH ( s.time ) = 6 THEN s.weight END ) AS '6', SUM(CASE WHEN MONTH ( s.time ) = 7 THEN s.weight END ) AS '7', SUM(CASE WHEN MONTH ( s.time ) = 8 THEN s.weight END ) AS '8', SUM(CASE WHEN MONTH ( s.time ) = 9 THEN s.weight END ) AS '9', SUM(CASE WHEN MONTH ( s.time ) = 10 THEN s.weight END ) AS '10', SUM(CASE WHEN MONTH ( s.time ) = 11 THEN s.weight END ) AS '11', SUM(CASE WHEN MONTH ( s.time ) = 12 THEN s.weight END ) AS '12'
+        FROM sys_farm_product_stock AS s
+        WHERE
+            YEAR ( s.time ) =#{year}
+    </select>
+
+    <!--小程序农产品库存详情数据-->
+    <select id="statisticsProductx" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
+        select sfps.strain_id strainId,sfps.weight,ss.url,ss.strain_name strainName from
+        sys_farm_product_stock sfps
+        left join sys_strain ss on ss.id = sfps.strain_id
+        where 1=1
+        <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''">
+            and sfps.strain_id = #{farmProductStock.strainId}
+        </if>
+        <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''">
+            and sfps.leaves = #{farmProductStock.leaves}
+        </if>
+        <if test="farmProductStock.startTime!=null and farmProductStock.startTime!=''">
+            and sfps.time &gt;= #{farmProductStock.startTime}
+        </if>
+        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
+            and sfps.time &lt;= #{farmProductStock.endTime}
+        </if>
+        <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''">
+            and sfps.dept_id = #{farmProductStock.deptId}
+        </if>
+        <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''">
+            and sfps.tenant_id = #{farmProductStock.tenantId}
         </if>
     </select>
+
+    <!--销售对比库存是否充足-->
+    <select id="stockCompare" resultType="boolean">
+        SELECT
+        CASE
+            WHEN
+                weight > #{sale} THEN
+                TRUE ELSE FALSE
+                END result
+        FROM
+            sys_farm_product_stock
+        WHERE
+            strain_id = #{id}
+    </select>
+    <!--减去对应库存-->
+    <update id="stockReduce">
+        UPDATE sys_farm_product_stock SET weight = weight - #{sale}
+        WHERE
+            strain_id = #{id}
+    </update>
 </mapper>

--
Gitblit v1.9.3