package com.whyc.service;
|
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.AlarmDaoFactory;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.PwrdevAlarmHistoryMapper;
|
import com.whyc.mapper.PwrdevAlarmParamMapper;
|
import com.whyc.pojo.PwrdevAlarm;
|
import com.whyc.pojo.PwrdevAlarmHistory;
|
import com.whyc.pojo.PwrdevAlarmParam;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
@Service
|
public class PwrdevAlarmHistoryService {
|
@Resource
|
private PwrdevAlarmHistoryMapper mapper;
|
|
@Resource
|
private PwrdevAlarmParamMapper paramMapper;
|
|
//查询所有的电源历史告警信息
|
public Response getHistoryAllPage(PwrdevAlarmHistory pwrH){
|
PageHelper.startPage(pwrH.getPage().getPageCurr(),pwrH.getPage().getPageSize());
|
List<PwrdevAlarmHistory> list= mapper.getHistoryAllPage(pwrH);
|
for (PwrdevAlarmHistory p:list) {
|
p.setAlarmName(AlarmDaoFactory.getAllAlarmName(p.getAlmType()));
|
}
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response<>().set(1,pageInfo);
|
}
|
//电源历史告警删除
|
public Response delete(int num) {
|
int flag=mapper.deleteById(num);
|
return new Response().set(flag);
|
}
|
//查询所有的通讯电源历史告警信息
|
public Response getHistoryAllPage2(PwrdevAlarmHistory pwrH) {
|
PageHelper.startPage(pwrH.getPage().getPageCurr(),pwrH.getPage().getPageSize());
|
List<PwrdevAlarmHistory> list= mapper.getHistoryAllPage2(pwrH);
|
List<String> tableList = paramMapper.getParamList();
|
//取第一条记录,即param表
|
String alarmParamTableName = tableList.get(0);
|
List<PwrdevAlarmParam> paramList=paramMapper.searchAll(alarmParamTableName);
|
for (PwrdevAlarmHistory p:list) {
|
int almType = p.getAlmType();
|
AtomicBoolean matchFlag = new AtomicBoolean(false);
|
paramList.stream().forEach(param->{
|
if(param.getAlarmId().equals(almType)){
|
p.setAlarmName(param.getAlarmName());
|
matchFlag.set(true);
|
return;
|
}
|
});
|
if(!matchFlag.get()){
|
p.setAlarmName("未知告警类型");
|
}
|
|
}
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response<>().set(1,pageInfo);
|
}
|
}
|