From d95f6551e8214d69cd0fd511ec693641eb61ba16 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 01 Aug 2022 10:36:26 +0800
Subject: [PATCH] 1、大屏首页接口修复,解决double类型相加精度问题

---
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml |   72 +++++++++++++++++++++++++++--------
 1 files changed, 55 insertions(+), 17 deletions(-)

diff --git a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
index 3a83ae7..f92167f 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,13 +17,14 @@
 
     <select id="selectLandPage" resultMap="landResultMap">
         SELECT l.land_name,
+        l.land_unit,
         l.id,
         l.land_area ,
         ST_ASTEXT(land_range) as land_range,
         l.url,
         d.dict_value as dic,
         c.dict_value as dica,
-        v.dept_name as deptname
+        v.farm_name as deptname
         FROM `sys_land` l
         LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0 <if
         test="land.tenantId!=null and land.tenantId != ''">
@@ -37,7 +38,7 @@
         test="land.tenantId!=null and land.tenantId != ''">
         AND blade_dict_biz.tenant_id = #{land.tenantId}
     </if> ) c ON c.dict_key = l.land_unit
-        LEFT JOIN ( SELECT id, dept_name FROM blade_dept WHERE is_deleted = 0 ) v ON v.id = l.dept_id
+        LEFT JOIN ( SELECT id, farm_name FROM sys_farm ) v ON v.id = l.farm_id
         where l.is_deleted = 0
         <if test="land.landType!=null and land.landType != ''">
             and l.land_type = #{land.landType}
@@ -63,7 +64,12 @@
         land_name,
         land_area,
         ST_ASTEXT(land_range) as land_range,
-        url
+        url,
+        type,
+        land_type,
+        land_unit,
+        dept_id,
+        farm_id
         FROM sys_land
         where is_deleted = 0
         <if test="land.landType!=null and land.landType != ''">
@@ -134,6 +140,16 @@
         where id = #{land.id}
     </update>
 
+    <update id="updateLandAr">
+        update sys_land set user_id = #{land.userId},
+        land_area = #{land.landArea},
+        <if test="land.landRange!=null and land.landRange!=''">
+            land_range = ST_GeomFromText(${land.landRange}),
+        </if>
+        url = #{land.url},
+        where id = #{land.id}
+    </update>
+
     <select id="selectLandList" resultType="java.util.HashMap">
         select id, land_name as landName
         from sys_land
@@ -142,11 +158,10 @@
     </select>
     <!--土地总面积-->
     <select id="selectZAre" resultType="java.util.HashMap">
-        SELECT IFNULL(land_area, 0) as area, IFNULL(land_unit, 0) as unit
-        FROM sys_land
+        SELECT IFNULL(land_area, 0) as area, IFNULL(land_unit, 0) as unit FROM sys_land
         WHERE is_deleted = 0
-        <if test="deptId!= null and deptId!=''">
-            and dept_id=#{deptId}
+        <if test="land.farmId!= null and land.farmId!=''">
+            and farm_id=#{land.farmId}
         </if>
     </select>
     <!--土地使用面积-->
@@ -155,8 +170,8 @@
         FROM sys_land
         WHERE is_deleted = 0
         and type = 0
-        <if test="deptId!= null and deptId!=''">
-            and dept_id=#{deptId}
+        <if test="land.farmId!= null and land.farmId!=''">
+            and farm_id=#{land.farmId}
         </if>
     </select>
     <!--土地未使用面积-->
@@ -165,18 +180,41 @@
         FROM sys_land
         WHERE is_deleted = 0
         and type = 1
-        <if test="deptId!= null and deptId!=''">
-            and dept_id=#{deptId}
+        <if test="land.farmId!= null and land.farmId!=''">
+            and farm_id=#{land.farmId}
         </if>
     </select>
+
     <select id="selectNum" resultType="java.util.HashMap">
-        SELECT strain_id
-        FROM `sys_farm_plant`
-        WHERE status = 1
-        <if test="deptId!= null and deptId!=''">
-            and dept_id=#{deptId}
+        SELECT strain_id FROM sys_farm_plant sfp
+        left join sys_land sl on sl.id = sfp.land_id
+        WHERE sfp.status = 1
+        <if test="land.farmId!= null and land.farmId!=''">
+            and sl.farm_id=#{land.farmId}
         </if>
-        GROUP BY strain_id
+        <if test="land.deptId!= null and land.deptId!=''">
+            and sfp.dept_id=#{land.deptId}
+        </if>
+        GROUP BY sfp.strain_id
+    </select>
+
+    <!--查询统计地块是否有轮廓-->
+    <select id="getLandIsAreaStatistic" resultType="java.lang.Integer">
+        SELECT count(*) FROM sys_land where land_range is not null
+        <if test="land.farmId!= null and land.farmId!=''">
+            and farm_id=#{land.farmId}
+        </if>
+        <if test="land.deptId!= null and land.deptId!=''">
+            and dept_id=#{land.deptId}
+        </if>
+        union all
+        SELECT count(*) FROM sys_land where land_range is null
+        <if test="land.farmId!= null and land.farmId!=''">
+            and farm_id=#{land.farmId}
+        </if>
+        <if test="land.deptId!= null and land.deptId!=''">
+            and dept_id=#{land.deptId}
+        </if>
     </select>
 
 </mapper>

--
Gitblit v1.9.3