From 7abdd3ba7fa34c059f3c867e366d1a2137ae702f Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Thu, 14 Jul 2022 17:08:24 +0800
Subject: [PATCH] kuc管理

---
 src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml |  103 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 80 insertions(+), 23 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 722dbf8..9f8f0b5 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,6 +17,7 @@
 
     <select id="selectLandPage" resultMap="landResultMap">
         SELECT l.land_name,
+        l.id,
         l.land_area ,
         ST_ASTEXT(land_range) as land_range,
         l.url,
@@ -24,12 +25,18 @@
         c.dict_value as dica,
         v.dept_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) d
+        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 != ''">
+        AND blade_dict_biz.tenant_id = #{land.tenantId}
+    </if> ) d
         ON d.dict_key = l.land_type
         LEFT JOIN (SELECT dict_key, dict_value
         FROM blade_dict_biz
         WHERE CODE = 'landunit'
-        AND is_deleted = 0) c ON c.dict_key = l.land_unit
+        AND is_deleted = 0 <if
+        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
         where l.is_deleted = 0
         <if test="land.landType!=null and land.landType != ''">
@@ -49,15 +56,50 @@
         </if>
     </select>
 
+    <!--查询地块列表(不分页)-->
+    <select id="getLandList" resultType="org.springblade.modules.lang.vo.LandVO">
+        SELECT
+        id,
+        land_name,
+        land_area,
+        ST_ASTEXT(land_range) as land_range,
+        url
+        FROM sys_land
+        where is_deleted = 0
+        <if test="land.landType!=null and land.landType != ''">
+            and land_type = #{land.landType}
+        </if>
+        <if test="land.landName!=null and land.landName != ''">
+            and land_name like concat('%', #{land.landName},'%')
+        </if>
+        <if test="land.deptId!=null and land.deptId != ''">
+            and dept_id=#{land.deptId}
+        </if>
+        <if test="land.type!=null and land.type != ''">
+            and type=#{land.type}
+        </if>
+        <if test="land.tenantId!=null and land.tenantId != ''">
+            and tenant_id =#{land.tenantId}
+        </if>
+        <if test="land.farmId!=null and land.farmId != ''">
+            and farm_id =#{land.farmId}
+        </if>
+    </select>
+
     <insert id="saveLandInfo">
         insert into sys_land
-        (user_id,land_name,land_type,land_area,land_range,type,land_unit,dept_id)
+        (user_id,land_name,land_type,land_area,land_range,type,land_unit,dept_id,url,farm_id)
         values
         (#{land.userId},#{land.landName},#{land.landType},#{land.landArea},
-        <if test="land.landRange!=null and land.landRange!=''">
-            ST_GeomFromText(${land.landRange}),
-        </if>
-        #{land.type},#{land.landUnit},#{land.deptId})
+        <choose>
+            <when test="land.landRange!=null and land.landRange!=''">
+                ST_GeomFromText(${land.landRange}),
+            </when>
+            <otherwise>
+                null,
+            </otherwise>
+        </choose>
+        #{land.type},#{land.landUnit},#{land.deptId},#{land.url},#{land.farmId})
     </insert>
 
     <!--详情信息(自定义查询)-->
@@ -68,14 +110,15 @@
                land_area,
                ST_ASTEXT(land_range) as landRange,
                type,
-               land_unit
+               land_unit,
+               url
         from sys_land
         where 1 = 1
           and is_deleted = 0
           and id = #{land.id}
     </select>
 
-    <!--自定义修改电子围栏数据-->
+    <!--自定义地块数据-->
     <update id="updateLandById">
         update sys_land set user_id = #{land.userId},
         land_name = #{land.landName},
@@ -86,6 +129,8 @@
         </if>
         type = #{land.type},
         land_unit = #{land.landUnit},
+        farm_id = #{land.farmId},
+        url = #{land.url},
         where id = #{land.id}
     </update>
 
@@ -97,11 +142,13 @@
     </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 sl.farm_id=#{land.farmId}
+        </if>
+        <if test="land.deptId!= null and land.deptId!=''">
+            and sl.dept_id=#{land.deptId}
         </if>
     </select>
     <!--土地使用面积-->
@@ -110,8 +157,11 @@
         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 sl.farm_id=#{land.farmId}
+        </if>
+        <if test="land.deptId!= null and land.deptId!=''">
+            and sl.dept_id=#{land.deptId}
         </if>
     </select>
     <!--土地未使用面积-->
@@ -120,18 +170,25 @@
         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 sl.farm_id=#{land.farmId}
+        </if>
+        <if test="land.deptId!= null and land.deptId!=''">
+            and sl.dept_id=#{land.deptId}
         </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 sl.dept_id=#{land.deptId}
+        </if>
+        GROUP BY sfp.strain_id
     </select>
 
 </mapper>

--
Gitblit v1.9.3