package com.fgkj.services.ram;
|
|
import com.fgkj.dto.*;
|
import com.fgkj.dto.ram.Fbs9600_state;
|
import com.fgkj.mapper.FBS9100_ComBase;
|
import com.fgkj.mapper.UinfDaoFactory;
|
import com.fgkj.mapper.impl.ram.Fbs9600_stateMapper;
|
import com.fgkj.services.User_logService;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.LinkedList;
|
import java.util.List;
|
@Service
|
public class Fbs9600_stateService {
|
|
@Resource
|
private Fbs9600_stateMapper mapper;
|
|
@Resource
|
private User_logService userLogService;
|
|
public ServiceModel add(Fbs9600_state state) {
|
ServiceModel model = new ServiceModel();
|
Boolean bl= null;
|
try {
|
bl = mapper.add(state)>0;
|
} catch (Exception e) {
|
e.printStackTrace();
|
model.setMsg("添加失败!");
|
return model;
|
}
|
if(bl){
|
model.setCode(1);
|
model.setMsg("添加成功!");
|
}
|
else{
|
model.setMsg("添加失败!");
|
}
|
return model;
|
|
}
|
//bts显示屏启动放电
|
public ServiceModel update(Fbs9600_state fs) {
|
ServiceModel model = new ServiceModel();
|
boolean bl=sendCmdToFBS9600Dev(fs.getNum(), fs.getDev_id());
|
if(bl){
|
model.setCode(1);
|
model.setMsg("启动成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("启动失败,请检查网络!");
|
}
|
return model;
|
}
|
|
boolean sendCmdToFBS9600Dev(int cmd, 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;
|
default: return false;
|
}
|
boolean res_exe = false;
|
boolean bl = mapper.updateOpCmdByDevId(m_cmd,dev_id)>0;
|
if(bl)
|
{
|
for(int n=0; n<20; n++)
|
{
|
int opCmd = mapper.getOpCmdByDevId(dev_id);
|
if(opCmd == m_cmd_ack)
|
{
|
res_exe = true;
|
break;
|
}
|
|
try {
|
Thread.sleep(250);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
return res_exe;
|
}
|
|
//fbs9600设备内阻测试
|
@Transactional
|
public ServiceModel updatePro(List<Fbs9600_state> list) {
|
ServiceModel model = new ServiceModel();
|
|
List<User_log> listU=new ArrayList<User_log>();//存放user_log
|
List<Fbs9600_state> stateList = new LinkedList<>();
|
|
for (Fbs9600_state fstate : list) {
|
if(fstate.getOp_cmd()==FBS9100_ComBase.CMD_9600_Start){
|
stateList.add(fstate);
|
}
|
{
|
String msg="启动"+fstate.getDev_id()+"的设备内阻测试";
|
User_log ulog= UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg);
|
listU.add(ulog);
|
}
|
|
}
|
boolean bl = mapper.updatePro(stateList)>0;
|
userLogService.addPro(listU);//将用户的操作记录下来
|
|
|
if(bl){
|
model.setCode(1);
|
model.setMsg("启动成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("启动失败,请检查网络!");
|
}
|
return model;
|
}
|
public ServiceModel delete(Fbs9600_state state) {
|
ServiceModel model = new ServiceModel();
|
Boolean bl=mapper.del(state)>0;
|
if(bl){
|
model.setCode(1);
|
model.setMsg("删除成功!");
|
}
|
else{
|
model.setMsg("删除失败!");
|
}
|
return model;
|
}
|
//11.1FBS9600设备通信状态查询
|
public ServiceModel serchByCondition(Fbs9600_state state){
|
ServiceModel model = new ServiceModel();
|
//分页
|
PageBean pageBean = state.getPageBean();
|
PageHelper.startPage(pageBean.getPageNum(),pageBean.getPageSize(),true);
|
List<Fbs9600_state> list = mapper.serchByCondition(state);
|
for (Fbs9600_state temp:list){
|
//设置所有的DeviceName为FBS9600
|
temp.setDeviceName("FBS9600");
|
}
|
PageInfo<Fbs9600_state> fbs9600StatePageInfo = new PageInfo<>(list);
|
if(list!=null && list.size()>0){
|
model.setCode(1);
|
model.setData(fbs9600StatePageInfo);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//放电测试添加fbs9600设备的添加电池组的操作
|
public ServiceModel serchByInfo(BattInf binf){
|
ServiceModel model = new ServiceModel();
|
List list = mapper.serchByInfo(binf);
|
if(list!=null && list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
//FBS9600设备内阻测试显示全部9600设备的信息
|
public ServiceModel searchByUid(User_inf uinf){
|
ServiceModel model = new ServiceModel();
|
List<Fbs9600_state> list=mapper.searchByUid(uinf);
|
for (Fbs9600_state temp:list){
|
temp.setDeviceName("FBS9600");
|
}
|
if(list!=null && list.size()>0){
|
model.setCode(1);
|
model.setData(list);
|
}else{
|
model.setCode(0);
|
model.setMsg("查询失败!");
|
}
|
return model;
|
}
|
|
}
|