燕山石化溯源三维电子沙盘-【后端】-服务
1
13693261870
2023-06-19 72802b92d42a9afe27ae2c977245eb8629ab7526
src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
@@ -185,19 +185,23 @@
        param.put("startTime", ymdhms.format(DateUtils.getMonthStart()));
        param.put("endTime", ymdhms.format(DateUtils.getMonthEnd()));
        param.put("type", 0);
        /*param.put("type", 0);
        List<WarningVo> alarms = warningDetailMapper.selectWarningDetailByMap(param);
        if (StringUtils.isNull(alarms)) {
            alarms = new ArrayList<>();
        }
        result.put("alarmNumber", alarms.size());
        result.put("alarmNumber", alarms.size());*/
        Integer alarmNum = warningDetailMapper.countAlarmByMap(param);
        result.put("alarmNumber", null == alarmNum ? 0 : alarmNum);
        param.put("type", 1);
        List<WarningVo> warnings = warningDetailMapper.selectWarningDetailByMap(param);
        /*List<WarningVo> warnings = warningDetailMapper.selectWarningDetailByMap(param);
        if (StringUtils.isNull(warnings)) {
            warnings = new ArrayList<>();
        }
        result.put("warningNumber", warnings.size());
        result.put("warningNumber", warnings.size());*/
        Integer warnNum = warningDetailMapper.countWarnByMap(param);
        result.put("warningNumber", null == warnNum ? 0 : warnNum);
        return result;
    }
@@ -368,19 +372,39 @@
    }
    @Override
    public List<WarningVo> getAlarmAndWarnByTime(Date begin, Date end) {
    public List<Report> getAlarmAndWarnByTime(Date begin, Date end) {
        String startTime = ymdhms.format(begin);
        String endTime = ymdhms.format(end);
        List<WarningDetail> rs = warningDetailMapper.selectByTime(startTime, endTime);
        if (null == rs || rs.isEmpty()) {
            return null;
        }
        List<WarningDetail> rs = new ArrayList<>();
        List<WarningDetail> rsYj = warningDetailMapper.selectByTimeForYj(startTime, endTime);
        if (null != rsYj && rsYj.size() > 0) rs.addAll(rsYj);
        List<WarningVo> list = new ArrayList<>();
        List<WarningDetail> rsBj = warningDetailMapper.selectByTimeForBj(startTime, endTime);
        if (null != rsBj && rsBj.size() > 0) rs.addAll(rsBj);
        List<Report> list = new ArrayList<>();
        for (WarningDetail wd : rs) {
            String time = ymdh.format(wd.getCreateTime());
            list.add(new WarningVo(wd.getLocationName(), wd.getSuYuanId(), 0.0, 0.0, wd.getValue(), time));
            //String time = ymdh.format(wd.getCreateTime());
            //list.add(new WarningVo(wd.getLocationName(), wd.getSuYuanId(), 0.0, 0.0, wd.getValue(), time));
            DistanceSuYuan suYuan = suYuanMapper.getSuYuanById(wd.getTableName(), wd.getSuYuanId());
            Double lastVal = warningDetailMapper.getLastYearVal(wd.getId());
            int rows = suYuanMapper.isTableExists(wd.getTableName());
            DistanceSuYuan suMax = null;
            if (rows > 0) {
                MonitorPointPosition point = commonService.select3dCheckPointByName(wd.getLocationName());
                List<String> ids3d = CalculateUtils.aloneCrosswiseExtend(point, 50);
                suMax = suYuanMapper.getSuYuan500Max(wd.getTableName(), ids3d);
            } else {
                suMax = suYuan;
            }
            Report report = Report.calcReport(wd, suYuan, suMax);
            report.setLastVal(lastVal);
            list.add(report);
        }
        return list;