From 6f7fd53b38334de7bf22618fb79a528103f5954c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 31 May 2022 14:02:34 +0800
Subject: [PATCH] 农产品库存查询修改,新增农产品操作统计
---
src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java | 24 ++++++++++++
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml | 21 ++++++++++
src/main/java/org/springblade/modules/farmplant/vo/FarmProductStockVO.java | 10 +++++
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java | 12 ++++++
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java | 12 +++++-
src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java | 8 ++++
src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java | 15 +++++++
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml | 9 ++++
8 files changed, 108 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
index 5370e24..b77b25e 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -185,4 +185,16 @@
return R.status(farmplantService.removeByIds(Func.toLongList(ids)));
}
+
+ /**
+ * 农产品种养统计
+ * @param farmPlantVO 农产品种植对象
+ * @param query 分页查询对象
+ * @return
+ */
+ @GetMapping("/getFarmPlantStatistics")
+ public R<IPage<FarmPlantVO>> getFarmPlantStatistics(FarmPlantVO farmPlantVO, Query query) {
+ return R.data(farmplantService.getFarmPlantStatistics(Condition.getPage(query),farmPlantVO));
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
index c82e051..e4a4b24 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
@@ -9,7 +9,7 @@
import java.util.List;
/**
- * 农场养殖记录表Mapper 接口
+ * 农产品种植记录表Mapper 接口
* @since 2022-05-12
* @author zhongrj
*/
@@ -22,5 +22,13 @@
* @param farm
* @return
*/
- List<FarmPlantVO> selectFarmPlantPage(@Param("page") IPage page, @Param("farmPlant") FarmPlantVO farm);
+ List<FarmPlantVO> selectFarmPlantPage(@Param("page") IPage page,@Param("farmPlant") FarmPlantVO farm);
+
+ /**
+ *
+ * @param page
+ * @param farm
+ * @return
+ */
+ List<FarmPlantVO> getFarmPlantStatistics(@Param("page") IPage<FarmPlantVO> page,@Param("farmPlant") FarmPlantVO farm);
}
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
index c803f77..eff9b65 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -29,6 +29,27 @@
<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>
order by sfp.id desc
</select>
+
+ <!--自定义查询农场养殖记录分页数据-->
+ <select id="getFarmPlantStatistics" 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>
+ group by sfp.strain_id,strain_name,land_unit
+ </select>
</mapper>
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 f9cb835..82199dc 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.*,ss.url,ss.strain_name strainName from sys_farm_product_stock sfps
+ 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!=''">
@@ -13,5 +13,12 @@
<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>
+ group by sfps.strain_id,ss.url,ss.strain_name
</select>
</mapper>
diff --git a/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java b/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
index cc65ea3..559a7b2 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
@@ -21,4 +21,12 @@
* @return
*/
IPage<FarmPlantVO> selectFarmPlantPage(IPage<FarmPlantVO> page, FarmPlantVO farm);
+
+ /**
+ * 农产品种养统计
+ * @param farmPlantVO 农产品种植对象
+ * @param page 分页查询对象
+ * @return
+ */
+ IPage<FarmPlantVO> getFarmPlantStatistics(IPage<FarmPlantVO> page,FarmPlantVO farmPlantVO);
}
diff --git a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
index 83c5080..ddab157 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
@@ -7,6 +7,7 @@
import org.springblade.modules.farmplant.vo.FarmPlantVO;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -38,4 +39,27 @@
});
return page.setRecords(farmPlantVOS);
}
+
+ /**
+ * 农产品种养统计
+ * @param farm 农产品种植对象
+ * @param page 分页查询对象
+ * @return
+ */
+ @Override
+ public IPage<FarmPlantVO> getFarmPlantStatistics(IPage<FarmPlantVO> page, FarmPlantVO farm) {
+ List<FarmPlantVO> farmPlantVOS = baseMapper.getFarmPlantStatistics(page, farm);
+ //遍历
+ farmPlantVOS.forEach(farmPlantVO -> {
+ if (farmPlantVO.getLandUnit().equals("1")){
+ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1);
+ farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+ }
+ if (farmPlantVO.getLandUnit().equals("2")){
+ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015);
+ farmPlantVO.setAreas(bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+ }
+ });
+ return page.setRecords(farmPlantVOS);
+ }
}
diff --git a/src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java b/src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java
index b8474a1..4dc90e5 100644
--- a/src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java
+++ b/src/main/java/org/springblade/modules/farmplant/vo/FarmPlantVO.java
@@ -37,4 +37,19 @@
*/
private String landUnit;
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
+ /**
+ * 面积合计
+ */
+ private Double areas;
+
}
diff --git a/src/main/java/org/springblade/modules/farmplant/vo/FarmProductStockVO.java b/src/main/java/org/springblade/modules/farmplant/vo/FarmProductStockVO.java
index 912bee9..71eb9b5 100644
--- a/src/main/java/org/springblade/modules/farmplant/vo/FarmProductStockVO.java
+++ b/src/main/java/org/springblade/modules/farmplant/vo/FarmProductStockVO.java
@@ -23,4 +23,14 @@
*/
private String strainName;
+ /**
+ * 开始时间
+ */
+ private String startTime;
+
+ /**
+ * 结束时间
+ */
+ private String endTime;
+
}
--
Gitblit v1.9.3