| | |
| | | import com.doumee.service.business.third.BoardService; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.ObjectUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | public class BoardServiceImpl implements BoardService { |
| | | @Autowired |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private HiddenDangerMapper hiddenDangerMapper; |
| | | @Autowired |
| | | private PlatformWaterGasMapper platformWaterGasMapper; |
| | | @Autowired |
| | |
| | | } |
| | | |
| | | /** |
| | | * 【消防管控】看板-本年和本月新增消防设备/设施维护情况 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<AlarmEventDataVO> fightingAdminAlertList(){ |
| | | List<AlarmEventDataVO> data = new ArrayList<>(); |
| | | |
| | | //查询24小时内的 |
| | | FindHomeAlarmInfoPageRequest param = new FindHomeAlarmInfoPageRequest(); |
| | | param.setHour(24); |
| | | param.setPage(1); |
| | | param.setAlarmStartTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1))); |
| | | param.setAlarmEndTime(DateUtil.getPlusTime2(new Date())); |
| | | param.setPageSize(20); |
| | | BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> response = HKService.findHomeAlarmInfoPage(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null |
| | | &&response.getData().getList()!=null) { |
| | | for(FindHomeAlarmInfoPageResponse r : response.getData().getList()){ |
| | | AlarmEventDataVO t = new AlarmEventDataVO(); |
| | | BeanUtils.copyProperties(r,t); |
| | | data.add(t); |
| | | } |
| | | } |
| | | return data; |
| | | |
| | | } |
| | | /** |
| | | * 【消防管控】看板-实时监测数据 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<MonitorDataVO> monitorDataList(){ |
| | | List<MonitorDataVO> list = new ArrayList<>(); |
| | | MinitorDataSearchRequest param = new MinitorDataSearchRequest(); |
| | | param.setResourceTypeCodes(new String[]{}); |
| | | param.setRegionIndexCode("root0001"); |
| | | param.setIncludeDown("1"); |
| | | param.setUserId("admin"); |
| | | BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> response = HKService.minitorDataSearch(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | List<MonitorDataSearchResponse> r = response.getData().getList(); |
| | | if(r!= null){ |
| | | for(MonitorDataSearchResponse model : r){ |
| | | MonitorDataVO m = new MonitorDataVO(); |
| | | m.setName(model.getName()); |
| | | m.setDataList(new ArrayList<>()); |
| | | if(model.getValues()!=null){ |
| | | for(MonitorDataValResponse v : model.getValues()){ |
| | | MonitorDataInfoVO vm = new MonitorDataInfoVO(); |
| | | vm.setValue(v.getMonitorValue()); |
| | | vm.setCateName(v.getMonitorSpecificName()); |
| | | vm.setCateCode(v.getMonitorTypeKey()); |
| | | vm.setTypeCode(v.getMonitorTypeCode()); |
| | | vm.setTypeName(v.getMonitorTypeName()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 【消防管控】看板-告警处理分析集合 |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public List<AlarmDataVO> fightingAlarmHandleData(){ |
| | | List<AlarmDataVO> alarmHandleDataVOList = new ArrayList<>(); |
| | | Date now = DateUtil.getStartOfDay(new Date()); |
| | | for (int i = 1; i < 12; i++) { |
| | | Date start = DateUtil.addMonthToDate(now,-12+i); |
| | | Date end = DateUtil.addMonthToDate(now,-11+i); |
| | | AlarmDataVO t = getAlertDataByStartEndTime(DateUtil.getPlusTime2(start),DateUtil.getPlusTime2(end)); |
| | | alarmHandleDataVOList.add(t); |
| | | } |
| | | return alarmHandleDataVOList; |
| | | } |
| | | /** |
| | | * 【消防管控】看板-告警信息集合 |
| | | * |
| | | * @return |
| | | * |
| | | */ |
| | | @Override |
| | | public AlarmDataVO alarmDataSumByCate(){ |
| | | AlarmDataVO alarmDataVO = getAlertDataByStartEndTime(DateUtil.getPlusTime2(DateUtil.addDaysToDate(new Date(),-1)) |
| | | ,(DateUtil.getPlusTime2(new Date()))); |
| | | return alarmDataVO; |
| | | } |
| | | |
| | | public static AlarmDataVO getAlertDataByStartEndTime(String start,String end){ |
| | | AlarmDataVO alarmDataVO = new AlarmDataVO(); |
| | | FindAlarmBaseDataStatisticRequest param = new FindAlarmBaseDataStatisticRequest(); |
| | | param.setAlarmStartTime(start); |
| | | param.setAlarmEndTime(end); |
| | | param.setUserId("admin"); |
| | | BaseResponse<FindAlarmBaseDataStatisticResponse> response = HKService.findAlarmBaseDataStatistic(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response.getData()!=null ) { |
| | | alarmDataVO.setTotalNum(Constants.formatIntegerNum(response.getData().getTotalAlarmNum())); |
| | | alarmDataVO.setRealNum(Constants.formatIntegerNum(response.getData().getTotalAlarmNum())); |
| | | alarmDataVO.setErrNum(Constants.formatIntegerNum(response.getData().getMisReportAlarmNum())); |
| | | alarmDataVO.setLiftNum(Constants.formatIntegerNum(response.getData().getHandledAlarmNum())); |
| | | alarmDataVO.setProcessingNum(Constants.formatIntegerNum(response.getData().getUnHandedAlarmNum())); |
| | | alarmDataVO.setStartDate(start); |
| | | alarmDataVO.setEndDate(end); |
| | | } |
| | | return alarmDataVO; |
| | | } |
| | | /** |
| | | * 【消防管控】看板-本年和本月新增消防设备/设施维护情况 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public YearDeviceDataVO yearFightingAdminDeviceData(){ |
| | | YearDeviceDataVO data = new YearDeviceDataVO(); |
| | | |
| | | FireStatisticRequest param = new FireStatisticRequest(); |
| | | param.setIndexCode("api_fire_statistic"); |
| | | BaseResponse<FireStatisticResponse> response = HKService.fireStatistic(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ) { |
| | | data.setProtectNum(Constants.formatIntegerNum(response.getData().getMaintenanceNum())); |
| | | data.setPlanProtectTotal(Constants.formatIntegerNum(response.getData().getDeviceTotalNum())); |
| | | } |
| | | |
| | | param = new FireStatisticRequest(); |
| | | param.setIndexCode("api_fire_statistic_month"); |
| | | BaseResponse<FireStatisticResponse> response1 = HKService.fireStatisticMonth(param); |
| | | if(response1 != null && StringUtils.equals(response1.getCode(), HKConstants.RESPONSE_SUCCEE) |
| | | && response1.getData()!=null ) { |
| | | data.setMonthAddNum(Constants.formatIntegerNum(response1.getData().getMaintenanceNum())); |
| | | data.setMonthTotalNum(Constants.formatIntegerNum(response1.getData().getDeviceTotalNum())); |
| | | } |
| | | return data; |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 【消防管控】看板-分类和汇总的各状态设备数量 |
| | | * @return |
| | | */ |
| | | @Override |
| | | public FightingAdminCenterDataVO centerFightingAdminData(){ |
| | | FightingAdminCenterDataVO data = new FightingAdminCenterDataVO(); |
| | | List<DeviceNumByTypeVO> list = new ArrayList<>(); |
| | | FireDevStatusTotalRequest param = new FireDevStatusTotalRequest(); |
| | | param.setIncludeBool(1); |
| | | param.setRegionIds(new String[]{"root000000"}); |
| | | BaseResponse<List<FireDevStatusListResponse>> response = HKService.getFireDevStatusList(param); |
| | | if(response != null && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) && response.getData()!=null ){ |
| | | for(FireDevStatusListResponse r :response.getData()){ |
| | | DeviceNumByTypeVO t = new DeviceNumByTypeVO(); |
| | | t.setTypeName(r.getDevTypeName()); |
| | | t.setOfflineDeviceNum(Constants.formatIntegerNum(r.getOfflineFireDevCount())); |
| | | t.setAlarmDeviceNum(Constants.formatIntegerNum(r.getAlarmFireDevCount())); |
| | | t.setOnlineDeviceNum(Constants.formatIntegerNum(r.getOnlineFireDevCount())); |
| | | t.setErrDeviceNum(Constants.formatIntegerNum(r.getFaultFireDevCount())); |
| | | t.setTotalDeviceNum(Constants.formatIntegerNum(r.getTotalFireDevCount())); |
| | | list.add(t); |
| | | data.setOfflineDeviceNum(Constants.formatIntegerNum( data.getOfflineDeviceNum())+Constants.formatIntegerNum(r.getOfflineFireDevCount())); |
| | | data.setAlarmDeviceNum(Constants.formatIntegerNum( data.getAlarmDeviceNum())+Constants.formatIntegerNum(r.getAlarmFireDevCount())); |
| | | data.setOnlineDeviceNum(Constants.formatIntegerNum( data.getOnlineDeviceNum())+Constants.formatIntegerNum(r.getOnlineFireDevCount())); |
| | | data.setErrDeviceNum(Constants.formatIntegerNum( data.getErrDeviceNum())+Constants.formatIntegerNum(r.getFaultFireDevCount())); |
| | | data.setTotalDeviceNum(Constants.formatIntegerNum( data.getTotalDeviceNum())+Constants.formatIntegerNum(r.getTotalFireDevCount())); |
| | | } |
| | | } |
| | | data.setDeviceTypeList(list); |
| | | Long totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .apply("to_day(create_data) = to_days(now())" ) ); |
| | | data.setDangerTotalNum(totalNum !=null?totalNum.intValue():0);//今日隐患数量 |
| | | totalNum =hiddenDangerMapper.selectCount(new QueryWrapper<HiddenDanger>().lambda() |
| | | .eq(HiddenDanger::getIsdeleted,Constants.ZERO ) |
| | | .in(HiddenDanger::getStatus,Constants.ONE,Constants.TWO ) |
| | | .apply("to_day(check_date) = to_days(now())" ) ); |
| | | data.setDangerDealedNum(totalNum !=null?totalNum.intValue():0);//今日处理隐患数量 |
| | | return data; |
| | | } |
| | | /** |
| | | * 用电总能耗同比、环比和区域用电量集合 |
| | | * @return |
| | | */ |