|  |  |  | 
|---|
|  |  |  | package com.doumee.cloud.board; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.doumee.api.BaseController; | 
|---|
|  |  |  | import com.doumee.config.annotation.LoginNoRequired; | 
|---|
|  |  |  | import com.doumee.core.model.ApiResponse; | 
|---|
|  |  |  | import com.doumee.dao.admin.response.PCWorkPlatformDataVO; | 
|---|
|  |  |  | import com.doumee.service.business.VisitsService; | 
|---|
|  |  |  | import com.doumee.service.business.third.model.ApiResponse; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.dao.business.PlatformLogMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.PlatformLog; | 
|---|
|  |  |  | import com.doumee.dao.web.response.platformReport.*; | 
|---|
|  |  |  | import com.doumee.service.business.third.BoardService; | 
|---|
|  |  |  | import io.swagger.annotations.*; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.GetMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestMapping; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RequestParam; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.RestController; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Random; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by IntelliJ IDEA. | 
|---|
|  |  |  | 
|---|
|  |  |  | * @create 2024/10/28 13:42 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Api(tags = "消防管控大屏") | 
|---|
|  |  |  | @Api(tags = "【看板大屏】消防管控大屏") | 
|---|
|  |  |  | @RestController | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/board/api/fightingAdmin") | 
|---|
|  |  |  | public class FightingAdminController extends BaseController { | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private BoardService boardService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private VisitsService visitsService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("中心数据") | 
|---|
|  |  |  | @GetMapping("/centerData") | 
|---|
|  |  |  | public ApiResponse<FightingAdminBoardVO> centerData() { | 
|---|
|  |  |  | FightingAdminBoardVO data = new FightingAdminBoardVO(); | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | data.setOfflineDeviceNum(random.nextInt(20)); | 
|---|
|  |  |  | data.setOnlineDeviceNum(random.nextInt(20)); | 
|---|
|  |  |  | data.setErrDeviceNum(random.nextInt(20)); | 
|---|
|  |  |  | data.setShieldDeviceNum(random.nextInt(20)); | 
|---|
|  |  |  | data.setTodayDangerNum(random.nextInt(20)); | 
|---|
|  |  |  | data.setDealDangerNum(random.nextInt(20)); | 
|---|
|  |  |  | public ApiResponse<FightingAdminCenterDataVO> centerData() { | 
|---|
|  |  |  | FightingAdminCenterDataVO data = boardService.centerFightingAdminData(); | 
|---|
|  |  |  | return ApiResponse.success(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("今日各系统设备状态及告警数量") | 
|---|
|  |  |  | @GetMapping("/deviceAlarmData") | 
|---|
|  |  |  | public ApiResponse<List<DeviceAlarmDataVO>> deviceAlarmData() { | 
|---|
|  |  |  | List<DeviceAlarmDataVO> deviceAlarmDataVOList = new ArrayList<>(); | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | for (int i = 1; i <= 5; i++) { | 
|---|
|  |  |  | DeviceAlarmDataVO deviceAlarmDataVO = new DeviceAlarmDataVO(); | 
|---|
|  |  |  | deviceAlarmDataVO.setDeviceTypeName("设备名称_"+i); | 
|---|
|  |  |  | deviceAlarmDataVO.setAlarmNum(random.nextInt(20)); | 
|---|
|  |  |  | deviceAlarmDataVO.setErrNum(random.nextInt(20)); | 
|---|
|  |  |  | deviceAlarmDataVO.setOfflineNum(random.nextInt(20)); | 
|---|
|  |  |  | deviceAlarmDataVO.setShieldNum(random.nextInt(20)); | 
|---|
|  |  |  | deviceAlarmDataVO.setStatusTotal(deviceAlarmDataVO.getAlarmNum() + deviceAlarmDataVO.getErrNum() + deviceAlarmDataVO.getOfflineNum() + deviceAlarmDataVO.getShieldNum()); | 
|---|
|  |  |  | deviceAlarmDataVOList.add(deviceAlarmDataVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ApiResponse.success(deviceAlarmDataVOList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param type 0/null  = 当天;1=当月;2=当年 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("报警信息") | 
|---|
|  |  |  | @GetMapping("/alarmData") | 
|---|
|  |  |  | public ApiResponse<AlarmDataVO> alarmData() { | 
|---|
|  |  |  | AlarmDataVO alarmDataVO = new AlarmDataVO(); | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | alarmDataVO.setTotalNum(random.nextInt(30)); | 
|---|
|  |  |  | alarmDataVO.setRealNum(random.nextInt(alarmDataVO.getTotalNum())); | 
|---|
|  |  |  | alarmDataVO.setErrNum(random.nextInt(alarmDataVO.getRealNum())); | 
|---|
|  |  |  | alarmDataVO.setLiftNum(random.nextInt(alarmDataVO.getErrNum())); | 
|---|
|  |  |  | alarmDataVO.setProcessingNum(random.nextInt(alarmDataVO.getErrNum())); | 
|---|
|  |  |  | public ApiResponse<AlarmDataVO> alarmDataSumByCate(Integer type) { | 
|---|
|  |  |  | AlarmDataVO alarmDataVO = boardService.alarmDataSumByCate(type); | 
|---|
|  |  |  | return ApiResponse.success(alarmDataVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("告警信息集合") | 
|---|
|  |  |  | @GetMapping("/alarmDataList") | 
|---|
|  |  |  | public ApiResponse<List<AlarmEventDataVO>> alarmDataList() { | 
|---|
|  |  |  | List<AlarmEventDataVO> data  = boardService.fightingAdminAlertList(); | 
|---|
|  |  |  | return ApiResponse.success(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("告警处理分析") | 
|---|
|  |  |  | @GetMapping("/alarmHandleData") | 
|---|
|  |  |  | public ApiResponse<List<AlarmHandleDataVO>> alarmHandleData(@RequestParam Integer type) { | 
|---|
|  |  |  | List<AlarmHandleDataVO> alarmHandleDataVOList = new ArrayList<>(); | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | for (int i = 1; i <= 12; i++) { | 
|---|
|  |  |  | AlarmHandleDataVO alarmHandleDataVO = new AlarmHandleDataVO(); | 
|---|
|  |  |  | alarmHandleDataVO.setMonthStr(i+"月"); | 
|---|
|  |  |  | alarmHandleDataVO.setAlarmNum(random.nextInt(20)); | 
|---|
|  |  |  | alarmHandleDataVO.setErrNum(random.nextInt(20)); | 
|---|
|  |  |  | alarmHandleDataVO.setLiftNum(random.nextInt(20)); | 
|---|
|  |  |  | alarmHandleDataVO.setProcessingNum(random.nextInt(20)); | 
|---|
|  |  |  | alarmHandleDataVOList.add(alarmHandleDataVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ApiResponse.success(alarmHandleDataVOList); | 
|---|
|  |  |  | @ApiOperation("检测数据集合") | 
|---|
|  |  |  | @GetMapping("/monitorDataList") | 
|---|
|  |  |  | public ApiResponse<List<MonitorDataVO>> monitorDataList() { | 
|---|
|  |  |  | List<MonitorDataVO> data  = boardService.monitorDataList(); | 
|---|
|  |  |  | return ApiResponse.success(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("本年消防设备/设施维护情况") | 
|---|
|  |  |  | @ApiOperation("告警处理分析集合") | 
|---|
|  |  |  | @GetMapping("/alarmHandleData") | 
|---|
|  |  |  | public ApiResponse<List<AlarmDataVO>> alarmHandleData() { | 
|---|
|  |  |  | List<AlarmDataVO> alarmHandleDataVOList = boardService.fightingAlarmHandleData(); | 
|---|
|  |  |  | return ApiResponse.success(alarmHandleDataVOList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("本年和本月新增消防设备/设施维护情况") | 
|---|
|  |  |  | @GetMapping("/yearDeviceData") | 
|---|
|  |  |  | public ApiResponse<YearDeviceDataVO> yearDeviceData() { | 
|---|
|  |  |  | Random random = new Random(); | 
|---|
|  |  |  | YearDeviceDataVO yearDeviceDataVO = new YearDeviceDataVO(); | 
|---|
|  |  |  | yearDeviceDataVO.setMonthAddNum(random.nextInt(100)); | 
|---|
|  |  |  | yearDeviceDataVO.setPlanProtectTotal(random.nextInt(1000)); | 
|---|
|  |  |  | yearDeviceDataVO.setProtectNum(yearDeviceDataVO.getPlanProtectTotal()); | 
|---|
|  |  |  | YearDeviceDataVO yearDeviceDataVO = boardService.yearFightingAdminDeviceData(); | 
|---|
|  |  |  | return ApiResponse.success(yearDeviceDataVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("温湿度数据") | 
|---|
|  |  |  | @GetMapping("/getTemperatureHumidityData") | 
|---|
|  |  |  | public ApiResponse<List<TemperatureHumidityDataVO>> getTemperatureHumidityData() { | 
|---|
|  |  |  | List<TemperatureHumidityDataVO> list = boardService.getTemperatureHumidityData(); | 
|---|
|  |  |  | return ApiResponse.success(list); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @LoginNoRequired | 
|---|
|  |  |  | @ApiOperation("实时在场人员分布") | 
|---|
|  |  |  | @GetMapping("/inParkUser") | 
|---|
|  |  |  | public ApiResponse<PCWorkPlatformDataVO> inParkUser() { | 
|---|
|  |  |  | PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(Constants.ONE,null); | 
|---|
|  |  |  | return ApiResponse.success(pcWorkPlatformDataVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|