南昌市物联网技防平台-后台
Administrator
2021-04-07 eb3440d7c0c7baef5e6fc888fd0076b1787643d9
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -22,6 +22,7 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.aspectj.weaver.patterns.Declare;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@@ -176,8 +177,8 @@
      return null;
      //return R.status(alarmService.saveOrUpdate(alarm));
      //return null;
      return R.status(alarmService.saveOrUpdate(alarm));
   }
@@ -380,7 +381,7 @@
    * @return
    */
   @GetMapping("/selectAlertScount")
   public R selectAlertScount(HttpServletResponse response) {
   public R selectAlertScount(HttpServletResponse response,ConditionVo conditionVo) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
@@ -392,25 +393,48 @@
      //获取类型集合数据
      String [] type = {"一键求助","违禁品","红色健康码","体温异常"};
      types = Arrays.asList(type);
      //获取时间集合数据(今天及今天之前6天的日期)
      times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
      //1.统计7天内一键求助警情数量数据    3-20 修改展示紧急求助
      Map<String,Object> alarmData = alarmService.selectAlarmData();
      alarmData.put("name","一键求助");
      //2.统计7天内违禁品的数量数据
      Map<String,Object> parcelData = parcelService.selectParcelData();
      parcelData.put("name","违禁品");
      //3.统计7天内红色健康码人数数量数据
      Map<String,Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
      healthcodeData.put("name","红色健康码");
      //4.统计7天内体温异常人数数量数据
      Map<String,Object> animalData = animalHeatService.selectAnimalData();
      animalData.put("name","体温异常");
      //封装数据
      dataList.add(alarmData);
      dataList.add(parcelData);
      dataList.add(healthcodeData);
      dataList.add(animalData);
      if (null!=conditionVo){
         //获取时间集合数据
         times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime());
         //1.统计时间段内一键求助警情数量数据    3-20 修改展示紧急求助
         Map<String, Object> alarmData = alarmService.selectAlarmData();
         alarmData.put("name", "一键求助");
         //2.统计时间段内违禁品的数量数据
         Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
         parcelData.put("name", "违禁品");
         //3.统计时间段内红色健康码人数数量数据
         Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
         healthcodeData.put("name", "红色健康码");
         //4.统计时间段内体温异常人数数量数据
         Map<String, Object> animalData = animalHeatService.selectAnimalData();
         animalData.put("name", "体温异常");
         //封装数据
         dataList.add(alarmData);
         dataList.add(parcelData);
         dataList.add(healthcodeData);
         dataList.add(animalData);
      }else {
         //获取时间集合数据(今天及今天之前6天的日期)
         times = DateUtils.pastDay(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
         //1.统计7天内一键求助警情数量数据    3-20 修改展示紧急求助
         Map<String, Object> alarmData = alarmService.selectAlarmData();
         alarmData.put("name", "一键求助");
         //2.统计7天内违禁品的数量数据
         conditionVo.setStatus(1);
         Map<String, Object> parcelData = parcelService.selectParcelData(conditionVo);
         parcelData.put("name", "违禁品");
         //3.统计7天内红色健康码人数数量数据
         Map<String, Object> healthcodeData = ihealthcodeService.selectHealthcodeData();
         healthcodeData.put("name", "红色健康码");
         //4.统计7天内体温异常人数数量数据
         Map<String, Object> animalData = animalHeatService.selectAnimalData();
         animalData.put("name", "体温异常");
         //封装数据
         dataList.add(alarmData);
         dataList.add(parcelData);
         dataList.add(healthcodeData);
         dataList.add(animalData);
      }
      map.put("types",types);
      map.put("times",times);
      map.put("dataList",dataList);
@@ -444,11 +468,139 @@
      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(operation.getJid(),operation.getJtype(),operation.getBz(),operation.getZctime());
      alarmService.updateJtype(operation.getJid(),operation.getJtype(),operation.getBz());
      alarmService.updatePoliceStatus(operation.getRid(),"0");
      operationService.save(operation);
      return R.success("修改成功");
   }
   /**
    * 查询所有保安信息
    */
   @PostMapping("/queryBa")
   public R queryBa(OperationVO operation, 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");
      return R.data(alarmService.queryBa());
   }
   /**
    * 统计预警设备数量
    * @param response
    * @return
    */
   @GetMapping("/selectEq")
   public R selectEq(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<>();
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
      String time = df.format(new Date());// new Date()为获取当前系统时间
      ArrayList<String> strings = pastDay(time);
      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.selectEq(strings.get(j));
         map.put("time",strings.get(j));
         map.put("Coun",list.size());
         lists.add(map);
      }
      return R.data(lists);
   }
   /**
    * 警情日平均占比
    * @param response 跨域配置
    * @param conditionVo 条件
    * @return
    */
   @GetMapping("/selAlarmDayAveragePro")
   public R selAlarmDayAveragePro(HttpServletResponse response,ConditionVo conditionVo) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      List<Integer> list = new ArrayList<>();
      //获取时间天数
      if (null!= conditionVo.getStartTime() && conditionVo.getStartTime()!=""
         && null!=conditionVo.getEndTime() && conditionVo.getEndTime()!="") {
         int times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime()).size();
         //查询当前时间段一键求助报警总次数
         int alarmTimeCount = alarmService.selAlarmTimeCount(conditionVo);
         //查询当前时间段违禁品总个数
         int parcelTimeCount = parcelService.selParcelTimeCount(conditionVo);
         //查询当前时间段红色健康码总个数
         int healthcodeTimeCount = ihealthcodeService.selHealthcodeTimeCount(conditionVo);
         //查询当前时间段体温异常总次数
         int animalTimeCount = animalHeatService.selAnimalTimeCount(conditionVo);
         //封装数据
         list.add(alarmTimeCount);
         list.add(parcelTimeCount);
         list.add(healthcodeTimeCount);
         list.add(animalTimeCount);
         //返回数据
         return R.data(list);
      }
      return null;
   }
   /**
    * 一键求助报警确认时间占比
    * @param response 跨域配置
    * @param conditionVo 条件
    * @return
    */
   @GetMapping("/selConfirmTimePro")
   public R selConfirmTimePro(HttpServletResponse response,ConditionVo conditionVo){
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      if (null!= conditionVo.getStartTime() && conditionVo.getStartTime()!=""
         && null!=conditionVo.getEndTime() && conditionVo.getEndTime()!="") {
         return R.data(alarmService.selConfirmTimePro(conditionVo));
      }
      return null;
   }
   /**
    * 警情时间分布   0-2  2-4  4-6 6-8 ....  22-24
    * @param response 跨域配置
    * @param conditionVo 条件
    * @return
    */
   @GetMapping("/selAlarmTimeDis")
   public R selAlarmTimeDis(HttpServletResponse response,ConditionVo conditionVo) {
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Allow-Credentials","true");
      Map<String, Object> map = new HashMap<>();
      //获取时间天数
      if (null!= conditionVo.getStartTime() && conditionVo.getStartTime()!=""
         && null!=conditionVo.getEndTime() && conditionVo.getEndTime()!="") {
         int times = DateUtils.getTimeOverOneDate(conditionVo.getStartTime(), conditionVo.getEndTime()).size();
         //查询当前时间段区间时间一键求助报警个数
         List<Integer> alarmTimeDis = alarmService.selAlarmTimeDis(conditionVo);
         //查询当前时间段区间时间违禁品个数
         List<Integer> parcelTimeDis = parcelService.selParcelTimeDis(conditionVo);
         //查询当前时间段区间时间红色健康码个数
         List<Integer> healthcodeTimeDis = ihealthcodeService.selHealthcodeTimeDis(conditionVo);
         //查询当前时间段区间时间体温异常次数
         List<Integer> animalTimeDis = animalHeatService.selAnimalTimeDis(conditionVo);
         //封装数据
         map.put("alarmTimeDis",alarmTimeDis);
         map.put("parcelTimeDis",parcelTimeDis);
         map.put("healthcodeTimeDis",healthcodeTimeDis);
         map.put("animalTimeDis",animalTimeDis);
         //返回数据
         return R.data(map);
      }
      return null;
   }
}