智慧农业后台管理
guoshilong
2022-08-20 3d1aca23a6841a5b32a5153bca034a338aaf729d
小程序、后台数据统计播种面积更新
3 files modified
116 ■■■■ changed files
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java 35 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/mapper/FarmPlantMapper.xml 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/service/impl/FarmPlantServiceImpl.java 38 ●●●● patch | view | raw | blame | history
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 &gt;= #{farmPlant.startTime}
        </if>
        <if test="farmPlant.endTime!=null and farmPlant.endTime!=''">
            and sfp.transplan_time &lt;= #{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);
    }