package com.zehong.web.controller.visualization; import com.github.pagehelper.PageInfo; import com.zehong.common.core.controller.BaseController; import com.zehong.system.domain.form.DeviceReportDataForm; import com.zehong.system.domain.form.TWorkOrderForm; import com.zehong.system.domain.vo.DeviceReportDataVo; import com.zehong.system.domain.vo.SevenDayAlarmVo; import com.zehong.system.domain.vo.WorkOrderNotReceivedVo; import com.zehong.system.domain.vo.WorkOrderVo; import com.zehong.system.service.ITDeviceReportDataService; import com.zehong.system.service.ITWorkOrderService; import com.zehong.system.service.IVisualizationService; import com.zehong.web.timeconfig.TimeConfig; 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.RestController; import java.util.ArrayList; import java.util.List; /** * 燃气管理系统-数据可视化控制层 */ @RestController @RequestMapping("/visualization/visualizationData") public class VisualizationController extends BaseController { /** * 数据可视化控制层 */ @Autowired private IVisualizationService iVisualizationService; /**设备监控service层*/ @Autowired private ITDeviceReportDataService tDeviceReportDataService; /**工单基础信息service层*/ @Autowired private ITWorkOrderService tWorkOrderService; /** * 查询设备实时监控列表数量接口 (报警状态) * @return */ @GetMapping("/equipmentAlarmSize") public int realtimeListSize(){ DeviceReportDataForm deviceReportDataForm=new DeviceReportDataForm(); PageInfo<DeviceReportDataVo> page = tDeviceReportDataService.selectRealtimeDataPage(deviceReportDataForm); int quantity = 0; for (int i=0;i<page.getSize();i++){ if (page.getList().get(i).getDeviceStatus().equals("报警")){ quantity++; } } return quantity; } /** * 查询设备实时监控列表数量接口 (正常状态) * @return */ @GetMapping("/equipmentNormalSize") public int equipmentNormalSize(){ DeviceReportDataForm deviceReportDataForm=new DeviceReportDataForm(); PageInfo<DeviceReportDataVo> page = tDeviceReportDataService.selectRealtimeDataPage(deviceReportDataForm); int quantity = 0; for (int i=0;i<page.getSize();i++){ if (page.getList().get(i).getDeviceStatus().equals("正常")){ quantity++; } } return quantity; } /** * 查询设备历史监控总数据量 * @return */ @GetMapping("/historicalDataSize") public int HistoricalDataSize(){ //查询设备历史监控总数据量 int DataSize = iVisualizationService.HistoricalDataSize(); return DataSize; } /** * 查询设备历史报警数量 * @return */ @GetMapping("/historicalAlarmSize") public int historicalAlarmSize(){ //查询设备历史报警数量 return iVisualizationService.historicalAlarmSize(); } /** * 工单未接收数量 * @return */ @GetMapping("/workOrderNotReceived") public WorkOrderNotReceivedVo workOrderNotReceived() throws Exception { TWorkOrderForm tWorkOrderForm = new TWorkOrderForm(); PageInfo<WorkOrderVo> page = tWorkOrderService.selectTWorkOrderPage(tWorkOrderForm); //未接收数量 int workOrderNotReceivedSize=0; //工单已接收数量 int workOrderReceivedSize=0; //工单已反馈数量 int workOrderFeedbackSize=0; //工单已归档数量 int workOrderArchived=0; for (int i=0;i<page.getSize();i++){ if (page.getList().get(i).getOrderStatus().equals("0")){ workOrderNotReceivedSize++; }else if (page.getList().get(i).getOrderStatus().equals("1")){ workOrderReceivedSize++; }else if (page.getList().get(i).getOrderStatus().equals("3")){ workOrderFeedbackSize++; }else if (page.getList().get(i).getOrderStatus().equals("4")){ workOrderArchived++; } } WorkOrderNotReceivedVo workOrderNotReceivedVo=new WorkOrderNotReceivedVo(); workOrderNotReceivedVo.setWorkOrderNotReceivedSize(workOrderNotReceivedSize); workOrderNotReceivedVo.setWorkOrderReceivedSize(workOrderReceivedSize); workOrderNotReceivedVo.setWorkOrderFeedbackSize(workOrderFeedbackSize); workOrderNotReceivedVo.setWorkOrderArchived(workOrderArchived); return workOrderNotReceivedVo; } /** * 查询设备近七天报警数量 * @return */ @GetMapping("/sevenDayAlarm") public ArrayList<SevenDayAlarmVo> sevenDayAlarm(){ //查询近七天报警数量数据 List<SevenDayAlarmVo> sevenDayAlarmVos = iVisualizationService.selectSevenDayAlarm(TimeConfig.newBeforeSevenDaysDate(), TimeConfig.newYesterdayDate()); ArrayList<SevenDayAlarmVo> list=new ArrayList<>(); //循环7次 for (int i=0;i<TimeConfig.getSevenDate().size();i++){ SevenDayAlarmVo sevenDayAlarmVo=new SevenDayAlarmVo(); sevenDayAlarmVo.setTime(TimeConfig.getSevenDate().get(i)); //循环查询出来的数据 for (int n=0;n<sevenDayAlarmVos.size();n++){ //循环比较 if (TimeConfig.getSevenDate().get(i).equals(sevenDayAlarmVos.get(n).getTime())){ sevenDayAlarmVo.setCount(sevenDayAlarmVos.get(n).getCount()); break; } } list.add(sevenDayAlarmVo); } return list; } }