liulin
6 天以前 2b5c36b4830adf4227f248d4e10bdb90b1e5f3d8
src/main/java/com/fengdu/gas/service/FacilityAlarmRecordService.java
@@ -1,36 +1,46 @@
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
 #                                                    __----~~~~~~~~~~~------___
 #                                   .  .   ~~//====......          __--~ ~~
 #                   -.            \_|//     |||\\  ~~~~~~::::... /~
 #                ___-==_       _-~o~  \/    |||  \\            _/~~-
 #        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
 #    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
 #  .~       .~       |   \\ -_    /  /-   /   ||      \   /
 # /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
 # |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
 #          '         ~-|      /|    |-~\~~       __--~~
 #                      |-~~-_/ |    |   ~\_   _-~            /\
 #                           /  \     \__   \/~                \__
 #                       _--~ _/ | .-~~____--~-/                  ~~==.
 #                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
 #                                 -_     ~\      ~~---l__i__i__i--~~_/
 #                                 _-~-__   ~)  \--______________--~~
 #                               //.-~~~-~_--~- |-------~~~~~~~~
 #                                      //.-~~~--\
 #                  神兽保佑
 #                  永无BUG!
 */
package com.fengdu.gas.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.fengdu.gas.common.*;
import com.fengdu.gas.common.enums.*;
import com.fengdu.gas.common.model.Tuple;
import com.fengdu.gas.common.util.*;
import com.fengdu.gas.entity.response.alarm.FacilityAlarm;
import com.fengdu.gas.repository.impl.WaterFacilityMapperImpl;
import com.fengdu.gas.repository.po.AlarmSchemePO;
import com.fengdu.gas.repository.po.WaterFacilityPO;
import com.fengdu.gas.repository.vo.FacilityAlarmRecordCount;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.ibatis.annotations.Select;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
import com.fengdu.gas.repository.impl.FacilityAlarmRecordMapperImpl;
import com.fengdu.gas.repository.po.FacilityAlarmRecordPO;
import com.fengdu.gas.entity.request.facilityalarmrecord.ReqCreateFacilityAlarmRecord;
@@ -47,10 +57,12 @@
public class FacilityAlarmRecordService extends BaseService {
    @Autowired
    private FacilityAlarmRecordMapperImpl mapper;
    @Autowired
    private WaterFacilityMapperImpl waterFacilityMapper;
    public ExecutedResult<Long> create(ReqCreateFacilityAlarmRecord request) {
        // 转换po
        FacilityAlarmRecordPO item = FacilityAlarmRecordConvert.INSTANCE.toCreate(request);
        FacilityAlarmRecordPO item = CopierUtil.mapTo(request, FacilityAlarmRecordPO.class);
        // 设置状态
        //item.setStatus(EState.NORMAL.getValue());
        // 设置记录创建时间
@@ -91,8 +103,20 @@
        }
        return ExecutedResult.success(result);
    }
//    public ExecutedResult<String> stop(Long id) {
    public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmTime(){
        List<FacilityAlarmRecordVO>result=new ArrayList<>();
        List<FacilityAlarmRecordPO> list = mapper.getList();
        if(ListUtil.isNotNullOrEmpty(list)){
            result=CopierUtil.mapTo(list, FacilityAlarmRecordVO.class);
            for(FacilityAlarmRecordVO vo:result){
                if(StringUtil.isNotNullOrEmpty(vo.getFirstAlarmTime())&&StringUtil.isNotNullOrEmpty(vo.getLatestAlarmTime())){
                    vo.setAlarmTime(LocalDateTimeUtil.getDateHoursMinutesSeconds(vo.getFirstAlarmTime(),vo.getLatestAlarmTime()));
                }
            }
        }
       return ExecutedResult.success(result);
    }
    //    public ExecutedResult<String> stop(Long id) {
//        // 验证记录是否存在
//        ExecutedResult<FacilityAlarmRecordPO> checkExists = this.check4Id(id);
//        if (checkExists.isFailed()) {
@@ -182,7 +206,32 @@
//        }
//        return ExecutedResult.success();
//    }
    public ExecutedResult<List<FacilityAlarmRecordCount>> getAlarmListByPoint() {
        List<FacilityAlarmRecordCount> list = mapper.getAlarmListByPoint();
        return ExecutedResult.success(list);
    }
    public ExecutedResult<List<FacilityAlarmRecordVO>> getAlarmRecord(){
        List<FacilityAlarmRecordVO> result=new ArrayList<>();
        List<FacilityAlarmRecordPO> recordPOList = mapper.getList();
        List<FacilityAlarmRecordPO> list = mapper.getGroupList();
        if(ListUtil.isNotNullOrEmpty(list)){
            result=CopierUtil.mapTo(list,FacilityAlarmRecordVO.class);
            for(FacilityAlarmRecordVO vo:result){
                FacilityAlarmRecordPO recordPO = recordPOList.stream().filter(item -> item.getFacilityId().equals(vo.getFacilityId())
                        && item.getColumnsCode().equals(vo.getColumnsCode())
                        && item.getAlarmType().equals(vo.getAlarmType())).max(Comparator.comparing(FacilityAlarmRecordPO::getLatestAlarmTime)).orElse(null);
                if(Objects.nonNull(recordPO)){
                    vo.setLatestAlarmTime(recordPO.getLatestAlarmTime());
                    vo.setFacilityName(recordPO.getFacilityName());
                    vo.setPointId(recordPO.getPointId());
                    vo.setPointName(recordPO.getPointName());
                    vo.setDescription(recordPO.getDescription());
                    vo.setColumnsName(recordPO.getColumnsName());
                }
            }
        }
        return ExecutedResult.success(result);
    }
    public ExecutedResult<List<FacilityAlarmRecordVO>> getList(List<Long> listId) {
        List<FacilityAlarmRecordVO> result = new ArrayList<>();
@@ -194,15 +243,38 @@
        return ExecutedResult.success(result);
    }
    public ExecutedResult<PagerResult<FacilityAlarmRecordVO>> search(SearchFacilityAlarmRecord search) {
    public ExecutedResult<List<FacilityAlarm>> getAlarmList(Integer dateType) {
        List<FacilityAlarm> result = new ArrayList<>();
        // 处理创建时间范围-查询参数
        Tuple<String, String> createTimeRange = ParameterUtil.getTimeRange(search.getCreateTimeRange());
        if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem1())) {
            search.setCreateTimeStart(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem1()).getTime());
        if (dateType != null && dateType > 0) {
            Long beginTime = 0L;
            Long endTime = 0L;
            switch (dateType) {
                case 1:
                    beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayStartTime()).getTime();
                    endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.todayEndTime()).getTime();
                    break;
                case 2:
                    beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekStartTime()).getTime();
                    endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.weekEndTime()).getTime();
                    break;
                case 3:
                    beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthStartTime()).getTime();
                    endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.monthEndTime()).getTime();
                    break;
                case 4:
                    beginTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearStartTime()).getTime();
                    endTime = LocalDateTimeUtil.getTimeStamp(LocalDateTimeUtils.yearEndTime()).getTime();
                    break;
            }
            if (beginTime > 0 && endTime > 0) {
                result = mapper.getByDateType(LocalDateTimeUtil.toFormatString(beginTime), LocalDateTimeUtil.toFormatString(endTime));
            }
        }
        if (StringUtil.isNotNullOrEmpty(createTimeRange.getItem2())) {
            search.setCreateTimeEnd(LocalDateTimeUtil.getTimeStamp(createTimeRange.getItem2()).getTime());
        }
        return ExecutedResult.success(result);
    }
    public ExecutedResult<PagerResult<FacilityAlarmRecordVO>> search(SearchFacilityAlarmRecord search) {
        PagerResult<FacilityAlarmRecordPO> pageList = mapper.search(search);
        List<FacilityAlarmRecordVO> listVo = new ArrayList<>();
@@ -224,6 +296,7 @@
        }
        return ExecutedResult.success(exists);
    }
    protected ExecutedResult<List<FacilityAlarmRecordPO>> check4Id(List<Long> listId) {
        // 从数据库查找设备报警记录
        List<FacilityAlarmRecordPO> list = mapper.getList(listId);
@@ -241,4 +314,5 @@
            }
        }
        return ExecutedResult.success(list);
    }}
    }
}