| | |
| | | |
| | | <!--自定义查询农产品库存分页数据--> |
| | | <select id="selectFarmProductStockPage" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | select sfps.strain_id strainId,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from |
| | | select sfps.id,sfps.strain_id strainId,sfps.land_id,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_id |
| | | left join sys_land sl on sl.id = sfps.land_id |
| | | where 1=1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | |
| | | <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''"> |
| | | and sfps.tenant_id = #{farmProductStock.tenantId} |
| | | </if> |
| | | group by sfps.strain_id,ss.url,ss.strain_name |
| | | <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''"> |
| | | and sl.farm_id = #{farmProductStock.farmId} |
| | | </if> |
| | | group by sfps.id,sfps.strain_id,ss.url,ss.strain_name,sfps.land_id |
| | | </select> |
| | | |
| | | <select id="selectFarmProductStockPageCount" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | SELECT a.strainId,SUM(weight) weight,a.url,a.strainName FROM |
| | | (SELECT |
| | | sfps.id, |
| | | sfps.strain_id AS strainId, |
| | | sfps.land_id, |
| | | sum( sfps.weight ) AS weight, |
| | | ss.url, |
| | | ss.strain_name AS strainName |
| | | FROM |
| | | sys_farm_product_stock sfps |
| | | LEFT JOIN sys_strain ss ON ss.id = sfps.strain_id |
| | | LEFT JOIN sys_land sl ON sl.id = sfps.land_id |
| | | WHERE |
| | | 1 = 1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | | </if> |
| | | <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''"> |
| | | and sfps.leaves = #{farmProductStock.leaves} |
| | | </if> |
| | | <if test="farmProductStock.startTime!=null and farmProductStock.startTime!=''"> |
| | | and sfps.time >= #{farmProductStock.startTime} |
| | | </if> |
| | | <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''"> |
| | | and sfps.time <= #{farmProductStock.endTime} |
| | | </if> |
| | | <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''"> |
| | | and sfps.dept_id = #{farmProductStock.deptId} |
| | | </if> |
| | | <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''"> |
| | | and sfps.tenant_id = #{farmProductStock.tenantId} |
| | | </if> |
| | | <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''"> |
| | | and sl.farm_id = #{farmProductStock.farmId} |
| | | </if> |
| | | GROUP BY |
| | | sfps.id, |
| | | sfps.strain_id, |
| | | ss.url, |
| | | ss.strain_name, |
| | | sfps.land_id |
| | | ) a WHERE weight !=0 GROUP BY strainId |
| | | </select> |
| | | |
| | | <select id="selectFarmProductStockPages" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | select sfps.strain_id strainId,sfps.land_id,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_id |
| | | left join sys_land sl on sl.id = sfps.land_id |
| | | where 1=1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | |
| | | <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''"> |
| | | and sfps.tenant_id = #{farmProductStock.tenantId} |
| | | </if> |
| | | <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''"> |
| | | and sl.farm_id = #{farmProductStock.farmId} |
| | | </if> |
| | | group by sfps.strain_id,ss.url,ss.strain_name,sfps.land_id |
| | | </select> |
| | | |
| | | <!--根据农场id和品种类型查询 关系:农产品库存表关联地块 -》 地块关联农场 -》 需要联合查询 --> |
| | | <select id="findFarmProductStockByFarmIdAndStrainId" resultType="org.springblade.modules.farmplant.entity.FarmProductStock"> |
| | | select a.* from sys_farm_product_stock a |
| | | left join sys_land b on a.land_id = b.id |
| | | where 1=1 and a.strain_id = #{strainId} and b.farm_id = #{farmId} |
| | | </select> |
| | | |
| | | |
| | | <!--查询农产品库存数据--> |
| | | <select id="statisticsProduct" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | select sfps.strain_id strainId,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from |
| | | select sfps.id,sfps.strain_id strainId,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_id |
| | | LEFT JOIN sys_land sl ON sl.id = sfps.land_id |
| | | where 1=1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | |
| | | <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''"> |
| | | and sfps.tenant_id = #{farmProductStock.tenantId} |
| | | </if> |
| | | group by sfps.strain_id,ss.url,ss.strain_name |
| | | <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''"> |
| | | and sl.farm_id = #{farmProductStock.farmId} |
| | | </if> |
| | | group by sfps.id,sfps.strain_id,ss.url,ss.strain_name |
| | | </select> |
| | | |
| | | <!--大屏产量每个月统计--> |
| | |
| | | |
| | | <!--大屏经营概况库存数量统计--> |
| | | <select id="statisticsStock" resultType="java.util.HashMap"> |
| | | SELECT |
| | | SUM( stock.weight ) AS sum , |
| | | SUM( stock.recovery ) AS cssum |
| | | FROM |
| | | sys_farm_product_stock AS stock |
| | | SELECT SUM( stock.weight ) AS sum,SUM( stock.recovery ) AS cssum FROM sys_farm_product_stock AS stock |
| | | left join sys_land sl on sl.id = stock.land_id |
| | | WHERE |
| | | 1 = 1 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( stock.time ) = #{year} |
| | | </if> |
| | | <if test="deptId!=null and deptId!=''"> |
| | | and stock.dept_id = #{deptId} |
| | | <if test="farmId!=null and farmId!=''"> |
| | | and sl.farm_id = #{farmId} |
| | | </if> |
| | | </select> |
| | | <!--按年统计产量--> |
| | |
| | | <!-- </select>--> |
| | | <select id="statisticsStockYear" resultType="java.util.HashMap"> |
| | | select m.id time, IFNULL(b,0) num from |
| | | ( |
| | | select 1 as id union |
| | | select 2 union |
| | | select 3 union |
| | | select 4 union |
| | | select 5 union |
| | | select 6 union |
| | | select 7 union |
| | | select 8 union |
| | | select 9 union |
| | | select 10 union |
| | | select 11 union |
| | | select 12 |
| | | ) m |
| | | left join |
| | | ( |
| | | select month(ssr.time) a,sum(weight) b from sys_recovery ssr |
| | | |
| | | where year(ssr.time) = #{year} |
| | | GROUP BY month(ssr.time) |
| | | ) n |
| | | on m.id = n.a |
| | | order by id |
| | | ( |
| | | select 1 as id union |
| | | select 2 union |
| | | select 3 union |
| | | select 4 union |
| | | select 5 union |
| | | select 6 union |
| | | select 7 union |
| | | select 8 union |
| | | select 9 union |
| | | select 10 union |
| | | select 11 union |
| | | select 12 |
| | | ) m |
| | | left join |
| | | ( |
| | | select month(ssr.time) a,sum(weight) b from sys_recovery ssr |
| | | left join sys_land sl on sl.id = ssr.land_id |
| | | where year(ssr.time) = #{year} |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY month(ssr.time) |
| | | ) n |
| | | on m.id = n.a |
| | | order by id |
| | | </select> |
| | | <!--按月份统计产量--> |
| | | <select id="statisticsStockMonth" resultType="java.util.HashMap"> |
| | |
| | | DATE_FORMAT( recovery.time, '%Y-%c-%d' ) AS gptime |
| | | FROM |
| | | sys_recovery recovery |
| | | WHERE |
| | | DATE_FORMAT( recovery.time, '%Y-%m' ) = #{year} |
| | | left join sys_land sl on sl.id = recovery.land_id |
| | | WHERE DATE_FORMAT( recovery.time, '%Y-%m' ) = #{year} |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY |
| | | gptime |
| | | ) AS righttable ON DATE_FORMAT( lefttable.date, '%Y-%c-%d' ) = righttable.gptime |
| | | ORDER BY time |
| | | </select> |
| | | <!--按日统计产量--> |
| | | <select id="statisticsStockDay" resultType="java.util.HashMap"> |
| | |
| | | LEFT JOIN |
| | | ( |
| | | SELECT HOUR(recovery.time) AS order_hour, SUM(weight) AS num from sys_recovery recovery |
| | | left join sys_land sl on sl.id = recovery.land_id |
| | | WHERE recovery.time >= str_to_date(concat(#{year},' 00:00:00'),'%Y-%m-%d %T') |
| | | AND recovery.time <= str_to_date(concat(#{year},' 23:59:59'),'%Y-%m-%d %T') |
| | | and sl.farm_id = #{farmId} |
| | | GROUP BY order_hour |
| | | ) b ON a.order_hour=b.order_hour |
| | | ORDER BY a.order_hour |
| | |
| | | IFNULL( SUM( CASE WHEN LEAVES = 2 THEN weight END ), 0 ) AS '2', |
| | | IFNULL( SUM( CASE WHEN LEAVES = 3 THEN weight END ), 0 ) AS '3', |
| | | IFNULL( SUM( CASE WHEN LEAVES = 4 THEN weight END ), 0 ) AS '4' |
| | | FROM |
| | | sys_recovery |
| | | WHERE |
| | | 1 = 1 |
| | | FROM sys_recovery sr |
| | | left join sys_land sl on sr.land_id = sl.id |
| | | WHERE 1 = 1 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( time ) = #{year} |
| | | and sr.time like concat('%',#{year},'%') |
| | | </if> |
| | | <if test="deptId!=null and deptId!=''"> |
| | | and dept_id = #{deptId} |
| | | <if test="farmId!=null and farmId!=''"> |
| | | and sl.farm_id = #{farmId} |
| | | </if> |
| | | </select> |
| | | <!--大屏经营概况年产量统计--> |
| | |
| | | |
| | | <!--小程序农产品库存详情数据--> |
| | | <select id="statisticsProductx" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | select sfps.strain_id strainId,sfps.weight,ss.url,ss.strain_name strainName from |
| | | select sfps.strain_id strainId,SUM(sfps.weight) AS weight,ss.url,ss.strain_name strainName from |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_id |
| | | LEFT JOIN sys_land land ON land.id = sfps.land_id |
| | | where 1=1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | |
| | | <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''"> |
| | | and sfps.tenant_id = #{farmProductStock.tenantId} |
| | | </if> |
| | | <if test="farmProductStock.strainType !=null and farmProductStock.strainType !='' "> |
| | | and ss.strain_type = #{farmProductStock.strainType} |
| | | </if> |
| | | <if test="farmProductStock.farmId !=null and farmProductStock.farmId !='' "> |
| | | and land.farm_id = #{farmProductStock.farmId} |
| | | </if> |
| | | GROUP BY sfps.strain_id |
| | | </select> |
| | | |
| | | <!--销售对比库存是否充足--> |
| | |
| | | SELECT |
| | | CASE |
| | | WHEN |
| | | weight > #{sale} THEN |
| | | weight >= #{sale} THEN |
| | | TRUE ELSE FALSE |
| | | END result |
| | | FROM |
| | | sys_farm_product_stock |
| | | WHERE |
| | | strain_id = #{id} |
| | | id = #{id} |
| | | </select> |
| | | |
| | | <!--减去对应库存--> |
| | | <update id="stockReduce"> |
| | | UPDATE sys_farm_product_stock SET weight = weight - #{sale} |
| | | WHERE |
| | | strain_id = #{id} |
| | | id = #{id} |
| | | </update> |
| | | |
| | | <select id="selectBy2Id" resultType="org.springblade.modules.farmplant.entity.FarmProductStock"> |
| | | SELECT id,strain_id,weight,leaves,time,operator,remark, |
| | | create_time,farm_plant_id,dept_id,tenant_id,recovery,land_id |
| | | FROM sys_farm_product_stock WHERE strain_id = #{strainId} AND land_id = #{landId} |
| | | </select> |
| | | </mapper> |