From 00dabe413d23e8bc03e2f5cf884a4f25f1c9bc49 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Fri, 20 Jul 2018 16:19:08 +0800 Subject: [PATCH] 增加 按日期 查询 --- src/main/java/com/moral/controller/ScreenController.java | 99 ++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 80 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index e549d66..ba2a89e 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -9,8 +9,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import com.alibaba.fastjson.JSONReader; -import com.alibaba.fastjson.TypeReference; +import com.alibaba.fastjson.*; +import com.moral.common.util.StringUtils; import com.moral.entity.*; import com.moral.entity.alarm.AlarmConfig; import com.moral.entity.alarm.AlarmConfigValue; @@ -28,18 +28,9 @@ 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.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.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import org.xml.sax.InputSource; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.moral.common.bean.Constants; import com.moral.common.bean.JsonData; import com.moral.common.bean.PageResult; @@ -58,9 +49,9 @@ */ @RestController @RequestMapping("/screen") -//@CrossOrigin(origins = "*", maxAge = 3600) +@CrossOrigin(origins = "*", maxAge = 3600) @SuppressWarnings({ "rawtypes", "unchecked", "unused" }) -@Api(tags = "Screen", description = "������������") +@Api(tags = "Screen", description = "������������") public class ScreenController { public static Logger log = Logger.getLogger(ScreenController.class); @Resource @@ -110,6 +101,10 @@ private OrganizationLayoutService orgLayoutService; @Resource private DeviceVersionService dviceVersionService; + @Resource + private OrganizationService organizationService; + @Resource + private DictionaryDataService dictionaryDataService; /** * Screen login. ������������ * @@ -126,6 +121,30 @@ 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 != dictionaryDataService.querySupperOrgId()) { + Organization organization = organizationService.getOrganizationById((Integer) orgId); + if(organization.getAreaNames()!=null){ + AreaNames areaNames = organization.getAreaNames(); + if(!StringUtils.isNullOrEmpty(areaNames.getProvinceName())){ + areaNamesBuilder.append("/"); + areaNamesBuilder.append(areaNames.getProvinceName()); + if(!StringUtils.isNullOrEmpty(areaNames.getCityName())){ + areaNamesBuilder.append("/"); + areaNamesBuilder.append(areaNames.getCityName()); + if(!StringUtils.isNullOrEmpty(areaNames.getAreaName())){ + areaNamesBuilder.append("/"); + areaNamesBuilder.append(areaNames.getAreaName()); + } + } + } + } + } + resultMap.put("mapPath",areaNamesBuilder.toString()); + } } return resultMap; } @@ -509,7 +528,12 @@ @GetMapping("report_avg_datas") public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request) throws Exception { Map<String, Object> parameters = getParametersStartingWith(request, null); - parameters.put("type", "month"); + int length = ((String)parameters.get("time")).split("-").length; + if (length == 2) { + parameters.put("type", "month"); + } else if (length == 3){ + parameters.put("type", "day"); + } parameters.put("monitorPointId", parameters.remove("monitorPoint")); String sensorKey = parameters.remove("sensorKey").toString(); List<String> sensorKeys = new ArrayList<String>(); @@ -566,6 +590,7 @@ @ApiImplicitParam(name = "dimension", value = "������(profession���region���monitorPoint������)", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "accountId", value = "������id", required = true, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "timeType", value = "������������(month���day���hour������)", required = true, paramType = "query", dataType = "int"), }) public ResultBean<List<Map<String, Object>>> getRegionRankingData(HttpServletRequest request){ Map<String, Object> parameters = getParametersStartingWith(request, null); @@ -593,12 +618,14 @@ DeviceVersion deviceVersion = deviceVersionService.queryVersionById(device.getDeviceVersionId()); rtdLayout = orgLayoutService.queryRtdLayoutWithUnit(orgId,deviceVersion.getVersion()); }else { - return ResultBean.fail(); + String errMsg = "device ���������������"+ JSON.toJSONString(device); + log.warn(errMsg); + return ResultBean.fail(errMsg); } } else { MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(Integer.parseInt(primaryKey)); - List<DeviceVersion> versionList = deviceVersionService.queryByOrgId(monitorPoint.getOrganizationId()); + List<DeviceVersion> versionList = deviceVersionService.queryByMpointId(monitorPoint.getId()); if(versionList.size() > 0) { List<Integer> versionNolist = versionList.stream().map(item -> { return item.getVersion(); @@ -609,10 +636,44 @@ } } } - if(rtdLayout.getDefaultMonitorItems().size() == 0 ) { + if(rtdLayout!=null && rtdLayout.getDefaultMonitorItems().size() == 0 ) { rtdLayout.getDefaultMonitorItems().addAll(rtdLayout.getCoreMonitorItems()); } - return new ResultBean(rtdLayout); + return new ResultBean(rtdLayout == null? new RealTimeDeviceLayout():rtdLayout); + } + + @GetMapping("report_avg_data") + @ApiOperation(value = "������������������������������", notes = "������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPoint", value = "���������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������,������(���������2018-03)", required = true, paramType = "query", dataType = "String"), + }) + public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgDataBySensorKey(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + int length = ((String)parameters.get("time")).split("-").length; + if (length == 2) { + parameters.put("type", "month"); + } else if (length == 3){ + parameters.put("type", "day"); + } + parameters.put("monitorPointId", parameters.remove("monitorPoint")); + String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + parameters.put("sensors", Arrays.asList(sensorKeys)); + List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + + for (Map<String, Object> map : list) { + String time = map.get("time").toString(); + time = time.substring(time.length() - 2); + map.put("time", Integer.valueOf(time)); + List<Number> values = new ArrayList<Number>(); + for (String string : sensorKeys) { + values.add((Number) map.remove(string)); + } + map.put("values", values); + } + return new ResultBean<List<Map<String, Object>>>(list); } } -- Gitblit v1.8.0