智慧农业后台管理
guoshilong
2022-08-04 b86edd81c55fe81c07b629a20a50e1b4fd899f05
农产品库存整合显示,加入地块选择
10 files modified
108 ■■■■■ changed files
src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml 45 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/controller/LandController.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/ILandService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/farmplant/controller/FarmProductStockController.java
@@ -65,6 +65,15 @@
        return R.data(pages);
    }
    @GetMapping("/strainCount")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入farmProductStock")
    public R<IPage<FarmProductStockVO>> strainCount(FarmProductStockVO farmProductStock, Query query) {
        IPage<FarmProductStockVO> pages = farmProductStockService.selectFarmProductStockPagesCount(Condition.getPage(query), farmProductStock);
        return R.data(pages);
    }
    /**
     * 自定义分页
     */
@@ -236,4 +245,10 @@
        return R.data(cssum);
    }
    @GetMapping("/getByLandId")
    public R getByLandId(String strainId,String landId){
        FarmProductStock farmProductStock = farmProductStockService.selectBy2Id(strainId,landId);
        return R.data(farmProductStock);
    }
}
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.java
@@ -25,6 +25,14 @@
     * @return
     */
    List<FarmProductStockVO> selectFarmProductStockPage(@Param("page") IPage page, @Param("farmProductStock") FarmProductStockVO farmProductStock);
    /**
     * 农资库存整合
     * @param page
     * @param farmProductStock
     * @return
     */
    IPage<FarmProductStockVO> selectFarmProductStockPageCount(IPage<Object> page, FarmProductStockVO farmProductStock);
    List<FarmProductStockVO> selectFarmProductStockPages(@Param("farmProductStock") FarmProductStockVO farmProductStock);
    List<FarmProductStock> findFarmProductStockByFarmIdAndStrainId(@Param("farmId") String farmId, @Param("strainId") Integer strainId);
src/main/java/org/springblade/modules/farmplant/mapper/FarmProductStockMapper.xml
@@ -33,6 +33,51 @@
        group by sfps.id,sfps.strain_id,ss.url,ss.strain_name,sfps.land_id
    </select>
    <select id="selectFarmProductStockPageCount" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
        SELECT a.strainId,SUM(weight) weight,a.url,a.strainName FROM
            (SELECT
                 sfps.id,
                 sfps.strain_id AS strainId,
                 sfps.land_id,
                 sum( sfps.weight ) AS weight,
                 ss.url,
                 ss.strain_name AS strainName
             FROM
                 sys_farm_product_stock sfps
                     LEFT JOIN sys_strain ss ON ss.id = sfps.strain_id
                     LEFT JOIN sys_land sl ON sl.id = sfps.land_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 &gt;= #{farmProductStock.startTime}
        </if>
        <if test="farmProductStock.endTime!=null and farmProductStock.endTime!=''">
            and sfps.time &lt;= #{farmProductStock.endTime}
        </if>
        <if test="farmProductStock.deptId!=null and farmProductStock.deptId!=''">
            and sfps.dept_id = #{farmProductStock.deptId}
        </if>
        <if test="farmProductStock.tenantId!=null and farmProductStock.tenantId!=''">
            and sfps.tenant_id = #{farmProductStock.tenantId}
        </if>
        <if test="farmProductStock.farmId!=null and farmProductStock.farmId!=''">
            and sl.farm_id = #{farmProductStock.farmId}
        </if>
             GROUP BY
                 sfps.id,
                 sfps.strain_id,
                 ss.url,
                 ss.strain_name,
                 sfps.land_id
            ) a GROUP BY strainId
    </select>
    <select id="selectFarmProductStockPages" resultType="org.springblade.modules.farmplant.vo.FarmProductStockVO">
        select sfps.strain_id strainId,sfps.land_id,sum(sfps.weight) weight,ss.url,ss.strain_name strainName from
        sys_farm_product_stock sfps
src/main/java/org/springblade/modules/farmplant/service/FarmProductStockService.java
@@ -25,6 +25,7 @@
     * @return
     */
    IPage<FarmProductStockVO> selectFarmProductStockPage(IPage<FarmProductStockVO> page, FarmProductStockVO farmProductStock);
    IPage<FarmProductStockVO> selectFarmProductStockPagesCount(IPage<Object> page, FarmProductStockVO farmProductStock);
    List<FarmProductStockVO> selectFarmProductStockPages(FarmProductStockVO farmProductStock);
    List<FarmProductStock> findFarmProductStockByFarmIdAndStrainId(String farmId, Integer strainId);
src/main/java/org/springblade/modules/farmplant/service/impl/FarmProductStockServiceImpl.java
@@ -32,6 +32,11 @@
    }
    @Override
    public IPage<FarmProductStockVO> selectFarmProductStockPagesCount(IPage<Object> page, FarmProductStockVO farmProductStock) {
        return baseMapper.selectFarmProductStockPageCount(page,farmProductStock);
    }
    @Override
    public List<FarmProductStockVO> selectFarmProductStockPages(FarmProductStockVO farmProductStock) {
        return baseMapper.selectFarmProductStockPages(farmProductStock);
    }
src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -107,6 +107,14 @@
        IPage<LandVO> pages = landService.selectLandPage(Condition.getPage(query), land);
        return R.data(pages);
    }
    /**
     * 根据品种id查询对应地块
     */
    @GetMapping("/selcetByStrainId")
    public R selcetByStrainId(String strainId) {
        List<Land> list = landService.selectByStrainId(strainId);
        return R.data(list);
    }
    /**
     * 新增 地块表
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -88,4 +88,11 @@
     * @return
     */
    List<Integer> getLandIsAreaStatistic(@Param("land") LandVO land);
    /**
     * 根据品种查询对应地块
     * @param strainId 品种id
     * @return
     */
    List<Land> selectByStrainId(String strainId);
}
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -219,4 +219,11 @@
        </if>
    </select>
    <select id="selectByStrainId" resultType="org.springblade.modules.lang.entity.Land">
        SELECT land.id,land.land_name
        FROM sys_land land
            LEFT JOIN sys_farm_product_stock fps ON fps.land_id = land.id
        WHERE fps.strain_id = #{strainId}
    </select>
</mapper>
src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -92,4 +92,11 @@
     * @return
     */
    List<Integer> getLandIsAreaStatistic(LandVO land);
    /**
     * 根据品种id查询地块
     * @param strainId 品种id
     * @return
     */
    List<Land> selectByStrainId(String strainId);
}
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
@@ -118,4 +118,9 @@
    public List<Integer> getLandIsAreaStatistic(LandVO land) {
        return baseMapper.getLandIsAreaStatistic(land);
    }
    @Override
    public List<Land> selectByStrainId(String strainId) {
        return baseMapper.selectByStrainId(strainId);
    }
}