智慧农业后台管理
zengh
2022-07-05 cfcb55d0559b59302564e3a26aa3f9936181da47
大屏接口对接
6 files modified
116 ■■■■■ changed files
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml 35 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -105,6 +105,45 @@
        return R.data(pages);
    }
    /**
     * 分页统计
     */
    @GetMapping("/pageCount")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入farmPlant")
    public R<List<FarmPlantVO>> pageCount(FarmPlantVO farmPlant, Query query) {
        IPage<FarmPlantVO> pages = farmplantService.selectFarmPlantPage(Condition.getPage(query), farmPlant);
        List<FarmPlantVO> res = pages.getRecords();
        List<FarmPlantVO> count = new ArrayList<>();
        //按种类合并种植物
        for (int i = 0; i < res.size(); i++) {
            if (i == 0){
                count.add(res.get(0));
            }else {
                boolean type = false;
                for (int j = 0; j < count.size(); j++) {
                    if (res.get(i).getStrainId().equals(count.get(j).getStrainId())){
                        FarmPlantVO data = new FarmPlantVO();
                        data.setStrainId(res.get(i).getStrainId());
                        data.setArea((Double.parseDouble(res.get(i).getArea()) + Double.parseDouble(count.get(j).getArea()))+"");
                        data.setStrainName(res.get(i).getStrainName());
                        count.set(j,data);
                        type = false;
                        break;
                    }else{
                        type = true;
                    }
                }
                if (type){
                    count.add(res.get(i));
                }
            }
        }
        return R.data(count);
    }
    /**
     * 新增
     */
src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
@@ -157,4 +157,32 @@
        return R.data(list);
    }
    /**
     * 大屏经营概况库存数量与年产量
     */
    @GetMapping("/statisticsStockAndYield")
    public R statisticsStockAndYield(String year,String deptId) {
        //库存数量统计
        Map map = new HashMap();
        //统计当前库存农产品
        Map<String, String> sum = farmProductStockService.statisticsStock(year, deptId);
        //统计当前库存加工产品
        Map<String, String> jgsum = null;
        map.put("sum",sum.get("sum"));
        map.put("jgsum",0);
        //农产品年产量统计
        List<Map<String, Double>> Nsum = farmProductStockService.statisticsYield(year, deptId);
        double ncpNcl = Nsum.get(1).get("sum") + Nsum.get(0).get("sum");
        System.out.println("cscsc"+ncpNcl);
        System.out.println(map.get("sum"));
        map.put("ncpNcl",ncpNcl + Double.parseDouble(map.get("sum").toString()));
        //加工产品年产量统计
        map.put("jgNcl",0);
        return R.data(map);
    }
}
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
@@ -34,6 +34,8 @@
    List<FarmProductStockVO> statisticsProduct(@Param("farmProductStock") FarmProductStockVO farmProductStock);
    List<FarmProductStockVO> statisticsProductx(@Param("page") IPage page, @Param("farmProductStock") FarmProductStockVO farmProductStock);
    Map<String, String> selctProductCount(String year);
    Map<String, String> statisticsStock(String year,String deptId);
    List<Map<String, Double>> statisticsYield(String year,String deptId);
    boolean stockCompare(double sale,String id);
    boolean stockReduce(double sale,String id);
}
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -65,6 +65,41 @@
            YEAR ( s.time ) =#{year}
    </select>
    <!--大屏经营概况库存数量统计-->
    <select id="statisticsStock" resultType="java.util.HashMap">
        SELECT
            SUM(stock.weight) AS sum
        FROM
            sys_farm_product_stock as stock
        where 1 = 1
        <if test="year!=null and year!=''">
            and YEAR ( stock.time ) = #{year}
        </if>
        <if test="deptId!=null and deptId!=''">
            and stock.dept_id = #{deptId}
        </if>
    </select>
    <!--大屏经营概况年产量统计-->
    <select id="statisticsYield" resultType="java.util.HashMap">
        SELECT
            SUM( sale.sale_num ) AS sum
        FROM
            sys_sale AS sale
        WHERE 1 = 1
            <if test="year!=null and year!=''">
                and YEAR ( sale.sale_time ) = #{year}
            </if>
            union all
            SELECT
            SUM( inventory.sale_num ) AS sum
        FROM
            sys_inventory AS inventory
        WHERE 1 = 1
        <if test="year!=null and year!=''">
            and YEAR ( inventory.loss_time ) = #{year}
        </if>
    </select>
    <!--小程序农产品库存详情数据-->
    <select id="statisticsProductx" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
        select sfps.strain_id strainId,sfps.weight,ss.url,ss.strain_name strainName from
src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
@@ -6,6 +6,7 @@
import org.springblade.modules.farmplant.entity.FarmProductStock;
import org.springblade.modules.farmplant.vo.FarmProductStockVO;
import java.util.List;
import java.util.Map;
/**
@@ -32,6 +33,8 @@
    FarmProductStockVO statisticsProduct(FarmProductStockVO farmProductStock);
    IPage<FarmProductStockVO> statisticsProductx(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock);
    Map<String, String> selctProductCount(String year);
    Map<String, String> statisticsStock(String year,String deptId);
    List<Map<String, Double>> statisticsYield(String year, String deptId);
    //查看库存是否充足
    boolean stockCompare(double sale,String id);
    //减去相应库存
src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
@@ -62,6 +62,15 @@
    }
    @Override
    public Map<String, String> statisticsStock(String year,String deptId) {
        return baseMapper.statisticsStock(year,deptId);
    }
    @Override
    public List<Map<String, Double>> statisticsYield(String year,String deptId) {
        return baseMapper.statisticsYield(year,deptId);
    }
    @Override
    public boolean stockCompare(double sale,String id) {
        return baseMapper.stockCompare(sale,id);
    }