whyclxw
2024-04-28 b25b814a949d2065a61fd3167206ffb51a57af65
src/main/java/com/whyc/service/DevalarmDataService.java
@@ -5,6 +5,7 @@
import com.github.pagehelper.PageInfo;
import com.whyc.dto.Response;
import com.whyc.dto.paramter.DevAlarmPar;
import com.whyc.mapper.BattDevAlarmDataMapper;
import com.whyc.mapper.DevalarmDataMapper;
import com.whyc.pojo.DevalarmData;
import com.whyc.pojo.UserInf;
@@ -13,15 +14,17 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.ListIterator;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class DevalarmDataService {
    @Resource
    private DevalarmDataMapper mapper;
    @Resource
    private BattDevAlarmDataMapper battDevAlarmDataMapper;
    //设备告警实时查询
    public Response serchByInfo(DevAlarmPar par) {
        PageHelper.startPage(par.getPage().getPageCurr(),par.getPage().getPageSize());
@@ -65,7 +68,7 @@
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.set("alm_is_confirmed",1);
        wrapper.eq("num",num);
        int flag=mapper.update(null,wrapper);
        int flag=mapper.update((DevalarmData) ActionUtil.objeNull,wrapper);
        return  new Response().set(flag);
    }
    //设备告警取消告警
@@ -73,7 +76,7 @@
        UpdateWrapper wrapper=new UpdateWrapper();
        wrapper.set("alm_is_confirmed",0);
        wrapper.eq("num",num);
        int flag=mapper.update(null,wrapper);
        int flag=mapper.update((DevalarmData) ActionUtil.objeNull,wrapper);
        return  new Response().set(flag);
    }
    //设备告警删除告警
@@ -83,14 +86,91 @@
        int flag=mapper.delete(wrapper);
        return  new Response().set(flag);
    }
    //设备告警数查询
    public Response searchNums() {
        UserInf uinf= ActionUtil.getUser();
        int devAlarmNum=mapper.searchNums(uinf.getUId().intValue());
        return  new Response().set(1,devAlarmNum);
        UserInf uinf = ActionUtil.getUser();
        int devAlarmNum = mapper.searchNums(uinf.getUId().intValue());
        return new Response().set(1, devAlarmNum);
    }
    public List<DevalarmData> getList(Long userId) {
        return mapper.getList(userId);
    /**
     *
     * @param userId
     * @param type 1,查询24小时内;0,查询所有
     * @return
     */
    public List<DevalarmData> getList(Long userId, int type) {
        return mapper.getList(userId,type);
    }
    //查询分级告警的个数
    public Response serchByLevel(int uId) {
        List list = new ArrayList();
        //分四级查询个数
        for (int i = 1; i <= 4; i++) {
            int countLevel = mapper.serchByLevel(i, uId);
            list.add(countLevel);
        }
        return new Response().setII(1, list.size() > 0, list, "分级告警数");
    }
    public int getAlarmNum(int userId) {
        return battDevAlarmDataMapper.searchNums(userId);
    }
    public int getRealTimeWithLevel1(int userId) {
        return battDevAlarmDataMapper.getRealTimeWithLevel1(userId);
    }
    //今日实时告警
    public Response getDalmToday(int userId) {
        try {
            Map<String, Object> map = new HashMap<>();
            int dtatolNum = 0;
            Map<String, Integer> dAlmClearMap = new HashMap<>();
            dAlmClearMap.put("clear0", 0);
            dAlmClearMap.put("clear1", 0);
            List<DevalarmData> dAlmList = mapper.getDalmToday(userId);
            Map<Integer, List<DevalarmData>> dclearedMap = dAlmList.stream().collect(Collectors.groupingBy(DevalarmData::getAlmClearedType));
            for (Integer cleared : dclearedMap.keySet()) {
                dAlmClearMap.put("clear" + String.valueOf(cleared), dclearedMap.get(cleared).size());
                dtatolNum += dclearedMap.get(cleared).size();
            }
            Map<String, Integer> dAlmLevelMap = new HashMap<>();
            dAlmLevelMap.put("level1", 0);
            dAlmLevelMap.put("level2", 0);
            dAlmLevelMap.put("level3", 0);
            dAlmLevelMap.put("level4", 0);
            Map<Integer, List<DevalarmData>> dlevelMap = dAlmList.stream().collect(Collectors.groupingBy(DevalarmData::getAlmLevel));
            for (Integer level : dlevelMap.keySet()) {
                dAlmLevelMap.put("level" + String.valueOf(level), dlevelMap.get(level).size());
                //dtatolNum += dlevelMap.get(level).size();
            }
            map.put("dAlmClearMap", dAlmClearMap);
            map.put("dAlmLevelMap", dAlmLevelMap);
            map.put("dtatolNum", dtatolNum);
            return new Response().setII(1, true, map, "今日实时告警");
        } catch (Exception e) {
            return new Response().set(1, false, "出现异常" + e.getMessage());
        }
    }
    public List<Integer> getStationList(int userId) {
        return mapper.getStationList(userId);
    }
    public int getCountByStationIds(List<String> stationIdList, Integer level) {
        return mapper.getCountByStationIds(stationIdList, level);
    }
    public List<DevalarmData> getListByStationIds(List<String> stationIdList) {
        return mapper.getListByStationIds(stationIdList);
    }
    public DevalarmData getById(Integer num) {
        return mapper.selectById(num);
    }
}