fuliqi
2024-09-17 e13b129c300d3eff2ba555d0c41bbccbaab1014a
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -26,6 +26,7 @@
import com.ycl.system.service.ISysConfigService;
import com.ycl.utils.DateUtils;
import com.ycl.utils.StringUtils;
import enumeration.general.AreaDeptEnum;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
@@ -54,6 +55,7 @@
    private MongoTemplate mongoTemplate;
    @Autowired
    private WorkOrderMapper workOrderMapper;
    /**
     * 查询设备资产
     *
@@ -85,17 +87,17 @@
        }
        List<TMonitorVO> monitors = tMonitorMapper.selectTMonitorList(tMonitor);
        // 异常恢复监控
        if(Objects.equals(tMonitor.getRecovery(), 1L)){
        if (Objects.equals(tMonitor.getRecovery(), 1L)) {
            //工单号
            List<String> orders = monitors.stream().map(TMonitorVO::getWorkOrderNo).collect(Collectors.toList());
            if(CollectionUtils.isEmpty(orders)){
            if (CollectionUtils.isEmpty(orders)) {
                return monitors;
            }
            List<WorkOrderVO> voList = workOrderMapper.getRecoveryInfo(orders);
            for (TMonitorVO monitor : monitors) {
                if(!CollectionUtils.isEmpty(voList)){
                if (!CollectionUtils.isEmpty(voList)) {
                    for (WorkOrderVO workOrderVO : voList) {
                        if(monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())){
                        if (monitor.getWorkOrderNo().equals(workOrderVO.getWorkOrderNo())) {
                            monitor.setUnitContact(workOrderVO.getUnitContact());
                            monitor.setUnitContactPhone(workOrderVO.getUnitContactPhone());
                            monitor.setYwPeopleName(workOrderVO.getYwPeopleName());
@@ -324,12 +326,37 @@
    }
    @Override
    public List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery) {
        return baseMapper.monitorTotal(dashboardQuery);
    public Map<String, List<Map<String, Object>>> monitorTotal(DashboardQuery dashboardQuery) {
        List<MonitorTotalVO> monitorTotalVOS = baseMapper.monitorTotal(dashboardQuery);
        /** facilityData: {
         * video:[
         * {value: 4589,title: '设备总数'},
         * {value: 4294,title: '设备正常数'},
         * {value: 295,title: '设备异常数'}
         * ]} */
        Map<String, List<Map<String, Object>>> resultMap = new HashMap<>();
        for (MonitorTotalVO vo : monitorTotalVOS) {
            List<Map<String, Object>> list = new ArrayList();
            Map<String, Object> total = new HashMap<>();
            total.put("value", vo.getTotalNum());
            total.put("title", "设备总数");
            Map<String, Object> normal = new HashMap<>();
            normal.put("value", vo.getNormalNum());
            normal.put("title", "设备正常数");
            Map<String, Object> error = new HashMap<>();
            error.put("value", vo.getErrorNum());
            error.put("title", "设备异常数");
            list.add(total);
            list.add(normal);
            list.add(error);
            resultMap.put(vo.getType(), list);
        }
        return resultMap;
    }
    @Override
    public List<MonitorRateVO> monitorRate(DashboardQuery dashboardQuery) {
        //TODO:新增dept AreaCode字段
        return baseMapper.monitorRate(dashboardQuery);
    }