whycrzg
2021-02-23 351b9a53cb9ecebdf8f79db0117f540d9c42c2a4
src/main/java/com/fgkj/services/ram/Fbs9100_setparamService.java
@@ -1,42 +1,47 @@
package com.fgkj.services.ram;
import java.util.List;
import com.fgkj.mapper.FBS9100_ComBase;
import com.fgkj.mapper.impl.BattInfImpl;
import com.fgkj.mapper.impl.Batt_rtdataMapper;
import com.fgkj.mapper.impl.ram.Fbs9100_setparamMapper;
import com.fgkj.mapper.impl.ram.Fbs9100_stateImpl;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.ram.FBS9100;
import com.fgkj.dto.ram.Fbs9100_setparam;
import org.springframework.beans.factory.annotation.Autowired;
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 {
   private ServiceModel model;
   @Autowired
   @Resource
   private Fbs9100_setparamMapper mapper;;
   @Autowired
   @Resource
   private Batt_rtdataMapper battRtDataMapper;
   @Resource
   private BattInfMapper battInfMapper;
   @Resource
   private Fbs9100_stateMapper fbs9100StateMapper;
   
   //将需要放电的数据添加(或修改)放电参数表中
    public ServiceModel addORupdate(Object obj) {
       Fbs9100_setparam fsparam = (Fbs9100_setparam)obj;
    public ServiceModel addORupdate(Fbs9100_setparam fsparam) {
      ServiceModel model = new ServiceModel();
       //判断机房实时数据中该机房有没有连接到服务器
       int flag=(new Fbs9100_stateImpl()).judgeSatationInState(fsparam.getDev_id());
       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(obj);
             bl=mapper.add(fsparam);
          }else{
             bl=mapper.update(obj);
             bl=mapper.update(fsparam)>0;
          }
          if(bl){
            model.setCode(1);
@@ -55,6 +60,7 @@
   }
   public ServiceModel delete(Object obj) {
      ServiceModel model = new ServiceModel();
      Boolean bl=mapper.del(obj);
      if(bl){
         model.setCode(1);
@@ -65,12 +71,12 @@
      }
      return model;   
   }
    //弹出框的确定操作
   public ServiceModel update(Object obj) {
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;
      Boolean b=mapper.update(obj);
    //弹出框的确定操作 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=mapper.sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id());
         boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd(),fsparam.getDev_id());
         if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
@@ -85,11 +91,11 @@
      return model;   
   }
   //离线养护功能
   public ServiceModel updateMaintain(Object obj) {
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;
   public ServiceModel updateMaintain(Fbs9100_setparam fsparam) {
      ServiceModel model = new ServiceModel();
      boolean bl=false;
      if(fsparam.getOp_cmd()==FBS9100_ComBase.CMD_ResetSystem){
          bl=mapper.sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
          bl=sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
         if(bl){
            model.setCode(1);
            model.setMsg("重启成功!");
@@ -98,9 +104,9 @@
            model.setMsg("重启失败,请检查网络!");
          }
      }else{
         Boolean b=mapper.updateMaintain(obj);
         Boolean b=mapper.updateMaintain(fsparam)>0;
         if(b){
             bl=mapper.sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
             bl=sendCmdToFBS9100Dev(fsparam.getOp_cmd(),0,fsparam.getDev_id());
            if(bl){
               model.setCode(1);
               model.setMsg("修改成功!");
@@ -117,11 +123,11 @@
      return model;   
   }
   //点击弹出框的设定按钮,修改ld6测试参数
   public ServiceModel updateld6Param(Object obj){
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;
      Boolean b=mapper.updateld6Param(obj);
   public ServiceModel updateld6Param(Fbs9100_setparam fsparam){
      ServiceModel model = new ServiceModel();
      Boolean b=mapper.updateld6Param(fsparam)>0;
      if(b){
         boolean bl=mapper.sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
         boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
         if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
@@ -136,11 +142,11 @@
      return model;
   }
   //点击弹出框的设定按钮,修改61850测试参数
   public ServiceModel update61850Param(Object obj){
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;
      Boolean b=mapper.update61850Param(obj);
   public ServiceModel update61850Param(Fbs9100_setparam fsparam){
      ServiceModel model = new ServiceModel();
      Boolean b=mapper.update61850Param(fsparam)>0;
      if(b){
         boolean bl=mapper.sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
         boolean bl=sendCmdToFBS9100Dev(fsparam.getNum(),0, fsparam.getDev_id());
         if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
@@ -156,19 +162,18 @@
   }
   
   //右键查看参数和弹出框的刷新按钮
   public ServiceModel serchbyDev_id(Object obj) {
      Fbs9100_setparam fsparam=(Fbs9100_setparam) obj;
      boolean bl=mapper.sendCmdToFBS9100Dev(fsparam.getNum(),fsparam.getTestCmd()!=null?fsparam.getTestCmd():0, fsparam.getDev_id());
      //System.out.println(fsparam.getDev_id()+"   "+bl);
      List list=mapper.serchbyDev_id(obj);
   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(list);
         model.setData(fbs9100);
         model.setMsg("查询成功!");
       }else{
          model.setCode(0);
          model.setData(list);
          model.setData(null);
         model.setMsg("设置9100参数失败,请检查网络!");
       }
      //System.out.println(model.getData());
@@ -176,48 +181,111 @@
   }
    //根据机房编号和维护区查询放电机房的信息和放电参数
   public ServiceModel serchByCondition(Object obj){
      BattInf binf=(BattInf) obj;
      int dev_id=(new BattInfImpl()).serchDev_id(binf);
      boolean bl=mapper.sendCmdToFBS9100Dev(binf.getNum(),0, dev_id);
       List list=mapper.serchByCondition(obj);
   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(list);
          model.setData(null);
         model.setMsg("查询失败!");
       }
      return model;
   }
    //根据设备id查询设备的放电参数
   public ServiceModel serchdevParam(Object obj){
      BattInf binf=(BattInf) obj;
      boolean bl=mapper.sendCmdToFBS9100Dev(FBS9100_ComBase.CMD_GetDischargeParm,0, binf.getFBSDeviceId());
       List list=mapper.serchdevParam(obj);
   }
   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(list);
          model.setData(null);
         model.setMsg("查询失败!");
       }
      return model;
   } 
   //实时刷新放电表格的电池组状态(集合)
   public ServiceModel serchByInfo(Object obj){
      List list=mapper.serchByInfo(obj);
      if(list!=null && list.size()>0){
   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{
      } else {
         model.setCode(0);
         model.setMsg("查询失败!");
      }   
@@ -226,8 +294,10 @@
   }
   
   //根据电池组id查询电池组内前五的内阻数据
   public ServiceModel serchByThirdBatt(Object obj){
      List list=battRtDataMapper.serchByThirdBatt(obj);
   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);
@@ -237,16 +307,6 @@
         model.setMsg("查询失败!");
      }
      return model;
   }
   public static void main(String[] args) {
      Fbs9100_setparamService fs = new Fbs9100_setparamService();
      //fs.searchAll();
      Fbs9100_setparam f=new Fbs9100_setparam();
      f.setNum(41);
      f.setDev_id(910000024);
      ServiceModel model=fs.serchbyDev_id(f);
      System.out.println(model);
   }
}