package com.hxzkoa.controller; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.hxzkoa.json.tb_person; import com.hxzkoa.json.tb_realkaoqing; import com.hxzkoa.json.tb_tag; import com.hxzkoa.json.tb_track; import com.hxzkoa.json.vo_kaoqin_p; import com.hxzkoa.services.AttendanceService; import com.hxzkoa.util.Config; import com.hxzkoa.util.ExcelUtils; import com.hxzkoa.util.PageUtil; import com.hxzkoa.util.RequestUtils; import net.sf.json.JSONObject; @Controller public class AttendanceController { @Autowired private AttendanceService attendanceService; @RequestMapping(value = "/realAttendance.do", method = { RequestMethod.POST, RequestMethod.GET }) public String realAttendance(HttpServletRequest request) { String toPage = "forward:/hxzk/attendance/realDetail.jsp"; List realkaoqingsManagementList = attendanceService.getRealAttendance(1); int count = attendanceService.getRealAttendanceCount(); int curPage = 1; request.setAttribute("realkaoqingsManagementList", realkaoqingsManagementList); int minPage = PageUtil.getMinPage(count); request.setAttribute("pageList", PageUtil.getPage(minPage)); request.setAttribute("curPage", curPage); return toPage; } @ResponseBody @RequestMapping(value = "/realAttendance_page.do", method = { RequestMethod.POST, RequestMethod.GET }) public String realAttendance_page(HttpServletRequest request) { String pageStr = request.getParameter("page"); String curPageStr = request.getParameter("curPage"); int count = attendanceService.getRealAttendanceCount(); 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 realkaoqingsManagementList = attendanceService.getRealAttendance(page); List pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage); JSONObject json = new JSONObject(); json.put("dataList", realkaoqingsManagementList); json.put("pageList", pageList); json.put("curPage", page); return json.toString(); } @ResponseBody @RequestMapping(value = "/realAttendance_delete.do", method = { RequestMethod.POST, RequestMethod.GET }) public void realAttendance_delete(HttpServletRequest request) { String checkValStr = request.getParameter("checkVal"); checkValStr = checkValStr.replaceAll("\"", ""); String[] checkVal = checkValStr.split(","); attendanceService.realAttendance_delete(checkVal); } @ResponseBody @RequestMapping(value = "/realAttendance_deleteAll.do", method = { RequestMethod.POST, RequestMethod.GET }) public void realAttendance_deleteAll(HttpServletRequest request) { attendanceService.realAttendance_deleteAll(); } @ResponseBody @RequestMapping(value = "/realAttendance_search.do", method = { RequestMethod.POST, RequestMethod.GET }) public String realAttendance_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 realkaoqingsManagementList = attendanceService.searchRealAttendance(input); if (realkaoqingsManagementList.size()>0){ json.put("result", realkaoqingsManagementList.get(0)); } else { json.put("result", "null"); } } else { int curPage = 1; List pageList = new ArrayList(); List realkaoqingsManagementList = attendanceService.searchRealAttendance(input); pageList.add(1); json.put("dataList", realkaoqingsManagementList); json.put("pageList", pageList); json.put("curPage", curPage); } return json.toString(); } @ResponseBody @RequestMapping(value = "/realAttendance_office.do", method = { RequestMethod.POST, RequestMethod.GET }) public String realAttendance_office(HttpServletRequest request) { String realkaoqingsManagementList = attendanceService.getPeople(); JSONObject json = new JSONObject(); json.put("people", realkaoqingsManagementList); return json.toString(); } @RequestMapping(value = "/historicalAttendance.do", method = { RequestMethod.POST, RequestMethod.GET }) public String historicalAttendance(HttpServletRequest request) { String toPage = "forward:/hxzk/attendance/historyDetail.jsp"; List historicalkaoqingsManagementList = attendanceService.getHistoricalAttendance(1); int count = attendanceService.getHistoricalAttendanceCount(); int curPage = 1; request.setAttribute("historicalkaoqingsManagementList", historicalkaoqingsManagementList); int minPage = PageUtil.getMinPage(count); request.setAttribute("pageList", PageUtil.getPage(minPage)); request.setAttribute("curPage", curPage); return toPage; } @ResponseBody @RequestMapping(value = "/historicalAttendance_search.do", method = { RequestMethod.POST, RequestMethod.GET }) public String historicalAttendance_search(HttpServletRequest request) { String input = request.getParameter("input"); int curPage = 1; List pageList = new ArrayList(); List historicalkaoqingsManagementList = attendanceService.searchHistoricalAttendance(input); pageList.add(1); JSONObject json = new JSONObject(); json.put("dataList", historicalkaoqingsManagementList); json.put("pageList", pageList); json.put("curPage", curPage); return json.toString(); } @ResponseBody @RequestMapping(value = "/historicalAttendance_page.do", method = { RequestMethod.POST, RequestMethod.GET }) public String historicalAttendance_page(HttpServletRequest request) { String pageStr = request.getParameter("page"); String curPageStr = request.getParameter("curPage"); int count = attendanceService.getHistoricalAttendanceCount(); 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 historicalkaoqingsManagementList = attendanceService.getHistoricalAttendance(page); List pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage); JSONObject json = new JSONObject(); json.put("dataList", historicalkaoqingsManagementList); json.put("pageList", pageList); json.put("curPage", page); return json.toString(); } @ResponseBody @RequestMapping(value = "/historicalAttendance_delete.do", method = { RequestMethod.POST, RequestMethod.GET }) public void historicalAttendance_delete(HttpServletRequest request) { String checkValStr = request.getParameter("checkVal"); checkValStr = checkValStr.replaceAll("\"", ""); String[] checkVal = checkValStr.split(","); attendanceService.historicalAttendance_delete(checkVal); } @ResponseBody @RequestMapping(value = "/historicalAttendance_deleteAll.do", method = { RequestMethod.POST, RequestMethod.GET }) public void historicalAttendance_deleteAll(HttpServletRequest request) { attendanceService.historicalAttendance_deleteAll(); } // 对象转数组 public static List objectToArray(List historicalkaoqingsManagementList) { List reList = new ArrayList<>(); for (int i = 0; i < historicalkaoqingsManagementList.size(); i++) { List words = new ArrayList(); vo_kaoqin_p kaoqin = (vo_kaoqin_p) historicalkaoqingsManagementList.get(i); words.add(String.valueOf(kaoqin.getId())); words.add(kaoqin.getArea()); words.add(kaoqin.getName()); words.add(kaoqin.getBumen()); words.add(kaoqin.getTagid()); words.add(kaoqin.getPower()); words.add(kaoqin.getIntime()); words.add(kaoqin.getOuttime()); words.add(kaoqin.getAlltime()); words.add(kaoqin.getBeizhu()); String[] array = words.toArray(new String[0]); reList.add(array); } return reList; } @ResponseBody @RequestMapping(value = "/historyDetail_export.do", method = { RequestMethod.POST, RequestMethod.GET }) public String historyDetail_export(HttpServletRequest request, HttpServletResponse response) { String toPage = "forward:/hxzk/attendance/historyDetail.jsp"; List historicalkaoqingsManagementList = attendanceService.getHistoricalAttendance(); String[] rowName = { "序号", "区域", "名称", "部门", "标签ID", "标签电量", "进入时间", "出去时间", "停留时长", "备注" }; List dataList = objectToArray(historicalkaoqingsManagementList); 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; } @RequestMapping(value = "/realAttendance_bw_add.do", method = { RequestMethod.POST, RequestMethod.GET }) public void label_bw_power(HttpServletRequest request) throws IOException { String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset()); tb_realkaoqing realkaoqing = (tb_realkaoqing) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_realkaoqing.class); attendanceService.realAttendance_add(realkaoqing); } // @RequestMapping(value = "/kaoqin_bw_XY.do", method = { RequestMethod.POST, RequestMethod.GET }) // public void kaoqin_bw_XY(HttpServletRequest request) throws IOException { // String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset()); // tb_person person = (tb_person) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_person.class); // attendanceService.kaoqin_bw_XY(person); // } }