From 3d1aca23a6841a5b32a5153bca034a338aaf729d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sat, 20 Aug 2022 09:32:19 +0800
Subject: [PATCH] 小程序、后台数据统计播种面积更新

---
 src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml |   43 +++++++++++++++++++++++++------------------
 1 files changed, 25 insertions(+), 18 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 a4a5f11..37d20b6 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -131,8 +131,14 @@
 
     <!--自定义查询农场养殖记录分页数据-->
     <select id="getFarmPlantStatistics" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
-        select sfp.strain_id,ss.strain_name strainName,sum(TRUNCATE(sl.land_area,3)) areas,land_unit landUnit from sys_farm_plant
-        sfp
+        SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas FROM
+        (
+        select sfp.strain_id,
+        ss.strain_name strainName,
+        ( CASE WHEN land_unit = 2 THEN FORMAT(sl.land_area * 0.0015,3) WHEN land_unit = 1 THEN sl.land_area * 0.1 ELSE sl.land_area END ) land_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
@@ -151,7 +157,8 @@
         <if test="farmPlant.status !=null and farmPlant.status!=''">
             and sfp.status = #{farmPlant.status}
         </if>
-        group by sfp.strain_id,strain_name,land_unit
+        ) a
+        GROUP BY a.strain_id,a.strainName
     </select>
 
     <!--查询农场养殖记录数据-->
@@ -396,34 +403,34 @@
 <!--            and sfp.tenant_id = #{farmPlant.tenantId}-->
 <!--        </if>-->
 <!--        group by sfp.strain_id,strain_name,land_unit-->
-        SELECT
-        sfp.strain_id,
+        SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas FROM
+        (
+        select sfp.strain_id,
         ss.strain_name strainName,
-        sum( sl.land_area ) area,
+        ( CASE WHEN land_unit = 2 THEN FORMAT(sl.land_area * 0.0015,3) WHEN land_unit = 1 THEN sl.land_area * 0.1 ELSE sl.land_area END ) land_area,
         land_unit landUnit
-        FROM
+        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
+        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.farmId!=null and farmPlant.farmId!=''">
-            and sl.farm_id = #{farmPlant.farmId}
-        </if>
-        <if test="farmPlant.status !=null and farmPlant.status!=''">
-            and sfp.status = #{farmPlant.status}
+        <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>
-<!--        <if test=" farmPlant.deptId !=null and farmPlant.deptId != ''">-->
-<!--            and sfp.dept_id = #{farmPlant.deptId}-->
-<!--        </if>-->
-        group by sfp.strain_id,strain_name,land_unit
+        <if test="farmPlant.status !=null and farmPlant.status!=''">
+            and sfp.status = #{farmPlant.status}
+        </if>
+        ) a
+        GROUP BY a.strain_id,a.strainName
     </select>
 
     <!--查询种养记录列表(不分页)-->

--
Gitblit v1.9.3