智慧农业后台管理
Administrator
2022-07-13 9d1892790a7a18d18c19b8b1cf643056d1547f01
src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -32,6 +32,7 @@
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.farm.entity.Farm;
import org.springblade.modules.farm.vo.FarmVO;
import org.springblade.modules.resource.endpoint.OssEndpoint;
import org.springblade.modules.system.entity.DictBiz;
import org.springblade.modules.system.service.IDictBizService;
import org.springframework.web.bind.annotation.*;
@@ -63,6 +64,7 @@
   private final ILandService landService;
   private final IDictBizService dictService;
   private final OssEndpoint ossEndpoint;
   /**
    * 详情
@@ -121,31 +123,47 @@
         //替换分号为逗号
         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;
         }
         land.setLandArea(String.valueOf(v1));
      }else {
         land.setLandArea("0");
      }
      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);
      //图片转换上传
      if (null!=land.getUrl() && !land.getUrl().equals("")){
         try {
            //上传
            String url = ossEndpoint.uploadBase64String(land.getUrl());
            //回填url
            land.setUrl(url);
         } catch (Exception e) {
            e.printStackTrace();
         }
      }
      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;
      }
      land.setLandArea(String.valueOf(v1));
      land.setType(1);
      return R.status(landService.saveLandInfo(land));
   }
@@ -189,6 +207,18 @@
      } 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));
      land.setType(1);
      return R.status(landService.updateLandById(land));
@@ -225,13 +255,24 @@
   /**
    * 地块列表(不分页)
    * @param land
    * @return
    */
   @GetMapping("/getLandList")
   public R getLandList(LandVO land) {
      return R.data(landService.getLandList(land));
   }
   /**
    * 首页地块统计接口
    */
   @GetMapping("/selectCount")
   public R selectCount() {
      List<Map<String, Object>> list = landService.selectZAre();
      List<Map<String, Object>> lists = landService.selectSAre();
      List list1 = landService.selectNum();
   public R selectCount(String deptId) {
      List<Map<String, Object>> list = landService.selectZAre(deptId);
      List<Map<String, Object>> lists = landService.selectSAre(deptId);
      List list1 = landService.selectNum(deptId);
      //总面积
      Double num = 0.0;
      for (int i = 0; i < list.size(); i++) {
@@ -298,13 +339,15 @@
   /**
    * 大屏地块统计接口
    * @param framId 农场id
    * @return
    */
   @GetMapping("/selectXCount")
   public R selectXCount() {
      List<Map<String, Object>> list = landService.selectZAre();
      List<Map<String, Object>> lists = landService.selectSAre();
      List<Map<String, Object>> listw = landService.selectWAre();
      List list1 = landService.selectNum();
   public R selectXCount(String framId) {
      List<Map<String, Object>> list = landService.selectZAre(framId);
      List<Map<String, Object>> lists = landService.selectSAre(framId);
      List<Map<String, Object>> listw = landService.selectWAre(framId);
      List list1 = landService.selectNum(framId);
      //总面积
      Double num = 0.0;
      for (int i = 0; i < list.size(); i++) {