From 423f27b076fcd75df04005ae00e47ec26192434a Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Tue, 12 Jun 2018 09:03:58 +0800 Subject: [PATCH] 实体更新 --- src/main/java/com/moral/controller/ScreenController.java | 156 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 95 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index df485cd..5f18891 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -7,19 +7,13 @@ import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; -import java.net.InetAddress; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import com.moral.entity.alarm.AlarmConfig; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.net.ftp.FTPClient; import org.apache.log4j.Logger; @@ -27,6 +21,7 @@ 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; @@ -41,7 +36,6 @@ import org.springframework.web.servlet.ModelAndView; import org.xml.sax.InputSource; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.moral.common.bean.Constants; @@ -58,7 +52,7 @@ import com.moral.entity.alarm.AlarmSensorLevel; import com.moral.service.AccountService; import com.moral.service.AlarmConfigService; -import com.moral.service.AlarmService; +import com.moral.service.AlarmDailyService; import com.moral.service.AreaService; import com.moral.service.DeviceService; import com.moral.service.HistoryMinutelyService; @@ -116,7 +110,7 @@ private String levelKey = "alarm_"; @Resource - private AlarmService alarmService; + private AlarmDailyService alarmDailyService; /** * Screen login. ������������ * @@ -160,17 +154,52 @@ * @return the alarm levels */ @GetMapping("alarm-levels") - public Object getAlarmLevels(HttpServletRequest request, Integer orgId) { + public Object getAlarmLevels(HttpServletRequest request, Optional<Integer> orgId, Optional<Integer> mpId) { List<Map<String,Object>> sensorAlarmList = null; - try { - AlarmConfigValue alarmConfigValue = alarmConfigService.queryValueByOrganizationId(orgId).get(); - Map<String,AlarmSensorLevel> alarmLevelMap = alarmConfigValue.getAlarmLevels(); - sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> { - AlarmSensorLevel alarmSensorLevel = alarmLevelMap.get(key); - JSONObject alarmSensorLevelMap = (JSONObject) JSON.toJSON(alarmSensorLevel); - alarmSensorLevelMap.put("key",key); - return alarmSensorLevelMap; - }).collect(Collectors.toList()); + try { + AlarmConfig alarmConfig = null; + if(orgId.isPresent()){ + alarmConfig = alarmConfigService.queryValueByOrganizationId(orgId.get()).get(); + }else if(mpId.isPresent()){ + alarmConfig = alarmConfigService.queryByMonitorPointId(mpId.get()).get(); + } + //��������������� + if(alarmConfig.getValue()!=null&&alarmConfig.getValue().getAlarmLevels()!=null){ + Map<String, AlarmSensorLevel> alarmLevelMap = alarmConfig.getValue().getAlarmLevels(); + // ������������������������������������������������������ + Map<String,AlarmSensorLevel> defaultSensorLevelMap = null; + if(alarmConfig.getId()!=null){ + AlarmConfigValue defaultAlarmValue = alarmConfigService.getDefaultAlarmConfigValue(); + defaultSensorLevelMap = defaultAlarmValue.getAlarmLevels(); + } + Map<String, AlarmSensorLevel> finalDefaultSensorLevelMap = defaultSensorLevelMap; + alarmLevelMap.entrySet().stream().forEach(entry -> { + //��� increment������0������������������������ + AlarmSensorLevel alarmSensorLevel = entry.getValue(); + if(alarmSensorLevel.getIncrement()!=null){ + boolean isAllZero = alarmSensorLevel.getIncrement().stream().allMatch(item -> item == 0); + if(isAllZero){ + AlarmSensorLevel defaultAlarmSensorLevel = finalDefaultSensorLevelMap==null?null:finalDefaultSensorLevelMap.get(entry.getKey()); + if(defaultAlarmSensorLevel!=null){ + alarmSensorLevel.setIncrement(defaultAlarmSensorLevel.getIncrement()); + }else{ + List<Float> tempList = Arrays.asList(0.0f,200.0f,500.0f); + alarmSensorLevel.setIncrement(tempList); + } + } + } + }); + //map to list + Map<String, AlarmSensorLevel> finalAlarmLevelMap = alarmLevelMap; + sensorAlarmList = alarmLevelMap.keySet().stream().map(key -> { + AlarmSensorLevel alarmSensorLevel = finalAlarmLevelMap.get(key); + Map<String,Object> alarmSensorLevelMap = new HashMap<>(BeanMap.create(alarmSensorLevel)); + alarmSensorLevelMap.put("key",key); + return alarmSensorLevelMap; + }).collect(Collectors.toList()); + }else{ + return new ResultBean<>("���������������������������������������������",ResultBean.FAIL); + } } catch (Exception e) { e.printStackTrace(); Map<String, Object> err = new LinkedHashMap<String, Object>(); @@ -271,49 +300,46 @@ private int port = 21; private String path = "/"; - private String urlStr = "http://www.7drlb.com/apps/Version.xml"; - @RequestMapping(value = "/upgrade", method = RequestMethod.GET) public Version index() { Version version = new Version(); -// FTPClient ftpClient = new FTPClient(); + FTPClient ftpClient = new FTPClient(); try { -// ftpClient.connect(ip, port); -// ftpClient.login(userName, userPwd); -// ftpClient.changeWorkingDirectory(path); -// //ftpClient.enterRemotePassiveMode(); -// //ftpClient.enterLocalPassiveMode(); -// ftpClient.enterLocalActiveMode(); -// //ftpClient.enterRemoteActiveMode(InetAddress.getByName(ip), port); -// -// InputStream ins = ftpClient.retrieveFileStream(fileName); -// BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8")); -// String line; -// StringBuilder builder = new StringBuilder(); -// while ((line = reader.readLine()) != null) { -// builder.append(line); -// } -// reader.close(); -// if (ins != null) { -// ins.close(); -// } -// ftpClient.getReply(); -// String content = builder.toString(); -// if(ftpClient.isConnected()) { -// ftpClient.logout(); -// ftpClient.disconnect(); -// } + ftpClient.connect(ip, port); + ftpClient.login(userName, userPwd); + ftpClient.changeWorkingDirectory(path); + ftpClient.enterLocalPassiveMode(); + //ftpClient.enterLocalActiveMode(); - URL realUrl = new URL(urlStr); - URLConnection connection = realUrl.openConnection(); - connection.connect(); - StringBuffer result = new StringBuffer(); - BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + InputStream ins = ftpClient.retrieveFileStream(fileName); + BufferedReader reader = new BufferedReader(new InputStreamReader(ins,"utf-8")); String line; - while ((line = in.readLine()) != null) { - result.append(line); + StringBuilder builder = new StringBuilder(); + while ((line = reader.readLine()) != null) { + builder.append(line); } - String content = result.toString(); + reader.close(); + if (ins != null) { + ins.close(); + } + ftpClient.getReply(); + String content = builder.toString(); + if(ftpClient.isConnected()) { + ftpClient.logout(); + ftpClient.disconnect(); + } + +// String urlStr = "http://www.7drlb.com/apps/Version.xml"; +// URL realUrl = new URL(urlStr); +// URLConnection connection = realUrl.openConnection(); +// connection.connect(); +// StringBuffer result = new StringBuffer(); +// BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8")); +// String line; +// while ((line = in.readLine()) != null) { +// result.append(line); +// } +// String content = result.toString(); SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new InputSource(new ByteArrayInputStream(content.getBytes("utf-8")))); @@ -347,10 +373,8 @@ @RequestMapping(value = "/map-page", method = RequestMethod.GET) public ModelAndView map(ModelAndView model, @RequestParam("areaCode")int code, @RequestParam("accountId")int accountId){ Account account = accountService.getAccountById(accountId); - String regionName = areaService.selectFullNameByCode(code); + String regionName = areaService.queryFullNameByCode(code); if(account!=null&®ionName!=null){ - //������������ - regionName = regionName.replace(" ",""); Object sensors = sensorService.queryAll(); JSONObject params = new JSONObject(); params.put("regionCode",code); @@ -496,8 +520,18 @@ parameters.remove("organizationId"); } } - Map pieData = alarmService.getPieData(parameters); + Map pieData = alarmDailyService.getPieData(parameters); List<Map<String, Object>> list = (List<Map<String, Object>>) pieData.get(sensorKey); return new ResultBean<List<Map<String, Object>>>(list); } + + /** + * ���������������id������������������version��������� + * @param mptid + * @return + */ + @GetMapping("getvers") + public ResultBean<List<Integer>> getVersions(Integer mptid){ + return new ResultBean<>(monitorPointService.queryVersionsById(mptid)); + } } -- Gitblit v1.8.0