nnnjjj123
2021-01-28 71b6b716361c52af290493d365a328fc1a3467e2
src/main/java/org/springblade/modules/alarm/controller/AlarmController.java
@@ -37,8 +37,9 @@
import org.springblade.modules.alarm.service.IAlarmService;
import org.springblade.core.boot.ctrl.BladeController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.*;
/**
 *  控制器
@@ -192,4 +193,141 @@
      return R.success("删除成功");
   }
   /**
    * 获取过去第几天的日期
    *
    * @param past
    * @return
    */
   public static String getPastDate(int past,Date date) {
      Calendar calendar = Calendar.getInstance();
      calendar.setTime(date);
      calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - past);
      Date today = calendar.getTime();
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      String result = sdf.format(today);
      return result;
   }
   /**
    * 获取过去7天内的日期数组
    * @return  日期数组
    */
   public static ArrayList<String> pastDay(String time){
      ArrayList<String> pastDaysList = new ArrayList<>();
      try {
         //我这里传来的时间是个string类型的,所以要先转为date类型的。
         SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd");
         Date date = sdf.parse(time);
         for (int i = 6; i >= 0; i--) {
            pastDaysList.add(getPastDate(i,date));
         }
      }catch (ParseException e){
         e.printStackTrace();
      }
      return pastDaysList;
   }
   /**
    * 按接警类型统计树状图
    * @param response
    * @return
    */
   @GetMapping("/selectScount")
   public R selectScount(HttpServletResponse response) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      List<Map<String, Object>> lists = new ArrayList<>();
      List<Map<String, Object>> listc = new ArrayList<>();
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
      String time = df.format(new Date());// new Date()为获取当前系统时间
      ArrayList<String> strings = pastDay(time);
      String[] str={"内部","周边","挟持","救护","旁路","火警","紧急","出入","防拆"};
      Map<String, Object> maps = new HashMap<String, Object>();
      for (int j=0;j<strings.size();j++){
         Map<String, Object> map = new HashMap<String, Object>();
         List<Map<String, Object>> list = alarmService.selectScount(strings.get(j));
         map.put("time",strings.get(j));
         for (int i=0;i<list.size();i++){
            Object waringType = list.get(i).get("waringType");
            String wname = waringType.toString();
            switch(wname){
               case "内部" :
                  map.put("内部",list.get(i).get("cou"));
                  break; //可选
               case "周边" :
                  map.put("周边",list.get(i).get("cou"));
                  break; //可选
               case "挟持" :
                  map.put("挟持",list.get(i).get("cou"));
                  break;
               case "救护" :
                  map.put("救护",list.get(i).get("cou"));
                  break;
               case "旁路" :
                  map.put("旁路",list.get(i).get("cou"));
                  break;
               case "火警" :
                  map.put("火警",list.get(i).get("cou"));
                  break;
               case "紧急" :
                  map.put("紧急",list.get(i).get("cou"));
                  break;
               case "出入" :
                  map.put("出入",list.get(i).get("cou"));
                  break;
               default :
                  map.put("防拆",list.get(i).get("cou"));
            }
         }
         lists.add(map);
      }
      maps.put("lists",lists);
      maps.put("type",str);
      listc.add(maps);
      return R.data(listc);
   }
   public static String getPastDate(int past) {
      Calendar calendar = Calendar.getInstance();
      calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
      Date today = calendar.getTime();
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
      String result = format.format(today);
      return result;
   }
   /**
    * 查询7天内数据
    * @param response
    * @return
    */
   @GetMapping("/selectListSe")
   public R selectListSe(HttpServletResponse response) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
      String time = df.format(new Date());// new Date()为获取当前系统时间
      String pastDate = getPastDate(7);
      List<AlarmVO> alarmVOS = alarmService.selectListSe(pastDate, time);
      for (int i=0;i<alarmVOS.size();i++){
      }
      return R.data(alarmVOS);
   }
   /**
    * 修改警情类型
    */
   @PostMapping("/updateJtype")
   public R updateJtype(String id,String czTime,String bz,String jjTime,HttpServletResponse response) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      alarmService.updateJtype(id,czTime,bz,jjTime);
      return R.success("修改成功");
   }
}