package com.fgkj.services.ram;
|
|
import com.fgkj.dto.BattInf;
|
import com.fgkj.dto.ServiceModel;
|
import com.fgkj.dto.ram.FBS9100;
|
import com.fgkj.dto.ram.Fbs9100_setparam;
|
import com.fgkj.mapper.BattTestData;
|
import com.fgkj.mapper.FBS9100_ComBase;
|
import com.fgkj.mapper.impl.BattInfMapper;
|
import com.fgkj.mapper.impl.Batt_rtdataMapper;
|
import com.fgkj.mapper.impl.ram.Fbs9100_setparamMapper;
|
import com.fgkj.mapper.impl.ram.Fbs9100_stateMapper;
|
import com.github.pagehelper.PageHelper;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.LinkedList;
|
import java.util.List;
|
@Service
|
public class Fbs9100_setparamService {
|
|
@Resource
|
private Fbs9100_setparamMapper mapper;;
|
|
@Resource
|
private Batt_rtdataMapper battRtDataMapper;
|
@Resource
|
private BattInfMapper battInfMapper;
|
@Resource
|
private Fbs9100_stateMapper fbs9100StateMapper;
|
|
//将需要放电的数据添加(或修改)放电参数表中
|
public ServiceModel addORupdate(Fbs9100_setparam fsparam) {
|
ServiceModel model = new ServiceModel();
|
//判断机房实时数据中该机房有没有连接到服务器
|
int flag=fbs9100StateMapper.judgeSatationInState(fsparam.getDev_id());
|
if(flag==1){
|
//判断该机房是不是以前有过记录
|
Boolean bl=false;
|
int addORupdate=mapper.judgeSatationInParam(fsparam.getDev_id());
|
if(addORupdate==0){
|
bl=mapper.add(fsparam);
|
}else{
|
bl=mapper.update(fsparam)>0;
|
}
|
if(bl){
|
model.setCode(1);
|
model.setMsg("添加成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("设置9100参数失败,请检查网络!");
|
}
|
}else{
|
model.setCode(0);
|
model.setMsg("设置9100参数失败,请检查网络!");
|
}
|
//System.out.println(model);
|
return model;
|
|
}
|
|
public ServiceModel delete(Object obj) {
|
ServiceModel model = new ServiceModel();
|
Boolean bl=mapper.del(obj);
|
if(bl){
|
model.setCode(1);
|
model.setMsg("删除成功!");
|
}
|
else{
|
model.setMsg("删除失败!");
|
}
|
return model;
|
}
|
//弹出框的确定操作 db_ram_db.tb_Fbs9100_setparam无数据
|
public ServiceModel update(Fbs9100_setparam fsparam) {
|
ServiceModel model = new ServiceModel();
|
Boolean b=mapper.update(fsparam)>0;
|
if(b){
|
boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("修改成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("设置9100参数失败,请检查网络!");
|
}
|
}else{
|
model.setCode(0);
|
model.setMsg("修改失败!");
|
}
|
return model;
|
}
|
//离线养护功能
|
public ServiceModel updateMaintain(Fbs9100_setparam fsparam) {
|
ServiceModel model = new ServiceModel();
|
boolean bl=false;
|
if(fsparam.getOp_cmd()==FBS9100_ComBase.CMD_ResetSystem){
|
bl=sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("重启成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("重启失败,请检查网络!");
|
}
|
}else{
|
Boolean b=mapper.updateMaintain(fsparam)>0;
|
if(b){
|
bl=sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("修改成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("启动离线养护失败,请检查网络!");
|
}
|
}else{
|
model.setCode(0);
|
model.setMsg("修改失败!");
|
}
|
}
|
|
return model;
|
}
|
//点击弹出框的设定按钮,修改ld6测试参数
|
public ServiceModel updateld6Param(Fbs9100_setparam fsparam){
|
ServiceModel model = new ServiceModel();
|
Boolean b=mapper.updateld6Param(fsparam)>0;
|
if(b){
|
boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("修改成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("设置ld6参数失败,请检查网络!");
|
}
|
}else{
|
model.setCode(0);
|
model.setMsg("修改失败!");
|
}
|
return model;
|
}
|
//点击弹出框的设定按钮,修改61850测试参数
|
public ServiceModel update61850Param(Fbs9100_setparam fsparam){
|
ServiceModel model = new ServiceModel();
|
Boolean b=mapper.update61850Param(fsparam)>0;
|
if(b){
|
boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("修改成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("设置61850参数失败,请检查网络!");
|
}
|
}else{
|
model.setCode(0);
|
model.setMsg("修改失败!");
|
}
|
return model;
|
}
|
|
//右键查看参数和弹出框的刷新按钮
|
public ServiceModel serchbyDev_id(Fbs9100_setparam fsparam) {
|
ServiceModel model = new ServiceModel();
|
boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd()!=null?fsparam.getTestCmd():0, fsparam.getDev_id());
|
if(bl){
|
FBS9100 fbs9100=mapper.serchbyDev_id(fsparam);
|
model.setCode(1);
|
model.setData(fbs9100);
|
model.setMsg("查询成功!");
|
|
}else{
|
model.setCode(0);
|
model.setData(null);
|
model.setMsg("设置9100参数失败,请检查网络!");
|
}
|
//System.out.println(model.getData());
|
return model;
|
}
|
|
//根据机房编号和维护区查询放电机房的信息和放电参数
|
public ServiceModel serchByCondition(BattInf binf){
|
ServiceModel model = new ServiceModel();
|
Integer dev_id=battInfMapper.serchDev_id(binf); //db_ram_db.tb_fbs9100_setparam have no data
|
if (null==dev_id){
|
dev_id=-1;
|
}
|
boolean bl=sendCmdToFBS9100Dev(binf.getNum(),0, dev_id);
|
|
if(bl){
|
List list=mapper.serchByCondition(binf);
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
|
}else{
|
model.setCode(0);
|
model.setData(null);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
|
public boolean sendCmdToFBS9100Dev(Integer cmd, int test_type, int dev_id) {
|
int m_cmd = cmd;
|
int m_cmd_ack = cmd;
|
switch(m_cmd) {
|
case FBS9100_ComBase.CMD_Start: m_cmd_ack = FBS9100_ComBase.CMD_StartAck; break;
|
case FBS9100_ComBase.CMD_Stop: m_cmd_ack = FBS9100_ComBase.CMD_StopAck; break;
|
case FBS9100_ComBase.CMD_SetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_SetDischargeParmAck; break;
|
case FBS9100_ComBase.CMD_GetDischargeParm: m_cmd_ack = FBS9100_ComBase.CMD_GetDischargeParmAck; break;
|
case FBS9100_ComBase.CMd_SetIp_Tem: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
|
case FBS9100_ComBase.CMd_SetIp_Per: m_cmd_ack = FBS9100_ComBase.CMd_SetIpAck; break;
|
case FBS9100_ComBase.CMD_GetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_GetOffLineYHParam_ACK; break;
|
case FBS9100_ComBase.CMD_SetOffLineYHParam: m_cmd_ack = FBS9100_ComBase.CMD_SetOffLineYHParam_ACK; break;
|
case FBS9100_ComBase.CMD_StartOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StartOffLine_ACK; break;
|
case FBS9100_ComBase.CMD_StopOffLine: m_cmd_ack = FBS9100_ComBase.CMD_StopOffLine_ACK; break;
|
case FBS9100_ComBase.CMD_ResetSystem: m_cmd_ack = FBS9100_ComBase.CMD_ResetSystemAck; break;
|
default: return false;
|
}
|
String sql_end = "";
|
//启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复
|
if(test_type > 0 && cmd == FBS9100_ComBase.CMD_Start){
|
sql_end = ",TestCmd="+test_type;
|
}
|
boolean res_exe = false;
|
|
boolean b1 = mapper.updateOpCmdByDevId(m_cmd,dev_id,sql_end)>0;
|
if(b1){
|
for (int i = 0; i < 40; i++) {
|
Integer opCmd = mapper.getOpCmdByDevId(dev_id);
|
if(opCmd==m_cmd_ack){
|
res_exe=true;
|
break;
|
}
|
}
|
}
|
return res_exe;
|
}
|
|
//根据设备id查询设备的放电参数
|
public ServiceModel serchdevParam(BattInf binf){
|
ServiceModel model = new ServiceModel();
|
boolean bl=sendCmdToFBS9100Dev(FBS9100_ComBase.CMD_GetDischargeParm,0, binf.getFbsDeviceId());
|
if(bl){
|
List list=mapper.serchdevParam(binf);
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
|
}else{
|
model.setCode(0);
|
model.setData(null);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//实时刷新放电表格的电池组状态(集合)
|
public ServiceModel serchByInfo(List<BattInf> binf){
|
ServiceModel model = new ServiceModel();
|
List<FBS9100> list = new LinkedList();
|
for (BattInf battInf:binf){
|
Integer fbsDeviceId = battInf.getFbsDeviceId();
|
FBS9100 fbs9100=null;
|
if(fbsDeviceId/100000==9100||fbsDeviceId/100000==910||fbsDeviceId/100000==4016){
|
//执行fbs9100查询
|
fbs9100 =mapper.getFbs9100ByInfo(battInf);
|
}else if(fbsDeviceId/100000==6185){
|
//执行61850查询
|
fbs9100 =mapper.get61850ByInfo(battInf);
|
}else if(fbsDeviceId/100000==4019){
|
//执行LD9查询
|
fbs9100 =mapper.getLD9ByInfo(battInf);
|
}else if(fbsDeviceId/100000==9611||fbsDeviceId/100000==9600||fbsDeviceId/100000==9616){
|
//执行fbs9600查询
|
fbs9100 =mapper.getFbs9600ByInfo(battInf);
|
}
|
if (fbs9100!=null){
|
list.add(fbs9100);
|
}
|
}
|
if (list != null && list.size() > 0) {
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
} else {
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
//System.out.println(model);
|
return model;
|
}
|
|
//根据电池组id查询电池组内前五的内阻数据
|
public ServiceModel serchByThirdBatt(BattInf binf){
|
ServiceModel model = new ServiceModel();
|
PageHelper.startPage(0, BattTestData.mon_res_num,false);
|
List list=battRtDataMapper.serchByThirdBatt(binf);
|
if(list!=null&&list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
model.setMsg("查询成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
|
}
|