From 77dd7d19bb13f19acd273ba92dfd2b866a229c5e Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Sat, 16 Jul 2022 16:20:07 +0800
Subject: [PATCH] 库存
---
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml | 91 +++++++++++++++++++++++----------------------
1 files changed, 46 insertions(+), 45 deletions(-)
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
index 83994b5..9549bd8 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -4,7 +4,7 @@
<!--自定义查询农产品库存分页数据-->
<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
where 1=1
@@ -26,7 +26,7 @@
<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
+ group by sfps.id,sfps.strain_id,ss.url,ss.strain_name,sfps.land_id
</select>
<select id="selectFarmProductStockPages" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
@@ -58,7 +58,7 @@
<!--查询农产品库存数据-->
<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
where 1=1
@@ -80,7 +80,7 @@
<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
+ group by sfps.id,sfps.strain_id,ss.url,ss.strain_name
</select>
<!--大屏产量每个月统计-->
@@ -93,18 +93,15 @@
<!--大屏经营概况库存数量统计-->
<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>
<!--按年统计产量-->
@@ -135,29 +132,30 @@
<!-- </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">
@@ -248,11 +246,13 @@
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">
@@ -274,8 +274,10 @@
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
@@ -288,15 +290,14 @@
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 YEAR ( sr.time ) = #{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>
<!--大屏经营概况年产量统计-->
@@ -357,12 +358,12 @@
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>
</mapper>
--
Gitblit v1.9.3