3.7
fxl
2023-03-07 52cffc4ab8e9787a6f233295502c7c9788dddae1
src/main/java/com/hxzkoa/controller/ShowController.java
@@ -3,12 +3,16 @@
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.hibernate.dialect.function.VarArgsSQLFunction;
import org.springframework.beans.factory.annotation.Autowired;
@@ -18,16 +22,23 @@
import org.springframework.web.bind.annotation.ResponseBody;
import com.hxzkoa.json.tb_achor;
import com.hxzkoa.json.tb_department;
import com.hxzkoa.json.tb_login;
import com.hxzkoa.json.tb_person;
import com.hxzkoa.json.tb_shebei;
import com.hxzkoa.json.tb_shishi;
import com.hxzkoa.json.tb_system;
import com.hxzkoa.json.tb_tag;
import com.hxzkoa.json.tb_user;
import com.hxzkoa.json.vo_kaoqin_p;
import com.hxzkoa.services.AnchorService;
import com.hxzkoa.services.AttendanceService;
import com.hxzkoa.services.BasicInfoService;
import com.hxzkoa.services.LabelService;
import com.hxzkoa.services.LoginService;
import com.hxzkoa.services.SysSettingService;
import com.hxzkoa.services.WarningService;
import com.hxzkoa.services.ZhwService;
/*import com.hxzkoa.udp.Udp_Receive;*/
import com.hxzkoa.util.Config;
import com.hxzkoa.util.HttpUtil;
@@ -47,6 +58,12 @@
   private WarningService warningService;
   @Autowired
   private SysSettingService sysSettingService;
   @Autowired
   private LoginService loginService;
   @Autowired
   private ZhwService zhwService;
   @Autowired
   private BasicInfoService basicInfoService;
   
   /* Udp_Receive receive; */
   
@@ -71,6 +88,22 @@
   @RequestMapping(value = "/show.do", method = { RequestMethod.POST, RequestMethod.GET })
   public String show(HttpServletRequest request) {
//    tb_user user = loginService.login("超级管理员");
      HttpSession session = request.getSession();
//    ServletContext application = session.getServletContext();
//    application.setAttribute("username", user.getUsername());
//    application.setAttribute("password", user.getPassword());
//    application.setAttribute("superuser", user.getSuperuser());
//    application.setAttribute("deleteq", user.getDeleteq());
//    application.setAttribute("alertq", user.getAlertq());
//    application.setAttribute("deleteall", user.getDeleteall());
//    session.setAttribute("username", user.getUsername());
//    session.setAttribute("password", user.getPassword());
//    session.setAttribute("superuser", user.getSuperuser());
//    session.setAttribute("deleteq", user.getDeleteq());
//    session.setAttribute("alertq", user.getAlertq());
//    session.setAttribute("deleteall", user.getDeleteall());
//    session.setAttribute("fenceq", user.getFenceq());
//    tb_system system = new tb_system();
//    system.setUdpPort("8234");
//    JSONObject jsonObject = JSONObject.fromObject(system);
@@ -94,6 +127,49 @@
//       }
//    }
      String toPage = "forward:/hxzk/index.jsp";
      //String toPage = "forward:/hxzk/mapshow/mapShow.jsp";
      String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Real-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Forwarded-For");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_CLIENT_IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
            if (ip.equals("127.0.0.1") || ip.equals("0:0:0:0:0:0:0:1")) {
                //根据网卡取本机配置的IP
                InetAddress inet = null;
                try {
                    inet = InetAddress.getLocalHost();
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
                ip = inet.getHostAddress();
            }
        }
        if (ip != null && ip.length() > 15) {
            if (ip.indexOf(",") > 0) {
                ip = ip.substring(0, ip.indexOf(","));
            }
        }
        String username=(String)session.getAttribute("username");
        tb_login login = new tb_login();
        login.setIp(ip);
        login.setUsername(username);
        loginService.login_add(login);
      // 基站信息
      List<tb_achor> anchorManagementList = anchorService.getAnchorManagementsi();
//    List<tb_shebei> shebei = anchorService.getShebei();
@@ -129,25 +205,25 @@
      }
      // 实时考勤
      List<vo_kaoqin_p> realAttendanceList = attendanceService.getRealAttendance(1);
      List<vo_kaoqin_p> reRealAttendanceList = new ArrayList<vo_kaoqin_p>();
      if (realAttendanceList.size()>4){
         for (int i = 0; i < 4; i++) {
            String time =realAttendanceList.get(i).getIntime();
            time = time.split(" ")[1];
            time = time.split("\\.")[0];
            realAttendanceList.get(i).setIntime(time);
            reRealAttendanceList.add(realAttendanceList.get(i));
         }
      } else {
         for (int i = 0; i < realAttendanceList.size(); i++) {
            String time =realAttendanceList.get(i).getIntime();
            time = time.split(" ")[1];
            time = time.split("\\.")[0];
            realAttendanceList.get(i).setIntime(time);
            reRealAttendanceList.add(realAttendanceList.get(i));
         }
      }
//    List<vo_kaoqin_p> realAttendanceList = attendanceService.getRealAttendance(1);
//    List<vo_kaoqin_p> reRealAttendanceList = new ArrayList<vo_kaoqin_p>();
//    if (realAttendanceList.size()>4){
//       for (int i = 0; i < 4; i++) {
//          String time =realAttendanceList.get(i).getIntime();
//          time = time.split(" ")[1];
//          time = time.split("\\.")[0];
//          realAttendanceList.get(i).setIntime(time);
//          reRealAttendanceList.add(realAttendanceList.get(i));
//       }
//    } else {
//       for (int i = 0; i < realAttendanceList.size(); i++) {
//          String time =realAttendanceList.get(i).getIntime();
//          time = time.split(" ")[1];
//          time = time.split("\\.")[0];
//          realAttendanceList.get(i).setIntime(time);
//          reRealAttendanceList.add(realAttendanceList.get(i));
//       }
//    }
      // 告警汇总
      Map warningSummaryTypeMap = warningService.getWarningSummaryType();
@@ -160,25 +236,27 @@
         reWarningSummary_v.add((int) warningSummaryTypeMap.get(key));
      }
      // 现场工种
      Map realAttendanceTypeMap = attendanceService.getRealAttendanceType();
      List<tb_department> dapartments = basicInfoService.getDepartmentManagement();
      List<String> realAttendance_k = new ArrayList<String>();
      List<Integer> realAttendance_v = new ArrayList<Integer>();
      Iterator<String> realAttendanceTypeIter = realAttendanceTypeMap.keySet().iterator();
      while (realAttendanceTypeIter.hasNext()) {
         String key = realAttendanceTypeIter.next();
         realAttendance_k.add(key);
         realAttendance_v.add((int) realAttendanceTypeMap.get(key));
      for(int i=0;i<dapartments.size();i++) {
          int num = labelService.getdepartmentCount2(dapartments.get(i).getDepartmentName());
          realAttendance_k.add(dapartments.get(i).getDepartmentName());
          realAttendance_v.add(num);
      }
      // 统计数据
      Map realtongjiTypeMap = attendanceService.getRealtongjiType();
      List<String> realtongji_k = new ArrayList<String>();
      List<Integer> realtongji_v = new ArrayList<Integer>();
      Iterator<String> realtongjiTypeIter = realtongjiTypeMap.keySet().iterator();
      while (realtongjiTypeIter.hasNext()) {
         String key = realtongjiTypeIter.next();
         realtongji_k.add(key);
         realtongji_v.add((int) realtongjiTypeMap.get(key));
      }
      List<Object> shishilist = attendanceService.gettongjishuju();
      List<String> realtongji_k = (List<String>)shishilist.get(0);
      List<String> realtongji_v = (List<String>)shishilist.get(1);
//    Map realtongjiTypeMap = attendanceService.getRealtongjiType();
//    List<String> realtongji_k = new ArrayList<String>();
//    List<Integer> realtongji_v = new ArrayList<Integer>();
//    Iterator<String> realtongjiTypeIter = realtongjiTypeMap.keySet().iterator();
//    while (realtongjiTypeIter.hasNext()) {
//       String key = realtongjiTypeIter.next();
//       realtongji_k.add(key);
//       realtongji_v.add((int) realtongjiTypeMap.get(key));
//    }
      // 系统设置
      List<tb_system> systemlist = sysSettingService.getSetting();
      // 实时数据
@@ -192,9 +270,11 @@
//       realshishi_v.add((int) realshishiTypeMap.get(key));
//    }
//    request.setAttribute("shebei", shebei);
      List<tb_person> persons = zhwService.getbumen();
      request.setAttribute("persons", persons);
      request.setAttribute("anchorManagementList", anchorManagementList);
      request.setAttribute("labelManagementList", reLabelManagementList);
      request.setAttribute("realAttendanceList", reRealAttendanceList);
//    request.setAttribute("realAttendanceList", reRealAttendanceList);
      request.setAttribute("reWarningSummary_k", reWarningSummary_k);
      request.setAttribute("reWarningSummary_v", reWarningSummary_v);
      request.setAttribute("realAttendance_k", realAttendance_k);
@@ -226,7 +306,7 @@
      }
      String filePath = Config.getBaowenConfig();
      ModifyConfig.writeData(filePath, "baowenSwitch", "0");
      System.out.print(filePath);
      //System.out.print(filePath);
      ModifyConfig.writeData(filePath, "debugSwitch", "0");
      clearInfoForFile(request.getServletContext().getRealPath("/")+Config.getYuanshiMessagePath());
      clearInfoForFile(request.getServletContext().getRealPath("/")+Config.getHEXMessagePath());
@@ -262,7 +342,7 @@
   public List<tb_shebei> setshebei(HttpServletRequest request) {
      // 设备数据
      List<tb_shebei> achorlist = anchorService.getjizhanshebei();
      List<tb_shebei> taglist = anchorService.getbiaoqianshebei();
      List<tb_shebei> taglist = anchorService.getbiaoqianshebei2();
      for(int i = 0;i <taglist.size();i++) {
         achorlist.add(taglist.get(i));
      }
@@ -279,15 +359,38 @@
   @RequestMapping(value = "/setgongzhongnum.do", method = { RequestMethod.POST, RequestMethod.GET })
   @ResponseBody
   public List<Object> setgongzhongnum(){
      List<Object> gongzhongnum = attendanceService.getgongzhongnum();
      List<Object> gongzhongnum = new ArrayList<>();
      List<tb_department> dapartments = basicInfoService.getDepartmentManagement();
      List<String> gongzhongk = new ArrayList<String>();
      List<Integer> gongzhong = new ArrayList<Integer>();
      for(int i=0;i<dapartments.size();i++) {
          int num = labelService.getdepartmentCount2(dapartments.get(i).getDepartmentName());
          gongzhongk.add(dapartments.get(i).getDepartmentName());
          gongzhong.add(num);
      }
      gongzhongnum.add(gongzhongk);
      gongzhongnum.add(gongzhong);
      return gongzhongnum;
   }
   
   @RequestMapping(value = "/setgaojingnum.do", method = { RequestMethod.POST, RequestMethod.GET })
   @ResponseBody
   public List<Integer> setgaojingnum(){
      List<Integer> gaojingnum = attendanceService.getgaojingnum();
      return gaojingnum;
   public JSONObject setgaojingnum(){
//    List<Integer> gaojingnum = attendanceService.getgaojingnum();
//    return gaojingnum;
      JSONObject jsons = new JSONObject();
      Map warningSummaryTypeMap = warningService.getWarningSummaryType();
      List<String> reWarningSummary_k = new ArrayList<String>();
      List<Integer> reWarningSummary_v = new ArrayList<Integer>();
      Iterator<String> warningSummaryTypeIter = warningSummaryTypeMap.keySet().iterator();
      while (warningSummaryTypeIter.hasNext()) {
         String key = warningSummaryTypeIter.next();
         reWarningSummary_k.add(key);
         reWarningSummary_v.add((int) warningSummaryTypeMap.get(key));
      }
      jsons.put("key", reWarningSummary_k);
      jsons.put("value", reWarningSummary_v);
      return jsons;
   }
   
}