package com.hxzkoa.controller;
|
|
import java.io.IOException;
|
import java.io.OutputStream;
|
import java.sql.SQLException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.Enumeration;
|
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_realocation;
|
import com.hxzkoa.json.tb_tag;
|
import com.hxzkoa.json.tb_track;
|
import com.hxzkoa.services.BasicInfoService;
|
import com.hxzkoa.services.LocationService;
|
import com.hxzkoa.util.Config;
|
import com.hxzkoa.util.ExcelUtils;
|
import com.hxzkoa.util.ModifyConfig;
|
import com.hxzkoa.util.PageUtil;
|
import com.hxzkoa.util.RequestUtils;
|
|
import net.sf.json.JSONObject;
|
|
@Controller
|
public class LocationController {
|
@Autowired
|
private LocationService locationService;
|
@Autowired
|
private BasicInfoService basicInfoService;
|
|
@RequestMapping(value = "/realTimeLocation.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String realTimeLocation(HttpServletRequest request) {
|
String toPage = "forward:/hxzk/location/realTimeLocation.jsp";
|
List<tb_person> personManagement = basicInfoService.getPersonManagement(1);
|
request.setAttribute("realTimeLocationList", personManagement);
|
int curPage = 1;
|
int count = basicInfoService.getPersonManagementCount();
|
int minPage = PageUtil.getMinPage(count);
|
request.setAttribute("pageList", PageUtil.getPage(minPage));
|
request.setAttribute("curPage", curPage);
|
return toPage;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/realTimeLocation_search.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String realTimeLocation_search(HttpServletRequest request) {
|
String input = request.getParameter("input");
|
int curPage = 1;
|
List<Integer> pageList = new ArrayList<Integer>();
|
List<tb_person> realTimeLocationList = basicInfoService.searchPersonManagement(input);
|
pageList.add(1);
|
JSONObject json = new JSONObject();
|
json.put("dataList", realTimeLocationList);
|
json.put("pageList", pageList);
|
json.put("curPage", curPage);
|
return json.toString();
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/realTimeLocation_page.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String realTimeLocation_page(HttpServletRequest request) {
|
String pageStr = request.getParameter("page");
|
String curPageStr = request.getParameter("curPage");
|
int count = basicInfoService.getPersonManagementCount();
|
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_person> realTimeLocationList = basicInfoService.getPersonManagement(page);
|
List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
|
JSONObject json = new JSONObject();
|
json.put("dataList", realTimeLocationList);
|
json.put("pageList", pageList);
|
json.put("curPage", page);
|
return json.toString();
|
}
|
|
@RequestMapping(value = "/historicalLocation.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String historicalLocation(HttpServletRequest request) throws SQLException {
|
String toPage = "forward:/hxzk/location/historicalLocation.jsp";
|
String pagePath = Config.getPageConfig();
|
Integer perPage = Integer.parseInt(ModifyConfig.readData(pagePath, "perPage"));
|
// List<tb_realocation> historicalLocationList =
|
// locationService.getRealTimeLocation(1,perPage);
|
Date date = new Date(System.currentTimeMillis());
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
|
String currentDate = formatter.format(date);
|
//System.out.print(currentDate);
|
List<tb_track> trackList = locationService.getTrack(currentDate, 1, perPage);
|
request.setAttribute("historicalLocationList", trackList);
|
int curPage = 1;
|
int count = locationService.getRealTimeLocationCount(currentDate);
|
//System.out.print(count);
|
int minPage = PageUtil.getMinPage(count);
|
request.setAttribute("pageList", PageUtil.getPage(minPage));
|
request.setAttribute("curPage", curPage);
|
request.setAttribute("perPage", perPage);
|
// 处理日期查询列表
|
List<String> trackDateList = locationService.getTrackDateList();
|
List<String> trackDateReList = new ArrayList<String>();
|
trackDateReList.add(currentDate);
|
for (int i = 0; i < trackDateList.size(); i++) {
|
String listdate = trackDateList.get(i);
|
if (!(currentDate).equals(listdate)) {
|
trackDateReList.add(listdate);
|
}
|
}
|
request.setAttribute("dateList", trackDateReList);
|
return toPage;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocationa.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public JSONObject historicalLocationa(HttpServletRequest request) throws SQLException {
|
JSONObject json = new JSONObject();
|
String date = request.getParameter("date");
|
int aaa = locationService.searchtablenameLocation("tb_track_"+date);
|
if (aaa != 0) {
|
List<tb_track> trackList = locationService.getTracka(date);
|
json.put("dataList", trackList);
|
} else {
|
List<tb_track> trackList = new ArrayList<>();
|
json.put("dataList", trackList);
|
}
|
return json;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_delete.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public void historicalLocation_delete(HttpServletRequest request) {
|
String checkValStr = request.getParameter("checkVal");
|
String date = request.getParameter("datea");
|
checkValStr = checkValStr.replaceAll("\"", "");
|
String[] checkVal = checkValStr.split(",");
|
locationService.realTimeLocation_delete(checkVal,date);
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_deletea.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public int historicalLocation_deletea(HttpServletRequest request) {
|
String checkValStr = request.getParameter("checkVal");
|
String date = request.getParameter("datea");
|
checkValStr = checkValStr.replaceAll("\"", "");
|
String[] checkVal = checkValStr.split(",");
|
int bbb = locationService.searchtablenameLocation("tb_track_"+date);
|
int aaa = 0;
|
if (bbb != 0) {
|
aaa = locationService.realTimeLocation_deletea(checkVal,date);
|
}
|
return aaa;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_deleteAll.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public void historicalLocation_deleteAll(HttpServletRequest request) {
|
String date = request.getParameter("aaaa");
|
locationService.realTimeLocation_deleteAll(date);
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_deleteAlla.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public int historicalLocation_deleteAlla(HttpServletRequest request) {
|
String date = request.getParameter("date");
|
int bbb = locationService.searchtablenameLocation("tb_track_"+date);
|
int aaa = 0;
|
if (bbb != 0) {
|
aaa = locationService.realTimeLocation_deleteAlla(date);
|
}
|
return aaa;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_search.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String historicalLocation_search(HttpServletRequest request) {
|
String input = request.getParameter("input");
|
String date = request.getParameter("cccc");
|
int curPage = 1;
|
List<Integer> pageList = new ArrayList<Integer>();
|
List<tb_realocation> historicalLocationList = locationService.searchRealTimeLocation(input,date);
|
pageList.add(1);
|
JSONObject json = new JSONObject();
|
json.put("dataList", historicalLocationList);
|
json.put("pageList", pageList);
|
json.put("curPage", curPage);
|
return json.toString();
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_searcha.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public JSONObject historicalLocation_searcha(HttpServletRequest request) {
|
String input = request.getParameter("tagid");
|
String date = request.getParameter("date");
|
JSONObject json = new JSONObject();
|
int aaa = locationService.searchtablenameLocation("tb_track_"+date);
|
if (aaa != 0) {
|
List<tb_realocation> historicalLocationList = locationService.searchRealTimeLocation(input,date);
|
json.put("dataList", historicalLocationList);
|
} else {
|
List<tb_realocation> abc = new ArrayList<>();
|
json.put("dataList", abc);
|
}
|
return json;
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_page.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String historicalLocation_page(HttpServletRequest request) {
|
String pageStr = request.getParameter("page");
|
String curPageStr = request.getParameter("curPage");
|
String date = request.getParameter("date");
|
int count = locationService.getRealTimeLocationCount(date);
|
int minPage = PageUtil.getMinPage(count);
|
int curPage = Integer.parseInt(curPageStr);
|
String pagePath = Config.getPageConfig();
|
Integer perPage = Integer.parseInt(ModifyConfig.readData(pagePath, "perPage"));
|
if (("").equals(pageStr) || pageStr == null) {
|
pageStr = 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_realocation> historicalLocationList =
|
// locationService.getRealTimeLocation(page,perPage);
|
List<tb_track> trackList = locationService.getTrack(date, page, perPage);
|
List<Integer> pageList = PageUtil.getPage(PageUtil.getLocPage(page, curPage), page, minPage);
|
JSONObject json = new JSONObject();
|
json.put("dataList", trackList);
|
json.put("pageList", pageList);
|
json.put("curPage", page);
|
//System.out.print(pageList);
|
return json.toString();
|
}
|
|
@ResponseBody
|
@RequestMapping(value = "/historicalLocation_export.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public String historicalPower_export(HttpServletRequest request, HttpServletResponse response) {
|
String toPage = "forward:/hxzk/label/historicalLocation.jsp";
|
Enumeration<String> paraNames=request.getParameterNames();
|
String thisName = null;
|
String thisValue = null;
|
for(Enumeration<String> e=paraNames;e.hasMoreElements();){
|
thisName=e.nextElement()+""; //name名
|
thisValue=request.getParameter(thisName); //name名对应的值
|
}
|
// String date = request.getParameter("datebb");
|
List<tb_realocation> historicalLocationList = locationService.getRealTimeLocation(thisValue);
|
String[] rowName = { "序号", "标签ID", "X坐标", "Y坐标", "Z坐标", "层", "时间" };
|
List<Object[]> dataList = objectToArray_historicalLocation(historicalLocationList);
|
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;
|
}
|
|
// tb_realocation 导出表格 对象转数组
|
public static List<Object[]> objectToArray_historicalLocation(List<tb_realocation> historicalLocationList) {
|
List<Object[]> reList = new ArrayList<>();
|
for (int i = 0; i < historicalLocationList.size(); i++) {
|
List<String> words = new ArrayList<String>();
|
tb_realocation realocation = (tb_realocation) historicalLocationList.get(i);
|
words.add(realocation.getId() + "");
|
words.add(realocation.getTagid());
|
words.add(realocation.getX());
|
words.add(realocation.getY());
|
words.add(realocation.getZ());
|
words.add(realocation.getLayer());
|
words.add(realocation.getTime());
|
String[] array = words.toArray(new String[0]);
|
reList.add(array);
|
}
|
return reList;
|
}
|
|
@RequestMapping(value = "/track_bw_add.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public void track_bw_add(HttpServletRequest request) throws IOException {
|
String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset());
|
tb_track track = (tb_track) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_track.class);
|
Date date = new Date(System.currentTimeMillis());
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
|
String currentDate = formatter.format(date);
|
locationService.track_add(currentDate,track);
|
}
|
|
@RequestMapping(value = "/tag_time_bw.do", method = { RequestMethod.POST, RequestMethod.GET })
|
public void tag_time_bw(HttpServletRequest request) throws IOException {
|
String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset());
|
tb_tag tag = (tb_tag) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_tag.class);
|
locationService.tag_time(tag);
|
}
|
|
// @RequestMapping(value = "/shishi.do", method = { RequestMethod.POST, RequestMethod.GET })
|
// public void shiyan(HttpServletRequest request) throws IOException {
|
// String jsonString = RequestUtils.getRequestJsonString(request, Config.getCharset());
|
// //System.out.print(jsonString);
|
// //System.out.print("执行力我");
|
// tb_tag tag = (tb_tag) JSONObject.toBean(JSONObject.fromObject(jsonString), tb_tag.class);
|
// locationService.tag_time(tag);
|
// }
|
}
|