| | |
| | | |
| | | <!--自定义查询农产品库存分页数据--> |
| | | <select id="selectFarmProductStockPage" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO"> |
| | | select * from sys_farm_product_stock |
| | | select 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 |
| | | where 1=1 |
| | | <if test="farmProductStock.strainId!=null and farmProductStock.strainId!=''"> |
| | | and strain_id = #{farmProductStock.strainId} |
| | | and sfps.strain_id = #{farmProductStock.strainId} |
| | | </if> |
| | | <if test="farmProductStock.leaves!=null and farmProductStock.leaves!=''"> |
| | | and leaves = #{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> |
| | | group by sfps.strain_id,ss.url,ss.strain_name |
| | | </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 |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_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> |
| | | group by sfps.strain_id,ss.url,ss.strain_name |
| | | </select> |
| | | |
| | | <!--大屏产量每个月统计--> |
| | | <select id="selctProductCount" resultType="java.util.HashMap"> |
| | | SELECT SUM(CASE WHEN MONTH ( s.time ) = 1 THEN s.weight END ) AS '1', SUM(CASE WHEN MONTH ( s.time ) = 2 THEN s.weight END ) AS '2', SUM(CASE WHEN MONTH ( s.time ) = 3 THEN s.weight END ) AS '3', SUM(CASE WHEN MONTH ( s.time ) = 4 THEN s.weight END ) AS '4', SUM(CASE WHEN MONTH ( s.time ) = 5 THEN s.weight END ) AS '5', SUM(CASE WHEN MONTH ( s.time ) = 6 THEN s.weight END ) AS '6', SUM(CASE WHEN MONTH ( s.time ) = 7 THEN s.weight END ) AS '7', SUM(CASE WHEN MONTH ( s.time ) = 8 THEN s.weight END ) AS '8', SUM(CASE WHEN MONTH ( s.time ) = 9 THEN s.weight END ) AS '9', SUM(CASE WHEN MONTH ( s.time ) = 10 THEN s.weight END ) AS '10', SUM(CASE WHEN MONTH ( s.time ) = 11 THEN s.weight END ) AS '11', SUM(CASE WHEN MONTH ( s.time ) = 12 THEN s.weight END ) AS '12' |
| | | FROM sys_farm_product_stock AS s |
| | | WHERE |
| | | YEAR ( s.time ) =#{year} |
| | | </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 |
| | | 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> |
| | | </select> |
| | | <!--按月份统计产量--> |
| | | <select id="statisticsStockMonth" resultType="java.util.HashMap"> |
| | | SELECT |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 1 THEN weight END ), 0 ) AS '1', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 2 THEN weight END ), 0 ) AS '2', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 3 THEN weight END ), 0 ) AS '3', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 4 THEN weight END ), 0 ) AS '4', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 5 THEN weight END ), 0 ) AS '5', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 6 THEN weight END ), 0 ) AS '6', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 7 THEN weight END ), 0 ) AS '7', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 8 THEN weight END ), 0 ) AS '8', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 9 THEN weight END ), 0 ) AS '9', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 10 THEN weight END ), 0 ) AS '10', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 11 THEN weight END ), 0 ) AS '11', |
| | | IFNULL( SUM( CASE WHEN MONTH ( time ) = 12 THEN weight END ), 0 ) AS '12' |
| | | FROM |
| | | sys_recovery |
| | | where |
| | | 1 = 1 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( time ) = #{year} |
| | | </if> |
| | | <if test="deptId!=null and deptId!=''"> |
| | | and dept_id = #{deptId} |
| | | </if> |
| | | </select> |
| | | <!--农产品监管--> |
| | | <select id="productsSupervise" resultType="java.util.HashMap"> |
| | | SELECT |
| | | IFNULL( SUM( CASE WHEN LEAVES = 0 THEN weight END ), 0 ) AS '0', |
| | | IFNULL( SUM( CASE WHEN LEAVES = 1 THEN weight END ), 0 ) AS '1', |
| | | 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 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( time ) = #{year} |
| | | </if> |
| | | <if test="deptId!=null and deptId!=''"> |
| | | and dept_id = #{deptId} |
| | | </if> |
| | | </select> |
| | | <!--大屏经营概况年产量统计--> |
| | | <select id="statisticsYield" resultType="java.util.HashMap"> |
| | | SELECT |
| | | SUM( sale.sale_num ) AS sum |
| | | FROM |
| | | sys_sale AS sale |
| | | WHERE 1 = 1 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( sale.sale_time ) = #{year} |
| | | </if> |
| | | union all |
| | | SELECT |
| | | SUM( inventory.sale_num ) AS sum |
| | | FROM |
| | | sys_inventory AS inventory |
| | | WHERE 1 = 1 |
| | | <if test="year!=null and year!=''"> |
| | | and YEAR ( inventory.loss_time ) = #{year} |
| | | </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 |
| | | sys_farm_product_stock sfps |
| | | left join sys_strain ss on ss.id = sfps.strain_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> |
| | | </select> |
| | | |
| | | <!--销售对比库存是否充足--> |
| | | <select id="stockCompare" resultType="boolean"> |
| | | SELECT |
| | | CASE |
| | | WHEN |
| | | weight > #{sale} THEN |
| | | TRUE ELSE FALSE |
| | | END result |
| | | FROM |
| | | sys_farm_product_stock |
| | | WHERE |
| | | strain_id = #{id} |
| | | </select> |
| | | <!--减去对应库存--> |
| | | <update id="stockReduce"> |
| | | UPDATE sys_farm_product_stock SET weight = weight - #{sale} |
| | | WHERE |
| | | strain_id = #{id} |
| | | </update> |
| | | </mapper> |