<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="org.springblade.modules.farmplant.mapper.FarmPlantMapper">
|
|
<!--自定义查询农场养殖记录分页数据-->
|
<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 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
|
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>
|
<if test="farmPlant.transplanTimeStart !=null and farmPlant.transplanTimeStart!= ''">
|
and sfp.transplan_time >= #{farmPlant.transplanTimeStart}
|
</if>
|
<if test="farmPlant.transplanTimeEnd !=null and farmPlant.transplanTimeEnd!= ''">
|
and sfp.transplan_time < #{farmPlant.transplanTimeEnd}
|
</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
|
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
|
</select>
|
|
<!--自定义查询农场养殖记录分页数据-->
|
<select id="getFarmPlantStatistics" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
|
SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas FROM
|
(
|
select sfp.strain_id,
|
ss.strain_name strainName,
|
( 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,
|
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.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.status !=null and farmPlant.status!=''">
|
and sfp.status = #{farmPlant.status}
|
</if>
|
) a
|
GROUP BY a.strain_id,a.strainName
|
</select>
|
|
<!--查询农场养殖记录数据-->
|
<select id="getFarmPlantStatisticsCount" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
|
select sfp.strain_id,ss.strain_name strainName,sum(sl.land_area) areas,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.tenantId!=null and farmPlant.tenantId!=''">
|
and sfp.tenant_id = #{farmPlant.tenantId}
|
</if>
|
<if test="farmPlant.status!=null and farmPlant.status!=''">
|
and sfp.status = #{farmPlant.status}
|
</if>
|
group by sfp.strain_id,strain_name,land_unit
|
</select>
|
|
<!--已种植农产品列表-->
|
<select id="strainTree" resultType="org.springblade.modules.farmplant.entity.Strain">
|
select ss.id, ss.strain_name strainName
|
from sys_farm_plant sfp
|
left join sys_strain ss on ss.id = sfp.strain_id
|
where sfp.status = "1"
|
and sfp.land_id = #{farm.landId}
|
</select>
|
|
<select id="selectCount" resultType="java.lang.Integer">
|
SELECT IFNULL(COUNT(*), 0) as num
|
FROM (SELECT strain_id
|
FROM `sys_farm_plant` ss
|
LEFT JOIN sys_land sl ON sl.id = ss.land_id
|
WHERE ss.STATUS = 1
|
<if test="farmPlant.farmId != null and farmPlant.farmId != ''">
|
and sl.farm_id = #{farmPlant.farmId}
|
</if>
|
GROUP BY strain_id) a
|
</select>
|
|
<!--种植品种监管 0:有机 code=1(当天) =2(月) =3(年)-->
|
<select id="selectPlant" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_plant`
|
WHERE
|
plant = 0
|
AND STATUS = 1
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植品种监管 1:绿色 -->
|
<select id="selectPlantl" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_plant`
|
WHERE
|
plant = 1
|
AND STATUS = 1
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植品种监管 2:无公害 -->
|
<select id="selectPlantw" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_plant`
|
WHERE
|
plant = 2
|
AND STATUS = 1
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植品种监管 3:普通 -->
|
<select id="selectPlantp" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_plant`
|
WHERE
|
plant = 3
|
AND STATUS = 1
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
|
|
<!--种植采收监管 产品等级(0:一等品)-->
|
<select id="selectProduct" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_product_stock`
|
WHERE
|
leaves = 0
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植采收监管 产品等级 1:二等品 -->
|
<select id="selectProducty" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_product_stock`
|
WHERE
|
leaves = 1
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植采收监管 产品等级 2:三等品 -->
|
<select id="selectProductr" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_product_stock`
|
WHERE
|
leaves = 2
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植采收监管 产品等级3:四等品-->
|
<select id="selectProducts" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_product_stock`
|
WHERE
|
leaves = 3
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
<!--种植采收监管 产品等级 4:五等品 -->
|
<select id="selectProductf" resultType="java.util.HashMap">
|
SELECT
|
IFNULL( COUNT( * ), 0 ) AS num
|
FROM
|
`sys_farm_product_stock`
|
WHERE
|
leaves = 4
|
<if test="1 == code">
|
and to_days(create_time) = to_days(#{time});
|
</if>
|
<if test="2 == code">
|
and DATE_FORMAT( create_time, '%Y%m' ) = DATE_FORMAT(#{time} ,'%Y%m' )
|
</if>
|
<if test="3 == code">
|
and YEAR(create_time)=YEAR(#{time});
|
</if>
|
</select>
|
|
<!--小程序查询农场养殖记录数据-->
|
<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 FROM
|
(
|
select sfp.strain_id,
|
ss.strain_name strainName,
|
( 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,
|
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.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.status !=null and farmPlant.status!=''">
|
and sfp.status = #{farmPlant.status}
|
</if>
|
) a
|
GROUP BY a.strain_id,a.strainName
|
</select>
|
|
<!--查询种养记录列表(不分页)-->
|
<select id="getFarmPlantList" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO">
|
<!-- SELECT-->
|
<!-- sfp.*,-->
|
<!-- ss.strain_name strainName,-->
|
<!-- ss.url,-->
|
<!-- sl.land_area area,-->
|
<!-- sl.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.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>-->
|
<!-- <if test="farmPlant.status!=null and farmPlant.status!=''">-->
|
<!-- and sfp.status = #{farmPlant.status}-->
|
<!-- </if>-->
|
|
SELECT
|
a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) area,a.url
|
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
|
</select>
|
|
</mapper>
|