From 58181a5a0934ef8768bfbab08bc83ac816708d23 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Mon, 06 Jun 2022 11:35:06 +0800
Subject: [PATCH] 面积统计新增,种植产量统计新增
---
src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java | 37 ++++++++++++
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml | 15 +++++
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java | 10 +++
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java | 8 ++
src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java | 7 ++
src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java | 23 +++++++
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java | 7 ++
src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java | 10 +++
src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java | 7 ++
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml | 21 +++++++
src/main/resources/application.yml | 3 +
11 files changed, 148 insertions(+), 0 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 d9a7a55..da64666 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -201,6 +201,16 @@
}
/**
+ * 农产品种养统计(累计和)
+ * @param farmPlantVO 农产品种植对象
+ * @return
+ */
+ @GetMapping("/getFarmPlantStatisticsCount")
+ public R<FarmPlantVO> getFarmPlantStatisticsCount(FarmPlantVO farmPlantVO) {
+ return R.data(farmplantService.getFarmPlantStatisticsCount(farmPlantVO));
+ }
+
+ /**
* 农产品列表
* @param farm 农产品对象
* @return
diff --git a/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java b/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
index 5372ce1..6de6115 100644
--- a/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
+++ b/src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
@@ -64,6 +64,16 @@
}
/**
+ * 统计产量
+ * @param farmProductStock
+ * @return
+ */
+ @GetMapping("/statisticsProduct")
+ public R<FarmProductStockVO> statisticsProduct(FarmProductStockVO farmProductStock) {
+ return R.data(farmProductStockService.statisticsProduct(farmProductStock));
+ }
+
+ /**
* 新增
*/
@PostMapping("/save")
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 5fba690..a893ac1 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.java
@@ -40,4 +40,12 @@
* @return
*/
List<Strain> strainTree(@Param("farm") FarmPlantVO farm);
+
+
+ /**
+ * 统计查询种植面积
+ * @param farm
+ * @return
+ */
+ List<FarmPlantVO> getFarmPlantStatisticsCount(@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 406c6df..066cd89 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -53,6 +53,21 @@
group by sfp.strain_id,strain_name,land_unit
</select>
+ <!--查询农场养殖记录数据-->
+ <select id="getFarmPlantStatisticsCount" 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>
+
<!--已种植农产品列表-->
<select id="strainTree" resultType="org.springblade.modules.farmplant.entity.Strain">
select ss.id,ss.strain_name strainName from sys_farm_plant sfp
diff --git a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
index a206ce6..70448b2 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
@@ -24,4 +24,11 @@
* @return
*/
List<FarmProductStockVO> selectFarmProductStockPage(@Param("page") IPage page, @Param("farmProductStock") FarmProductStockVO farmProductStock);
+
+ /**
+ * 统计产量
+ * @param farmProductStock
+ * @return
+ */
+ List<FarmProductStockVO> statisticsProduct(@Param("farmProductStock") FarmProductStockVO farmProductStock);
}
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 82199dc..c48032a 100644
--- a/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
+++ b/src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -21,4 +21,25 @@
</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>
+ 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 3463e9a..34d34a7 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/FarmPlantService.java
@@ -40,4 +40,11 @@
* @return
*/
List<Strain> strainTree(FarmPlantVO farm);
+
+ /**
+ * 农产品种养统计(累计和)
+ * @param farmPlantVO 农产品种植对象
+ * @return
+ */
+ FarmPlantVO getFarmPlantStatisticsCount(FarmPlantVO farmPlantVO);
}
diff --git a/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java b/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
index b7a5ffc..862db24 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
@@ -21,4 +21,11 @@
* @return
*/
IPage<FarmProductStockVO> selectFarmProductStockPage(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock);
+
+ /**
+ * 统计产量
+ * @param farmProductStock
+ * @return
+ */
+ FarmProductStockVO statisticsProduct(FarmProductStockVO farmProductStock);
}
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 346c179..2e620d9 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
@@ -1,6 +1,7 @@
package org.springblade.modules.farmplant.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.farmplant.entity.FarmPlant;
import org.springblade.modules.farmplant.entity.Strain;
import org.springblade.modules.farmplant.mapper.FarmPlantMapper;
@@ -75,4 +76,40 @@
public List<Strain> strainTree(FarmPlantVO farm) {
return baseMapper.strainTree(farm);
}
+
+ /**
+ * 农产品种养统计(累计和)
+ * @param farm 农产品种植对象
+ * @return
+ */
+ @Override
+ public FarmPlantVO getFarmPlantStatisticsCount(FarmPlantVO farm) {
+ List<FarmPlantVO> farmPlantVOS = baseMapper.getFarmPlantStatisticsCount(farm);
+ FarmPlantVO plantVO = new FarmPlantVO();
+ if (farmPlantVOS.size()>0){
+ BigDecimal decimal = new BigDecimal(0.0);
+ //遍历
+ for (FarmPlantVO farmPlantVO : farmPlantVOS) {
+ if (farmPlantVO.getLandUnit().equals("0")){
+ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*1);
+ decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+ }
+ if (farmPlantVO.getLandUnit().equals("1")){
+ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.1);
+ decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+ }
+ if (farmPlantVO.getLandUnit().equals("2")){
+ BigDecimal bg = new BigDecimal(farmPlantVO.getAreas()*0.0015);
+ decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+ }
+ }
+ //求和
+ plantVO.setArea(decimal.toString());
+ }else {
+ //求和
+ plantVO.setArea("0");
+ }
+ //返回
+ return plantVO;
+ }
}
diff --git a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
index f34ad43..58124e9 100644
--- a/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
+++ b/src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
@@ -7,6 +7,9 @@
import org.springblade.modules.farmplant.vo.FarmProductStockVO;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.util.List;
+
/**
* 农产品库存服务实现类
* @since 2022-05-18
@@ -25,4 +28,24 @@
public IPage<FarmProductStockVO> selectFarmProductStockPage(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock) {
return page.setRecords(baseMapper.selectFarmProductStockPage(page, farmProductStock));
}
+
+ /**
+ * 统计产量
+ * @param farmProductStock
+ * @return
+ */
+ @Override
+ public FarmProductStockVO statisticsProduct(FarmProductStockVO farmProductStock) {
+ List<FarmProductStockVO> stockVOs = baseMapper.statisticsProduct(farmProductStock);
+ FarmProductStockVO stock = new FarmProductStockVO();
+ BigDecimal decimal = new BigDecimal(0.0);
+ //遍历
+ for (FarmProductStockVO stockVO : stockVOs) {
+ BigDecimal bg = new BigDecimal(stockVO.getWeight());
+ decimal = decimal.add(bg.setScale(2, BigDecimal.ROUND_HALF_UP));
+ }
+ stock.setWeight(decimal.toString());
+ //返回
+ return stock;
+ }
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index dcd8921..665d720 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -201,6 +201,9 @@
- /blade-test/**
- /farmingRecord/**
- /blade-system/dict-biz/**
+ - /stock/**
+ - /farmPlant/**
+ - /farmProductStock/**
#授权认证配置
auth:
- method: ALL
--
Gitblit v1.9.3