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 &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{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 &gt;= #{farmPlant.startTime}
+        </if>
+        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
+            and sfp.transplan_time &lt;= #{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 &gt;= #{farmProductStock.startTime}
+        </if>
+        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
+            and sfps.time &lt;= #{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