| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | return sensorsMapList; |
| | | } |
| | | |
| | | @GetMapping("/getSensorsAllMap") |
| | | public List<Map<String, String>> getSensorsAllMap(String mac) { |
| | | List<Map<String, String>> sensorsMapList = sensorService.getSensorsAllMap(); |
| | | return sensorsMapList; |
| | | } |
| | | |
| | | @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET) |
| | | @ResponseBody |
| | | public ResultBean getMonitorpointList(@RequestParam("orgId") String orgId, MapBounds mapBounds, |
| | |
| | | |
| | | @RequestMapping(value = "/get-devices", method = RequestMethod.GET) |
| | | @ResponseBody |
| | | @ApiOperation(value = "设备信息", notes = "设备信息") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "orgId",defaultValue = "5", value = "组织Id", required = true, paramType = "query", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "地区编码", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "Fe", defaultValue = "31.485018",value = "东北角纬度", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "Ge", defaultValue = "121.378395",value = "东北角经度", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "Ke", defaultValue = "31.296614",value = "西南角纬度", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "Le", defaultValue = "120.59651",value = "西南角经度", required = true, paramType = "query", dataType = "String") |
| | | }) |
| | | public ResultBean getDevices(@RequestParam("orgId") Integer orgId, MapBounds mapBounds, |
| | | @RequestParam("regionCode") String regionCode) { |
| | | ResultBean<List<Device>> resultBean = new ResultBean(); |
| | |
| | | parameters.put("monitorPointId", parameters.remove("monitorPoint")); |
| | | parameters.put("areaCode", parameters.remove("areaCode")); |
| | | String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); |
| | | String type = parameters.get("type").toString(); |
| | | String s = sensorKeys[0]; |
| | | parameters.put("sensors", Arrays.asList(sensorKeys)); |
| | | parameters.put("sensors2", s); |
| | | List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); |
| | | for (Map<String, Object> monitorMap : monitorList) { |
| | | String time = monitorMap.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | monitorMap.put("time", Integer.valueOf(time)); |
| | | } |
| | | Integer maxTime = 0; |
| | | Integer max1 = 0; |
| | | if (monitorList.size() != 0) { |
| | | Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1); |
| | | max1 = Integer.valueOf(monitorMap.get("time").toString()); |
| | | } else { |
| | | max1 = 0; |
| | | } |
| | | String sensorKey1 = s; |
| | | switch (s) { |
| | | case "e1": |
| | | sensorKey1 = "PM2_5"; |
| | | break; |
| | | case "e2": |
| | | sensorKey1 = "PM10"; |
| | | break; |
| | | case "e10": |
| | | sensorKey1 = "CO"; |
| | | break; |
| | | case "e11": |
| | | sensorKey1 = "SO2"; |
| | | break; |
| | | case "e15": |
| | | sensorKey1 = "O3"; |
| | | break; |
| | | case "e16": |
| | | sensorKey1 = "NO2"; |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | |
| | | parameters.put("sensors1", sensorKey1); |
| | | List<Map<String, Object>> areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters); |
| | | if (areaList.isEmpty()) { |
| | | Integer areaCode = Integer.valueOf(request.getParameter("areaCode")); |
| | | areaCode = hangzhouAqiService.queryCityCode(areaCode); |
| | | parameters.remove("areaCode"); |
| | | parameters.put("areaCode", String.valueOf(areaCode)); |
| | | areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters); |
| | | } |
| | | |
| | | for (Map<String, Object> areaMap : areaList) { |
| | | String time = areaMap.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | areaMap.put("time", Integer.valueOf(time)); |
| | | } |
| | | |
| | | ArrayList<Map<String, Object>> resultList = new ArrayList<>(); |
| | | if (areaList.isEmpty()) { |
| | | |
| | | List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); |
| | | List<Map<String, Object>> areaList = hangzhouAqiService.getAreaAvgDataByAreaCode(parameters); |
| | | |
| | | if (areaList.isEmpty() && monitorList.isEmpty()) { |
| | | return new ResultBean<List<Map<String, Object>>>(resultList); |
| | | } else if (areaList.isEmpty()) { |
| | | resultList.addAll(monitorList); |
| | | for (Map<String, Object> map : monitorList) { |
| | | ArrayList<String> values = new ArrayList<>(); |
| | | values.add(null); |
| | | values.add(map.remove(s).toString()); |
| | | map.put("values", values); |
| | | for (Map<String, Object> resultMap : resultList) { |
| | | String time = resultMap.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | resultMap.put("time", Integer.valueOf(time)); |
| | | List<String> values = new ArrayList<>(); |
| | | values.add(""); |
| | | values.add(resultMap.remove(s).toString()); |
| | | resultMap.put("values", values); |
| | | } |
| | | return new ResultBean<List<Map<String, Object>>>(resultList); |
| | | |
| | | } else if (monitorList.isEmpty()) { |
| | | resultList.addAll(areaList); |
| | | for (Map<String, Object> resultMap : resultList) { |
| | | String time = resultMap.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | resultMap.put("time", Integer.valueOf(time)); |
| | | List<String> values = new ArrayList<>(); |
| | | values.add(resultMap.remove(s).toString()); |
| | | values.add(""); |
| | | resultMap.put("values", values); |
| | | } |
| | | return new ResultBean<List<Map<String, Object>>>(resultList); |
| | | } |
| | | |
| | | Integer max = 0; |
| | | if (areaList.size() != 0) { |
| | | Map<String, Object> areaMap = areaList.get(areaList.size() - 1); |
| | | max = Integer.valueOf(areaMap.get("time").toString()); |
| | | for (Map<String, Object> map : areaList) { |
| | | String time = map.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | map.put("time", Integer.valueOf(time)); |
| | | } |
| | | |
| | | for (Map<String, Object> m : monitorList) { |
| | | String time = m.get("time").toString(); |
| | | time = time.substring(time.length() - 2); |
| | | m.put("time", Integer.valueOf(time)); |
| | | } |
| | | |
| | | Integer maxTime; |
| | | Map<String, Object> areaMap = areaList.get(areaList.size() - 1); |
| | | Integer areaMax = Integer.valueOf(areaMap.get("time").toString()); |
| | | Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1); |
| | | Integer monitorMax = Integer.valueOf(monitorMap.get("time").toString()); |
| | | |
| | | if (type.equals("day")) { |
| | | if (areaMax >= monitorMax) { |
| | | maxTime = areaMax + 1; |
| | | } else { |
| | | maxTime = monitorMax + 1; |
| | | } |
| | | } else { |
| | | max = 0; |
| | | if (areaMax >= monitorMax) { |
| | | maxTime = areaMax; |
| | | } else { |
| | | maxTime = monitorMax; |
| | | } |
| | | } |
| | | |
| | | if (max1 >= max) { |
| | | maxTime = max1; |
| | | } else { |
| | | maxTime = max; |
| | | } |
| | | |
| | | for (int i = 0; i <= maxTime; i++) { |
| | | for (int i = 0; i < maxTime; i++) { |
| | | resultList.add(null); |
| | | } |
| | | |
| | | for (Map<String, Object> areaMap : areaList) { |
| | | Integer time = Integer.valueOf(areaMap.get("time").toString()); |
| | | resultList.set(time, areaMap); |
| | | } |
| | | |
| | | for (Map<String, Object> resultMap : resultList) { |
| | | for (Map<String, Object> monitorMap : monitorList) { |
| | | ArrayList<String> values = new ArrayList<>(); |
| | | String monitorTime = monitorMap.get("time").toString(); |
| | | if (resultMap != null) { |
| | | String resultTime = resultMap.get("time").toString(); |
| | | if (resultTime.equals(monitorTime)) { |
| | | String value = resultMap.remove(s).toString(); |
| | | String value1 = monitorMap.get(s).toString(); |
| | | values.add(value); |
| | | values.add(value1); |
| | | resultMap.put("values", values); |
| | | } |
| | | } else { |
| | | String value1 = monitorMap.get(s).toString(); |
| | | values.add(null); |
| | | values.add(value1); |
| | | } |
| | | for (Map<String, Object> map : areaList) { |
| | | Integer time = Integer.valueOf(map.get("time").toString()); |
| | | if (type.equals("day")) { |
| | | resultList.set(time, map); |
| | | } else { |
| | | resultList.set(time - 1, map); |
| | | } |
| | | } |
| | | |
| | | resultList.removeAll(Collections.singleton(null)); |
| | | for (int i = 0; i < resultList.size(); i++) { |
| | | if (resultList.get(i) == null) { |
| | | Map<String, Object> hashMap = new HashMap<>(); |
| | | if (type.equals("day")) { |
| | | hashMap.put("time", i); |
| | | } else { |
| | | hashMap.put("time", i + 1); |
| | | } |
| | | hashMap.put(s, ""); |
| | | resultList.set(i, hashMap); |
| | | } |
| | | } |
| | | |
| | | for (Map<String, Object> resultMap : resultList) { |
| | | if (resultMap.containsKey(s)) { |
| | | for (Map<String, Object> map1 : monitorList) { |
| | | ArrayList<String> values = new ArrayList<>(); |
| | | Integer time = Integer.valueOf(map1.get("time").toString()); |
| | | Map<String, Object> map; |
| | | if (type.equals("day")) { |
| | | map = resultList.get(time); |
| | | } else { |
| | | map = resultList.get(time - 1); |
| | | } |
| | | values.add(map.remove(s).toString()); |
| | | values.add(map1.get(s).toString()); |
| | | map.put("values", values); |
| | | } |
| | | |
| | | for (Map<String, Object> map : resultList) { |
| | | if (map.containsKey(s)) { |
| | | ArrayList<String> values = new ArrayList<>(); |
| | | values.add(resultMap.remove(s).toString()); |
| | | values.add(null); |
| | | resultMap.put("values", values); |
| | | values.add(map.remove(s).toString()); |
| | | values.add(""); |
| | | map.put("values", values); |
| | | } |
| | | } |
| | | |
| | | Iterator<Map<String, Object>> it = resultList.iterator(); |
| | | 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("")) { |
| | | it.remove(); |
| | | } |
| | | } |
| | | return new ResultBean<List<Map<String, Object>>>(resultList); |
| | |
| | | } |
| | | } |
| | | |
| | | @GetMapping("/trajectoryDataShow") |
| | | @ApiOperation(value = "轨迹及数据", notes = "轨迹及数据") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "mac", value = "设备mac(格式:p5dnd7a0392081)", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "startTime", value = "开始时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "endTime", value = "结束时间(格式:2020-03-19-17)", required = true, paramType = "query", dataType = "String") |
| | | }) |
| | | public ModelAndView trajectoryDataShow(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<List<Map<String, Object>>> sensorData = historyService.getCarSensorData(parameters); |
| | | Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); |
| | | List<Map<String, Object>> sensorList = new ArrayList<>(); |
| | | if (sensorData.size() == 3) { |
| | | sensorList = sensorData.get(0); |
| | | } |
| | | JSONObject params = new JSONObject(); |
| | | params.put("sensorInfo", sensorList); |
| | | params.put("sensorsMap", sensorsMap); |
| | | String paramsJson = params.toJSONString(); |
| | | model.addObject("trajectoryParams", paramsJson); |
| | | model.setViewName("trajectorydatashow"); |
| | | return model; |
| | | } else { |
| | | StringBuilder msg = new StringBuilder(); |
| | | msg.append(" param[0] mac:"); |
| | | msg.append(mac); |
| | | log.warn(msg); |
| | | model.setViewName("403"); |
| | | return model; |
| | | } |
| | | } |
| | | |
| | | @GetMapping("device-excel") |
| | | @ApiOperation(value = "获取设备数据报表", notes = "获取设备数据报表") |
| | | @ApiImplicitParams(value = { |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | @GetMapping("/purify") |
| | | @ApiOperation(value = "获取厂区净化率", notes = "获取厂区净化率") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "sensorKey", value = "因子", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) |
| | | public ModelAndView PurificationRate(HttpServletRequest request,ModelAndView model){ |
| | | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); |
| | | String monitPointIdS= (String) parameters.get("monitorPointId"); |
| | | String sensor= (String) parameters.get("sensorKey"); |
| | | String time= (String) parameters.get("time"); |
| | | String YearAndDay = time.substring(0, time.lastIndexOf("-")); |
| | | String Hour = time.substring(time.lastIndexOf("-") + 1); |
| | | String Time = YearAndDay + " " + Hour + ":00:00"; |
| | | int monitPointId=Integer.parseInt(monitPointIdS); |
| | | JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,1,sensor); |
| | | String paramsJson = params.toJSONString(); |
| | | model.addObject("mapParams", paramsJson); |
| | | model.setViewName("purityMap"); |
| | | return model; |
| | | } |
| | | |
| | | |
| | | @GetMapping("/collection") |
| | | @ApiOperation(value = "获取厂区收集率", notes = "获取厂区收集率") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) |
| | | public ModelAndView collectionRate(HttpServletRequest request,ModelAndView model){ |
| | | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); |
| | | String monitPointIdS= (String) parameters.get("monitorPointId"); |
| | | String sensor= ""; |
| | | String time= (String) parameters.get("time"); |
| | | String YearAndDay = time.substring(0, time.lastIndexOf("-")); |
| | | String Hour = time.substring(time.lastIndexOf("-") + 1); |
| | | String Time = YearAndDay + " " + Hour + ":00:00"; |
| | | int monitPointId=Integer.parseInt(monitPointIdS); |
| | | //获取公司信息 |
| | | JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,2,sensor); |
| | | model.addObject("params",params); |
| | | model.setViewName("pressureMap"); |
| | | return model; |
| | | } |
| | | |
| | | |
| | | |
| | | @GetMapping("/unorganizedEmissions") |
| | | @ApiOperation(value = "无组织排放", notes = "无组织排放") |
| | | @ApiImplicitParams(value = { |
| | | @ApiImplicitParam(name = "monitorPointId", value = "公司Id", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "sensorKey", value = "因子", required = true, paramType = "query", dataType = "String"), |
| | | // @ApiImplicitParam(name = "sensorKey", value = "传感器key,如有多个用逗号分隔", required = true, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "time", value = "时间(格式:2020-03-19-14)", required = true, paramType = "query", dataType = "String")}) |
| | | public ModelAndView unorganizedEmissions(HttpServletRequest request,ModelAndView model){ |
| | | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); |
| | | String monitPointIdS= (String) parameters.get("monitorPointId"); |
| | | String sensor= (String) parameters.get("sensorKey"); |
| | | String time= (String) parameters.get("time"); |
| | | String YearAndDay = time.substring(0, time.lastIndexOf("-")); |
| | | String Hour = time.substring(time.lastIndexOf("-") + 1); |
| | | String Time = YearAndDay + " " + Hour + ":00:00"; |
| | | |
| | | |
| | | int monitPointId=Integer.parseInt(monitPointIdS); |
| | | //获取公司信息 |
| | | JSONObject params=monitorPointService.getMonitorPointById(monitPointId,Time,3,sensor); |
| | | model.addObject("params",params); |
| | | model.setViewName("unorganizedMap"); |
| | | return model; |
| | | } |
| | | |
| | | } |