package com.fgkj.services; import java.util.ArrayList; import java.util.List; import com.fgkj.actions.ActionUtil; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.BaseDAOFactory; import com.fgkj.dao.BattTestData; import com.fgkj.dao.impl.BattDischarge_planImpl; import com.fgkj.dao.impl.BattInfImpl; import com.fgkj.dto.BattDischarge_plan; import com.fgkj.dto.BattInf; import com.fgkj.dto.ServiceModel; import com.fgkj.dto.User_inf; public class BattDischarge_planService { private BaseDAO dao; private BaseDAO daoB; private ServiceModel model; public BattDischarge_planService() { dao = BaseDAOFactory.getBaseDAO(BaseDAO.BATTDISCHARGE_PLAN); daoB= BaseDAOFactory.getBaseDAO(BaseDAO.BATTINF); model = new ServiceModel();; } public ServiceModel add(Object obj){ Boolean bl=dao.add(obj); if(bl){ model.setCode(1); model.setMsg("添加成功!"); }else{ model.setCode(0); model.setMsg("添加失败!"); } return model; } //8.1批量添加电池计划 public ServiceModel addPro(Object obj){ Boolean bl=((BattDischarge_planImpl)dao).addPro(obj); if(bl){ model.setCode(1); model.setMsg("添加成功!"); }else{ model.setCode(0); model.setMsg("添加失败!"); } return model; } //8.1批量修改放电计划的开始时间 public ServiceModel updatePro(Object obj){ Boolean bl=((BattDischarge_planImpl)dao).updatePro(obj); if(bl){ model.setCode(1); model.setMsg("修改成功!"); }else{ model.setCode(0); model.setMsg("修改失败!"); } return model; } public ServiceModel del(Object obj){ Boolean bl=dao.del(obj); if(bl){ model.setCode(1); model.setMsg("删除成功!"); }else{ model.setCode(0); model.setMsg("删除失败!"); } return model; } public ServiceModel searchAll(){ List list=dao.searchAll(); if(list!=null&&list.size()>0){ model.setCode(1); model.setMsg("查询成功!"); model.setData(list); }else{ model.setCode(0); model.setMsg("查询失败!"); } return model; } //8.1批量添加作业计划/修改作业计划时时先检测计划的可行性 /*原则: *1.同机房(或设备)同一时间只能一组电池组放电 *2.同机房(或设备)内电池组放电时间相隔至少3天*/ public ServiceModel judgePlan(Object obj){ List listAll=(List) obj; List list = new ArrayList();//存放满足计划设定条件的可行计划 if(listAll!=null&&listAll.size()>0){ for(int i=0;i0){ int judge=judgeList(listAll.get(i), list); if(judge==1){////判断通过时间相隔3天,满足条件 list.add(listAll.get(i)); }else{ continue; } }else{ list.add(listAll.get(i)); } } } } if(list!=null&&list.size()>0){ model.setCode(1); model.setData(list); model.setSum(list.size());//可以添加的总数 }else{ model.setCode(0); model.setSum(0); } //System.out.println(model); return model; } //放电计划中添加计划时,有没有出现同机房存在电池组有计划 public int judgeList(Object obj1,Object obj2){ BattDischarge_plan bplan=(BattDischarge_plan) obj1; List list=(List) obj2; int flag=1; if(list!=null&&list.size()>0){ for(int i=0;i0){ model.setCode(1); model.setMsg("查询成功!"); model.setData(list); }else{ model.setCode(0); model.setMsg("查询失败!"); } return model; } //8.1放电计划管理中查询 public ServiceModel serchBattgroupinfo(Object obj){ List list=((BattInfImpl)daoB).serchBattgroupinfo(obj); if(list!=null&&list.size()>0){ model.setCode(1); model.setMsg("查询成功!"); model.setData(list); }else{ model.setCode(0); model.setMsg("查询失败!"); } return model; } //8.1查询未开始放电的放电计划总数 public ServiceModel searchNums(Object obj) { int nums= ((BattDischarge_planImpl)dao).searchNums(obj); model.setSum(nums); return model; } //8.1放电计划管理中饼状图(放电计划统计查询) /*BattIndexInFbs:未放电 *Preset_time:放电延时 *Preset_cap: 放电完成 *Preset_monvol:放电进行中 *Preset_groupvol:放电失败 *num: 总数*/ public ServiceModel searchState(Object obj){ List list=((BattDischarge_planImpl)dao).searchState(obj); BattDischarge_plan bplan=new BattDischarge_plan();//存放返回各种放电计划状态对应的值 bplan.setBattIndexInFbs(0); bplan.setPreset_time(0); bplan.setPreset_cap(0f); bplan.setPreset_monvol(0f); bplan.setPreset_groupvol(0f); int test_plan0=0; int test_plan1=0; int test_plan2=0; int test_plan3=0; int test_plan4=0; if(list!=null && list.size()>0){ for(int i=0;i