package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.AlarmDaoFactory;
|
import com.whyc.dto.Batt_Maint_Dealarm;
|
import com.whyc.dto.Response;
|
import com.whyc.dto.paramter.AlarmPar;
|
import com.whyc.dto.result.AlarmRes;
|
import com.whyc.dto.result.AlarmStaticRes;
|
import com.whyc.dto.result.AlarmNumberRes;
|
import com.whyc.mapper.BattalarmDataMapper;
|
import com.whyc.pojo.BattalarmData;
|
import com.whyc.pojo.UserInf;
|
import com.whyc.pojo.WorkflowAlarm;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@Service
|
public class BattalarmDataService {
|
|
@Resource
|
private BattalarmDataMapper mapper;
|
//查询所有的告警
|
public Response<List<BattalarmData>> getAll() {
|
QueryWrapper<BattalarmData> wrapper = new QueryWrapper<>();
|
// 通过id进行排序
|
wrapper.orderByAsc("BattGroupId");
|
List<BattalarmData> list=mapper.selectList(wrapper);
|
return new Response<List<BattalarmData>>().set(1,list);
|
}
|
//分页查询所有的实时告警
|
public Response<List<BattalarmData>> getAllByPage(com.whyc.dto.Page p) {
|
Page page=new Page(p.getPageCurr(),p.getPageSize());
|
QueryWrapper<BattalarmData> wrapper = new QueryWrapper<>();
|
// 通过id进行排序
|
wrapper.orderByAsc("BattGroupId");
|
IPage iPage=mapper.selectPage(page,wrapper);
|
return new Response<List<BattalarmData>>().set(1,iPage.getRecords(),String.valueOf(iPage.getTotal()));
|
}
|
//测试:根据电池组id查询所有的告警
|
public Response<List<Batt_Maint_Dealarm>> test(BattalarmData balarm) {
|
//分页信息
|
PageHelper.startPage(1,20);
|
List<Batt_Maint_Dealarm> list=mapper.test(balarm);
|
PageInfo<Batt_Maint_Dealarm> pinfo=new PageInfo<Batt_Maint_Dealarm>(list);
|
return new Response<List<Batt_Maint_Dealarm>>().set(1,list,String.valueOf(pinfo.getPages()));
|
}
|
//电池告警实时查询
|
public Response<List<AlarmRes>> serchByCondition(AlarmPar par) {
|
//分页信息
|
PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
|
List<AlarmRes> list=mapper.serchByCondition(par);
|
PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list);
|
return new Response<List<AlarmRes>>().set(1,list,String.valueOf(pinfo.getTotal()));
|
}
|
//根据电池组id查询所有的告警
|
public Response<List<AlarmRes>> serchByInfo(AlarmPar par) {
|
//分页信息
|
PageHelper.startPage(par.getPage().getPageCurr(), par.getPage().getPageSize());
|
List<AlarmRes> list=mapper.serchByInfo(par);
|
PageInfo<AlarmRes> pinfo=new PageInfo<AlarmRes>(list);
|
return new Response<List<AlarmRes>>().set(1,list,String.valueOf(pinfo.getPages()));
|
}
|
//查询实时告警数
|
public Response<AlarmNumberRes> serchAlm(AlarmPar par) {
|
/*BattalarmData adata=new BattalarmData();
|
adata.setNum(0l);//实时告警总数
|
adata.setBattGroupId(0);//容量告警告警数
|
adata.setMonNum(0);//组端电压告警数
|
adata.setAlmId(0);//充电电流告警数
|
adata.setAlmSignalId(0);//放电电流告警数
|
adata.setAlmLevel(0);//单体电压告警数
|
adata.setAlmIsConfirmed(0);//单体温度告警数
|
adata.setAlmClearedType(0);//单体内阻告警数
|
adata.setUsrId(0);//连接条阻抗告警数
|
adata.setAlmValue(0f);//容量更换告警*/
|
AlarmNumberRes ares=new AlarmNumberRes();
|
//int numZ=0;//告警总数
|
List<AlarmStaticRes> list=mapper.serchAlm(par);//各类告警数
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
if(list.get(i).getAlmId()== AlarmDaoFactory.Alarm_CapAlarm){
|
/*adata.setBattGroupId(list.get(i).getNumber());//容量告警告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberCapAlm(list.get(i).getNumber());//容量告警告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_vol_Group){
|
/*adata.setMonNum(list.get(i).getNumber());//组端电压告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberGroupVol(list.get(i).getNumber());//组端电压告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_curr_Charge){
|
/*adata.setAlmId(list.get(i).getNumber());//充电电流告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberCharge(list.get(i).getNumber());//充电电流告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_curr_Discharge){
|
/*adata.setAlmSignalId(list.get(i).getNumber());//放电电流告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberDischarge(list.get(i).getNumber());//放电电流告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_vol_Monomer){
|
/*adata.setAlmLevel(list.get(i).getNumber());//单体电压告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberMonVol(list.get(i).getNumber());//单体电压告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_tmp_Monomer){
|
/* adata.setAlmIsConfirmed(list.get(i).getNumber());//单体温度告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberTmp(list.get(i).getNumber());//单体温度告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_res_Monomer){
|
/* adata.setAlmClearedType(list.get(i).getNumber());//单体内阻告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberRes(list.get(i).getNumber());//单体内阻告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_res_Conn){
|
/* adata.setUsrId(list.get(i).getNumber());//连接条阻抗告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberSer(list.get(i).getNumber());//连接条阻抗告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
if(list.get(i).getAlmId()==AlarmDaoFactory.Alarm_CapChange){
|
/* adata.setAlmValue((float)list.get(i).getNumber());//容量更换告警数
|
numZ+=list.get(i).getNumber();*/
|
ares.setNumberCapChange(list.get(i).getNumber());//容量更换告警数
|
ares.setNumberAll(ares.getNumberAll()+list.get(i).getNumber());
|
}
|
}
|
}
|
return new Response<AlarmNumberRes>().set(1,ares);
|
}
|
|
//根据num取消告警
|
public Response cancelalarm(BattalarmData adata) {
|
UpdateWrapper wrapper = new UpdateWrapper<>();
|
//修改的属性
|
wrapper.set("record_id",adata.getRecordId());
|
wrapper.set("alm_end_time",adata.getAlmEndTime());
|
wrapper.set("alm_cleared_type",adata.getAlmClearedType());
|
// 通过num修改
|
wrapper.eq("num",adata.getNum());
|
int flag=mapper.update(null,wrapper);
|
return new Response().set(flag);
|
}
|
|
//根据num取消告警(多条记录)
|
@Transactional
|
public Response cancelalarmPro(List<BattalarmData> list) {
|
int flag=0;
|
for (BattalarmData adata:list) {
|
//修改的属性
|
UpdateWrapper wrapper = new UpdateWrapper<>();
|
wrapper.set("record_id",adata.getRecordId());
|
wrapper.set("alm_end_time",adata.getAlmEndTime());
|
wrapper.set("alm_cleared_type",adata.getAlmClearedType());
|
// 通过num修改
|
wrapper.eq("num",adata.getNum());
|
flag=mapper.update(null,wrapper);
|
}
|
return new Response().set(flag);
|
}
|
//实时告警记录总数查询
|
public Response serchRealTime(UserInf uinf) {
|
int number=mapper.serchRealTime(uinf);
|
return new Response().set(number);
|
}
|
//电池告警实时查询(确认告警)
|
@Transactional
|
public Response update(List<BattalarmData> list) {
|
int flag=0;
|
for (BattalarmData adata:list) {
|
//修改的属性
|
UpdateWrapper wrapper = new UpdateWrapper<>();
|
wrapper.set("alm_is_confirmed",1);
|
wrapper.set("alm_confirmed_time",adata.getAlmConfirmedTime());
|
// 通过num修改
|
wrapper.eq("num",adata.getNum());
|
flag=mapper.update(null,wrapper);
|
}
|
return new Response().set(flag);
|
}
|
|
//删除告警记录
|
@Transactional
|
public Response delete(List<BattalarmData> list) {
|
int flag=0;
|
for (BattalarmData adata:list) {
|
UpdateWrapper wrapper = new UpdateWrapper<>();
|
// 通过num删除
|
wrapper.eq("num",adata.getNum());
|
flag=mapper.delete(wrapper);
|
}
|
return new Response().set(flag);
|
}
|
//电池单体健康率
|
public Response serchGood(UserInf uinf) {
|
List list=mapper.serchGood(uinf);
|
return new Response().set(1,list);
|
}
|
|
/**获取告警记录信息*/
|
public List<WorkflowAlarm> getAlarmList() {
|
return mapper.getAlarmList();
|
}
|
|
public void updateWorkFlag(List<WorkflowAlarm> battAlarmList) {
|
mapper.updateWorkFlag(battAlarmList);
|
}
|
}
|