package com.fgkj.dao; import java.util.ArrayList; import java.util.List; import com.fgkj.dao.impl.BattInfImpl; import com.fgkj.dao.impl.Batt_rtstateDAOImpl; import com.fgkj.dao.impl.Battinf_applyImpl; import com.fgkj.dao.impl.Database_backupImpl; import com.fgkj.dto.BattInf; import com.fgkj.dto.Database_backup; public class BattinfGroupFactory { //将同一stationame中的2v,6v,12v数据整合 public static List finishMonvol(Object obj1){ List list=(List) obj1; if(list!=null&&list.size()>0){ for (int i = 0; i < list.size(); i++) { /* * 2V 数量放在BattGroupid * 6V 数量放在MonCount * 12V数量放在MonNum */ if(i==0){ if(list.get(i).getMonVolStd()==2){ list.get(i).setBattGroupId(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==6){ list.get(i).setMonCount(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==12){ list.get(i).setMonNum(list.get(i).getNum()); } }else{ if(list.get(i).getBattGroupNum()==list.get(i-1).getBattGroupNum()){ if(list.get(i).getMonVolStd()==2){ list.get(i-1).setBattGroupId(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==6){ list.get(i-1).setMonCount(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==12){ list.get(i-1).setMonNum(list.get(i).getNum()); } }else{ if(list.get(i).getMonVolStd()==2){ list.get(i).setBattGroupId(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==6){ list.get(i).setMonCount(list.get(i).getNum()); }else if(list.get(i).getMonVolStd()==12){ list.get(i).setMonNum(list.get(i).getNum()); } } } } } return list; } //去除重复项 public static List delMonvol(Object obj1){ List list=(List) obj1; List listB=new ArrayList(); int battGroupNum=1000;//标识 if(list!=null&&list.size()>0){ for (int i = 0; i list=(List) obj1; List listY=(List) obj2; if(list.size()>0){ for(int i=0;i0){ if(listY.get(i).getBattGroupId()!=null){ list.get(i).setMonCapStd((float)listY.get(i).getBattGroupId()); }else{ list.get(i).setMonCapStd(0f); } if(listY.get(i).getMonCount()!=null){ list.get(i).setMonResStd((float)listY.get(i).getMonCount()); }else{ list.get(i).setMonResStd(0f); } if(listY.get(i).getMonNum()!=null){ list.get(i).setMonSerStd((float)listY.get(i).getMonNum()); }else{ list.get(i).setMonSerStd(0f); } } } } return list; } //查询当前最大的电池组id public static int searchMaxBattgroupId(){ int battgroupid=0; int BattgroupId_inf=(new Batt_rtstateDAOImpl()).searchMaxBattgroupId();//当前内存中最大的电池组id int BattgroupId_apply=(new Battinf_applyImpl()).searchMaxBattgroupId_apply();//当前内存中最大的电池组id if(BattgroupId_inf>=BattgroupId_apply){ battgroupid=BattgroupId_inf+1; }else{ battgroupid=BattgroupId_apply+1; } return battgroupid; } //查询当前最大的stationid public static int searchStationId(){ int stationid=0; int stationid_inf=(new BattInfImpl()).searchMaxId();//当前最大的stationid int stationid_apply=(new Battinf_applyImpl()).searchMaxId_apply();//当前最大的stationid if(stationid_inf>=stationid_apply){ stationid=stationid_inf+1; }else{ stationid=stationid_apply+1; } return stationid; } //查询当前最大的dev_id public static int searchmaxdev_id(){ int dev_id=0; int devid_inf=(new BattInfImpl()).searchMaxdevId_binf(); int devid_apply=(new Battinf_applyImpl()).searchMaxdevId_apply(); if(devid_inf>=devid_apply){ dev_id=devid_inf+1; }else{ dev_id=devid_apply+1; } return dev_id; } //当对battinf表中数据进行增删改的操作时,先备份db_battinf.tb_battinf public static boolean backup_battinf(){ boolean en=false; { Database_backup baseup=new Database_backup(); baseup.setBackup_en(1); baseup.setDatabase_name("db_battinf"); baseup.setTable_name("tb_battinf"); (new Database_backupImpl()).update(baseup); for (int i = 0; i < 20; i++) { boolean b=(new Database_backupImpl()).serchTable_en(baseup); if(b){ en=true; }else{ try { Thread.sleep(250); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } };//出现删除操作时,先备份数据库表 return en; } }