From e71881a6ade967e45ba62b802028e2a2d2dfdee0 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Wed, 15 Jun 2022 18:05:07 +0800
Subject: [PATCH] 农资库存管理

---
 src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml |  271 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 270 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
index c803f77..3f81463 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -4,7 +4,8 @@
 
     <!--自定义查询农场养殖记录分页数据-->
     <select id="selectFarmPlantPage" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
-        select sfp.*,ss.strain_name strainName,ss.url,sl.land_name landName,sl.land_area area,land_unit landUnit from sys_farm_plant sfp
+        select sfp.*,ss.strain_name strainName,ss.url,sl.land_name landName,sl.land_area area,land_unit landUnit from
+        sys_farm_plant sfp
         left join sys_strain ss on ss.id = sfp.strain_id
         left join sys_land sl on sl.id = sfp.land_id
         where 1=1
@@ -29,6 +30,274 @@
         <if test="farmPlant.varieties!=null and farmPlant.varieties!=''">
             and sfp.varieties like concat('%',#{farmPlant.varieties},'%')
         </if>
+        <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+            and sfp.transplan_time &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{farmPlant.endTime}
+        </if>
+        <if test="farmPlant.deptId!=null and farmPlant.deptId!=''">
+            and sfp.dept_id = #{farmPlant.deptId}
+        </if>
+        <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''">
+            and sfp.tenant_id = #{farmPlant.tenantId}
+        </if>
         order by sfp.id desc
     </select>
+
+    <!--自定义查询农场养殖记录分页数据-->
+    <select id="getFarmPlantStatistics" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
+        select sfp.strain_id,ss.strain_name strainName,sum(sl.land_area) areas,land_unit landUnit from sys_farm_plant
+        sfp
+        left join sys_strain ss on ss.id = sfp.strain_id
+        left join sys_land sl on sl.id = sfp.land_id
+        where 1=1
+        <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+            and sfp.transplan_time &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{farmPlant.endTime}
+        </if>
+        <if test="farmPlant.deptId!=null and farmPlant.deptId!=''">
+            and sfp.dept_id = #{farmPlant.deptId}
+        </if>
+        <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''">
+            and sfp.tenant_id = #{farmPlant.tenantId}
+        </if>
+        group by sfp.strain_id,strain_name,land_unit
+    </select>
+
+    <!--查询农场养殖记录数据-->
+    <select id="getFarmPlantStatisticsCount" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
+        select sfp.strain_id,ss.strain_name strainName,sum(sl.land_area) areas,land_unit landUnit from sys_farm_plant
+        sfp
+        left join sys_strain ss on ss.id = sfp.strain_id
+        left join sys_land sl on sl.id = sfp.land_id
+        where 1=1
+        <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+            and sfp.transplan_time &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{farmPlant.endTime}
+        </if>
+        <if test="farmPlant.deptId!=null and farmPlant.deptId!=''">
+            and sfp.dept_id = #{farmPlant.deptId}
+        </if>
+        <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''">
+            and sfp.tenant_id = #{farmPlant.tenantId}
+        </if>
+        group by sfp.strain_id,strain_name,land_unit
+    </select>
+
+    <!--已种植农产品列表-->
+    <select id="strainTree" resultType="org.springblade.modules.farmplant.entity.Strain">
+        select ss.id, ss.strain_name strainName
+        from sys_farm_plant sfp
+                 left join sys_strain ss on ss.id = sfp.strain_id
+        where sfp.status = "1"
+          and sfp.land_id = #{farm.landId}
+    </select>
+
+    <select id="selectCount" resultType="java.lang.Integer">
+        SELECT IFNULL(COUNT(*), 0) as num
+        FROM (SELECT strain_id FROM `sys_farm_plant` WHERE STATUS = 1 GROUP BY strain_id) a
+    </select>
+
+    <!--种植品种监管 0:有机 code=1(当天) =2(月) =3(年)-->
+    <select id="selectPlant" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_plant`
+        WHERE
+        plant = 0
+        AND STATUS = 1
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植品种监管 1:绿色 -->
+    <select id="selectPlantl" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_plant`
+        WHERE
+        plant = 1
+        AND STATUS = 1
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植品种监管 2:无公害 -->
+    <select id="selectPlantw" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_plant`
+        WHERE
+        plant = 2
+        AND STATUS = 1
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植品种监管 3:普通 -->
+    <select id="selectPlantp" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_plant`
+        WHERE
+        plant = 3
+        AND STATUS = 1
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+
+
+
+
+
+    <!--种植采收监管 产品等级(0:一等品)-->
+    <select id="selectProduct" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_product_stock`
+        WHERE
+        leaves = 0
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植采收监管 产品等级 1:二等品 -->
+    <select id="selectProducty" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_product_stock`
+        WHERE
+        leaves = 1
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植采收监管 产品等级 2:三等品 -->
+    <select id="selectProductr" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_product_stock`
+        WHERE
+        leaves = 2
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植采收监管 产品等级3:四等品-->
+    <select id="selectProducts" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_product_stock`
+        WHERE
+        leaves = 3
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+    <!--种植采收监管 产品等级 4:五等品 -->
+    <select id="selectProductf" resultType="java.util.HashMap">
+        SELECT
+        IFNULL( COUNT( * ), 0 ) AS num
+        FROM
+        `sys_farm_product_stock`
+        WHERE
+        leaves = 4
+        <if test="1 == code">
+            and to_days(create_time) = to_days(#{time});
+        </if>
+        <if test="2 == code">
+            and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
+        </if>
+        <if test="3 == code">
+            and YEAR(create_time)=YEAR(#{time});
+        </if>
+    </select>
+
+    <!--小程序查询农场养殖记录数据-->
+    <select id="getFarmPlantStatisticsCountz" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
+        SELECT
+        sfp.strain_id,
+        ss.strain_name strainName,
+        sum( sl.land_area ) area,
+        land_unit landUnit
+        FROM
+        sys_farm_plant sfp
+        LEFT JOIN sys_strain ss ON ss.id = sfp.strain_id
+        LEFT JOIN sys_land sl ON sl.id = sfp.land_id where 1=1
+        <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+            and sfp.transplan_time &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{farmPlant.endTime}
+        </if>
+        <if test="farmPlant.deptId!=null and farmPlant.deptId!=''">
+            and sfp.dept_id = #{farmPlant.deptId}
+        </if>
+        <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''">
+            and sfp.tenant_id = #{farmPlant.tenantId}
+        </if>
+        group by sfp.strain_id,strain_name,land_unit
+    </select>
 </mapper>

--
Gitblit v1.9.3