From 47a26c3365cfe2a9705aea8ae0887086f521ef7b Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Fri, 27 Dec 2019 16:27:51 +0800 Subject: [PATCH] 新增大屏登陆接口 --- src/main/java/com/moral/controller/ScreenController.java | 141 ++++++++++++++++++++++++++++++----------------- 1 files changed, 90 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 7d5f55d..474f0ef 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -4,12 +4,15 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; +import java.text.DateFormat; import java.text.DecimalFormat; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Date; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; @@ -18,6 +21,7 @@ import java.util.stream.Collectors; 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; @@ -200,6 +204,58 @@ resultMap.put("accountId", -1); } else { resultMap = accountService.screenLogin(parameters); + // ������������������������������������������ + Object orgId = resultMap.get("orgId"); + if (resultMap.get("orgId") != null && resultMap.get("orgId") instanceof Integer) { + StringBuilder areaNamesBuilder = new StringBuilder("������"); + if (!((Integer) orgId).equals(dictionaryDataService.querySupperOrgId())) { + Organization organization = organizationService.getOrganizationById((Integer) orgId); + if (organization.getAreaNames() != null) { + Map<String, String> areaNameMap = BeanUtils.beanToMap(organization.getAreaNames()); + List<String> names = areaNameMap.entrySet().stream().filter(item -> { + return item.getValue() != null; + }).map(item -> { + return item.getValue(); + }).collect(Collectors.toList()); + AreaNames areaNames = organization.getAreaNames(); + areaNamesBuilder.append("/"); + areaNamesBuilder.append(String.join("/", names)); + } + // ������������ + if (organization.getRank() != null && organization.getRank() == 0) { + resultMap.put("type", "enterprise"); + } else { + resultMap.put("type", "government"); + } + Number mapAreaCode = null; + if (organization.getVillageCode() != null) { + mapAreaCode = organization.getVillageCode(); + } else if (organization.getTownCode() != null) { + mapAreaCode = organization.getTownCode(); + } else if (organization.getAreaCode() != null) { + mapAreaCode = organization.getAreaCode(); + } else if (organization.getCityCode() != null) { + mapAreaCode = organization.getCityCode(); + } else if (organization.getProvinceCode() != null) { + mapAreaCode = organization.getProvinceCode(); + } + resultMap.put("mapAreaCode", mapAreaCode.toString()); + } + resultMap.put("mapPath", areaNamesBuilder.toString()); + } + } + return resultMap; + } + + @GetMapping("loginNew") + public Map<String, Object> screenLoginNew(HttpServletRequest request) { + Map<String, Object> resultMap = new HashMap<String, Object>(); + Map<String, Object> parameters = getParametersStartingWith(request, null); + if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { + resultMap.put("msg", "������������������������������������"); + resultMap.put("accountId", -1); + } else { + resultMap = accountService.screenLoginNew(parameters); // ������������������������������������������ Object orgId = resultMap.get("orgId"); if (resultMap.get("orgId") != null && resultMap.get("orgId") instanceof Integer) { @@ -538,6 +594,12 @@ model.setViewName("403"); return model; } + } + + @GetMapping("/getSensorsMap") + public List<Map<String, String>> getSensorsMapOnly(String mac) { + List<Map<String, String>> sensorsMapList = sensorService.getSensorsMaps(mac); + return sensorsMapList; } @RequestMapping(value = "/get-monitorpoints", method = RequestMethod.GET) @@ -1027,10 +1089,11 @@ String monitor_point_id = (String) parameters.get("monitor_point_id"); List<Map<String, Object>> list = sensorService.getSensorByMonitorPointId(monitor_point_id); List<Map<String, Object>> sensorUnitList = sensorUnitService.getSensorsByMonitPointId2(monitor_point_id); - System.out.println(sensorUnitList); + System.out.println("list:" + list); + System.out.println("sensorUnitList:" + sensorUnitList); for (Map<String, Object> sensorMap : list) { for (Map<String, Object> sensorUnitMap : sensorUnitList) { - if (sensorUnitMap.get("sensor_key").equals(sensorMap.get("sensor_key"))) { + if (sensorUnitMap.get("sensor_key").equals(sensorMap.get("sensorKey"))) { sensorMap.put("unit", sensorUnitMap.get("name")); } } @@ -1051,25 +1114,15 @@ //System.out.println(parameters); String monitorPoint = (String) parameters.get("monitorPoint"); String intoTime = parameters.get("time").toString(); - String[] timeArray = intoTime.split("-"); - //System.out.println(timeArray); - Integer year = Integer.parseInt(timeArray[0]); - Integer mon = Integer.parseInt(timeArray[1]); - if (mon > 1) { - mon = mon - 1; - } else { - mon = 12; - year = year - 1; - } - String alterTime = year.toString() + "-" + mon.toString() + "-" + timeArray[2]; - //System.out.println(alterTime); + Date date = new SimpleDateFormat("yy-MM-dd").parse(intoTime); + DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"); + String alterTime = df1.format(date.getTime() - 15 * 24 * 60 * 60 * 1000); parameters.put("time", alterTime); ParameterUtils.getTimeType4Time(parameters); String monitor_point_id = (String) parameters.get("monitorPoint"); parameters.put("monitorPointId", parameters.remove("monitorPoint")); String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); parameters.put("sensors", Arrays.asList(sensorKeys)); - // monitorPointService.isCompensateCalculation(parameters); List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); Map<String, Object> mpMap = new HashMap<>(); @@ -1079,8 +1132,18 @@ weatherParameters.put("organizationId", mpMap.get("organization_id")); weatherParameters.put("time", intoTime); //������������������ - Map<String, Object> weatherMap = weatherService.get15DayWeatherDataByRegion(weatherParameters); - Map<String, Object> tempMap = TempAllocationUtils.tempAllocation(weatherMap); + Map<String, Object> weatherMap = new HashMap<>(); + Map<String, Object> tempMap = new HashMap<>(); + Boolean tf = false; + for (int i = 0; i < sensorKeys.length; i++) { + if (sensorKeys[i].equals("e7")) { + tf = true; + } + } + if (tf) { + weatherMap = weatherService.get15DayWeatherDataByRegion(weatherParameters); + tempMap = TempAllocationUtils.tempAllocation(weatherMap); + } //������������������ Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); @@ -1088,7 +1151,9 @@ String time = map.get("time").toString(); time = time.substring(time.length() - 2); map.put("time", Integer.valueOf(time)); - map.put("temp", tempMap.get(map.get("time").toString())); + if (tempMap != null) { + map.put("temp", tempMap.get(map.get("time").toString())); + } List<Number> values = new ArrayList<Number>(); List<String> units = new ArrayList<String>(); for (String string : sensorKeys) { @@ -1134,38 +1199,6 @@ public ResultBean<Map<String, Object>> getWeather(HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); Map<String, Object> map = weatherService.get15DayWeatherDataByRegion(parameters); - /*Map<String, Object> tempMap = new HashMap<>(); - Double tempDay = Double.parseDouble(map.get("tempDay").toString()); - Double tempNight = Double.parseDouble(map.get("tempNight").toString()); - Double time5 = tempNight; - Double time13 = tempDay; - Double difference = tempDay-tempNight; - Double dif_8 = difference/8; - Double dif_16 = difference/16; - tempMap.put("5", time5); - tempMap.put("13", time13); - String time = null; - Double t = time5; - for(int i=4;i>=0;i--) { - time = ""+i; - t = t+dif_16; - String tempLast = ""+Math.round(t); - tempMap.put(time, tempLast); - } - Double y = time5; - for(int i=6;i<13;i++) { - time = ""+i; - y = y+dif_8; - String tempLast = ""+Math.round(y); - tempMap.put(time, tempLast); - } - Double z = time13; - for(int i=14;i<=23;i++) { - time = ""+i; - z = z-dif_16; - String tempLast = ""+Math.round(z); - tempMap.put(time, tempLast); - }*/ Map<String, Object> tempMap = TempAllocationUtils.tempAllocation(map); return new ResultBean<Map<String, Object>>(tempMap); } @@ -1236,7 +1269,13 @@ LocalDateTime timeLocalDateTime = LocalDateTime.parse(time, dateTimeFormatter); int month = timeLocalDateTime.getMonth().getValue(); Point dirPoint = historyHourlyService.getDirPoint(parameters); - Map<String, Object> getPollutionSourceData = historyHourlyService.getPollutionSourceData(parameters); + Map<String, Object> getPollutionSourceData = historyHourlyService.getPollutionSourceDataByHour(parameters); + if (MapUtils.isEmpty(getPollutionSourceData)) { + getPollutionSourceData = historyHourlyService.getPollutionSourceDataAll(parameters); + } + if (MapUtils.isEmpty(getPollutionSourceData)) { + getPollutionSourceData = new HashMap<>(); + } String mac = parameters.get("mac").toString(); Device device = deviceService.getDeviceByMac(mac, false); JSONObject params = new JSONObject(); -- Gitblit v1.8.0