package com.fgkj.services; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.fgkj.actions.ActionUtil; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.BaseDAOFactory; import com.fgkj.dao.CreatClass; import com.fgkj.dao.DAOHelper; import com.fgkj.dao.UtilityFactory; import com.fgkj.dao.impl.BattInfImpl; import com.fgkj.dao.impl.User_infImpl; import com.fgkj.dao.impl.User_taskImpl; import com.fgkj.dao.impl.User_task_batt_checkImpl; import com.fgkj.dao.impl.User_task_batt_testImpl; import com.fgkj.dao.impl.User_task_paramImpl; import com.fgkj.dao.impl.User_task_user_listImpl; import com.fgkj.db.DBUtil; import com.fgkj.db.IDatabaseName; import com.fgkj.dto.AllModel; import com.fgkj.dto.BattInf; import com.fgkj.dto.Batt_Maint_Dealarm; import com.fgkj.dto.Batt_maint_inf; import com.fgkj.dto.Batttestdata_inf; import com.fgkj.dto.Page; 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_jiejiari; 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; public class User_taskService { private ServiceModel model; private BaseDAO dao; private BaseDAO daoList; private BaseDAO daoTest; private BaseDAO daoCheck; private User_infService uservice; public User_taskService() { model=new ServiceModel(); dao=BaseDAOFactory.getBaseDAO(BaseDAO.USER_TASK); daoList=BaseDAOFactory.getBaseDAO(BaseDAO.USER_TASK_USER_LIST); daoTest=BaseDAOFactory.getBaseDAO(BaseDAO.USER_TASK_BATT_TEST); daoCheck=BaseDAOFactory.getBaseDAO(BaseDAO.USER_TASK_BATT_CHECK); uservice=new User_infService(); } //4.1添加作业确定(向utask,utest,ucheck中添加数据) public ServiceModel add(Object obj1,Object obj2) throws ParseException { List list=(List) obj1; //存放所有选取的电池组信息(执行日期存放在binf的battproducerDate1中,执行人放在stationip中) User_task_param uparam=(User_task_param) obj2; //存放选中的作业参数对象 ArrayList sql_str = new ArrayList(); //存放所有的sql语句 User_task utask=CreatClass.CreateUtask(list,uparam); //构造默认utask String strT=((User_taskImpl)dao).addPro(utask); //添加User_task的标识 String strL=((User_taskImpl)dao).updatePro(utask); //修改当前最新作业task_id_ex值+1 //System.out.println(strT); sql_str.add(strT); sql_str.add(strL); User_task_user_list ulistO=CreatClass.CreateUlist(utask,uparam.getTp_master_id(),1); //主管 User_task_user_list ulistT=CreatClass.CreateUlist(utask,uparam.getTp_name(), 2); //指派人传参数时Tp_name为当前用户id String strLO=((User_task_user_listImpl)daoList).addPro(ulistO); //添加User_task_user_list的标识 sql_str.add(strLO); String strLT=((User_task_user_listImpl)daoList).addPro(ulistT); //添加User_task_user_list的标识 sql_str.add(strLT); if(list!=null&&list.size()>0){ for(int i = 0; i listB=(List) allmodel.getAmodel().getData(); //80%容量放电类型作业 List listS=(List) allmodel.getSmodel().getData(); //40%核对性类型作业 List listR=(List) allmodel.getRmodel().getData(); //日常巡检类型作业 List listU=(List) allmodel.getUmodel().getData(); //拉闸动环类型作业 List listP=(List) allmodel.getPmodel().getData(); //模板对应的参数属性<模板添加时用到> //System.out.println(listP); User_task_param uparam=(User_task_param)listP.get(listP.size()-1); //将参数对象取出来 uparam.setTp_name(allmodel.getPmodel().getMsg()); ///指派人 //System.out.println("uparam: "+uparam); ArrayList sql_str = new ArrayList(); //存放所有的sql语句 int code=0;//model中code的情况 if(listB!=null && listB.size()>0){ //System.out.println("40:"); uparam.setTp_tasktype(0); ServiceModel modelB=new User_taskService().add(listB, uparam); code=modelB.getCode(); 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); } if(listR!=null && listR.size()>0){ //System.out.println("check:"+listR.size()); // for (BattInf b : listR) { // System.out.println(b.getBattProductDate1()); // } uparam.setTp_tasktype(2); ServiceModel modelR=new User_taskService().add(listR, uparam); code=modelR.getCode(); 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); } //System.out.println("mdoel: "+model); return model; } //4.1作业管理(修改作业名称,作业使能,作业开始时间,作业提醒次数,作业提醒时间,作业主管提醒使能,确认作业,完成作业,完成作业确认) public ServiceModel update(Object obj) { Boolean bl=dao.update(obj); if(bl){ model.setCode(1); model.setMsg("修改成功!"); } else{ model.setMsg("修改失败!"); } return model; } //4.1作业管理(作业删除) public ServiceModel delete(Object obj) { Boolean bl=dao.del(obj); if(bl){ model.setCode(1); model.setMsg("删除作业成功!"); } else{ model.setMsg("删除作业失败!"); } return model; } //4.1作业管理查询user_task所有信息 public ServiceModel serchByCondition(Object obj){ Task_Batt_Test tbt = (Task_Batt_Test) obj; List list = dao.serchByCondition(tbt); //System.out.println(list.size()+"+++++"); //存放最终的结果 List listT=new ArrayList(); int task_id=0; //用于求同task_id的执行人 String unameT=""; if(list!=null && list.size()>0){ for(int i=0;i listL=new User_task_user_listImpl().serchByCondition(ulist); //System.out.println("ulist:"+listL.size()); if(listL!=null&&listL.size()>0){ 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())); } 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())); } } } } //System.out.println(unameT); model.setCode(1); model.setData(listT); } // for (Task_Batt_Test t : listT) { // System.out.println(t.getUcheck()); // } //System.out.println(listT.size()); return model; } //4.1根据task_id查询user_task_test/user_task_check public ServiceModel serchByInfo(Object obj){ User_task utask=(User_task) obj; List list=null; if(utask.getTask_type()!=2){ list=daoTest.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()); list.get(i).getUtest().setNote(uname); } } }else if(utask.getTask_type()==2){ list=daoCheck.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).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()); if(list!=null && list.size()>0){ model.setCode(1); model.setData(list); } return model; } //4.1查询符合条件的电池组信息(创建作业) public List serchBattgroup(Object obj){ Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj; User_battgroup_baojigroup_battgroup ugroup=new User_battgroup_baojigroup_battgroup(); List list = (new BattInfImpl()).serchBattgroup(bmd); //System.out.println(list.size()); List listAll=new ArrayList(); if(list!=null&&list.size()>=0){ for(int i=0;i0){ // 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()); listAll.add(model); } }else{ model.setCode(0); listAll.add(model); } // for (ServiceModel m : listAll) { // System.out.println(m.getMsgO()+"&&&"); // } // System.out.println(listAll.size()); return listAll; } //0.1查询指定用户的作业信息 public ServiceModel serchByUid(Object obj){ model=new ServiceModel(); Task_Batt_Test tbt=(Task_Batt_Test) obj; List list = dao.serchByInfo(tbt); //System.out.println("&&&& "+list.size()); //未完成数量 tbt.getUtask().setTask_complete(0); List listU = dao.serchByInfo(tbt); //int count = 0; //统计未完成的作业数量 if(list!=null && list.size()>0){ for(int i=0;i listu=new User_infImpl().serchUname(user); if(listu!=null && listu.size()>0){ //System.out.println(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()); }*/ model.setCode(1); model.setData(list); // model.setSum(count); if(listU!=null && listU.size()>0){ model.setSum(listU.get(0).getPage().getPageAll()); }else{ model.setSum(0); } //System.out.println(list.size()+"*******************"); }else{ model.setCode(0); model.setMsg("查询失败!"); } // System.out.println("listU="+listU.size()); // System.out.println("count="+count); // List l=(List) model.getData(); // for (Task_Batt_Test t : l) { // System.out.println(t.getBinf()); // } //System.out.println(model); return model; } //0.1作业管理查询user_task所有信息 public ServiceModel serchByTask(Object obj){ Task_Batt_Test tbt=(Task_Batt_Test) obj; List list=((User_taskImpl)dao).serchByTask(tbt); //System.out.println(list.size()); if(list!=null&&list.size()>0){ for(int i=0;i)model.getData()).get(0).getUinf()); return model; } //4.1根据维护区查询所有的电池组和对应的包机人(模板创建)和维护人员信息以及各类作业对应的电池组信息 public AllModel serchBytemplate(Object obj){ User_task_batt_template utem=(User_task_batt_template) obj; //System.out.println("utem.getTask_time():"+utem.getTask_time()); AllModel allmodel=new AllModel();//存放所有的数据 ServiceModel mmodel=new ServiceModel(); //(sum)该维护区电池组组数 ServiceModel tmodel=new ServiceModel(); //(sum)维护人员总数 ServiceModel amodel=new ServiceModel(); //80%容量放电类型作业 ServiceModel smodel=new ServiceModel(); //40%核对性类型作业 ServiceModel rmodel=new ServiceModel(); //日常巡检类型作业 ServiceModel umodel=new ServiceModel(); //拉闸动环类型作业 ServiceModel pmodel=new ServiceModel(); //模板对应的参数属性<模板添加时用到,> List listB=(new BattInfImpl()).serchByTemplate(utem);//电池组信息<维护区对应的电池组总数> if(listB!=null){ //System.out.println("listMB: "+listB.size()); mmodel.setSum(listB.size()); allmodel.setMmodel(mmodel); } List listU=(new User_infImpl()).serchDepNum(utem);//维护人员信息<用户表中的维护人员> if(listU!=null){ //System.out.println("listTU: "+listU.size()); tmodel.setSum(listU.size()); allmodel.setTmodel(tmodel); } //模板对应的参数属性<模板添加时用到> User_task_param uparam=new User_task_param(); uparam.setTp_num(utem.getTask_param_id()); List listP=(new User_task_paramImpl()).serchByCondition(uparam); //System.out.println(utem.getTask_batt_check_en()); if(listP!=null){ //System.out.println("listP: "+listP.size()); pmodel.setData(listP); //pmodel.setMsg("1001");//当前用户的uid allmodel.setPmodel(pmodel); } //各类作业对应的电池组信息<该维护区中还未加入到各类作业的电池组数> if(utem.getTask_batt_cap80_test_en()==1){ utem.setTask_type(0); List list=(new BattInfImpl()).serchBattNotInTask(utem); /// System.out.println("listA8: "+list.size()); if(list!=null && list.size()>0){ amodel.setSum(list.size()); amodel.setData(list); allmodel.setAmodel(amodel); } } if(utem.getTask_batt_cap40_test_en()==1){ utem.setTask_type(1); List list=(new BattInfImpl()).serchBattNotInTask(utem); // System.out.println("listS4: "+list.size()); if(list!=null){ smodel.setSum(list.size()); smodel.setData(list); allmodel.setSmodel(smodel); } } if(utem.getTask_batt_check_en()==1){ // System.out.println("================"); utem.setTask_type(2); List list=(new BattInfImpl()).serchBattNotInTask(utem); /// System.out.println("listRC: "+list.size()); if(list!=null){ rmodel.setSum(list.size()); rmodel.setData(list); allmodel.setRmodel(rmodel); } } if(utem.getTask_batt_lazha_test_en()==1){ utem.setTask_type(3); List list=(new BattInfImpl()).serchBattNotInTask(utem); // System.out.println("listUL: "+list.size()); if(list!=null){ umodel.setSum(list.size()); umodel.setData(list); allmodel.setUmodel(umodel); } } //System.out.println(allmodel.getRmodel()); return allmodel; } public ServiceModel searchAll(){ List list=dao.searchAll(); // for (Object object : list) { // System.out.println(object); // } //System.out.println(list); if(list!=null && list.size()>0){ model.setCode(1); model.setData(list); } return model; } public static void main(String[] args) throws ParseException { User_taskService us = new User_taskService(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2016-11-17"); Date date2 = sdf.parse("2020-01-01"); BattInf binf=new BattInf(); binf.setStationName(""); binf.setStationName1(""); binf.setBattGroupId(1001015); binf.setBattGroupName1(""); binf.setBattProducer(""); binf.setMonCapStd(0f); binf.setMonVolStd(0f); binf.setStationIp("1001,1003"); binf.setBattProductDate(ActionUtil.getSimpDate(date1)); binf.setBattProductDate1(ActionUtil.getSimpDate(date2)); binf.setBattInUseDate(ActionUtil.getSimpDate(date1)); binf.setBattInUseDate1(ActionUtil.getSimpDate(date2)); User_task utask=new User_task(); utask.setTask_id(0); utask.setTask_type(2); utask.setTask_complete(0); utask.setTask_create_date(ActionUtil.getSimpDate(date1)); utask.setTask_create_date1(ActionUtil.getSimpDate(date2)); utask.setTask_complete_date(ActionUtil.getSimpDate(date1)); utask.setTask_complete_date1(ActionUtil.getSimpDate(date2)); utask.setTask_close_date(ActionUtil.getSimpDate(date1)); utask.setTask_close_date1(ActionUtil.getSimpDate(date2)); User_task_user_list ulist=new User_task_user_list(); ulist.setUId(0); User_task_batt_test utest=new User_task_batt_test(); utest.setTask_usr_ids("100"); utest.setTask_exe_date(ActionUtil.getSimpDate(date1)); utest.setTask_exe_date1(ActionUtil.getSimpDate(date2)); User_task_batt_check ucheck=new User_task_batt_check(); ucheck.setTask_usr_ids("100"); ucheck.setTask_exe_date(ActionUtil.getSimpDate(date1)); ucheck.setTask_exe_date1(ActionUtil.getSimpDate(date2)); Task_Batt_Test tbt=new Task_Batt_Test(); tbt.setBinf(binf); tbt.setUtask(utask); tbt.setUtest(utest); tbt.setUlist(ulist); tbt.setUcheck(ucheck); Batt_maint_inf mainf = new Batt_maint_inf(); mainf.setRemark("100"); mainf.setMaint_done_time(ActionUtil.getSimpDate(date1)); mainf.setMaint_done_time1(ActionUtil.getSimpDate(date2)); Batttestdata_inf tdata = new Batttestdata_inf(); tdata.setTest_type(0); tdata.setTest_starttype(0); tdata.setRecord_time(ActionUtil.getSimpDate(date1)); tdata.setRecord_time1(ActionUtil.getSimpDate(date2)); User_inf uinf=new User_inf(); uinf.setUName("0"); uinf.setUId(1002); Page p=new Page(); p.setPageCurr(1); p.setPageSize(10); tbt.setUinf(uinf); tbt.setPage(p); Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm(); bmd.setBinf(binf); bmd.setMainf(mainf); bmd.setTdata(tdata); bmd.setPage(p); bmd.setUinf(uinf); User_task_param uparam=new User_task_param(); uparam.setTp_num(100001); List list=new User_task_paramImpl().serchByCondition(uparam); uparam=list.get(0); uparam.setTp_name("1001"); //System.out.println(uparam); //us.serchByCondition(tbt); //us.serchByInfo(utask); //us.serchBattgroup(bmd); //us.serchByUid(tbt); //us.serchByTask(tbt); //System.out.println(ActionUtil.getNowMonth()); /*List listb=new ArrayList(); listb.add(binf); us.add(listb, uparam);*/ User_task_batt_template utem=new User_task_batt_template(); utem.setQuyu_name("一枢纽"); utem.setTask_param_id(100001); utem.setTask_batt_cap80_test_en(1); utem.setTask_batt_cap40_test_en(1); utem.setTask_batt_check_en(1); utem.setTask_batt_lazha_test_en(1); utem.setTask_exe_usr_selmode(1); utem.setTask_time(ActionUtil.getSimpDate(date1)); AllModel allmodel=us.serchBytemplate(utem); us.addBytemplate(allmodel); } }