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.AlarmDaoFactory;
|
import com.fgkj.dao.BaseDAO;
|
import com.fgkj.dao.BaseDAOFactory;
|
import com.fgkj.dao.BattTestData;
|
import com.fgkj.dao.DAOHelper;
|
import com.fgkj.dao.TestDaoFactory;
|
import com.fgkj.dao.UinfDaoFactory;
|
import com.fgkj.dao.impl.Alarm_paramImpl;
|
import com.fgkj.dao.impl.BattInfImpl;
|
import com.fgkj.dao.impl.Batt_param_lowImpl;
|
import com.fgkj.dao.impl.BattresdataDAOImpl;
|
import com.fgkj.dao.impl.Battresdata_infDAOImpl;
|
import com.fgkj.dao.impl.BatttestdataDAOImpl;
|
import com.fgkj.dao.impl.Batttestdata_infDAOImpl;
|
import com.fgkj.dao.impl.BatttestdatastopDAOImpl;
|
import com.fgkj.db.DBUtil;
|
import com.fgkj.dto.Alarm_param;
|
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.Batt_maintenance_inf;
|
import com.fgkj.dto.Batt_param_low;
|
import com.fgkj.dto.Battalarm_data;
|
import com.fgkj.dto.Battresdata;
|
import com.fgkj.dto.Battresdata_inf;
|
import com.fgkj.dto.Batttestdata;
|
import com.fgkj.dto.Batttestdata_inf;
|
import com.fgkj.dto.Batttestdatastop;
|
import com.fgkj.dto.Page;
|
import com.fgkj.dto.ServiceModel;
|
import com.fgkj.dto.User_inf;
|
import com.fgkj.dto.User_log;
|
|
public class BattTest_ResService {
|
private Batt_Maint_Dealarm bd;
|
private ServiceModel model;
|
private BattInfImpl binf;
|
private BattInfServices bservice;
|
private Batt_maintenance_infService mservice;
|
private Batttestdata_infService tservice;
|
private BatttestdatastopService sservice;
|
private Battresdata_infService rservice;
|
private BattresdataService dservice;
|
private User_infService uservice;
|
private BaseDAO dao;
|
private BaseDAO daoAgin;
|
|
public BattTest_ResService() {
|
model = new ServiceModel();
|
binf = new BattInfImpl();
|
bservice = new BattInfServices();
|
mservice = new Batt_maintenance_infService();
|
tservice = new Batttestdata_infService();
|
sservice = new BatttestdatastopService();
|
uservice = new User_infService();
|
rservice = new Battresdata_infService();
|
dservice = new BattresdataService();
|
dao = BaseDAOFactory.getBaseDAO(BaseDAO.BATTTEST_RES);
|
}
|
|
//6.1电池充放电数据管理
|
public List serchByCondition(Object obj){
|
Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj;
|
Batttestdata_inf tdata = bmd.getTdata();
|
Batttestdatastop sdata = new Batttestdatastop();
|
Battresdata_inf rinf=new Battresdata_inf();
|
Battresdata rdata=new Battresdata();
|
List<Batt_Maint_Dealarm> list=dao.serchByCondition(bmd);
|
//System.out.println(list.size()+"$$$$$$$$");
|
List<AllModel> listall=new ArrayList<AllModel>();
|
float param=0;//容量告警参数
|
int Caplevel=0;
|
Alarm_param aparam=new Alarm_param();
|
aparam.setAlm_id(AlarmDaoFactory.Alarm_CapAlarm);
|
List<Alarm_param> listA=(new Alarm_paramImpl()).serchByCondition(aparam);
|
if(listA!=null&&listA.size()>0){
|
param=listA.get(listA.size()-1).getAlm_low_coe();
|
}
|
float Cparam=0;//容量更换告警参数
|
aparam.setAlm_id(AlarmDaoFactory.Alarm_CapChange);
|
List<Alarm_param> listC=(new Alarm_paramImpl()).serchByCondition(aparam);
|
if(listC!=null&&listA.size()>0){
|
Cparam=listC.get(listC.size()-1).getAlm_low_coe();
|
}
|
//System.out.println(listC.size());
|
for(int i=0;i<list.size();i++){
|
AllModel allmodel=new AllModel();
|
if(list.get(i).getTdata()!=null){
|
tdata.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
sdata.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
//求得具体放电测试类型
|
int start_type=0;
|
int test_type=0;
|
if(list.get(i).getTdata().getTest_starttype()!=null){
|
start_type=list.get(i).getTdata().getTest_starttype();
|
test_type=list.get(i).getTdata().getTest_type();
|
}
|
//获取放电/充电时测试仪表类型
|
String test_starttypeHex=TestDaoFactory.getTest_starttypeHex(start_type, test_type);
|
list.get(i).getTdata().setTest_starttypeHex(test_starttypeHex);
|
|
sdata.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
sdata.setTest_cap(list.get(i).getBinf().getMonVolStd());//电压类型
|
sdata.setTest_curr(list.get(i).getBinf().getMonCapStd());//标称电容
|
sdata.setTest_record_count(list.get(i).getTdata().getTest_record_count());
|
sdata.setMon_max(list.get(i).getTdata().getMax_monvol());//最大电压
|
sdata.setLowC(param);//容量告警
|
sdata.setLowV(Cparam);//容量更换告警
|
ServiceModel smodel=new ServiceModel();
|
if(tservice.judge(tdata).getCode()==1){
|
smodel=sservice.serchByLow(sdata);
|
allmodel.setSmodel(smodel);
|
}
|
}else if(list.get(i).getRinf()!=null){
|
rinf.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
rdata.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
//求得具体放电测试类型
|
int dev_type=list.get(i).getRinf().getTest_devtype();
|
//获取电导/内阻时测试仪表类型
|
String dev_typeHex=TestDaoFactory.getRes_starttypeHex(dev_type);
|
list.get(i).getRinf().setTest_starttypeHex(dev_typeHex);
|
rdata.setBattGroupId(list.get(i).getBinf().getBattGroupId());
|
rdata.setTest_record_count(list.get(i).getRinf().getTest_record_count());
|
ServiceModel rmodel=new ServiceModel();
|
if(rservice.judge(rinf).getCode()==1){
|
Float MonCapStd=list.get(i).getBinf().getMonCapStd();//标存容量
|
//求截至平均电压和最低电压单体编号和电压值
|
rmodel=dservice.serchByLow(rdata);
|
allmodel.setRmodel(rmodel);
|
}
|
}
|
listall.add(allmodel);
|
listall.get(i).setData(list.get(i));
|
//System.out.println(list.get(i).getTdata().getMin_monnum()+" "+list.get(i).getTdata().getMin_monvol());
|
}
|
//System.out.println(listall.size());
|
return listall;
|
}
|
//6.1电池充放电删除操作
|
public ServiceModel delete(Object obj){
|
List<BattInf> list=(List<BattInf>) obj;
|
ArrayList<String> sql_str = new ArrayList<String>();//存放所有的sql语句
|
List<User_log> listU=new ArrayList();//存放user_log
|
if(list!=null&&list.size()>0){
|
for(int i=0;i<list.size();i++){
|
BattInf binf=list.get(i);
|
if(binf.getStationId().equals("1")){
|
Batttestdata_inf tdata=new Batttestdata_inf();
|
tdata.setNum(binf.getNum());
|
Batttestdata test=new Batttestdata();
|
test.setBattGroupId(binf.getBattGroupId());
|
test.setTest_record_count(binf.getFBSDeviceId());
|
|
String str=(new Batttestdata_infDAOImpl()).delPro(tdata);
|
sql_str.add(str);
|
{
|
String msg="删除"+binf.getBattGroupId()+"电池组在充放电记录中第"+binf.getFBSDeviceId()+"笔充放电记录";
|
User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
|
listU.add(ulog);
|
}
|
String str_id=(new BatttestdataDAOImpl()).delPro(test);
|
sql_str.add(str_id);
|
{
|
String msg="删除"+binf.getBattGroupId()+"电池组在单体充放电记录中第"+binf.getFBSDeviceId()+"笔充放电记录";
|
User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
|
listU.add(ulog);
|
}
|
|
}else if(binf.getStationId().equals("2")){
|
Battresdata_inf rinf=new Battresdata_inf();
|
rinf.setNum(binf.getNum());
|
|
Battresdata rdata=new Battresdata();
|
rdata.setBattGroupId(binf.getBattGroupId());
|
rdata.setTest_record_count(binf.getFBSDeviceId());
|
|
String str=(new Battresdata_infDAOImpl()).delPro(rinf);
|
sql_str.add(str);
|
{
|
String msg="删除"+binf.getBattGroupId()+"电池组在内阻测试记录中第"+binf.getFBSDeviceId()+"笔内阻测试记录";
|
User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
|
listU.add(ulog);
|
}
|
String str_id=(new BattresdataDAOImpl()).delPro(rdata);
|
sql_str.add(str_id);
|
{
|
String msg="删除"+binf.getBattGroupId()+"电池组在内阻测试单体记录中第"+binf.getFBSDeviceId()+"笔内阻测试记录";
|
User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
|
listU.add(ulog);
|
}
|
}
|
}
|
}
|
Boolean bl=DAOHelper.makeManualCommit(DBUtil.getConn(), sql_str);
|
|
new User_logService().addPro(listU);//将用户的操作记录下来
|
|
if(bl){
|
model.setCode(1);
|
model.setMsg("删除成功!");
|
}else{
|
model.setCode(0);
|
model.setMsg("删除失败!");
|
}
|
return model;
|
}
|
|
public static void main(String[] args) throws ParseException {
|
BattTest_ResService bservice=new BattTest_ResService();
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Date date1 = sdf.parse("2000-01-01");
|
Date date2 = sdf.parse("2020-01-01");
|
|
BattInf binf=new BattInf();
|
binf.setStationName("");
|
binf.setStationName1("");
|
binf.setStationName2("");
|
binf.setStationName5("");
|
binf.setBattGroupId(0);
|
binf.setBattGroupName1("");
|
binf.setBattProducer("");
|
binf.setMonCapStd(0f);
|
binf.setMonVolStd(0f);
|
binf.setBattProductDate(ActionUtil.getSimpDate(date1));
|
binf.setBattProductDate1(ActionUtil.getSimpDate(date2));
|
binf.setBattInUseDate(ActionUtil.getSimpDate(date1));
|
binf.setBattInUseDate1(ActionUtil.getSimpDate(date2));
|
|
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(3000);
|
tdata.setTest_starttype(0);
|
tdata.setRecord_time(ActionUtil.getSimpDate(date1));
|
tdata.setRecord_time1(ActionUtil.getSimpDate(date2));
|
|
User_inf uinf=new User_inf();
|
uinf.setUId(1002);
|
|
Page p = new Page();
|
p.setPageCurr(1);
|
p.setPageSize(200);
|
|
Batt_Maint_Dealarm bmd = new Batt_Maint_Dealarm();
|
bmd.setPage(p);
|
bmd.setBinf(binf);
|
bmd.setTdata(tdata);
|
bmd.setMainf(mainf);
|
bmd.setUinf(uinf);
|
List list=bservice.serchByCondition(bmd);
|
System.out.println(list.size());
|
}
|
}
|