package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.AlarmDaoFactory;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.PwrdevAlarmMapper;
|
import com.whyc.mapper.PwrdevAlarmParamMapper;
|
import com.whyc.pojo.PwrdevAlarm;
|
import com.whyc.pojo.PwrdevAlarmParam;
|
import com.whyc.pojo.UserInf;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
@Service
|
public class PwrdevAlarmService {
|
|
@Resource
|
private PwrdevAlarmMapper mapper;
|
|
@Resource
|
private PwrdevAlarmParamMapper paramMapper;
|
|
//电源实时告警查询
|
public Response getAllPage(PwrdevAlarm pwrdevAlarm){
|
//分页信息
|
PageHelper.startPage(pwrdevAlarm.getPage().getPageCurr(), pwrdevAlarm.getPage().getPageSize());
|
pwrdevAlarm.setUsrId(ActionUtil.getUser().getUId().intValue());
|
List<PwrdevAlarm> list=mapper.getAllPage(pwrdevAlarm);
|
for (PwrdevAlarm p:list) {
|
p.setAlarmName(AlarmDaoFactory.getAllAlarmName(p.getAlmType()));
|
if(p.getAlmIndex()!=0){
|
p.setAlarmName(p.getAlarmName().replace("N","第"+p.getAlmIndex()+"路"));
|
}
|
}
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().set(1,pageInfo);
|
}
|
//电源实时确认告警
|
public Response confirm(int num) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.set("alm_is_confirmed",1);
|
wrapper.set("alm_confirmed_time",new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss).format(new Date()));
|
wrapper.eq("num",num);
|
int flag=mapper.update(null,wrapper);
|
return new Response().set(flag);
|
}
|
//电源实时取消告警
|
public Response cancle(int num) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.set("alm_is_confirmed",2);
|
wrapper.set("alm_confirmed_time",new SimpleDateFormat(ActionUtil.time_yyyyMMddHHmmss).format(new Date()));
|
wrapper.eq("num",num);
|
int flag=mapper.update(null,wrapper);
|
return new Response().set(flag);
|
}
|
|
//电源实时删除告警
|
public Response delete(int num) {
|
UpdateWrapper wrapper=new UpdateWrapper();
|
wrapper.eq("num",num);
|
int flag=mapper.delete(wrapper);
|
return new Response().set(flag);
|
}
|
//电源告警个数
|
public Response getAlarmNum() {
|
UserInf uinf= ActionUtil.getUser();
|
int powerAlarmNum=mapper.getAlarmNum(uinf.getUId().intValue());
|
return new Response().set(1,powerAlarmNum);
|
}
|
//通信电源告警--认证送检-配电柜专用
|
public Response getAllPage2(PwrdevAlarm pwrdevAlarm) {
|
//分页信息
|
PageHelper.startPage(pwrdevAlarm.getPage().getPageCurr(), pwrdevAlarm.getPage().getPageSize());
|
pwrdevAlarm.setUsrId(ActionUtil.getUser().getUId().intValue());
|
List<PwrdevAlarm> list=mapper.getAllPage2(pwrdevAlarm);
|
List<String> tableList = paramMapper.getParamList();
|
//取第一条记录,即param表
|
String alarmParamTableName = tableList.get(0);
|
List<PwrdevAlarmParam> paramList=paramMapper.searchAll(alarmParamTableName);
|
for (PwrdevAlarm 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("未知告警类型");
|
}
|
int alarmIndex = p.getAlmIndex();
|
if(alarmIndex!=0){
|
p.setAlmIndex(alarmIndex);
|
p.setAlarmName(p.getAlarmName().replace("N","第"+alarmIndex+"路"));
|
}
|
}
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().set(1,pageInfo);
|
}
|
}
|