tangzy
2021-10-20 87204491aac135822f96f3fff297ddca400ea8c9
src/main/java/org/springblade/modules/mountainrain/controller/MountainrainController.java
@@ -759,64 +759,64 @@
   }
   /**
    * 土壤湿度计算
    *
    * @return
    */
   @GetMapping("/soleval")
   public R soleval() {
      mountainrainService.soildel();
      int intervals = 31;
      ArrayList passDaysList = new ArrayList<>();
      for (int i = 0; i < intervals; i++) {
         passDaysList.add(getDays(i, false));
      }
      Collections.sort(passDaysList);
      //String s = mountainrainService.selectCode();
      String s = regionWeightService.selectCode();
      String[] split = s.split(",");
      String strArrays = "";
      for (int i = 0; i < split.length; i++) {
         strArrays += "'" + split[i] + "',";
      }
      String code = strArrays.substring(0, strArrays.length() - 1);
      for (int i = 0; i < split.length; i++) {
         Integer num = 30;
         double v1 = 0;
         String stcd = null;
         for (int j = 0; j < passDaysList.size() - 2; j++) {
            List<Map<String, Object>> map = mountainrainService.selectMtwo(passDaysList.get(j).toString(), passDaysList.get(j + 1).toString(), code);
            if (map.size() == 0 || i > map.size() - 1) {
               break;
            }
            BigDecimal w = (BigDecimal) map.get(i).get("drp");
            double drp = w.doubleValue();
            stcd = map.get(i).get("STCD").toString();
            //计算湿度
            if (j == 0) {
               v1 = formatDouble1((num + drp) * 0.85);
               if (v1 > 60) {
                  v1 = 60;
               }
            } else {
               v1 += drp;
               v1 = formatDouble1(v1 * 0.85);
               if (v1 > 60) {
                  v1 = 60;
               }
            }
         }
         if (v1 > 60) {
            mountainrainService.soleInster(stcd, "60");
         } else {
            String a = String.valueOf(v1);
            mountainrainService.soleInster(stcd, a);
         }
      }
      return R.success("成功");
   }
//   /**
//    * 土壤湿度计算
//    *
//    * @return
//    */
//   @GetMapping("/soleval")
//   public R soleval() {
//      mountainrainService.soildel();
//      int intervals = 31;
//      ArrayList passDaysList = new ArrayList<>();
//      for (int i = 0; i < intervals; i++) {
//         passDaysList.add(getDays(i, false));
//      }
//      Collections.sort(passDaysList);
//      //String s = mountainrainService.selectCode();
//      String s = regionWeightService.selectCode();
//      String[] split = s.split(",");
//      String strArrays = "";
//      for (int i = 0; i < split.length; i++) {
//         strArrays += "'" + split[i] + "',";
//      }
//      String code = strArrays.substring(0, strArrays.length() - 1);
//      for (int i = 0; i < split.length; i++) {
//         Integer num = 30;
//         double v1 = 0;
//         String stcd = null;
//         for (int j = 0; j < passDaysList.size() - 2; j++) {
//            List<Map<String, Object>> map = mountainrainService.selectMtwo(passDaysList.get(j).toString(), passDaysList.get(j + 1).toString(), code);
//            if (map.size() == 0 || i > map.size() - 1) {
//               break;
//            }
//            BigDecimal w = (BigDecimal) map.get(i).get("drp");
//            double drp = w.doubleValue();
//            stcd = map.get(i).get("STCD").toString();
//            //计算湿度
//            if (j == 0) {
//               v1 = formatDouble1((num + drp) * 0.85);
//               if (v1 > 60) {
//                  v1 = 60;
//               }
//            } else {
//               v1 += drp;
//               v1 = formatDouble1(v1 * 0.85);
//               if (v1 > 60) {
//                  v1 = 60;
//               }
//            }
//         }
//         if (v1 > 60) {
//            mountainrainService.soleInster(stcd, "60");
//         } else {
//            String a = String.valueOf(v1);
//            mountainrainService.soleInster(stcd, a);
//         }
//      }
//
//      return R.success("成功");
//   }
   public static double formatDouble1(double d) {
      return (double) Math.round(d * 10) / 10;
@@ -1156,11 +1156,13 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohours = mountainrainsCVOS.get(i).getGohours();
                  int i1 = drp1 - gohours;
                  float i1 = (float)drp1 - gohours;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage1", "true");
                  map.put("status", 2);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1173,11 +1175,13 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohour = mountainrainsCVOS.get(i).getGohour();
                  int i1 = drp1 - gohour;
                  float i1 = (float)drp1 - gohour;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage1", "true");
                  map.put("status", 1);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1290,8 +1294,9 @@
            if (drp1 > 30) {
               double v = drp1 - 30;
               double v1 = (double) Math.round(v * 100) / 100;
               String a=String.valueOf(v1);
               map.put("flage1", "true");
               map.put("num", v1);
               map.put("num", a);
            } else {
               map.put("flage1", "false");
            }
@@ -1399,12 +1404,14 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohours()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohours = mountainrainsCVOS.get(i).getGohours();
                  int i1 = drp1 - gohours;
                  float i1 = (float)drp1 - gohours;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage1", "true");
                  map.put("flage3", "false");
                  map.put("status", 2);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthours()) {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1424,12 +1431,14 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGohour()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohour = mountainrainsCVOS.get(i).getGohour();
                  int i1 = drp1 - gohour;
                  float i1 = (float)drp1 - gohour;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage1", "true");
                  map.put("flage3", "false");
                  map.put("status", 1);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else if (mountainrainsCVOS.get(i).getDrp3() > mountainrainsCVOS.get(i).getGthour()) {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1554,7 +1563,7 @@
            double drp1 = w1.doubleValue();
            if (drp1 > 50) {
               double v = drp1 - 50;
               double v1 = (double) Math.round(v * 100) / 100;
               double v1 = (double) Math.round(v * 10) / 10;
               map.put("flage2", "true");
               map.put("num", v1);
            } else {
@@ -1665,11 +1674,13 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthours()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohours = mountainrainsCVOS.get(i).getGohours();
                  int i1 = drp1 - gohours;
                  float i1 = (float)drp1 - gohours;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage3", "true");
                  map.put("status", 2);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1682,11 +1693,13 @@
               if (mountainrainsCVOS.get(i).getDrp1() > mountainrainsCVOS.get(i).getGthour()) {
                  int drp1 = mountainrainsCVOS.get(i).getDrp1();
                  Integer gohour = mountainrainsCVOS.get(i).getGohour();
                  int i1 = drp1 - gohour;
                  float i1 = (float)drp1 - gohour;
                  float v = (float) (Math.round(i1 * 10)) / 10;
                  String a= String.valueOf(v);
                  map.put("List", mountainrainsCVOS.get(i));
                  map.put("flage3", "true");
                  map.put("status", 1);
                  map.put("num", i1);
                  map.put("num", a);
                  lists.add(map);
               } else {
                  map.put("List", mountainrainsCVOS.get(i));
@@ -1798,7 +1811,7 @@
            double drp1 = w1.doubleValue();
            if (drp1 > 80) {
               double v = drp1 - 80;
               double v1 = (double) Math.round(v * 100) / 100;
               double v1 = (double) Math.round(v * 10) / 10;
               map.put("flage3", "true");
               map.put("num", v1);
            } else {
@@ -1880,7 +1893,7 @@
    * 土壤色斑图
    */
   @GetMapping("/selectS")
   public R selectS() {
   public R selectS(String time) {
      List<Map<String, Object>> list = mountainrainService.selectS();
      String fileName = "";
      // 第一步,创建一个webbook,对应一个Excel文件