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/lang/mapper/LandMapper.xml |   70 ++++++++++++++++++++++++++--------
 1 files changed, 53 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 fef14ac..722dbf8 100644
--- a/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
+++ b/src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,30 +17,47 @@
 
     <select id="selectLandPage" resultMap="landResultMap">
         SELECT l.land_name,
-               l.land_area ,
-               ST_ASTEXT(land_range) as land_range,
-               l.url,
-               d.dict_value as dic,
-               c.dict_value as dica
+        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
         FROM `sys_land` l
-                 LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0) 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.type
+        LEFT JOIN (SELECT dict_key, dict_value FROM blade_dict_biz WHERE CODE = 'land' AND is_deleted = 0) 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
+        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 != ''">
+            and l.land_type = #{land.landType}
+        </if>
+        <if test="land.landName!=null and land.landName != ''">
+            and l.land_name like concat('%', #{land.landName},'%')
+        </if>
+        <if test="land.deptId!=null and land.deptId != ''">
+            and l.dept_id=#{land.deptId}
+        </if>
+        <if test="land.type!=null and land.type != ''">
+            and l.type=#{land.type}
+        </if>
+        <if test="land.tenantId!=null and land.tenantId != ''">
+            and l.tenant_id =#{land.tenantId}
+        </if>
     </select>
 
     <insert id="saveLandInfo">
         insert into sys_land
-        (user_id,land_name,land_type,land_area,land_range,type,land_unit)
+        (user_id,land_name,land_type,land_area,land_range,type,land_unit,dept_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.type},#{land.landUnit},#{land.deptId})
     </insert>
 
     <!--详情信息(自定义查询)-->
@@ -75,26 +92,45 @@
     <select id="selectLandList" resultType="java.util.HashMap">
         select id, land_name as landName
         from sys_land
-        where user_id = #{userid}
+        where dept_id = #{userid}
           and is_deleted = 0
     </select>
     <!--土地总面积-->
     <select id="selectZAre" resultType="java.util.HashMap">
-        SELECT land_area as area, land_unit as unit
+        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>
     </select>
     <!--土地使用面积-->
     <select id="selectSAre" resultType="java.util.HashMap">
-        SELECT land_area as area, land_unit as unit
+        SELECT IFNULL(land_area, 0) as area, IFNULL(land_unit, 0) as unit
         FROM sys_land
         WHERE is_deleted = 0
-          and type = 0
+        and type = 0
+        <if test="deptId!= null and deptId!=''">
+            and dept_id=#{deptId}
+        </if>
+    </select>
+    <!--土地未使用面积-->
+    <select id="selectWAre" resultType="java.util.HashMap">
+        SELECT IFNULL(land_area, 0) as area, IFNULL(land_unit, 0) as unit
+        FROM sys_land
+        WHERE is_deleted = 0
+        and type = 1
+        <if test="deptId!= null and deptId!=''">
+            and dept_id=#{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}
+        </if>
         GROUP BY strain_id
     </select>
 

--
Gitblit v1.9.3