| | |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> alarmReminder(Map<String, Object> parameters) { |
| | | Map<String,Object> resultMap = new HashMap<>(); |
| | | public Map<String, Object> getDataByConditionWithoutPage(Map<String, Object> parameters) { |
| | | Map<String, Object> resultMap = new HashMap<>(); |
| | | int orgId = Integer.parseInt(parameters.get("organization_id").toString()); |
| | | //定义一个集合,存放所有id |
| | | /* //定义一个集合,存放所有id |
| | | List<Integer> allOrgId = new ArrayList<>(); |
| | | allOrgId.add(orgId); |
| | | //循环集合 |
| | |
| | | }else { |
| | | continue; |
| | | } |
| | | }*/ |
| | | List<Integer> deviceIdList = deviceMapper.deviceIdList(orgId); |
| | | if (deviceIdList.size()>0){ |
| | | Map<String, Object> map = new HashMap<>(); |
| | | QueryWrapper<AlarmInfo> alarmInfoQueryWrapper = new QueryWrapper<>(); |
| | | map.put("deviceIds",deviceIdList); |
| | | alarmInfoQueryWrapper.in("device_id",deviceIdList); |
| | | String startTime = parameters.get("startTime")+" 00:00:00"; |
| | | String endTime = parameters.get("endTime")+" 23:59:59"; |
| | | map.put("startTime",startTime); |
| | | map.put("endTime",endTime); |
| | | alarmInfoQueryWrapper.between("alarm_time", startTime, endTime); |
| | | String index = parameters.get("index").toString(); |
| | | if (!index.equals("all")){ |
| | | map.put("index",index); |
| | | alarmInfoQueryWrapper.eq("`index`", index); |
| | | } |
| | | String alarmType = parameters.get("alarmType").toString(); |
| | | switch (alarmType){ |
| | | case "overrun" : map.put("alarmType","超限"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超限"); |
| | | break; |
| | | case "sudden" : map.put("alarmType","突然高"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","突然高"); |
| | | break; |
| | | case "state100" : map.put("alarmType","超过国控站点100%"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超过国控站点100%"); |
| | | break; |
| | | case "state150" : map.put("alarmType","超过国控站点150%"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超过国控站点150%"); |
| | | break; |
| | | case "state250" : map.put("alarmType","超过国控站点250%"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超过国控站点250%"); |
| | | break; |
| | | case "city150" : map.put("alarmType","超过市区均值150%"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超过市区均值150%"); |
| | | break; |
| | | case "city250" : map.put("alarmType","超过市区均值250%"); |
| | | alarmInfoQueryWrapper.eq("alarm_type","超过市区均值250%"); |
| | | break; |
| | | default:break; |
| | | } |
| | | List<Map<String, Object>> resultList = alarmInfoMapper.selectDataByConditionWithoutPage(map); |
| | | SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | for (Map<String, Object> alarmInfo:resultList) { |
| | | String alarm_time = SDF.format(alarmInfo.get("alarm_time")); |
| | | alarmInfo.put("alarm_time",alarm_time); |
| | | } |
| | | Integer totalNumber = alarmInfoMapper.selectCount(alarmInfoQueryWrapper); |
| | | resultMap.put("alarmInfos", resultList); |
| | | return resultMap; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> alarmReminder(Map<String, Object> parameters) { |
| | | Map<String,Object> resultMap = new HashMap<>(); |
| | | int orgId = Integer.parseInt(parameters.get("organization_id").toString()); |
| | | /*//定义一个集合,存放所有id |
| | | List<Integer> allOrgId = new ArrayList<>(); |
| | | allOrgId.add(orgId); |
| | | //循环集合 |
| | | //所有子组织 |
| | | List<Organization> allChildrenOrganization = organizationService.getChildrenOrganizationsById(orgId); |
| | | if (!ObjectUtils.isEmpty(allChildrenOrganization) || allChildrenOrganization.size() < 1){ |
| | | for (Organization organization:allChildrenOrganization) { |
| | | allOrgId.add(organization.getId()); |
| | | } |
| | | } |
| | | //集合去重 |
| | | List<Integer> allOrgIdWithoutDuplicates = allOrgId.stream().distinct().collect(Collectors.toList()); |
| | | //声明一个list,存放设备id |
| | | List<Integer> deviceIdList = new ArrayList<>(); |
| | | for (Integer orgIdWithoutDuplicates:allOrgIdWithoutDuplicates) { |
| | | //根据id查询所属设备 |
| | | QueryWrapper<Device> wrapper_device = new QueryWrapper<>(); |
| | | wrapper_device.eq("is_delete",Constants.NOT_DELETE).eq("organization_id",orgIdWithoutDuplicates); |
| | | List<Device> devices = new ArrayList<>(); |
| | | devices = deviceMapper.selectList(wrapper_device); |
| | | if (devices.size()>0){ |
| | | for (Device device:devices) { |
| | | int deviceId = device.getId(); |
| | | deviceIdList.add(deviceId); |
| | | } |
| | | }else { |
| | | continue; |
| | | } |
| | | }*/ |
| | | // if (deviceIdList.size()>0){ |
| | | Map<String, Object> map = new HashMap<>(); |
| | | //map.put("deviceIds",deviceIdList); |
| | | int size = Integer.parseInt(parameters.get("size").toString()); |
| | | map.put("size",size); |
| | | map.put("orgId",orgId); |
| | | List<Map<String, Object>> resultList = alarmInfoMapper.selectNewestData(map); |
| | | SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | for (Map<String, Object> alarmInfo:resultList) { |
| | | String alarm_time = SDF.format(alarmInfo.get("alarm_time")); |
| | | alarmInfo.put("alarm_time",alarm_time); |
| | | } |
| | | resultMap.put("alarmInfors",resultList); |
| | | Integer totalNumber = alarmInfoMapper.numNews(orgId); |
| | | /*QueryWrapper<AlarmInfo> alarmInfoQueryWrapper = new QueryWrapper<>(); |
| | | alarmInfoQueryWrapper.in("device_id",deviceIdList); |
| | | Integer totalNumber = alarmInfoMapper.selectCount(alarmInfoQueryWrapper);*/ |
| | | resultMap.put("totalNumber",totalNumber); |
| | | return resultMap; |
| | | // } |
| | | // return null; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> alarmReminderByMonitorPointIds(Map<String, Object> parameters) { |
| | | Map<String, Object> resultMap = new HashMap<>(); |
| | | String monitorPointIds = parameters.get("monitorPointIds").toString(); |
| | | monitorPointIds.replace("[",""); |
| | | monitorPointIds.replace("]",""); |
| | | String[] monitorPointIdArray = monitorPointIds.split(","); |
| | | List<String> monitorPointIdList = new ArrayList<>(Arrays.asList(monitorPointIdArray)); |
| | | //声明一个list,存放设备id |
| | | List<Integer> deviceIdList = new ArrayList<>(); |
| | | //根据id查询所属设备 |
| | | QueryWrapper<Device> wrapper_device = new QueryWrapper<>(); |
| | | wrapper_device.eq("is_delete",Constants.NOT_DELETE); |
| | | wrapper_device.in("monitor_point_id",monitorPointIdList); |
| | | List<Device> devices = new ArrayList<>(); |
| | | devices = deviceMapper.selectList(wrapper_device); |
| | | if (devices.size()>0){ |
| | | for (Device device:devices) { |
| | | int deviceId = device.getId(); |
| | | deviceIdList.add(deviceId); |
| | | } |
| | | } |
| | | if (deviceIdList.size()>0){ |
| | | Map<String, Object> map = new HashMap<>(); |