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/farm/mapper/FarmingRecordMapper.xml | 117 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 98 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/springblade/modules/farm/mapper/FarmingRecordMapper.xml b/src/main/java/org/springblade/modules/farm/mapper/FarmingRecordMapper.xml
index af9e106..2bad5bd 100644
--- a/src/main/java/org/springblade/modules/farm/mapper/FarmingRecordMapper.xml
+++ b/src/main/java/org/springblade/modules/farm/mapper/FarmingRecordMapper.xml
@@ -43,6 +43,53 @@
<if test="farmingRecord.farmId!=null and farmingRecord.farmId!=''">
and sl.farm_id = #{farmingRecord.farmId}
</if>
+ ORDER BY sfr.create_time DESC
+ </select>
+
+ <!--自定义查询农事记录分页数据-->
+ <select id="selectFarmingRecordPageByNz" resultType="org.springblade.modules.farm.vo.FarmingRecordVO">
+ SELECT
+ sfr.*,
+ sl.land_name landName,
+ user.real_name,
+ strain.strain_name,
+ sf.factory_name
+ FROM
+ sys_farming_record sfr
+ LEFT JOIN sys_land sl ON sl.id = sfr.land_id
+ LEFT JOIN blade_user user on sfr.operator = user.id
+ LEFT JOIN sys_strain strain on sfr.strain_id = strain.id
+ LEFT JOIN sys_stockfactory sf on sf.id = sfr.stock_id
+ WHERE
+ 1 =1 AND sfr.stock_id IS NOT NULL
+ <if test="farmingRecord.landId!=null and farmingRecord.landId!=''">
+ and sfr.land_id = #{farmingRecord.landId}
+ </if>
+ <if test="farmingRecord.type!=null and farmingRecord.type!=''">
+ and sfr.type = #{farmingRecord.type}
+ </if>
+ <if test="farmingRecord.stockId!=null and farmingRecord.stockId!=''">
+ and sfr.stock_id = #{farmingRecord.stockId}
+ </if>
+ <if test="farmingRecord.jobWay!=null and farmingRecord.jobWay!=''">
+ and sfr.job_way = #{farmingRecord.jobWay}
+ </if>
+ <if test="farmingRecord.operator!=null and farmingRecord.operator!=''">
+ and sfr.operator = #{farmingRecord.operator}
+ </if>
+ <if test="farmingRecord.deptId!=null and farmingRecord.deptId!=''">
+ and sfr.dept_id = #{farmingRecord.deptId}
+ </if>
+ <if test="farmingRecord.tenantId!=null and farmingRecord.tenantId!=''">
+ and sfr.tenant_id = #{farmingRecord.tenantId}
+ </if>
+ <if test="farmingRecord.strainId!=null and farmingRecord.strainId!=''">
+ and sfr.strain_id = #{farmingRecord.strainId}
+ </if>
+ <if test="farmingRecord.farmId!=null and farmingRecord.farmId!=''">
+ and sl.farm_id = #{farmingRecord.farmId}
+ </if>
+ ORDER BY sfr.create_time DESC
</select>
<select id="selectFarmingRecordPages" resultType="org.springblade.modules.farm.vo.FarmingRecordVO">
@@ -78,34 +125,40 @@
<!--查询统计本年农事记录操作总数-->
<select id="getFarmingCount" resultType="java.lang.Integer">
select ifnull(count(*), 0) count
- from sys_farming_record
+ from sys_farming_record ss
+ LEFT JOIN sys_land sl ON sl.id = ss.land_id
where 1=1
and YEAR (time)= YEAR (NOW())
- and dept_id=#{deptId}
+ <if test="farmId != null and farmId != ''">
+ and sl.farm_id = #{sale.farmId}
+ </if>
</select>
<!--查询统计本年农事记录操作总数-->
<select id="getFarmingStatis" resultType="org.springblade.modules.farm.vo.FarmingStatisVO">
- select type,case when type = 0 then '施肥'
- when type = 1 then '翻耕'
- when type = 2 then '灌溉'
- when type = 3 then '起垄'
- when type = 4 then '用药'
- when type = 5 then '追肥'
- when type = 6 then '除草'
- when type = 7 then '修剪'
- when type = 8 then '浸种'
- when type = 9 then '拌种'
- when type = 10 then '移栽'
- when type = 11 then '直播'
- when type = 12 then '采收'
+ select ss.type,case when ss.type = 0 then '施肥'
+ when ss.type = 1 then '翻耕'
+ when ss.type = 2 then '灌溉'
+ when ss.type = 3 then '起垄'
+ when ss.type = 4 then '用药'
+ when ss.type = 5 then '追肥'
+ when ss.type = 6 then '除草'
+ when ss.type = 7 then '修剪'
+ when ss.type = 8 then '浸种'
+ when ss.type = 9 then '拌种'
+ when ss.type = 10 then '移栽'
+ when ss.type = 11 then '直播'
+ when ss.type = 12 then '采收'
else '其他' end as name,
ifnull(count(*), 0) value
- from sys_farming_record
+ from sys_farming_record ss
+ LEFT JOIN sys_land sl ON sl.id = ss.land_id
where 1=1
and YEAR (time)= YEAR (NOW())
- and dept_id=#{deptId}
- group by type
+ <if test="farmId != null and farmId != ''">
+ and sl.farm_id = #{sale.farmId}
+ </if>
+ group by ss.type
</select>
<!--今年农资使用量-->
@@ -114,7 +167,7 @@
left join sys_land sl on sl.id = sfr.land_id
WHERE
YEAR(sfr.time) = YEAR(NOW())
- AND sfr.stock_id != NULL
+ AND sfr.stock_id != ""
and sl.farm_id=#{farmId}
</select>
<!--去年农资使用量-->
@@ -207,6 +260,32 @@
<if test="farm.strainId!=null and farm.strainId!=''">
and sfr.strain_id = #{farm.strainId}
</if>
+ <if test="farm.startTime!=null and farm.startTime!=''">
+ and sfr.create_time >= #{farm.startTime}
+ </if>
+ <if test="farm.endTime!=null and farm.endTime!=''">
+ and sfr.create_time <= #{farm.endTime}
+ </if>
order by sfr.time desc,sfr.create_time desc
</select>
+ <select id="getDetails" resultType="org.springblade.modules.farm.vo.FarmingRecordVO">
+ SELECT sfr.*,land.land_name,
+ bdb.dict_value AS typeName,
+ strain.strain_name AS strainName,
+ stock.agriculturalType,
+ stock.agricultural_name,
+ bu.name AS realName
+ FROM sys_farming_record sfr
+ LEFT JOIN sys_land land ON land.id = sfr.land_id
+ LEFT JOIN blade_dict_biz bdb ON bdb.dict_key = sfr.type
+ LEFT JOIN sys_strain strain ON strain.id = sfr.strain_id
+ LEFT JOIN (
+ SELECT stf.id,stf.agricultural_name,bdb1.dict_value AS agriculturalType
+ FROM sys_stockfactory stf
+ LEFT JOIN blade_dict_biz bdb1 ON stf.type = bdb1.dict_key
+ WHERE bdb1.code = "stockType" GROUP BY stf.id,stf.agricultural_name,bdb1.dict_value
+ ) stock ON sfr.stock_id = stock.id
+ LEFT JOIN blade_user bu ON bu.id = sfr.operator
+ WHERE bdb.code = "farmingType" AND sfr.id = #{FarmingRecordVO.id}
+ </select>
</mapper>
--
Gitblit v1.9.3