|  |  |  | 
|---|
|  |  |  | import static com.moral.common.util.ResourceUtil.getValue; | 
|---|
|  |  |  | import static com.moral.common.util.WebUtils.getParametersStartingWith; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | import java.io.BufferedReader; | 
|---|
|  |  |  | import java.io.ByteArrayInputStream; | 
|---|
|  |  |  | import java.io.InputStream; | 
|---|
|  |  |  | import java.io.InputStreamReader; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  | import java.util.Collection; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | 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 com.alibaba.fastjson.*; | 
|---|
|  |  |  | import com.moral.common.util.ParameterUtils; | 
|---|
|  |  |  | import com.moral.common.util.StringUtils; | 
|---|
|  |  |  | import com.moral.entity.*; | 
|---|
|  |  |  | import com.moral.entity.alarm.AlarmConfig; | 
|---|
|  |  |  | import com.moral.entity.alarm.AlarmConfigValue; | 
|---|
|  |  |  | import com.moral.entity.charts.DataSortCondition; | 
|---|
|  |  |  | import com.moral.entity.layout.RealTimeDeviceLayout; | 
|---|
|  |  |  | import com.moral.service.*; | 
|---|
|  |  |  | import org.apache.commons.collections.CollectionUtils; | 
|---|
|  |  |  | import org.apache.commons.net.ftp.FTPClient; | 
|---|
|  |  |  | import org.apache.log4j.Logger; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  | 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 com.alibaba.fastjson.JSONObject; | 
|---|
|  |  |  | import com.moral.common.bean.Constants; | 
|---|
|  |  |  | import com.moral.common.bean.JsonData; | 
|---|
|  |  |  | import com.moral.common.bean.PageResult; | 
|---|
|  |  |  | import com.moral.common.bean.ResultBean; | 
|---|
|  |  |  | import com.moral.common.util.BeanUtils; | 
|---|
|  |  |  | import com.moral.common.util.ParameterUtils; | 
|---|
|  |  |  | import com.moral.common.util.ValidateUtil; | 
|---|
|  |  |  | import com.moral.common.util.WebUtils; | 
|---|
|  |  |  | import com.moral.common.xml.Version; | 
|---|
|  |  |  | import com.moral.entity.Account; | 
|---|
|  |  |  | import com.moral.entity.AreaNames; | 
|---|
|  |  |  | import com.moral.entity.Device; | 
|---|
|  |  |  | import com.moral.entity.DeviceVersion; | 
|---|
|  |  |  | import com.moral.entity.MapBounds; | 
|---|
|  |  |  | import com.moral.entity.MonitorPoint; | 
|---|
|  |  |  | import com.moral.entity.Organization; | 
|---|
|  |  |  | import com.moral.entity.Region; | 
|---|
|  |  |  | import com.moral.entity.alarm.AlarmConfig; | 
|---|
|  |  |  | import com.moral.entity.alarm.AlarmConfigValue; | 
|---|
|  |  |  | import com.moral.entity.alarm.AlarmSensorLevel; | 
|---|
|  |  |  | import com.moral.entity.charts.DataSortCondition; | 
|---|
|  |  |  | import com.moral.entity.layout.RealTimeDeviceLayout; | 
|---|
|  |  |  | import com.moral.service.AccountService; | 
|---|
|  |  |  | import com.moral.service.AlarmConfigService; | 
|---|
|  |  |  | import com.moral.service.AlarmDailyService; | 
|---|
|  |  |  | import com.moral.service.AreaService; | 
|---|
|  |  |  | import com.moral.service.DeviceService; | 
|---|
|  |  |  | import com.moral.service.DeviceVersionService; | 
|---|
|  |  |  | import com.moral.service.DictionaryDataService; | 
|---|
|  |  |  | import com.moral.service.HangzhouAqiService; | 
|---|
|  |  |  | import com.moral.service.HistoryDailyService; | 
|---|
|  |  |  | import com.moral.service.HistoryMinutelyService; | 
|---|
|  |  |  | import com.moral.service.HistoryService; | 
|---|
|  |  |  | import com.moral.service.MachineActivateService; | 
|---|
|  |  |  | import com.moral.service.MonitorPointService; | 
|---|
|  |  |  | import com.moral.service.OrganizationLayoutService; | 
|---|
|  |  |  | import com.moral.service.OrganizationService; | 
|---|
|  |  |  | import com.moral.service.QualityDailyService; | 
|---|
|  |  |  | import com.moral.service.SensorService; | 
|---|
|  |  |  | import com.moral.service.WeatherService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiImplicitParam; | 
|---|
|  |  |  | 
|---|
|  |  |  | private  OrganizationService organizationService; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private  DictionaryDataService dictionaryDataService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private WeatherService weatherService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private QualityDailyService qualityDailyService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Screen login. 大屏登录 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | 
|---|
|  |  |  | Object orgId = resultMap.get("orgId"); | 
|---|
|  |  |  | if(resultMap.get("orgId")!=null && resultMap.get("orgId") instanceof Integer) { | 
|---|
|  |  |  | StringBuilder areaNamesBuilder = new StringBuilder("中国"); | 
|---|
|  |  |  | if((Integer) orgId != dictionaryDataService.querySupperOrgId()) { | 
|---|
|  |  |  | if(!((Integer) orgId).equals(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()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping(value = "/map-page", method = RequestMethod.GET) | 
|---|
|  |  |  | public ModelAndView map(ModelAndView model, @RequestParam("areaCode")int code, @RequestParam("accountId")int accountId){ | 
|---|
|  |  |  | public ModelAndView map(ModelAndView model, @RequestParam("areaCode")long code, @RequestParam("accountId")int accountId){ | 
|---|
|  |  |  | Account account = accountService.getAccountById(accountId); | 
|---|
|  |  |  | String regionName = areaService.queryFullNameByCode(code); | 
|---|
|  |  |  | if(account!=null&®ionName!=null){ | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @RequestMapping(value="/get-monitorpoints",method = RequestMethod.GET) | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | public ResultBean getMonitorpointList(@RequestParam("orgId")String orgId,MapBounds mapBounds){ | 
|---|
|  |  |  | public ResultBean getMonitorpointList(@RequestParam("orgId")String orgId,MapBounds mapBounds,@RequestParam("regionCode")String regionCode){ | 
|---|
|  |  |  | ResultBean<List<MonitorPoint>> resultBean = new ResultBean(); | 
|---|
|  |  |  | Map<String,Object> paramMap = new HashMap<String, Object>(); | 
|---|
|  |  |  | paramMap.put("orgId", orgId); | 
|---|
|  |  |  | paramMap.put("mapBounds",mapBounds); | 
|---|
|  |  |  | paramMap.put("regionCode",regionCode); | 
|---|
|  |  |  | ParameterUtils.getRegionType4RegionCode(paramMap); | 
|---|
|  |  |  | List<MonitorPoint> list = monitorPointService.queryWithStateByMap(paramMap); | 
|---|
|  |  |  | resultBean.setData(list); | 
|---|
|  |  |  | resultBean.setCode(ResultBean.SUCCESS); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @RequestMapping(value="/get-devices",method = RequestMethod.GET) | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | public ResultBean getDevices(@RequestParam("orgId")Integer orgId,MapBounds mapBounds){ | 
|---|
|  |  |  | public ResultBean getDevices(@RequestParam("orgId")Integer orgId,MapBounds mapBounds,@RequestParam("regionCode")String regionCode){ | 
|---|
|  |  |  | ResultBean<List<Device>> resultBean = new ResultBean(); | 
|---|
|  |  |  | Map<String,Object> paramMap = new HashMap<String, Object>(); | 
|---|
|  |  |  | paramMap.put("orgId", orgId); | 
|---|
|  |  |  | paramMap.put("mapBounds",mapBounds); | 
|---|
|  |  |  | paramMap.put("regionCode",regionCode); | 
|---|
|  |  |  | ParameterUtils.getRegionType4RegionCode(paramMap); | 
|---|
|  |  |  | List<Device> list = deviceService.query(paramMap); | 
|---|
|  |  |  | resultBean.setData(list); | 
|---|
|  |  |  | resultBean.setCode(ResultBean.SUCCESS); | 
|---|
|  |  |  | 
|---|
|  |  |  | @GetMapping("report_alarm_datas") | 
|---|
|  |  |  | public ResultBean<List<Map<String, Object>>> getAlarmData(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|---|
|  |  |  | parameters.put("type", "month"); | 
|---|
|  |  |  | ParameterUtils.getTimeType4Time(parameters); | 
|---|
|  |  |  | //parameters.put("type", "month"); | 
|---|
|  |  |  | String sensorKey = "list"; | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(parameters.get("sensorKey"))) { | 
|---|
|  |  |  | parameters.put("description", "description"); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return new ResultBean<List<Map<String, Object>>>(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @GetMapping("getmpoint-byid") | 
|---|
|  |  |  | @ApiOperation(value = "获取监测站数据", notes = "获取监测站数据,包含名称、地址、坐标等详细信息") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "monitorPointId",defaultValue = "1",value = "监控站id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<MonitorPoint> getMonitorPointById(Integer monitorPointId){ | 
|---|
|  |  |  | MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId); | 
|---|
|  |  |  | return new ResultBean<>(monitorPoint); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | HangzhouAqiService hangzhouAqiService; | 
|---|
|  |  |  | @GetMapping("aqi24hours") | 
|---|
|  |  |  | @ApiOperation(value = "最近24小时aqi数值", notes = "最近24小时国控aqi数值") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<List<Map<String,Object>>> getAqi24HoursNC(@RequestParam("orgid") Integer organizationId) { | 
|---|
|  |  |  | return new ResultBean<>(hangzhouAqiService.queryAqi24Hours(organizationId)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @GetMapping("mpt-dev-summary") | 
|---|
|  |  |  | @ApiOperation(value = "监控总数和设备状态信息", notes = "监控总数和设备状态信息") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Map> getMptAndDevSummary(@RequestParam("orgid") Integer organizationId){ | 
|---|
|  |  |  | Map<String,Map> result = new HashMap<>(2); | 
|---|
|  |  |  | Integer mptCount = monitorPointService.countOfSubOrgs(organizationId); | 
|---|
|  |  |  | Map monitorPointSummary = new HashMap(); | 
|---|
|  |  |  | monitorPointSummary.put("all",mptCount); | 
|---|
|  |  |  | Map deviceSummary = deviceService.queryDeviceStateSummary(organizationId); | 
|---|
|  |  |  | result.put("monitorPoint",monitorPointSummary); | 
|---|
|  |  |  | result.put("device",deviceSummary); | 
|---|
|  |  |  | return new ResultBean<>(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("weather") | 
|---|
|  |  |  | @ApiOperation(value = "获取区域天气情况", notes = "获取区域天气情况") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "5", value = "登录账号的组织id", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Map<String, Object>> getWeatherDataByRegion(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|---|
|  |  |  | Map<String, Object> map = weatherService.getWeatherDataByRegion(parameters); | 
|---|
|  |  |  | return new ResultBean<Map<String,Object>>(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("actual") | 
|---|
|  |  |  | @ApiOperation(value = "获取监测因子实时最大值", notes = "获取监测因子实时最大值") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "accountId",defaultValue = "1", value = "登录账号的id", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "sensorKey",defaultValue = "e1,e2,e3", value = "传感器key,如有多个用逗号分隔", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "time",defaultValue = "", value = "时间(long类型时间)", required = false, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "interval",defaultValue = "30", value = "时间间隔(秒)", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Map<String, Object>> getActualDataByRegion(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|---|
|  |  |  | Map<String, Object> map = historyService.getActualDataByRegion(parameters); | 
|---|
|  |  |  | return new ResultBean<Map<String, Object>>(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("quality") | 
|---|
|  |  |  | @ApiOperation(value = "获取优良天数", notes = "获取优良天数") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "5", value = "登录账号的组织id", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Map<String, Object>> getQualityCountDayByRegion(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = getParametersStartingWith(request, null); | 
|---|
|  |  |  | Map<String, Object> map = qualityDailyService.getQualityCountDayByRegion(parameters); | 
|---|
|  |  |  | return new ResultBean<Map<String, Object>>(map); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("monitorpoints-devices") | 
|---|
|  |  |  | @ApiOperation(value = "获取监控点以及设备", notes = "获取监控点以及设备") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "8", value = "登录账号的组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "区域码", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<List<MonitorPoint>> getMonitorPointsAndDevicesByRegion(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); | 
|---|
|  |  |  | List<MonitorPoint> monitorPoints= monitorPointService.getMonitorPointsAndDevicesByRegion(parameters); | 
|---|
|  |  |  | return new ResultBean<List<MonitorPoint>>(monitorPoints); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("devices-state") | 
|---|
|  |  |  | @ApiOperation(value = "刷新设备状态", notes = "刷新设备状态") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "8", value = "登录账号的组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "区域码", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Collection<Object>> getDevicesStateByRegion(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); | 
|---|
|  |  |  | Collection<Object> monitorPoints= monitorPointService.getDevicesStateByRegion(parameters); | 
|---|
|  |  |  | return new ResultBean<Collection<Object>>(monitorPoints); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private HistoryDailyService historyDailyService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("emissions") | 
|---|
|  |  |  | @ApiOperation(value = "排放量", notes = "排放量") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "5", value = "登录账号的组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "time",defaultValue = "2019", value = "查询的时间", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "sensorKey",defaultValue = "e27", value = "查询的监测因子的key", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "regionCode",defaultValue = "130000", value = "区域码", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<List<Map<String, Object>>> getemissionsData(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); | 
|---|
|  |  |  | List<Map<String, Object>> result = historyDailyService.getEmissionsData(parameters); | 
|---|
|  |  |  | return new ResultBean<List<Map<String, Object>>>(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("overproof") | 
|---|
|  |  |  | @ApiOperation(value = "浓度超标", notes = "浓度超标") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "organizationId",defaultValue = "5", value = "登录账号的组织id", required = true, paramType = "query", dataType = "Integer"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "time",defaultValue = "2019", value = "查询的时间", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "sensorKey",defaultValue = "e27", value = "查询的监测因子的key", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "overproofRatio",defaultValue = "0", value = "超标比例(0,1,2,3)(超标,超标100%,超标200%,超标300%)", required = true, paramType = "query", dataType = "String"), | 
|---|
|  |  |  | @ApiImplicitParam(name = "regionCode",defaultValue = "130000", value = "区域码", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<Map> getOverproofData(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); | 
|---|
|  |  |  | Map result = historyDailyService.getOverproofData(parameters); | 
|---|
|  |  |  | return new ResultBean<Map>(result); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("limit-device") | 
|---|
|  |  |  | @ApiOperation(value = "获取设备的警报限值", notes = "获取设备的警报限值") | 
|---|
|  |  |  | @ApiImplicitParams(value = { | 
|---|
|  |  |  | @ApiImplicitParam(name = "mac",defaultValue = "p5dnd7a0391956", value = "设备mac码", required = true, paramType = "query", dataType = "String") | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ResultBean<List<Map<String, Object>>> getLimitDataByDevice(HttpServletRequest request) throws Exception { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); | 
|---|
|  |  |  | String density = deviceService.getLimitDataByDevice(parameters); | 
|---|
|  |  |  | JSONObject parseObject = JSONObject.parseObject(density); | 
|---|
|  |  |  | List<Map<String, Object>> resuList = new ArrayList<Map<String,Object>>(); | 
|---|
|  |  |  | for (Map.Entry entry : parseObject.entrySet()) { | 
|---|
|  |  |  | resuList.add(new HashMap<String, Object>() { | 
|---|
|  |  |  | { | 
|---|
|  |  |  | put("key",entry.getKey()); | 
|---|
|  |  |  | put("limit", entry.getValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return new ResultBean<List<Map<String, Object>>>(resuList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|