package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.github.pagehelper.PageInfo;
|
import com.whyc.dto.AlarmDaoFactory;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.DevParamMapper;
|
import com.whyc.pojo.DevParam;
|
import com.whyc.util.ActionUtil;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import javax.swing.*;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.util.List;
|
|
@Service
|
public class DevParamService {
|
|
@Resource
|
private DevParamMapper mapper;
|
|
//电池告警参数设置--列表查询
|
public Response serchByCondition(int devId, int almId) {
|
List<DevParam> list=mapper.serchByCondition(devId,almId);
|
list.stream().forEach(devParam->{
|
switch (devParam.getAlmId()){
|
case AlarmDaoFactory.Alarm_vol_Online :
|
case AlarmDaoFactory.Alarm_vol_Group :
|
devParam.setBaseValue(String.valueOf(devParam.getMonVolStd()*devParam.getMonCount()));
|
break;
|
case AlarmDaoFactory.Alarm_curr_Charge :
|
case AlarmDaoFactory.Alarm_curr_Discharge :
|
devParam.setBaseValue(BigDecimal.valueOf(devParam.getMonCapStd()/10).setScale(2,BigDecimal.ROUND_HALF_UP).toString());
|
break;
|
case AlarmDaoFactory.Alarm_vol_Monomer :
|
case AlarmDaoFactory.ALM_TYPE_DisChargeMonVol_ID :
|
devParam.setBaseValue(String.valueOf(devParam.getMonVolStd()));
|
break;
|
case AlarmDaoFactory.Alarm_tmp_Monomer :
|
devParam.setBaseValue("25");
|
break;
|
case AlarmDaoFactory.Alarm_res_Monomer:
|
devParam.setBaseValue(BigDecimal.valueOf((1 * (devParam.getMonVolStd() / 2) / (devParam.getMonCapStd() / 100))).setScale(2, RoundingMode.HALF_UP).toString());
|
break;
|
case AlarmDaoFactory.Alarm_res_Conn:
|
devParam.setBaseValue("0.2");
|
break;
|
case AlarmDaoFactory.ALM_TYPE_MONLYVOL_ID:
|
devParam.setBaseValue("1");
|
break;
|
case AlarmDaoFactory.ALM_TYPE_MONREALCAP_ID:
|
devParam.setBaseValue(BigDecimal.valueOf(devParam.getMonCapStd()).setScale(2, BigDecimal.ROUND_HALF_UP).toString());
|
break;
|
}
|
});
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().set(1,list);
|
}
|
//电池告警参数设置--列表修改
|
public Response update(DevParam devParam) {
|
UpdateWrapper wrapper = new UpdateWrapper();
|
wrapper.eq("dev_id", devParam.getDevId());
|
wrapper.eq("alm_id", devParam.getAlmId());
|
wrapper.set("alm_high_coe", devParam.getAlmHighCoe());
|
wrapper.set("alm_low_coe", devParam.getAlmLowCoe());
|
wrapper.set("alm_high_level", devParam.getAlmHighLevel());
|
wrapper.set("alm_low_level", devParam.getAlmLowLevel());
|
wrapper.set("alm_high_en", devParam.getAlmHighEn());
|
wrapper.set("alm_low_en", devParam.getAlmLowEn());
|
wrapper.set("alm_delay_time", devParam.getAlmDelayTime());
|
wrapper.set("alm_high_level_upper", devParam.getAlmHighLevelUpper());
|
wrapper.set("alm_low_level_lower", devParam.getAlmLowLevelLower());
|
if (devParam.getAlmHighCoeUpper() != null) {
|
wrapper.set("alm_high_coe_upper", devParam.getAlmHighCoeUpper());
|
}
|
if (devParam.getAlmHighCoeUpperEn() != null) {
|
wrapper.set("alm_high_coe_upper_en", devParam.getAlmHighCoeUpperEn());
|
}
|
if (devParam.getAlmLowCoeLower() != null) {
|
wrapper.set("alm_low_coe_lower", devParam.getAlmLowCoeLower());
|
}
|
if (devParam.getAlmLowCoeLowerEn() != null) {
|
wrapper.set("alm_low_coe_lower_en", devParam.getAlmLowCoeLowerEn());
|
}
|
int flag = mapper.update((DevParam) ActionUtil.objeNull, wrapper);
|
return new Response().set(flag);
|
}
|
//在线监测-实时监控-查询告警
|
public Response serchParamById(int devId) {
|
List list=mapper.serchParamById(devId);
|
PageInfo pageInfo=new PageInfo(list);
|
return new Response().set(1,pageInfo);
|
}
|
}
|