whycrzg
2021-02-23 351b9a53cb9ecebdf8f79db0117f540d9c42c2a4
src/main/java/com/fgkj/services/ram/Fbs9600_stateService.java
@@ -1,24 +1,39 @@
package com.fgkj.services.ram;
import java.util.List;
import com.fgkj.dto.Page;
import com.fgkj.dto.ServiceModel;
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 org.springframework.beans.factory.annotation.Autowired;
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 {
   private ServiceModel model;
   @Resource
   private Fbs9600_stateMapper mapper;
   @Autowired
   private Fbs9600_stateMapper mapper;;
   @Resource
   private User_logService userLogService;
   
    public ServiceModel add(Object obj) {
      Boolean bl=mapper.add(obj);
    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("添加成功!");
@@ -30,9 +45,9 @@
      
   }
    //bts显示屏启动放电
   public ServiceModel update(Object obj) {
      Fbs9600_state fs=(Fbs9600_state) obj;
      boolean bl=mapper.sendCmdToFBS9600Dev(fs.getNum(), fs.getDev_id());
   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("启动成功!");
@@ -42,9 +57,61 @@
       }
      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设备内阻测试
   public ServiceModel updatePro(Object obj) {
      boolean bl=mapper.updatePro(obj);
   @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("启动成功!");
@@ -54,8 +121,9 @@
       }
      return model;   
   }
   public ServiceModel delete(Object obj) {
      Boolean bl=mapper.del(obj);
   public ServiceModel delete(Fbs9600_state state) {
      ServiceModel model = new ServiceModel();
      Boolean bl=mapper.del(state)>0;
      if(bl){
         model.setCode(1);
         model.setMsg("删除成功!");
@@ -66,11 +134,20 @@
      return model;   
   }
    //11.1FBS9600设备通信状态查询
    public ServiceModel serchByCondition(Object obj){
        List list = mapper.serchByCondition(obj);
    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(list);
         model.setData(fbs9600StatePageInfo);
      }else{
         model.setCode(0);
         model.setMsg("查询失败!");
@@ -78,8 +155,9 @@
      return model;
   } 
    //放电测试添加fbs9600设备的添加电池组的操作
    public ServiceModel serchByInfo(Object obj){
      List list = mapper.serchByInfo(obj);
    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);
@@ -90,8 +168,12 @@
      return model;
   } 
    //FBS9600设备内阻测试显示全部9600设备的信息
    public ServiceModel searchByUid(Object obj){
      List list=mapper.searchByUid(obj);
    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);
@@ -101,19 +183,5 @@
      }
      return model;
   }
    /*public static void main(String[] args) {
      Fbs9600_stateService fs = new Fbs9600_stateService();
      Fbs9600_state f=new Fbs9600_state();
      f.setOp_cmd(0);
      Page page=new Page();
      page.setPageCurr(1);
      page.setPageSize(10);
      f.setPage(page);
      f.setDev_errcommcount(100);
      ServiceModel model=fs.serchByCondition(f);
      System.out.println(model);
      //fs.searchAll();
   }*/
}