From cc31761e9ccadea2914af450b5414824ba983f38 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 22 Jun 2020 16:58:08 +0800 Subject: [PATCH] update --- src/main/java/com/moral/controller/ScreenController.java | 245 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 213 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 269c6a1..ee04af0 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -9,35 +9,20 @@ import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.collections.MapUtils; -import org.apache.commons.net.ftp.FTPClient; -import org.apache.log4j.Logger; -import org.dom4j.Document; -import org.dom4j.Element; -import org.dom4j.io.SAXReader; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.cglib.beans.BeanMap; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.util.ObjectUtils; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.servlet.ModelAndView; -import org.xml.sax.InputSource; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -94,6 +79,29 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.net.ftp.FTPClient; +import org.apache.log4j.Logger; +import org.dom4j.Document; +import org.dom4j.Element; +import org.dom4j.io.SAXReader; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cglib.beans.BeanMap; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; +import org.xml.sax.InputSource; import static com.moral.common.util.ResourceUtil.getValue; import static com.moral.common.util.WebUtils.getParametersStartingWith; @@ -921,12 +929,12 @@ } } - for (int i = 0; i <resultList.size() ; i++) { + for (int i = 0; i < resultList.size(); i++) { if (resultList.get(i) == null) { Map<String, Object> hashMap = new HashMap<>(); - if(type.equals("day")){ + if (type.equals("day")) { hashMap.put("time", i); - }else { + } else { hashMap.put("time", i + 1); } hashMap.put(s, ""); @@ -953,15 +961,15 @@ ArrayList<String> values = new ArrayList<>(); values.add(map.remove(s).toString()); values.add(""); - map.put("values",values); + map.put("values", values); } } Iterator<Map<String, Object>> it = resultList.iterator(); - while(it.hasNext()){ + while (it.hasNext()) { Map<String, Object> next = it.next(); - ArrayList<String> values = (ArrayList<String>)next.get("values"); - if(values.get(0).equals("")&&values.get(1).equals("")){ + ArrayList<String> values = (ArrayList<String>) next.get("values"); + if (values.get(0).equals("") && values.get(1).equals("")) { it.remove(); } } @@ -1598,4 +1606,177 @@ } return new ResultBean<List<Map<String, Object>>>(list); } + + @RequestMapping(value = "/newMap-page", method = RequestMethod.GET) + public ModelAndView newMap(ModelAndView model, @RequestParam("areaCode") long code, + @RequestParam("accountId") int accountId) { + Account account = accountService.getAccountById(accountId); + String regionName = areaService.queryFullNameByCode(code); + if (account != null && regionName != null) { + Object sensors = sensorService.queryAll(); + JSONObject params = new JSONObject(); + params.put("regionCode", code); + params.put("regionName", regionName); + params.put("accountId", accountId); + params.put("orgId", account.getOrganizationId()); + params.put("sensors", sensors); + String paramsJson = params.toJSONString(); + model.addObject("mapParams", paramsJson); + model.setViewName("newmap"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] areaCode:"); + msg.append(code); + msg.append(" param[0] accountId:"); + msg.append(accountId); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavDroppoint") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavDroppoint(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey",parameters.get("sensorKey")); + params.put("unit",parameters.get("unit")); + params.put("description",parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavDroppointParams", paramsJson); + model.setViewName("uavdroppoint"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavChannel") + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavChannel(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey",parameters.get("sensorKey")); + params.put("unit",parameters.get("unit")); + params.put("description",parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavChannelParams", paramsJson); + model.setViewName("uavchannel"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } + + @GetMapping("/uavTracing") + @ApiOperation(value = "���������������������", notes = "���������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") + }) + public ModelAndView uavTracing(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + String startHour = st.substring(st.lastIndexOf("-") + 1); + String startTime = startYearAndDay + " " + startHour + ":00:00"; + String et = parameters.get("endTime").toString(); + String endHour = et.substring(et.lastIndexOf("-") + 1); + int endHourValue = Integer.parseInt(endHour); + int startHourValue = Integer.parseInt(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); + String mac = parameters.get("mac").toString(); + if (mac != null && mac.length() != 0) { + List<Map<String, Object>> sensorData = historyService.getUavSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + JSONObject params = new JSONObject(); + params.put("sensorInfo", sensorData); + params.put("sensorsMap", sensorsMap); + params.put("sensorKey",parameters.get("sensorKey")); + params.put("unit",parameters.get("unit")); + params.put("description",parameters.get("description")); + String paramsJson = params.toJSONString(); + model.addObject("uavTracingParams", paramsJson); + model.setViewName("uavtracing"); + return model; + } else { + StringBuilder msg = new StringBuilder(); + msg.append(" param[0] mac:"); + msg.append(mac); + log.warn(msg); + model.setViewName("403"); + return model; + } + } } -- Gitblit v1.8.0