3.7
fxl
2023-03-07 52cffc4ab8e9787a6f233295502c7c9788dddae1
src/main/java/com/hxzkoa/controller/WarningController.java
@@ -1,5 +1,6 @@
package com.hxzkoa.controller;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
@@ -15,10 +16,16 @@
import org.springframework.web.bind.annotation.ResponseBody;
import com.hxzkoa.json.tb_historyinwarning;
import com.hxzkoa.json.tb_jobhistory;
import com.hxzkoa.json.tb_lixianrecord;
import com.hxzkoa.json.tb_message_history;
import com.hxzkoa.json.tb_permission;
import com.hxzkoa.json.tb_person;
import com.hxzkoa.json.tb_realinwarning;
import com.hxzkoa.json.tb_realkaoqing;
import com.hxzkoa.json.tb_tag;
import com.hxzkoa.json.tb_warning;
import com.hxzkoa.services.LabelService;
import com.hxzkoa.services.WarningService;
import com.hxzkoa.udp.GetNowTime;
import com.hxzkoa.udp.Udp_Out;
@@ -36,6 +43,8 @@
public class WarningController {
   @Autowired
   private WarningService warningService;
   @Autowired
   private LabelService labelService;
   @RequestMapping(value = "/warningSummary.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String warningSummary(HttpServletRequest request) {
@@ -704,4 +713,448 @@
      json.put("dataList", labelManagementList);
      return json.toString();
   }
   @ResponseBody
   @RequestMapping(value = "/warningexport.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String warningexport(HttpServletRequest request, HttpServletResponse response) {
      List<tb_warning> warningSummaryList = warningService.getWarningSummarya();
      String[] rowName = { "序号", "围栏名称", "关联部门", "关联标签", "告警时间", "告警原因", "坐标" };
      List<Object[]> dataList = objectToArray_job(warningSummaryList);
      ExcelUtils excel = new ExcelUtils("告警历史", rowName, dataList);
      OutputStream out;
      String fileName = "";
      try {
         fileName = "Excel-" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
         String filePath2 = request.getServletContext().getRealPath("/") + "hxzk/image/excels/"+fileName;
         out = new FileOutputStream(filePath2);
         excel.export(out);
         out.flush();
         out.close();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return fileName;
   }
   @RequestMapping(value = "/permissionManagement.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String permissionManagement(HttpServletRequest request) {
      String toPage = "forward:/hxzk/warning/permissionManagement.jsp";
      List<tb_tag> labelManagementList = warningService.getPermissionManagement(1);
      List<tb_tag> labelManagementListaa = labelService.getLabelManagementa();
      request.setAttribute("labelManagementList", labelManagementList);
      request.setAttribute("labelManagementListaa", labelManagementListaa);
      int curPage = 1;
      int count = labelService.getLabelManagementCount();
      int minPage = PageUtil.getMinPage(count);
      request.setAttribute("pageList", PageUtil.getPage(minPage));
      request.setAttribute("curPage", curPage);
      return toPage;
   }
   @ResponseBody
   @RequestMapping(value = "/permissionManagement_page.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String permissionManagement_page(HttpServletRequest request) {
      String pageStr = request.getParameter("page");
      String curPageStr = request.getParameter("curPage");
      int count = labelService.getLabelManagementCount();
      int minPage = PageUtil.getMinPage(count);
      int curPage = Integer.parseInt(curPageStr);
      int page = 1;
      if ("pre".equals(pageStr)) {
         if (curPage > 1) {
            page = curPage - 1;
         }
      } else if ("next".equals(pageStr)) {
         if (curPage < minPage) {
            page = curPage + 1;
         }
      } else {
         page = Integer.parseInt(pageStr);
      }
//    List<tb_tag> labelManagementList = labelService.getLabelManagement(page);
      List<tb_tag> labelManagementList = warningService.getPermissionManagement(page);
      List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
      JSONObject json = new JSONObject();
      json.put("dataList", labelManagementList);
      json.put("pageList", pageList);
      json.put("curPage", page);
      return json.toString();
   }
   @ResponseBody
   @RequestMapping(value = "/permissionManagementupdate.do", method = { RequestMethod.POST, RequestMethod.GET })
   public void permissionManagementupdate(HttpServletRequest request) {
      String checkValStr = request.getParameter("tagids");
      String panduan = request.getParameter("checkbox");
      checkValStr = checkValStr.replaceAll("\"", "");
      String[] checkVal = checkValStr.split(",");
      for (int i = 0; i < checkVal.length; i++) {
         warningService.permissionupdate(panduan,checkVal[i]);
         String xieyi = "BSTOCS1,EDITPER,"+checkVal[i]+","+panduan+",END";
         Udp_Out.udp_to_cs(xieyi);
         String person = labelService.findpname(checkVal[i]);
         tb_permission per = new tb_permission();
         per.setType("授权记录");
         per.setName(person);
         per.setTagid(checkVal[i]);
         if (panduan.equals("1")) {
            per.setEvent("授权");
         } else {
            per.setEvent("解权");
         }
         warningService.permission_add(per);
      }
//    for (int i = 0; i < checkVal.length; i++) {
//       String xieyi = "BSTOCS1,DELETETAG," + checkVal[i] + ",END";
//       Udp_Out.udp_to_cs(xieyi);
//    }
   }
   @ResponseBody
   @RequestMapping(value = "findidpermission.do", method = {RequestMethod.POST,RequestMethod.GET})
   public String findidpermission(HttpServletRequest request) {
      JSONObject json = new JSONObject();
      String tagid = request.getParameter("input");
      List<tb_tag> tag = warningService.getPermissionid(tagid);
      json.put("dataList", tag);
      return json.toString();
   }
   @RequestMapping(value = "/permissionManagement2.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String permissionManagement2(HttpServletRequest request) {
      String toPage = "forward:/hxzk/warning/permissionManagement2.jsp";
      List<tb_permission> labelManagementList = warningService.findpermission(1);
      request.setAttribute("labelManagementList", labelManagementList);
      int curPage = 1;
      int count = warningService.getperManagementCount();
      int minPage = PageUtil.getMinPage(count);
      request.setAttribute("pageList", PageUtil.getPage(minPage));
      request.setAttribute("curPage", curPage);
      return toPage;
   }
   @RequestMapping(value = "deletepermission.do", method= {RequestMethod.POST,RequestMethod.GET})
   public void deletepermission(HttpServletRequest request) {
      String checkValStr = request.getParameter("checkVal");
      checkValStr = checkValStr.replaceAll("\"", "");
      String[] checkVal = checkValStr.split(",");
      for (int i = 0; i < checkVal.length; i++) {
         warningService.Warning_deleteper(checkVal[i]);
      }
   }
   @RequestMapping(value = "deletepermission2.do", method= {RequestMethod.POST,RequestMethod.GET})
   public void deletepermission2(HttpServletRequest request) {
      warningService.Warning_deleteper2();
   }
   @ResponseBody
   @RequestMapping(value = "/permission_page.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String permission_page(HttpServletRequest request) {
      String pageStr = request.getParameter("page");
      String curPageStr = request.getParameter("curPage");
      int count = warningService.getperManagementCount();
      int minPage = PageUtil.getMinPage(count);
      int curPage = Integer.parseInt(curPageStr);
      int page = 1;
      if ("pre".equals(pageStr)) {
         if (curPage > 1) {
            page = curPage - 1;
         }
      } else if ("next".equals(pageStr)) {
         if (curPage < minPage) {
            page = curPage + 1;
         }
      } else {
         page = Integer.parseInt(pageStr);
      }
      List<tb_permission> labelManagementList = warningService.findpermission(page);
      List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
      JSONObject json = new JSONObject();
      json.put("dataList", labelManagementList);
      json.put("pageList", pageList);
      json.put("curPage", page);
      return json.toString();
   }
   @ResponseBody
   @RequestMapping(value = "findidpermission2.do", method = {RequestMethod.POST,RequestMethod.GET})
   public String findidpermission2(HttpServletRequest request) {
      JSONObject json = new JSONObject();
      String tagid = request.getParameter("input");
      List<tb_permission> tag = warningService.findidpermission2(tagid);
      json.put("dataList", tag);
      return json.toString();
   }
   @RequestMapping(value="tomessagem.do",method= {RequestMethod.POST,RequestMethod.GET})
   public String tomessagem(HttpServletRequest request) {
      String toPage = "forward:/hxzk/label/messageManagement.jsp";
      List<tb_message_history> mess = warningService.findmessage(1);
      request.setAttribute("dataList", mess);
      int curPage = 1;
      int count = warningService.getmessageManagementCount();
      int minPage = PageUtil.getMinPage(count);
      request.setAttribute("pageList", PageUtil.getPage(minPage));
      request.setAttribute("curPage", curPage);
      return toPage;
   }
   @ResponseBody
   @RequestMapping(value = "/message_page.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String message_page(HttpServletRequest request) {
      String pageStr = request.getParameter("page");
      String curPageStr = request.getParameter("curPage");
      int count = warningService.getmessageManagementCount();
      int minPage = PageUtil.getMinPage(count);
      int curPage = Integer.parseInt(curPageStr);
      int page = 1;
      if ("pre".equals(pageStr)) {
         if (curPage > 1) {
            page = curPage - 1;
         }
      } else if ("next".equals(pageStr)) {
         if (curPage < minPage) {
            page = curPage + 1;
         }
      } else {
         page = Integer.parseInt(pageStr);
      }
      List<tb_message_history> labelManagementList = warningService.findmessage(page);
      List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
      JSONObject json = new JSONObject();
      json.put("dataList", labelManagementList);
      json.put("pageList", pageList);
      json.put("curPage", page);
      return json.toString();
   }
   @ResponseBody
   @RequestMapping(value = "/message_export.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String message_export(HttpServletRequest request, HttpServletResponse response) {
      String toPage = "forward:/hxzk/label/messageManagement.jsp";
      List<tb_message_history> tb_warningList = warningService.findmessage2();
      String[] rowName = { "序号", "标签ID", "接收人", "发送人", "信息", "发送时间", "回复时间", "是否响应"};
      List<Object[]> dataList = objectToArray_warningSummary2(tb_warningList);
      ExcelUtils excel = new ExcelUtils("信息记录", rowName, dataList);
      OutputStream out;
      try {
         String fileName = "Excel-" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
         String headStr = "attachment; filename=\"" + fileName + "\"";
         response.setContentType("APPLICATION/OCTET-STREAM");
         response.setHeader("Content-Disposition", headStr);
         out = response.getOutputStream();
         excel.export(out);
         out.flush();
         out.close();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return toPage;
   }
   @ResponseBody
   @RequestMapping(value = "/message_delete.do", method = { RequestMethod.POST, RequestMethod.GET })
   public void message_delete(HttpServletRequest request) {
      String checkValStr = request.getParameter("checkVal");
      checkValStr = checkValStr.replaceAll("\"", "");
      String[] checkVal = checkValStr.split(",");
      warningService.message_delete(checkVal);
   }
   @ResponseBody
   @RequestMapping(value = "/message_deletea.do", method = { RequestMethod.POST, RequestMethod.GET })
   public void message_deletea(HttpServletRequest request) {
      warningService.message_deletea();
   }
   @ResponseBody
   @RequestMapping(value = "/message_search.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String message_search(HttpServletRequest request) throws IOException {
      JSONObject json = new JSONObject();
      String input = request.getParameter("input");
      if (("").equals(input) || input == null) {
         String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset());
         tb_tag tag = (tb_tag) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_tag.class);
         input = tag.getTag_id();
         List<tb_message_history> warningSummaryList = warningService.findmessage3(input);
         if (warningSummaryList.size()>0){
            json.put("result", warningSummaryList.get(0));
         } else {
            json.put("result", "null");
         }
      } else {
         int curPage = 1;
         List<Integer> pageList = new ArrayList<Integer>();
         List<tb_message_history> warningSummaryList = warningService.findmessage3(input);
         pageList.add(1);
         json.put("dataList", warningSummaryList);
         json.put("pageList", pageList);
         json.put("curPage", curPage);
      }
      return json.toString();
   }
   @RequestMapping(value="tolixian.do",method= {RequestMethod.POST,RequestMethod.GET})
   public String tolixian(HttpServletRequest request) {
      String toPage = "forward:/hxzk/label/lixianManagement.jsp";
      List<tb_lixianrecord> mess = warningService.findlixian(1);
      request.setAttribute("dataList", mess);
      int curPage = 1;
      int count = warningService.getlixianManagementCount();
      int minPage = PageUtil.getMinPage(count);
      request.setAttribute("pageList", PageUtil.getPage(minPage));
      request.setAttribute("curPage", curPage);
      return toPage;
   }
   @ResponseBody
   @RequestMapping(value = "/lixian_page.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String lixian_page(HttpServletRequest request) {
      String pageStr = request.getParameter("page");
      String curPageStr = request.getParameter("curPage");
      int count = warningService.getlixianManagementCount();
      int minPage = PageUtil.getMinPage(count);
      int curPage = Integer.parseInt(curPageStr);
      int page = 1;
      if ("pre".equals(pageStr)) {
         if (curPage > 1) {
            page = curPage - 1;
         }
      } else if ("next".equals(pageStr)) {
         if (curPage < minPage) {
            page = curPage + 1;
         }
      } else {
         page = Integer.parseInt(pageStr);
      }
      List<tb_lixianrecord> labelManagementList = warningService.findlixian(page);
      List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
      JSONObject json = new JSONObject();
      json.put("dataList", labelManagementList);
      json.put("pageList", pageList);
      json.put("curPage", page);
      return json.toString();
   }
   @ResponseBody
   @RequestMapping(value = "/lixian_export.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String lixian_export(HttpServletRequest request, HttpServletResponse response) {
      String toPage = "forward:/hxzk/label/lixianManagement.jsp";
      List<tb_lixianrecord> tb_warningList = warningService.findlixian2();
      String[] rowName = { "序号", "标签ID", "姓名", "部门", "时长/S", "记录时间"};
      List<Object[]> dataList = objectToArray_warningSummary3(tb_warningList);
      ExcelUtils excel = new ExcelUtils("离线告警", rowName, dataList);
      OutputStream out;
      try {
         String fileName = "Excel-" + String.valueOf(System.currentTimeMillis()).substring(4, 13) + ".xls";
         String headStr = "attachment; filename=\"" + fileName + "\"";
         response.setContentType("APPLICATION/OCTET-STREAM");
         response.setHeader("Content-Disposition", headStr);
         out = response.getOutputStream();
         excel.export(out);
         out.flush();
         out.close();
      } catch (Exception e) {
         e.printStackTrace();
      }
      return toPage;
   }
   @ResponseBody
   @RequestMapping(value = "/lixian_delete.do", method = { RequestMethod.POST, RequestMethod.GET })
   public void lixian_delete(HttpServletRequest request) {
      String checkValStr = request.getParameter("checkVal");
      checkValStr = checkValStr.replaceAll("\"", "");
      String[] checkVal = checkValStr.split(",");
      warningService.lixian_delete(checkVal);
   }
   @ResponseBody
   @RequestMapping(value = "/lixian_deletea.do", method = { RequestMethod.POST, RequestMethod.GET })
   public void lixian_deletea(HttpServletRequest request) {
      warningService.lixian_deletea();
   }
   @ResponseBody
   @RequestMapping(value = "/lixian_search.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String lixian_search(HttpServletRequest request) throws IOException {
      JSONObject json = new JSONObject();
      String input = request.getParameter("input");
      if (("").equals(input) || input == null) {
         String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset());
         tb_tag tag = (tb_tag) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_tag.class);
         input = tag.getTag_id();
         List<tb_lixianrecord> warningSummaryList = warningService.findlixian3(input);
         if (warningSummaryList.size()>0){
            json.put("result", warningSummaryList.get(0));
         } else {
            json.put("result", "null");
         }
      } else {
         int curPage = 1;
         List<Integer> pageList = new ArrayList<Integer>();
         List<tb_lixianrecord> warningSummaryList = warningService.findlixian3(input);
         pageList.add(1);
         json.put("dataList", warningSummaryList);
         json.put("pageList", pageList);
         json.put("curPage", curPage);
      }
      return json.toString();
   }
   // 作业信息 导出表格 对象转数组
         public static List<Object[]> objectToArray_job(List<tb_warning> history_powerList) {
            List<Object[]> reList = new ArrayList<>();
            for (int i = 0; i < history_powerList.size(); i++) {
               List<String> words = new ArrayList<String>();
               tb_warning history_power = (tb_warning) history_powerList.get(i);
               words.add(history_power.getId() + "");
               words.add(history_power.getBaoliu2());
               words.add(history_power.getBaoliu3());
               words.add(history_power.getObjectid());
               words.add(history_power.getTime());
               words.add(history_power.getType());
               words.add(history_power.getBaoliu1());
               String[] array = words.toArray(new String[0]);
               reList.add(array);
            }
            return reList;
         }
         public static List<Object[]> objectToArray_warningSummary2(List<tb_message_history> tb_warningList) {
            List<Object[]> reList = new ArrayList<>();
            for (int i = 0; i < tb_warningList.size(); i++) {
               List<String> words = new ArrayList<String>();
               tb_message_history warn = tb_warningList.get(i);
               words.add(warn.getId() + "");
               words.add(warn.getTagid());
               words.add(warn.getBaoliu1());
               words.add(warn.getUsername());
               words.add(warn.getInfo());
               words.add(warn.getSendtime());
               words.add(warn.getReplytime());
               words.add(warn.getBaoliu2());
               String[] array = words.toArray(new String[0]);
               reList.add(array);
            }
            return reList;
         }
         public static List<Object[]> objectToArray_warningSummary3(List<tb_lixianrecord> tb_warningList) {
            List<Object[]> reList = new ArrayList<>();
            for (int i = 0; i < tb_warningList.size(); i++) {
               List<String> words = new ArrayList<String>();
               tb_lixianrecord warn = tb_warningList.get(i);
               words.add(warn.getId() + "");
               words.add(warn.getTagid());
               words.add(warn.getName());
               words.add(warn.getBumen());
               words.add(warn.getPhone());
               words.add(warn.getTime());
               String[] array = words.toArray(new String[0]);
               reList.add(array);
            }
            return reList;
         }
}