南昌市物联网技防平台-后台
Administrator
2021-03-20 d5b43ef0da42eaf50a08ce17e5fd3351eeb26a5e
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/alarm/controller/AlarmController.java
@@ -31,6 +31,14 @@
import org.springblade.jfpt.alarm.service.IAlarmService;
import org.springblade.jfpt.alarm.vo.AlarmVO;
import org.springblade.jfpt.alarm.wrapper.AlarmWrapper;
import org.springblade.jfpt.animalheat.service.AnimalHeatService;
import org.springblade.jfpt.healthcode.service.IhealthcodeService;
import org.springblade.jfpt.operation.entity.Operation;
import org.springblade.jfpt.operation.service.IOperationService;
import org.springblade.jfpt.operation.vo.OperationVO;
import org.springblade.jfpt.parcel.service.ParcelService;
import org.springblade.jfpt.parcel.util.DateUtils;
import org.springblade.jfpt.parcel.vo.ConditionVo;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
@@ -52,6 +60,14 @@
public class AlarmController extends BladeController {
   private final IAlarmService alarmService;
   private final AnimalHeatService animalHeatService;
   private final IOperationService operationService;
   private IhealthcodeService ihealthcodeService;
   private ParcelService parcelService;
   /**
    * 详情
@@ -152,7 +168,16 @@
      if (alarm.getAlarmTime() != null && alarm.getAlarmTime().equals("")){
         alarm.setAlarmTime(null);
      }
      return R.status(alarmService.saveOrUpdate(alarm));
      if (alarm.getCid() != null && alarm.getCid().equals("")){
         alarm.setCid("0");
      }
      return null;
      //return R.status(alarmService.saveOrUpdate(alarm));
   }
@@ -275,7 +300,7 @@
      SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//设置日期格式
      String time = df.format(new Date());// new Date()为获取当前系统时间
      ArrayList<String> strings = pastDay(time);
      String[] str={"内部","周边","挟持","救护","旁路","火警","紧急","出入","防拆"};
      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>();
@@ -285,32 +310,32 @@
            Object waringType = list.get(i).get("waringType");
            String wname = waringType.toString();
            switch(wname){
               case "内部" :
                  map.put("内部",list.get(i).get("cou"));
               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"));
               case "盗警" :
                  map.put("盗警",list.get(i).get("cou"));
                  break;
               case "出入" :
                  map.put("出入",list.get(i).get("cou"));
               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"));
                  map.put("未知",list.get(i).get("cou"));
            }
         }
         lists.add(map);
@@ -320,6 +345,8 @@
      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);
@@ -327,6 +354,68 @@
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
      String result = format.format(today);
      return result;
   }
   /**
    * 主动报警统计   饼图展示
    * @param response
    * @param conditionVo status 0:本日   1:本月  2:本月
    * @return
    */
   @GetMapping("/selectAlarmSum")
   public R selectAlarmSum(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");
      //返回数据
      return R.data(alarmService.selectAlarmSum(conditionVo));
   }
   /**
    * 一周警情统计(主动报警+被动报警类型(体温异常,红码,违禁品))  2021-3-16 arsn  柱状图展示
    * @param response
    * @return
    */
   @GetMapping("/selectAlertScount")
   public R selectAlertScount(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");
      //创建类型,时间对象,分别存取类型,时间数据
      Map<String, Object> map = new HashMap<>();
      List<String> types = new ArrayList<>();
      List<String> times = new ArrayList<>();
      List<Map<String, Object>> dataList = new ArrayList<>();
      //获取类型集合数据
      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);
      map.put("types",types);
      map.put("times",times);
      map.put("dataList",dataList);
      //返回数据
      return R.data(map);
   }
   /**
@@ -348,15 +437,18 @@
   /**
    * 修改警情类型
    * 修改警情类型/同时修改人员状态
    */
   @PostMapping("/updateJtype")
   public R updateJtype(String id, String czTime, String bz, HttpServletResponse response) {
   public R updateJtype(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");
      alarmService.updateJtype(id,czTime,bz);
      alarmService.updateJtype(operation.getJid(),operation.getJtype(),operation.getBz(),operation.getZctime());
      alarmService.updatePoliceStatus(operation.getRid(),"0");
      operationService.save(operation);
      return R.success("修改成功");
   }
}