From fdff4ca4813fc77a9006309ed4e5c232b4f3c85e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 22 Jul 2022 14:26:51 +0800
Subject: [PATCH] 返回数据新增农场全景地址
---
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml | 133 ++++++++++++++++++++++++++++++++++++--------
1 files changed, 108 insertions(+), 25 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..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,20 +17,28 @@
<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) 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
- LEFT JOIN ( SELECT id, dept_name FROM blade_dept WHERE is_deleted = 0 ) v ON v.id = l.dept_id
+ 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, 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}
@@ -49,15 +57,55 @@
</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,
+ type,
+ land_type,
+ land_unit,
+ dept_id,
+ farm_id
+ 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 +116,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 +135,18 @@
</if>
type = #{land.type},
land_unit = #{land.landUnit},
+ farm_id = #{land.farmId},
+ url = #{land.url},
+ 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>
@@ -97,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>
<!--土地使用面积-->
@@ -110,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>
<!--土地未使用面积-->
@@ -120,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