智慧农业后台管理
tangzy
2022-07-18 a6cc72176607a0950cbae2f0ff97d49e5725efd4
地块
6 files modified
97 ■■■■■ changed files
src/main/java/org/springblade/modules/lang/controller/LandController.java 68 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/ILandService.java 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml 7 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -148,12 +148,12 @@
                v1 = (double) Math.round(area * 100) / 100;
            }
            land.setLandArea(String.valueOf(v1));
        }else {
        } else {
            land.setLandArea("0");
        }
        //图片转换上传
        if (null!=land.getUrl() && !land.getUrl().equals("")){
        if (null != land.getUrl() && !land.getUrl().equals("")) {
            try {
                //上传
                String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -209,7 +209,7 @@
        }
        //图片转换上传
        if (null!=land.getUrl() && !land.getUrl().equals("")){
        if (null != land.getUrl() && !land.getUrl().equals("")) {
            try {
                //上传
                String url = ossEndpoint.uploadBase64String(land.getUrl());
@@ -221,6 +221,61 @@
        }
        land.setLandArea(String.valueOf(v1));
        land.setType(1);
        return R.status(landService.updateLandById(land));
    }
    /**
     * 地块详情页面修改地块面积
     */
    @PostMapping("/updateLandAr")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入land")
    public R updateLandAr(@Valid @RequestBody Land land) {
        String range = land.getLandRange();
        //坐标转换
        if (null != land.getLandRange() && !land.getLandRange().equals("")) {
            //替换逗号为空格
            String sNull = land.getLandRange().replaceAll(",", " ");
            //替换分号为逗号
            String replaceAll = sNull.replaceAll(";", ",");
            land.setLandRange("'POLYGON((" + replaceAll + "))'");
        }
        List<Point2D.Double> points = new ArrayList<Point2D.Double>();
        double v1;
        String landRange = range;
        String[] s1 = landRange.split(";");
        for (String ss : s1) {
            String[] temp = ss.split(",");
            Point2D.Double point = new Point2D.Double(Double.parseDouble(temp[0]),
                Double.parseDouble(temp[1]));
            points.add(point);
        }
        PolyginArea tp = new PolyginArea();
        double area = tp.getAreaByxy(points);
        Integer landUnit = land.getLandUnit();
        //(0: 亩  1:分  2:平方米
        if (landUnit == 0) {
            double v = area * 0.0015;
            v1 = (double) Math.round(v * 100) / 100;
        } else if (landUnit == 1) {
            double v = area * 0.015;
            v1 = (double) Math.round(v * 100) / 100;
        } else {
            v1 = (double) Math.round(area * 100) / 100;
        }
        //图片转换上传
        if (null != land.getUrl() && !land.getUrl().equals("")) {
            try {
                //上传
                String url = ossEndpoint.uploadBase64String(land.getUrl());
                //回填url
                land.setUrl(url);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        land.setLandArea(String.valueOf(v1));
        return R.status(landService.updateLandById(land));
    }
@@ -256,6 +311,7 @@
    /**
     * 地块列表(不分页)
     *
     * @param land
     * @return
     */
@@ -317,7 +373,7 @@
        int size = list1.size();
        Map map = new HashMap();
        //地块使用率
        if(snum!=0.0|| num!=0.0){
        if (snum != 0.0 || num != 0.0) {
            double v = snum / num;
            double v1 = v * 100;
            DecimalFormat df = new DecimalFormat("#0.00");
@@ -327,8 +383,7 @@
            map.put("zarea", (double) Math.round(num * 100) / 100);
            map.put("sarea", (double) Math.round(snum * 100) / 100);
            map.put("num", size);
        }
        else {
        } else {
            map.put("rate", 0.0);
            map.put("zarea", 0.0);
            map.put("sarea", 0.0);
@@ -339,6 +394,7 @@
    /**
     * 大屏地块统计接口
     *
     * @param land 农场
     * @return
     */
src/main/java/org/springblade/modules/lang/mapper/LandMapper.java
@@ -63,6 +63,7 @@
     * @return
     */
    int updateLandById(@Param("land") Land land);
    int updateLandAr(@Param("land") Land land);
    List selectLandList(String userid);
src/main/java/org/springblade/modules/lang/mapper/LandMapper.xml
@@ -17,6 +17,7 @@
    <select id="selectLandPage" resultMap="landResultMap">
        SELECT l.land_name,
        l.land_unit,
        l.id,
        l.land_area ,
        ST_ASTEXT(land_range) as land_range,
@@ -139,6 +140,16 @@
        where id = #{land.id}
    </update>
    <update id="updateLandAr">
        update sys_land set user_id = #{land.userId},
        land_area = #{land.landArea},
        <if test="land.landRange!=null and land.landRange!=''">
            land_range = ST_GeomFromText(${land.landRange}),
        </if>
        url = #{land.url},
        where id = #{land.id}
    </update>
    <select id="selectLandList" resultType="java.util.HashMap">
        select id, land_name as landName
        from sys_land
src/main/java/org/springblade/modules/lang/service/ILandService.java
@@ -61,6 +61,7 @@
     * @return
     */
    boolean updateLandById(Land land);
    boolean updateLandAr(Land land);
    /**
     * 地块列表
src/main/java/org/springblade/modules/lang/service/impl/LandServiceImpl.java
@@ -66,6 +66,15 @@
    }
    @Override
    public boolean updateLandAr(Land land) {
        int i =baseMapper.updateLandAr(land);
        if (i > 0) {
            return true;
        }
        return false;
    }
    @Override
    public List selectLandList(String userid) {
        return baseMapper.selectLandList(userid);
    }
src/main/java/org/springblade/modules/process/mapper/ProcessMapper.xml
@@ -22,8 +22,10 @@
    <select id="selectProcessPage" resultMap="processResultMap">
        SELECT p.*,
        m.machining_type as processName,
        SELECT p.strain_id,
        p.land_id,
        SUM(p.process_num) as process_num,
        m.machining_type AS processName,
        m.machining_tp AS tpurl
        FROM sys_process p
        LEFT JOIN sys_machining m ON m.id = p.process_id
@@ -32,6 +34,7 @@
        <if test="process.farmId!=null and process.farmId!=''">
            and sl.farm_id = #{process.farmId}
        </if>
        GROUP BY p.strain_id,m.machining_type,m.machining_tp,p.land_id
    </select>
</mapper>