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<BattInf> list=(List<BattInf>) 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<BattInf> list=(List<BattInf>) obj1;
|
List<BattInf> listB=new ArrayList<BattInf>();
|
int battGroupNum=1000;//标识
|
if(list!=null&&list.size()>0){
|
for (int i = 0; i <list.size(); i++) {
|
if(list.get(i).getBattGroupNum()!=battGroupNum){
|
listB.add(list.get(i));
|
}
|
battGroupNum=listB.get(listB.size()-1).getBattGroupNum();
|
}
|
}
|
return listB;
|
}
|
//整合超期的电池组数和总数
|
public static List countAll(Object obj1,Object obj2){
|
List<BattInf> list=(List<BattInf>) obj1;
|
List<BattInf> listY=(List<BattInf>) obj2;
|
if(list.size()>0){
|
for(int i=0;i<list.size();i++){
|
if(list.get(i).getBattGroupId()==null){
|
list.get(i).setBattGroupId(0);
|
}
|
if(list.get(i).getMonCount()==null){
|
list.get(i).setMonCount(0);
|
}
|
if(list.get(i).getMonNum()==null){
|
list.get(i).setMonNum(0);
|
}
|
if(listY.size()>0){
|
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_rtstate=(new Batt_rtstateDAOImpl()).searchMaxBattgroupId();//当前内存中最大的电池组id
|
int BattgroupId_apply=(new Battinf_applyImpl()).searchMaxBattgroupId_apply();//当前内存中最大的电池组id
|
int BattgroupId_inf=(new BattInfImpl()).searchMaxBattgroupId();//当前内存中最大的电池组id
|
if(BattgroupId_inf>=BattgroupId_apply){
|
battgroupid=BattgroupId_inf;
|
if(battgroupid>=BattgroupId_rtstate) {
|
battgroupid=battgroupid;
|
}else {
|
battgroupid=BattgroupId_rtstate;
|
}
|
}else{
|
battgroupid=BattgroupId_apply;
|
if(battgroupid>=BattgroupId_rtstate) {
|
battgroupid=battgroupid;
|
}else {
|
battgroupid=BattgroupId_rtstate;
|
}
|
}
|
return battgroupid+1;
|
}
|
//查询当前最大的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;
|
}
|
if(dev_id == 1){
|
dev_id = 910000001;
|
}
|
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;
|
}
|
|
}
|