whycrzg
2021-02-23 351b9a53cb9ecebdf8f79db0117f540d9c42c2a4
src/main/java/com/fgkj/services/User_taskService.java
@@ -1,57 +1,54 @@
package com.fgkj.services;
import com.fgkj.util.*;
import com.fgkj.dto.*;
import com.fgkj.mapper.CreatClass;
import com.fgkj.mapper.UtilityFactory;
import com.fgkj.mapper.impl.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fgkj.controller.ActionUtil;
import com.fgkj.mapper.CreatClass;
import com.fgkj.mapper.DAOHelper;
import com.fgkj.mapper.UtilityFactory;
import com.fgkj.mapper.impl.*;
import com.fgkj.db.DBUtil;
import com.fgkj.dto.AllModel;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_Maint_Dealarm;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.Task_Batt_Test;
import com.fgkj.dto.User_battgroup_baojigroup_battgroup;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_task;
import com.fgkj.dto.User_task_batt_check;
import com.fgkj.dto.User_task_batt_template;
import com.fgkj.dto.User_task_batt_test;
import com.fgkj.dto.User_task_param;
import com.fgkj.dto.User_task_user_list;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class User_taskService {
   @Autowired
   DataSourceTransactionManager dataSourceTransactionManager;
   @Autowired
   TransactionDefinition transactionDefinition;
   // private ServiceModel model = new ServiceModel();
   @Autowired
   @Resource
   private User_taskMapper mapper;
   @Autowired
   @Resource
   private User_task_user_listMapper listMapper;
   @Autowired
   @Resource
   private User_task_batt_testMapper battTestMapper;
   @Autowired
   @Resource
   private User_task_batt_checkMapper battCheckMapper;
   @Autowired
   @Resource
   private User_task_paramMapper paramMapper;
   @Autowired
   @Resource
   private BattInfMapper battInfMapper;
   @Autowired
   @Resource
   private User_infMapper userInfMapper;
   @Autowired
   @Resource
   private User_infService uservice;
   @Resource
   private UtilityFactoryService utilityFactoryService;
   // public User_taskService() {
   //    model=new ServiceModel();
   //    dao=BaseDAOFactory.getBaseDAO(Basemapper.USER_TASK);
@@ -170,7 +167,9 @@
         }
      }
      //System.out.println(sql_str);
      Boolean bl= DAOHelper.makeManualCommit(DBUtil.getConn(),sql_str);
      //TODO perry待查
      boolean bl=true;
      //Boolean bl= DateUtil.makeManualCommit(DBUtil.getConn(),sql_str);
      //System.out.println(bl);
      if(bl){
         model.setCode(1);
@@ -203,14 +202,16 @@
         uparam.setTp_tasktype(0);
         ServiceModel modelB=new User_taskService().add(listB, uparam);
         code=modelB.getCode();
         model.setLowCA((float) code);
         //TODO perry
         // model.setLowCA((float) code);
      }
      if(listS!=null&&listS.size()>0){ 
         //System.out.println("80:");
         uparam.setTp_tasktype(1);
         ServiceModel modelS=new User_taskService().add(listS, uparam);
         code=modelS.getCode();
         model.setLowCH((float) code);
         //TODO perry
         // model.setLowCH((float) code);
      }
      if(listR!=null && listR.size()>0){
         //System.out.println("check:"+listR.size());
@@ -220,23 +221,25 @@
         uparam.setTp_tasktype(2);
         ServiceModel modelR=new User_taskService().add(listR, uparam);
         code=modelR.getCode();
         model.setLowRA((float) code);
         //TODO perry
         // model.setLowRA((float) code);
      }
      if(listU!=null&&listU.size()>0){
         //System.out.println("test:");
         uparam.setTp_tasktype(3);
         ServiceModel modelU=new User_taskService().add(listU, uparam);
         code=modelU.getCode();
         model.setLowRH((float) code);
         //TODO perry
         // model.setLowRH((float) code);
      }
      //System.out.println("mdoel:  "+model);
      return model;
   }
    //4.1作业管理(修改作业名称,作业使能,作业开始时间,作业提醒次数,作业提醒时间,作业主管提醒使能,确认作业,完成作业,完成作业确认)
     public ServiceModel update(Object obj) {
     public ServiceModel update(User_task obj) {
      ServiceModel model = new ServiceModel();
        Boolean bl=mapper.update(obj);
        Boolean bl=mapper.update(obj)>0;
        if(bl){
           model.setCode(1);
           model.setMsg("修改成功!");
@@ -247,33 +250,56 @@
        return model;   
     }
     //4.1作业管理(作业删除)
     public ServiceModel delete(Object obj) {
     public ServiceModel delete(User_task obj) {
      TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
      ServiceModel model = new ServiceModel();
        Boolean bl=mapper.del(obj);
        if(bl){
           model.setCode(1);
           model.setMsg("删除作业成功!");
        }
        else{
           model.setMsg("删除作业失败!");
        }
        return model;
     }
      Boolean bl = true;
      try {
         if (obj.getTask_type() == 2) {
            bl = mapper.del(obj) > 0;
            if (bl) bl = mapper.delsqlC(obj) > 0;   //check
         } else {
            bl = mapper.del(obj) > 0;
            if (bl) bl = mapper.delsqlT(obj) > 0;   //test
         }
      } catch (Exception e) {
         e.printStackTrace();
         dataSourceTransactionManager.rollback(transactionStatus);
         model.setMsg("删除作业失败!");
         return model;
      }
      if (bl) {
         dataSourceTransactionManager.commit(transactionStatus);
         model.setCode(1);
         model.setMsg("删除作业成功!");
      } else {
         dataSourceTransactionManager.rollback(transactionStatus);
         model.setMsg("删除作业失败!");
      }
      return model;
   }
     
    //4.1作业管理查询user_task所有信息
    public ServiceModel serchByCondition(Object obj){
    public ServiceModel serchByCondition(Task_Batt_Test tbt){
      ServiceModel model = new ServiceModel();
       Task_Batt_Test tbt = (Task_Batt_Test) obj;
      List<Task_Batt_Test> list = mapper.serchByCondition(tbt);
      //System.out.println(list.size()+"+++++");
      //用于判断作业类型   utest.getTask_usr_ids().equals("100")
      List<Task_Batt_Test> list =null;
      if(tbt.getUtask().getTask_type()==2){
         list = mapper.serchByCondition(tbt);
      }else{
         list = mapper.serchByConditionTest(tbt);
      }
//      System.out.println(list.size()+"+++++");
      //存放最终的结果
      List<Task_Batt_Test> listT=new ArrayList<Task_Batt_Test>();
      int task_id=0;                           //用于求同task_id的执行人
      String unameT="";
      if(list!=null && list.size()>0){
         for(int i=0;i<list.size();i++){
            //System.out.println("===="+list.get(i).getUtest().getTask_usr_ids()+"====");
            String uname=UtilityFactory.UidsToUnames(list.get(i).getUtest().getTask_usr_ids());
         for(int i=0;i<list.size();i++){
            System.out.println("list.get(i) = " + list.get(i));
//            System.out.println("===="+list.get(i).getUtest().getTask_usr_ids()+"====");
//            String uname=UtilityFactory.UidsToUnames(list.get(i).getUtest().getTask_usr_ids());
            String uname=utilityFactoryService.UidsToUnames(list.get(i).getUtest().getTask_usr_ids());
            list.get(i).getUtest().setTask_usr_ids(uname);
            if(task_id==list.get(i).getUtask().getTask_id()){
               unameT = UtilityFactory.concatString(listT.get(listT.size()-1).getUtest().getTask_usr_ids(), uname);
@@ -296,12 +322,12 @@
               for (int j = 0; j < listL.size(); j++) {
               //   System.out.println(listL.get(j));
                  if(listL.get(j).getUsr_type()==1){
                     list.get(i).getUcheck().setBattvol_tempe_done(listL.get(j).getUId());              //获取主管姓名
                     list.get(i).getUcheck().setBattvol_tempe_done_result(UtilityFactory.UidsToUnames(listL.get(j).getUId().toString()));
                     list.get(i).getUcheck().setBattvol_tempe_done(listL.get(j).getuId());              //获取主管姓名
                     list.get(i).getUcheck().setBattvol_tempe_done_result(utilityFactoryService.UidsToUnames(listL.get(j).getuId().toString()));
                  }
                  if(listL.get(j).getUsr_type()==2){
                     list.get(i).getUcheck().setBattvol_tempe_done_recheck(listL.get(j).getUId());      //获取指派人
                     list.get(i).getUcheck().setBattvol_tempe_done_recheck_result(UtilityFactory.UidsToUnames(listL.get(j).getUId().toString()));
                     list.get(i).getUcheck().setBattvol_tempe_done_recheck(listL.get(j).getuId());      //获取指派人
                     list.get(i).getUcheck().setBattvol_tempe_done_recheck_result(utilityFactoryService.UidsToUnames(listL.get(j).getuId().toString()));
                  }
               }
            }
@@ -318,17 +344,15 @@
      return model;
   } 
    //4.1根据task_id查询user_task_test/user_task_check
    public ServiceModel serchByInfo(Object obj){
    public ServiceModel serchByInfo(User_task utask){
      ServiceModel model = new ServiceModel();
      User_task utask=(User_task) obj;
      List<Task_Batt_Test> list=null;
      if(utask.getTask_type()!=2){
         list=battTestMapper.serchByCondition(utask);
         //System.out.println("查询结束");
         if(list.size()>0 && list!=null){
            for (int i = 0; i < list.size(); i++) {
               String uname=UtilityFactory.UidsToUnames(list.get(i).getUtest().getTask_usr_ids());
               String uname=utilityFactoryService.UidsToUnames(list.get(i).getUtest().getTask_usr_ids());
               list.get(i).getUtest().setNote(uname);
            }
         }
@@ -337,16 +361,17 @@
         //System.out.println("查询结束");
         if(list.size()>0 && list!=null){
            for (int i = 0; i < list.size(); i++) {
               String uname=UtilityFactory.UidsToUnames(list.get(i).getUcheck().getTask_usr_ids());
               String uname=utilityFactoryService.UidsToUnames(list.get(i).getUcheck().getTask_usr_ids());
               //System.out.println(uname);
               list.get(i).getBinf().setStationName9(uname);      //存放执行人
            }
         }
      }   
   //   for (Task_Batt_Test t : list) {
   //      System.out.println(t.getUtest().getNote());
   //   }
      //System.out.println(list.size());
//      for (Task_Batt_Test t : list) {
//         System.out.println("t = " + t);
//         System.out.println(t.getUtest().getNote());
//      }
      System.out.println(list.size());
      if(list!=null && list.size()>0){
         model.setCode(1);
         model.setData(list);
@@ -354,31 +379,32 @@
      return model;
   }
    //4.1查询符合条件的电池组信息(创建作业)
    public List serchBattgroup(Object obj){
      ServiceModel model = new ServiceModel();
        Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
    public List serchBattgroup(Batt_Maint_Dealarm bmd){
        User_battgroup_baojigroup_battgroup ugroup=new User_battgroup_baojigroup_battgroup();
        List<Batt_Maint_Dealarm> list = battInfMapper.serchBattgroup(bmd);
        //System.out.println(list.size());
//      System.out.println("list.size() = " + list.size());//list.size() = 1263
        List<ServiceModel> listAll=new ArrayList<ServiceModel>();
        if(list!=null&&list.size()>=0){
           for(int i=0;i<list.size();i++){
              model=new ServiceModel();
            ServiceModelImpl2 model=new ServiceModelImpl2();
                //ServiceModel umodel=new ServiceModel();
               ugroup.setBattGroupId(list.get(i).getBinf().getBattGroupId());
              //查与指定battgroupid的包机人
              ServiceModel umodel=uservice.searchByBattGroupId(ugroup);
            ServiceModelImpl2 umodel=uservice.searchByBattGroupId(ugroup);
   //           if(umodel.getMsg()!=null&&umodel.getMsg().length()>0){
   //              System.out.println(umodel.getMsg()+"   "+ umodel.getMsgO());
   //           }
              //System.out.println(umodel);
              model.setCode(1);
              model.setData(list.get(i));
              model.setMsg(umodel.getMsg());
              model.setMsgO(umodel.getMsgO());
              if (umodel.getCode().equals(1)) {
                model.setMsg(umodel.getMsg());
                model.setMsgO(umodel.getMsgO());
             }
              listAll.add(model);
           }
        }else{
         ServiceModelImpl2 model=new ServiceModelImpl2();
           model.setCode(0);
           listAll.add(model);
        }
@@ -389,17 +415,25 @@
        return listAll;
     }
    //0.1查询指定用户的作业信息
    public ServiceModel serchByUid(Object obj){
      ServiceModel model = new ServiceModel();
       Task_Batt_Test tbt=(Task_Batt_Test) obj;
    public ServiceModelOnce serchByUid(Task_Batt_Test tbt){
      ServiceModelOnce model = new ServiceModelOnce();
      //分页
      PageBean pageBean = tbt.getPageBean();
      PageHelper.startPage(pageBean.getPageNum(),pageBean.getPageSize(),true);
       List<Task_Batt_Test> list = mapper.serchByInfo(tbt);
//      for (int i = 0; i < list.size(); i++) {
//         list.get(i).setPageBean(new PageBean());//TODO 获取方式?
//         list.get(i).getPageBean().setPageAll(0);
//      }
       //System.out.println("&&&&   "+list.size());
       //未完成数量
       tbt.getUtask().setTask_complete(0);
       List<Task_Batt_Test> listU = mapper.serchByInfo(tbt);
       List<Task_Batt_Test> listUBT = mapper.serchByInfo(tbt);
      System.out.println("listUBT.size = " + listUBT.size());
       //int count = 0;            //统计未完成的作业数量
       if(list!=null && list.size()>0){
          for(int i=0;i<list.size();i++){
            list.get(i).setBinf(new BattInf());
             BattInf binf=new BattInf();
             User_inf user=new User_inf();
//             if(list.get(i).getUtask().getTask_complete()!=null && list.get(i).getUtask().getTask_complete()==0){
@@ -413,36 +447,42 @@
             }
             List<BattInf> listb=battInfMapper.serchByCondition(binf);
             if(listb!=null&&listb.size()>0){
             //System.out.println(listb.get(0).getBattGroupName()+"   "+listb.get(0).getStationName());
//             System.out.println(listb.get(0).getBattGroupName()+"   "+listb.get(0).getStationName());
//               System.out.println("listb.get(0) = " + listb.get(0));
//               System.out.println("list.get(i) = " + list.get(i));
                list.get(i).getBinf().setBattGroupName(listb.get(0).getBattGroupName());
                list.get(i).getBinf().setStationName(listb.get(0).getStationName());
             //   System.out.println(i+"   "+list.get(i).getBinf().getBattGroupName()+"   "+list.get(i).getBinf().getStationName());
             }
             //System.out.println(list.get(i).getUtest().getTask_usr_ids());
             System.out.println(list.get(i).getUtest().getTask_usr_ids());
             if(list.get(i).getUtest().getTask_usr_ids()!=null){
                user.setUId(Integer.parseInt(list.get(i).getUtest().getTask_usr_ids()));
               String task_usr_ids = list.get(i).getUtest().getTask_usr_ids();
               user.setuId(Integer.parseInt(task_usr_ids));
             }else if(list.get(i).getUcheck().getTask_usr_ids()!=null){
                user.setUId(Integer.parseInt(list.get(i).getUcheck().getTask_usr_ids()));
                user.setuId(Integer.parseInt(list.get(i).getUcheck().getTask_usr_ids()));
             }
             
             List<User_inf> listu=userInfMapper.serchUname(user);
            System.out.println("listu.size() = " + listu.size());
             if(listu!=null && listu.size()>0){
                //System.out.println(listu.get(0).getuName());
                 list.get(i).getUtask().setNote(listu.get(0).getUName());
                 list.get(i).getUtask().setNote(listu.get(0).getuName());
             }
          }
          /*for (int j=0;j<10;j++) {
             System.out.println(list.get(j).getBinf());
          }*/
         PageInfo<Task_Batt_Test> pageInfo = new PageInfo<>(list);
          model.setCode(1);
          model.setData(list);
          model.setData(pageInfo);
//         model.setSum(count);
          if(listU!=null && listU.size()>0){
             model.setSum(listU.get(0).getPage().getPageAll());
          if(listUBT!=null && listUBT.size()>0){
//             model.setSum(listU.get(0).getPageBean().getPageAll());
             model.setSum((int)pageInfo.getTotal());
          }else{
             model.setSum(0);
          }
          //System.out.println(list.size()+"*******************");
       }else{
          model.setCode(0);
          model.setMsg("查询失败!");
@@ -459,24 +499,31 @@
    }
   
    //0.1作业管理查询user_task所有信息
    public ServiceModel serchByTask(Object obj){
    public ServiceModel serchByTask(Task_Batt_Test tbt) {
      ServiceModel model = new ServiceModel();
       Task_Batt_Test tbt=(Task_Batt_Test) obj;
       List<Task_Batt_Test> list=mapper.serchByTask(tbt);
       //System.out.println(list.size());
       if(list!=null&&list.size()>0){
          for(int i=0;i<list.size();i++){
             list.get(i).getUinf().setUName(UtilityFactory.UidsToUnames(list.get(i).getBinf().getStationName1()));
          }
      //分页
      PageBean pageBean = tbt.getPageBean();
      PageHelper.startPage(pageBean.getPageNum(),pageBean.getPageSize(),true);
      List<Task_Batt_Test> list = mapper.serchByTask(tbt);
//       System.out.println(list.size());
               model.setCode(1);
               model.setData(list);
       }else{
          model.setCode(0);
          model.setMsg("查询失败!");
       }
       //System.out.println(((List<Task_Batt_Test>)model.getData()).get(0).getUinf());
      int index = 0;
      if (list != null && list.size() > 0) {
//         System.out.println("tbt.getPageBean() = " + tbt.getPageBean());
         for (int i = 0; i < list.size(); i++) {
            list.get(i).setUinf(new User_inf());
            list.get(i).getUinf().setuName(utilityFactoryService.UidsToUnames(list.get(i).getBinf().getStationName1()));
         }
         PageInfo<Task_Batt_Test> pageInfo = new PageInfo<>(list);
         model.setCode(1);
         model.setData(pageInfo);
      } else {
         model.setCode(0);
         model.setMsg("查询失败!");
      }
      //System.out.println(((List<Task_Batt_Test>)model.getData()).get(0).getUinf());
      return model;
   } 
    //4.1根据维护区查询所有的电池组和对应的包机人(模板创建)和维护人员信息以及各类作业对应的电池组信息
@@ -493,14 +540,14 @@
       ServiceModel pmodel=new ServiceModel();         //模板对应的参数属性<模板添加时用到,>
       List<BattInf> listB=battInfMapper.serchByTemplate(utem);//电池组信息<维护区对应的电池组总数>
       if(listB!=null){
          //System.out.println("listMB: "+listB.size());
          mmodel.setSum(listB.size());
         //TODO perry
          // mmodel.setSum(listB.size());
          allmodel.setMmodel(mmodel);
       }
       List<User_inf> listU=userInfMapper.serchDepNum(utem);//维护人员信息<用户表中的维护人员>
       if(listU!=null){
          //System.out.println("listTU: "+listU.size());
          tmodel.setSum(listU.size());
         //TODO perry
          // tmodel.setSum(listU.size());
          allmodel.setTmodel(tmodel);
       }
       //模板对应的参数属性<模板添加时用到>
@@ -521,7 +568,8 @@
          List list=battInfMapper.serchBattNotInTask(utem);
       ///   System.out.println("listA8: "+list.size());
          if(list!=null && list.size()>0){
             amodel.setSum(list.size());
            //TODO perry
             // amodel.setSum(list.size());
             amodel.setData(list);
             allmodel.setAmodel(amodel);
          }
@@ -531,7 +579,8 @@
          List list=battInfMapper.serchBattNotInTask(utem);
       //   System.out.println("listS4: "+list.size());
          if(list!=null){
             smodel.setSum(list.size());
            //TODO perry
             // smodel.setSum(list.size());
             smodel.setData(list);
             allmodel.setSmodel(smodel);
          }
@@ -542,7 +591,8 @@
          List list=battInfMapper.serchBattNotInTask(utem);
       ///   System.out.println("listRC: "+list.size());
          if(list!=null){
             rmodel.setSum(list.size());
            //TODO perry
             // rmodel.setSum(list.size());
             rmodel.setData(list);
             allmodel.setRmodel(rmodel);
          }          
@@ -552,7 +602,8 @@
          List list=battInfMapper.serchBattNotInTask(utem);
       //   System.out.println("listUL: "+list.size());
          if(list!=null){
             umodel.setSum(list.size());
            //TODO perry
             // umodel.setSum(list.size());
             umodel.setData(list);
             allmodel.setUmodel(umodel);
          }