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 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") 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); } 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 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); } 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> 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); } 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); } 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; } } 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; } } src/main/resources/application.yml
@@ -201,6 +201,9 @@ - /blade-test/** - /farmingRecord/** - /blade-system/dict-biz/** - /stock/** - /farmPlant/** - /farmProductStock/** #授权认证配置 auth: - method: ALL