智慧农业后台管理
tangzy
2022-06-11 8bdbba337b312e8d5b5769f945236b9b5472ebc2
src/main/java/org/springblade/modules/lang/controller/LandController.java
@@ -32,6 +32,8 @@
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.system.entity.DictBiz;
import org.springblade.modules.system.service.IDictBizService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -60,6 +62,7 @@
public class LandController extends BladeController {
   private final ILandService landService;
   private final IDictBizService dictService;
   /**
    * 详情
@@ -244,8 +247,7 @@
         if (unit.equals("1")){
            double v = area1 * 0.1;
            num+=v;
         }
         else {
         } else {
            double v = area1 *0.0015;
            num+=v;
         }
@@ -265,25 +267,115 @@
         if (unit.equals("1")){
            double v = area1 * 0.1;
            snum+=v;
         }
         else {
         } else {
            double v = area1 *0.0015;
            snum+=v;
         }
      }
      //品种数量
      int size = list1.size();
      Map map = new HashMap();
      //地块使用率
      if(snum!=0.0|| num!=0.0){
      double v = snum / num;
      double v1 = v * 100;
      DecimalFormat df = new DecimalFormat("#0.00");
      String format = df.format(v1);
      Double a=Double.parseDouble(format);
      Map map =new HashMap();
      map.put("rate",a);
      map.put("zarea",(double) Math.round(num * 100) / 100);
      map.put("sarea",(double) Math.round(snum * 100) / 100);
      map.put("num",size);
      }
      else {
         map.put("rate", 0.0);
         map.put("zarea", 0.0);
         map.put("sarea", 0.0);
         map.put("num", size);
      }
      return R.data(map);
   }
   /**
    * 大屏地块统计接口
    */
   @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();
      //总面积
      Double num = 0.0;
      for (int i = 0; i < list.size(); i++) {
         //面积
         String area = list.get(i).get("area").toString();
         //单位
         String unit = list.get(i).get("unit").toString();
         Double area1 = Double.parseDouble(area);
         //面积单位(0: 亩 1:分 2:平方米)
         if (unit.equals("0")) {
            num += area1;
         }
         if (unit.equals("1")) {
            double v = area1 * 0.1;
            num += v;
         } else {
            double v = area1 * 0.0015;
            num += v;
         }
      }
      //使用面积
      Double snum = 0.0;
      for (int i = 0; i < lists.size(); i++) {
         //面积
         String area = lists.get(i).get("area").toString();
         //单位
         String unit = lists.get(i).get("unit").toString();
         Double area1 = Double.parseDouble(area);
         //面积单位(0: 亩 1:分 2:平方米)
         if (unit.equals("0")) {
            snum += area1;
         }
         if (unit.equals("1")) {
            double v = area1 * 0.1;
            snum += v;
         } else {
            double v = area1 * 0.0015;
            snum += v;
         }
      }
      //未使用面积
      Double wnum = 0.0;
      for (int i = 0; i < listw.size(); i++) {
         //面积
         String area = listw.get(i).get("area").toString();
         //单位
         String unit = listw.get(i).get("unit").toString();
         Double area1 = Double.parseDouble(area);
         //面积单位(0: 亩 1:分 2:平方米)
         if (unit.equals("0")) {
            wnum += area1;
         }
         if (unit.equals("1")) {
            double v = area1 * 0.1;
            wnum += v;
         } else {
            double v = area1 * 0.0015;
            wnum += v;
         }
      }
      //品种数量
      int size = list1.size();
      //农资种类
      List<DictBiz> tree = dictService.getList("stockType");
      int size1 = tree.size();
      Map map = new HashMap();
      map.put("num", num);
      map.put("snum", snum);
      map.put("wnum", wnum);
      map.put("zynum", size);
      map.put("nznum", size1);
      return R.data(map);
   }