From 72b971c98c46531064d74b68fc8fe8864ed0b544 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:04:56 +0800
Subject: [PATCH] 大屏溯源统计次数sql修改
---
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml | 282 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 230 insertions(+), 52 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 ac473f4..0bb238b 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -4,13 +4,19 @@
<!--自定义查询农场养殖记录分页数据-->
<select id="selectFarmPlantPage" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
- select sfp.*,ss.strain_name strainName,ss.url,sl.land_name landName,sl.land_area area,land_unit landUnit
+ select DISTINCT sfp.*,ss.strain_name strainName,ss.url,sl.land_name landName,sl.land_area area,land_unit landUnit,bdb.dict_value dica,a.farm_id AS otherFarmId
,(SELECT IFNULL(SUM(r.weight),0) from sys_recovery r where sfp.land_id = r.land_id and sfp.strain_id = r.strain_id) as outputNum
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
+ LEFT JOIN (
+ SELECT l.id,l.land_name,l.farm_id FROM sys_land l
+ ) a ON a.id = sfp.other_land_id
+ LEFT JOIN sys_farm farm ON farm.id = a.farm_id
+ LEFT JOIN blade_dict_biz bdb ON bdb.dict_key = sl.land_unit
where 1=1
+ AND bdb.code = "landunit"
<if test="farmPlant.plant!=null and farmPlant.plant!=''">
and sfp.plant = #{farmPlant.plant}
</if>
@@ -37,6 +43,9 @@
</if>
<if test="farmPlant.varieties!=null and farmPlant.varieties!=''">
and sfp.varieties like concat('%',#{farmPlant.varieties},'%')
+ </if>
+ <if test="farmPlant.landName!=null and farmPlant.landName!=''">
+ and sl.land_name like concat('%',#{farmPlant.landName},'%')
</if>
<if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
and sfp.transplan_time >= #{farmPlant.startTime}
@@ -59,27 +68,103 @@
<if test="farmPlant.transplanTimeEnd !=null and farmPlant.transplanTimeEnd!= ''">
and sfp.transplan_time < #{farmPlant.transplanTimeEnd}
</if>
+ <if test="farmPlant.otherLandId !=null and farmPlant.otherLandId !=''">
+ AND sfp.other_land_id = #{farmPlant.otherLandId}
+ </if>
order by sfp.id desc
</select>
<select id="selectFarmPlantPageCount" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
- SELECT
- a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url,a.tenant_id,a.dept_id
+ SELECT b.strain_id,b.strainName,SUM(b.area) AS area,b.url,b.tenant_id,b.dept_id FROM
+ (
+ SELECT
+ a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url,a.tenant_id,a.dept_id,a.planting_way
FROM
(
SELECT
- sfp.*,
- ss.strain_name AS strainName,
- ss.url,
- sl.land_name AS landName,
- land_unit AS landUnit,
- ( 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
+ sfp.*,
+ ss.strain_name AS strainName,
+ ss.url,
+ sl.land_name AS landName,
+ land_unit AS landUnit,
+ ( 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
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
+ 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
+ 1 = 1
+ <if test="farmPlant.plant!=null and farmPlant.plant!=''">
+ and sfp.plant = #{farmPlant.plant}
+ </if>
+ <if test="farmPlant.year!=null and farmPlant.year!=''">
+ and sfp.create_time like concat('%',#{farmPlant.year},'%')
+ </if>
+ <if test="farmPlant.landId!=null and farmPlant.landId!=''">
+ and sfp.land_id = #{farmPlant.landId}
+ </if>
+ <if test="farmPlant.strainId!=null and farmPlant.strainId!=''">
+ and sfp.strain_id = #{farmPlant.strainId}
+ </if>
+ <if test="farmPlant.plantingWay!=null and farmPlant.plantingWay!=''">
+ and sfp.planting_way = #{farmPlant.plantingWay}
+ </if>
+ <if test="farmPlant.jobWay!=null and farmPlant.jobWay!=''">
+ and sfp.job_way = #{farmPlant.jobWay}
+ </if>
+ <if test="farmPlant.status!=null and farmPlant.status!=''">
+ and sfp.status = #{farmPlant.status}
+ </if>
+ <if test="farmPlant.strainName!=null and farmPlant.strainName!=''">
+ and ss.strain_name like concat('%',#{farmPlant.strainName},'%')
+ </if>
+ <if test="farmPlant.varieties!=null and farmPlant.varieties!=''">
+ and sfp.varieties like concat('%',#{farmPlant.varieties},'%')
+ </if>
+ <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+ and sfp.transplan_time >= #{farmPlant.startTime}
+ </if>
+ <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+ and sfp.transplan_time <= #{farmPlant.endTime}
+ </if>
+ <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.farmId!=null and farmPlant.farmId!=''">
+ and sl.farm_id = #{farmPlant.farmId}
+ </if>ORDER BY
+ sfp.id
+ DESC
+ ) a
+ GROUP BY
+ a.strain_id,a.dept_id,a.planting_way HAVING planting_way !=2
+ ) b
+ GROUP BY
+ b.strain_id,b.dept_id
+ </select>
+
+ <select id="selectFarmPlantPageCountYM" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
+ SELECT
+ a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url,a.tenant_id,a.dept_id,a.planting_way
+ FROM
+ (
+ SELECT
+ sfp.*,
+ ss.strain_name AS strainName,
+ ss.url,
+ sl.land_name AS landName,
+ land_unit AS landUnit,
+ ( 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
+ 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
<if test="farmPlant.plant!=null and farmPlant.plant!=''">
and sfp.plant = #{farmPlant.plant}
</if>
@@ -122,11 +207,11 @@
<if test="farmPlant.farmId!=null and farmPlant.farmId!=''">
and sl.farm_id = #{farmPlant.farmId}
</if>
- ORDER BY
- sfp.id DESC
- ) a
+ ORDER BY
+ sfp.id DESC
+ ) a
GROUP BY
- a.strain_id,a.dept_id
+ a.strain_id,a.dept_id,a.planting_way HAVING planting_way !=0 AND planting_way !=1
</select>
<!--自定义查询农场养殖记录分页数据-->
@@ -378,31 +463,6 @@
<!--小程序查询农场养殖记录数据-->
<select id="getFarmPlantStatisticsCountz" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
-<!-- SELECT-->
-<!-- sfp.strain_id,-->
-<!-- ss.strain_name strainName,-->
-<!-- sum( sl.land_area ) 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-->
-<!-- <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">-->
-<!-- and sfp.transplan_time >= #{farmPlant.startTime}-->
-<!-- </if>-->
-<!-- <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">-->
-<!-- and sfp.transplan_time <= #{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>-->
-<!-- <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''">-->
-<!-- and sfp.tenant_id = #{farmPlant.tenantId}-->
-<!-- </if>-->
-<!-- group by sfp.strain_id,strain_name,land_unit-->
SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas,a.url FROM
(
select sfp.strain_id,ss.url,
@@ -436,16 +496,55 @@
<!--查询种养记录列表(不分页)-->
<select id="getFarmPlantList" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
<!-- SELECT-->
+<!-- a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url-->
+<!-- FROM-->
+<!-- (-->
+<!-- SELECT-->
<!-- sfp.*,-->
-<!-- ss.strain_name strainName,-->
+<!-- ss.strain_name AS strainName,-->
<!-- ss.url,-->
-<!-- sl.land_area area,-->
-<!-- sl.land_unit landUnit-->
+<!-- sl.land_name AS landName,-->
+<!-- land_unit AS landUnit,-->
+<!-- ( 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-->
<!-- 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-->
+<!-- WHERE-->
+<!-- 1 = 1-->
+<!-- <if test="farmPlant.plant!=null and farmPlant.plant!=''">-->
+<!-- and sfp.plant = #{farmPlant.plant}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.year!=null and farmPlant.year!=''">-->
+<!-- and sfp.create_time like concat('%',#{farmPlant.year},'%')-->
+<!-- </if>-->
+<!-- <if test="farmPlant.landId!=null and farmPlant.landId!=''">-->
+<!-- and sfp.land_id = #{farmPlant.landId}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.strainId!=null and farmPlant.strainId!=''">-->
+<!-- and sfp.strain_id = #{farmPlant.strainId}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.plantingWay!=null and farmPlant.plantingWay!=''">-->
+<!-- and sfp.planting_way = #{farmPlant.plantingWay}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.jobWay!=null and farmPlant.jobWay!=''">-->
+<!-- and sfp.job_way = #{farmPlant.jobWay}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.status!=null and farmPlant.status!=''">-->
+<!-- and sfp.status = #{farmPlant.status}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.strainName!=null and farmPlant.strainName!=''">-->
+<!-- and ss.strain_name like concat('%',#{farmPlant.strainName},'%')-->
+<!-- </if>-->
+<!-- <if test="farmPlant.varieties!=null and farmPlant.varieties!=''">-->
+<!-- and sfp.varieties like concat('%',#{farmPlant.varieties},'%')-->
+<!-- </if>-->
+<!-- <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">-->
+<!-- and sfp.transplan_time >= #{farmPlant.startTime}-->
+<!-- </if>-->
+<!-- <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">-->
+<!-- and sfp.transplan_time <= #{farmPlant.endTime}-->
+<!-- </if>-->
<!-- <if test="farmPlant.deptId!=null and farmPlant.deptId!=''">-->
<!-- and sfp.dept_id = #{farmPlant.deptId}-->
<!-- </if>-->
@@ -455,12 +554,91 @@
<!-- <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>-->
-
+<!-- ORDER BY-->
+<!-- sfp.id DESC-->
+<!-- ) a-->
+<!-- GROUP BY-->
+<!-- a.strain_id,a.dept_id-->
+ SELECT b.strain_id,b.strainName,SUM(b.area) AS area,b.url,b.tenant_id,b.dept_id FROM
+ (
SELECT
- a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url
+ a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url,a.tenant_id,a.dept_id,a.planting_way
+ FROM
+ (
+ SELECT
+ sfp.*,
+ ss.strain_name AS strainName,
+ ss.url,
+ sl.land_name AS landName,
+ land_unit AS landUnit,
+ ( 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
+ 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
+ <if test="farmPlant.plant!=null and farmPlant.plant!=''">
+ and sfp.plant = #{farmPlant.plant}
+ </if>
+ <if test="farmPlant.year!=null and farmPlant.year!=''">
+ and sfp.create_time like concat('%',#{farmPlant.year},'%')
+ </if>
+ <if test="farmPlant.landId!=null and farmPlant.landId!=''">
+ and sfp.land_id = #{farmPlant.landId}
+ </if>
+ <if test="farmPlant.strainId!=null and farmPlant.strainId!=''">
+ and sfp.strain_id = #{farmPlant.strainId}
+ </if>
+ <if test="farmPlant.plantingWay!=null and farmPlant.plantingWay!=''">
+ and sfp.planting_way = #{farmPlant.plantingWay}
+ </if>
+ <if test="farmPlant.jobWay!=null and farmPlant.jobWay!=''">
+ and sfp.job_way = #{farmPlant.jobWay}
+ </if>
+ <if test="farmPlant.status!=null and farmPlant.status!=''">
+ and sfp.status = #{farmPlant.status}
+ </if>
+ <if test="farmPlant.strainName!=null and farmPlant.strainName!=''">
+ and ss.strain_name like concat('%',#{farmPlant.strainName},'%')
+ </if>
+ <if test="farmPlant.varieties!=null and farmPlant.varieties!=''">
+ and sfp.varieties like concat('%',#{farmPlant.varieties},'%')
+ </if>
+ <if test="farmPlant.startTime!=null and farmPlant.startTime!=''">
+ and sfp.transplan_time >= #{farmPlant.startTime}
+ </if>
+ <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+ and sfp.transplan_time <= #{farmPlant.endTime}
+ </if>
+ <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.farmId!=null and farmPlant.farmId!=''">
+ and sl.farm_id = #{farmPlant.farmId}
+ </if>ORDER BY
+ sfp.id
+ DESC
+ ) a
+ GROUP BY
+ a.strain_id,
+ a.dept_id,
+ a.tenant_id,
+ a.planting_way HAVING planting_way !=2
+ ) b
+ GROUP BY
+ b.strain_id,
+ b.dept_id,
+ b.tenant_id
+ </select>
+
+ <select id="getFarmPlantYMList" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
+ SELECT
+ a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url,a.tenant_id,a.dept_id,a.planting_way
FROM
(
SELECT
@@ -522,7 +700,7 @@
sfp.id DESC
) a
GROUP BY
- a.strain_id,a.dept_id
+ a.strain_id,a.dept_id,a.tenant_id,a.planting_way HAVING planting_way !=0 AND planting_way !=1
</select>
</mapper>
--
Gitblit v1.9.3