src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -427,24 +427,25 @@ */ @GetMapping("/getFarmPlantStatisticsCountx") public R getFarmPlantStatisticsCountx(FarmPlantVO farmPlant, Query query) { Double num = 0.0; // Double num = 0.0; IPage<FarmPlantVO> pages = farmplantService.getFarmPlantStatisticsCountz(Condition.getPage(query), farmPlant); for (int i = 0; i < pages.getRecords().size(); i++) { String area = pages.getRecords().get(i).getArea(); Double a = Double.parseDouble(area); DecimalFormat df = new DecimalFormat("#.00"); String format = df.format(a); pages.getRecords().get(i).setArea(format); num += a; } Map map = new HashMap(); List list = new ArrayList(); DecimalFormat df = new DecimalFormat("#.00"); String format = df.format(num); map.put("znum", format); list.add(map); list.add(pages); return R.data(list); // for (int i = 0; i < pages.getRecords().size(); i++) { // String area = pages.getRecords().get(i).getArea(); // Double a = Double.parseDouble(area); // DecimalFormat df = new DecimalFormat("#.00"); // String format = df.format(a); // pages.getRecords().get(i).setArea(format); // num += a; // } // Map map = new HashMap(); // List list = new ArrayList(); // DecimalFormat df = new DecimalFormat("#.00"); // String format = df.format(num); // map.put("znum", format); // list.add(map); // list.add(pages); // return R.data(list); return R.data(pages); } src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml
@@ -131,8 +131,14 @@ <!--自定义查询农场养殖记录分页数据--> <select id="getFarmPlantStatistics" resultType="org.springblade.modules.farmplant.vo.FarmPlantVO"> select sfp.strain_id,ss.strain_name strainName,sum(TRUNCATE(sl.land_area,3)) areas,land_unit landUnit from sys_farm_plant sfp SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas FROM ( select sfp.strain_id, ss.strain_name strainName, ( CASE WHEN land_unit = 2 THEN FORMAT(sl.land_area * 0.0015,3) WHEN land_unit = 1 THEN sl.land_area * 0.1 ELSE sl.land_area END ) land_area, 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 @@ -151,7 +157,8 @@ <if test="farmPlant.status !=null and farmPlant.status!=''"> and sfp.status = #{farmPlant.status} </if> group by sfp.strain_id,strain_name,land_unit ) a GROUP BY a.strain_id,a.strainName </select> <!--查询农场养殖记录数据--> @@ -396,34 +403,34 @@ <!-- and sfp.tenant_id = #{farmPlant.tenantId}--> <!-- </if>--> <!-- group by sfp.strain_id,strain_name,land_unit--> SELECT sfp.strain_id, SELECT a.strain_id,a.strainName,SUM(TRUNCATE(a.land_area,3)) areas FROM ( select sfp.strain_id, ss.strain_name strainName, sum( sl.land_area ) area, ( CASE WHEN land_unit = 2 THEN FORMAT(sl.land_area * 0.0015,3) WHEN land_unit = 1 THEN sl.land_area * 0.1 ELSE sl.land_area END ) land_area, land_unit landUnit FROM 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 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> <if test="farmPlant.farmId!=null and farmPlant.farmId!=''"> and sl.farm_id = #{farmPlant.farmId} </if> <if test="farmPlant.status !=null and farmPlant.status!=''"> and sfp.status = #{farmPlant.status} <if test="farmPlant.deptId!=null and farmPlant.deptId!=''"> and sfp.dept_id = #{farmPlant.deptId} </if> <if test="farmPlant.tenantId!=null and farmPlant.tenantId!=''"> and sfp.tenant_id = #{farmPlant.tenantId} </if> <!-- <if test=" farmPlant.deptId !=null and farmPlant.deptId != ''">--> <!-- and sfp.dept_id = #{farmPlant.deptId}--> <!-- </if>--> group by sfp.strain_id,strain_name,land_unit <if test="farmPlant.status !=null and farmPlant.status!=''"> and sfp.status = #{farmPlant.status} </if> ) a GROUP BY a.strain_id,a.strainName </select> <!--查询种养记录列表(不分页)--> src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java
@@ -59,15 +59,15 @@ @Override public IPage<FarmPlantVO> getFarmPlantStatisticsCountz(IPage<FarmPlantVO> page, FarmPlantVO farm) { List<FarmPlantVO> farmPlantVOS = baseMapper.getFarmPlantStatisticsCountz(page, farm); //遍历 farmPlantVOS.forEach(farmPlantVO -> { if (farmPlantVO.getLandUnit().equals("1")) { farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea()) * 0.1)); } if (farmPlantVO.getLandUnit().equals("2")) { farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea()) * 0.0015)); } }); // //遍历 // farmPlantVOS.forEach(farmPlantVO -> { // if (farmPlantVO.getLandUnit().equals("1")) { // farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea()) * 0.1)); // } // if (farmPlantVO.getLandUnit().equals("2")) { // farmPlantVO.setArea(String.format("%.2f", Double.parseDouble(farmPlantVO.getArea()) * 0.0015)); // } // }); return page.setRecords(farmPlantVOS); } @@ -82,16 +82,16 @@ 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()); } }); // 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); }