| | |
| | | import com.fgkj.mapper.impl.BattInfMapper; |
| | | import com.fgkj.mapper.impl.Batt_devalarm_dataMapper; |
| | | import com.fgkj.mapper.impl.Battalarm_dataMapper; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.jdbc.datasource.DataSourceTransactionManager; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.TransactionDefinition; |
| | | import org.springframework.transaction.TransactionStatus; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | |
| | | @Resource |
| | | private BattInfMapper battInfMapper; |
| | | @Resource |
| | | private User_logService uservice; |
| | | @Autowired |
| | | DataSourceTransactionManager dataSourceTransactionManager; |
| | | @Autowired |
| | | TransactionDefinition transactionDefinition; |
| | | |
| | | public ServiceModel add(Object obj) { |
| | | |
| | |
| | | } |
| | | |
| | | //3.1电池告警实时查询(确认告警)(多条记录) |
| | | public ServiceModel updatePro(Object obj) { |
| | | List<Battalarm_data> list=(List<Battalarm_data>) obj; |
| | | ArrayList<String> str_sql=new ArrayList<String>(); |
| | | List<User_log> listU=new ArrayList<User_log>();//存放user_log |
| | | public ServiceModel updatePro(List<Battalarm_data> list) { |
| | | ServiceModel model = new ServiceModel(); |
| | | TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); |
| | | Boolean bl = true; |
| | | if(list!=null&&list.size()>0){ |
| | | for(int i=0;i<list.size();i++){ |
| | | Battalarm_data adata=list.get(i); |
| | | String updateSql=mapper.updatePro(adata); |
| | | str_sql.add(updateSql); |
| | | if (!bl) { |
| | | continue; |
| | | } |
| | | if (!(mapper.updatePro(adata)>0)){ |
| | | bl = false; |
| | | } |
| | | { //机房和电池组名称 //告警的类型 |
| | | String msg="确认"+adata.getStationname()+"的"+adata.getNote()+"告警"; |
| | | User_log ulog= UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg); |
| | | listU.add(ulog); |
| | | uservice.add(ulog); //将用户的操作记录下来 |
| | | } |
| | | } |
| | | } |
| | | //TODO perry待做 |
| | | Boolean bl= true; |
| | | // Boolean bl= DateUtil.makeManualCommit(DBUtil.getConn(), str_sql); |
| | | (new User_logService()).addPro(listU);//将用户的操作记录下来 |
| | | if(bl){ |
| | | dataSourceTransactionManager.commit(transactionStatus); |
| | | model.setCode(1); |
| | | model.setMsg("确认成功!"); |
| | | }else{ |
| | | dataSourceTransactionManager.rollback(transactionStatus); |
| | | model.setCode(0); |
| | | model.setMsg("确认失败!"); |
| | | } |
| | |
| | | |
| | | |
| | | //3.1/3.2电池告警查询(删除记录) |
| | | public ServiceModel delete(Object obj) { |
| | | List<Battalarm_data> list=(List<Battalarm_data>) obj; |
| | | ArrayList<String> str_sql=new ArrayList<String>(); |
| | | List<User_log> listU=new ArrayList<User_log>();//存放user_log |
| | | public ServiceModel delete(List<Battalarm_data> list) { |
| | | ServiceModel model = new ServiceModel(); |
| | | TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); |
| | | Boolean bl = true; |
| | | if(list!=null&&list.size()>0){ |
| | | for(int i=0;i<list.size();i++){ |
| | | Battalarm_data adata=list.get(i); |
| | | String delSql=mapper.delPro(adata); |
| | | str_sql.add(delSql); |
| | | if (!bl) continue; |
| | | if (!(mapper.delPro(adata)>0)) { |
| | | bl = false; |
| | | } |
| | | { |
| | | String msg="删除"+adata.getStationname()+"的"+adata.getNote()+"告警"; |
| | | User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg); |
| | | listU.add(ulog); |
| | | uservice.add(ulog); |
| | | } |
| | | } |
| | | } |
| | | //TODO perry待做 |
| | | // Boolean bl= DateUtil.makeManualCommit(DBUtil.getConn(), str_sql); |
| | | Boolean bl= true; |
| | | (new User_logService()).addPro(listU);//将用户的操作记录下来 |
| | | if(bl){ |
| | | dataSourceTransactionManager.commit(transactionStatus); |
| | | model.setCode(1); |
| | | model.setMsg("删除成功!"); |
| | | }else{ |
| | | dataSourceTransactionManager.rollback(transactionStatus); |
| | | model.setCode(0); |
| | | model.setMsg("删除失败!"); |
| | | } |
| | |
| | | } |
| | | |
| | | // 3.1电池容量告警实时查询 |
| | | public ServiceModel serchCapAlarm(Object obj){ |
| | | public ServiceModel serchCapAlarm(Batt_Maint_Dealarm obj){ |
| | | model=new ServiceModel(); |
| | | List<Batt_Maint_Dealarm> list=mapper.serchByCondition(obj); |
| | | String name="未知";//存放告警名称 |
| | |
| | | |
| | | |
| | | //3.1电池告警实时查询 |
| | | public ServiceModel serchByCondition(Object obj){ |
| | | model=new ServiceModel(); |
| | | List<Batt_Maint_Dealarm> list=mapper.serchByCondition(obj); |
| | | public ServiceModel serchByCondition(Batt_Maint_Dealarm bmd){ |
| | | ServiceModel model=new ServiceModel(); |
| | | PageBean pageBean = bmd.getPageBean(); |
| | | PageHelper.startPage(pageBean.getPageNum(),pageBean.getPageSize(),true); |
| | | List<Batt_Maint_Dealarm> list=mapper.serchByCondition(bmd); |
| | | if(list!=null && list.size()>1){ |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Battalarm_data adata = list.get(i).getAdata(); |
| | | String name="未知"; //存放告警名称 |
| | | String type="未知"; //存放告警等级 |
| | | //battinf中的StationName8,StationName9存放告警名称和等级 |
| | | name= AlarmDaoFactory.getAlarmName(adata.getAlm_signal_id()); |
| | | type=AlarmDaoFactory.getAlarmType(adata.getAlm_level()); |
| | | list.get(i).getBinf().setStationName8(name); |
| | | list.get(i).getBinf().setStationName9(type); |
| | | // System.out.println("StationName9 = " + list.get(i).getBinf().getStationName9()); |
| | | } |
| | | PageInfo<Batt_Maint_Dealarm> pageInfo = new PageInfo<>(list); |
| | | model.setCode(1); |
| | | model.setData(list); |
| | | model.setData(pageInfo); |
| | | }else { |
| | | model.setCode(0); |
| | | model.setData(list); |
| | |
| | | } |
| | | |
| | | //3.2电池告警历史记录查询 |
| | | public ServiceModel serchByInfo(Object obj){ |
| | | List<Batt_Maint_Dealarm> list=mapper.serchByInfo(obj); |
| | | public ServiceModel serchByInfo(Batt_Maint_Dealarm bmd){ |
| | | ServiceModel model=new ServiceModel(); |
| | | PageBean pageBean = bmd.getPageBean(); |
| | | PageHelper.startPage(pageBean.getPageNum(),pageBean.getPageSize(),true); |
| | | List<Batt_Maint_Dealarm> list=mapper.serchByInfo(bmd); |
| | | if(list!=null && list.size()>0){ |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Battalarm_data adata = list.get(i).getAdata(); |
| | | String name="未知"; //存放告警名称 |
| | | String type="未知"; //存放告警等级 |
| | | //battinf中的StationName8,StationName9存放告警名称和等级 |
| | | name= AlarmDaoFactory.getAlarmName(adata.getAlm_signal_id()); |
| | | type=AlarmDaoFactory.getAlarmType(adata.getAlm_level()); |
| | | list.get(i).getBinf().setStationName8(name); |
| | | list.get(i).getBinf().setStationName9(type); |
| | | System.out.println("StationName9 = " + list.get(i).getBinf().getStationName9()); |
| | | } |
| | | PageInfo<Batt_Maint_Dealarm> pageInfo = new PageInfo<>(list); |
| | | model.setCode(1); |
| | | model.setData(list); |
| | | model.setData(pageInfo); |
| | | }else{ |
| | | model.setCode(0); |
| | | model.setMsg("查询失败!"); |
| | |
| | | } |
| | | |
| | | //0.5查询实时告警数 |
| | | public ServiceModel serchAlm(Object obj){ |
| | | Batt_Maint_Dealarm bmd=(Batt_Maint_Dealarm) obj; |
| | | public ServiceModel serchAlm(Batt_Maint_Dealarm bmd){ |
| | | ServiceModel model=new ServiceModel(); |
| | | Battalarm_data adata=new Battalarm_data(); |
| | | adata.setNum(0);//实时告警总数 |
| | | adata.setBattGroupId(0);//容量告警告警数 |
| | |
| | | |
| | | |
| | | //0.10实时告警记录总数查询 |
| | | public ServiceModel serchRealTime(Object obj){ |
| | | public ServiceModelOnce serchRealTime(User_inf obj){ |
| | | ServiceModelOnce model = new ServiceModelOnce(); |
| | | List<Battalarm_data> list=mapper.serchRealTime(obj); |
| | | if(list.size()>0&&list!=null){ |
| | | System.out.println("list.get(0) = " + list.get(0)); |
| | | model.setCode(1); |
| | | //TODO perry |
| | | // model.setSum(list.get(0).getNum()); |
| | | model.setSum(list.get(0).getNum()); |
| | | }else{ |
| | | model.setCode(0); |
| | | model.setMsg("查询失败!"); |
| | |
| | | return model; |
| | | } |
| | | //饼状图电池单体健康率 |
| | | public ServiceModel serchGood(Object obj){ |
| | | List list=mapper.serchGood(obj);//单体容量告警和单体告警告警 |
| | | int moncounts=(battInfMapper).serchMonAll(obj);//总单体数 |
| | | public ServiceModelOnce serchGood(User_inf obj) { |
| | | ServiceModelOnce model = new ServiceModelOnce(); |
| | | List<Alarm_param> list = mapper.serchGood(obj);//单体容量告警和单体告警告警 |
| | | ArrayList<Integer> listlast = new ArrayList<>(); |
| | | if (null != list && list.size() > 0) { |
| | | int capAlarm = 0;//告警告警总数 |
| | | int capChange = 0;//更换告警总数 |
| | | for (int i = 0; i < list.size(); i++) { |
| | | Alarm_param alarm_param = list.get(i); |
| | | int num = alarm_param.getNum(); |
| | | int alm_id = alarm_param.getAlm_id(); |
| | | if (alm_id == AlarmDaoFactory.Alarm_CapAlarm) { |
| | | capAlarm += num; |
| | | } else if (alm_id == AlarmDaoFactory.Alarm_CapChange) { |
| | | capChange += num; |
| | | } |
| | | } |
| | | listlast.add(capAlarm); |
| | | listlast.add(capChange); |
| | | } |
| | | int moncounts = battInfMapper.serchMonAll(obj);//总单体数 |
| | | model.setCode(1); |
| | | //TODO perry |
| | | // model.setSum(moncounts); |
| | | model.setData(list); |
| | | //System.out.println(model); |
| | | model.setSum(moncounts); |
| | | model.setData(listlast); |
| | | return model; |
| | | } |
| | | //取消告警 |
| | |
| | | } |
| | | |
| | | //取消告警(多条记录) |
| | | public ServiceModel cancelalarmPro(Object obj) { |
| | | List<Battalarm_data> list=(List<Battalarm_data>) obj; |
| | | ArrayList<String> str_sql=new ArrayList<String>(); |
| | | List<User_log> listU=new ArrayList<User_log>();//存放user_log |
| | | public ServiceModel cancelalarmPro(List<Battalarm_data> list) { |
| | | ServiceModel model = new ServiceModel(); |
| | | TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition); |
| | | Boolean bl = true; |
| | | if(list!=null&&list.size()>0){ |
| | | for(int i=0;i<list.size();i++){ |
| | | Battalarm_data adata=list.get(i); |
| | | String cancelSql=mapper.cancelalarmPro(adata); |
| | | str_sql.add(cancelSql); |
| | | { |
| | | if (!bl) { |
| | | continue; |
| | | } |
| | | if (!(mapper.cancelalarmPro(adata)>0)) { |
| | | bl = false; |
| | | } |
| | | String msg="取消"+adata.getStationname()+"的"+adata.getNote()+"告警"; |
| | | User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg); |
| | | listU.add(ulog); |
| | | uservice.add(ulog); //将用户的操作记录下来 |
| | | } |
| | | } |
| | | } |
| | | //TODO perry待做 |
| | | Boolean bl= true; |
| | | //Boolean bl=DateUtil.makeManualCommit(DBUtil.getConn(), str_sql); |
| | | (new User_logService()).addPro(listU);//将用户的操作记录下来 |
| | | if(bl){ |
| | | dataSourceTransactionManager.commit(transactionStatus); |
| | | model.setCode(1); |
| | | model.setMsg("取消成功!"); |
| | | }else{ |
| | | dataSourceTransactionManager.rollback(transactionStatus); |
| | | model.setCode(0); |
| | | model.setMsg("取消失败!"); |
| | | } |
| | |
| | | } |
| | | |
| | | //项目下方的滚动,查询最新电池告警(电池告警和设备告警筛选出最新的一条)(旧版本) |
| | | public ServiceModel serchTopAlm(){ |
| | | public ServiceModelOnce serchTopAlm(){ |
| | | ServiceModelOnce model=new ServiceModelOnce(); |
| | | List<Battalarm_data> lista=mapper.serchTopAlmInBatt(); |
| | | List<Batt_devalarm_data> listd=battDevAlarmDataMapper.serchTopAlmInDev(); |
| | | String adataStr="";//最后的电池告警字符串 |
| | |
| | | +"告警"; |
| | | model.setMsg(adataStr); |
| | | //TODO perry |
| | | // model.setSum(0);//0表示电池告警 |
| | | model.setSum(0);//0表示电池告警 |
| | | }else{ |
| | | model.setData(ddata); |
| | | ddataStr=""+ddata.getStationName() // 机房名称 |
| | |
| | | +"告警!"; |
| | | model.setMsg(ddataStr); |
| | | //TODO perry |
| | | // model.setSum(1);//1表示设备告警 |
| | | model.setSum(1);//1表示设备告警 |
| | | } |
| | | }else if(lista==null&&listd.size()>0&&listd!=null){ |
| | | Batt_devalarm_data ddata= listd.get(listd.size()-1); |
| | |
| | | +"告警!"; |
| | | model.setMsg(ddataStr); |
| | | //TODO perry |
| | | // model.setSum(1);//1表示设备告警 |
| | | model.setSum(1);//1表示设备告警 |
| | | }else if(listd==null&&lista.size()>0&&lista!=null){ |
| | | Battalarm_data adata=lista.get(lista.size()-1); |
| | | model.setData(adata); |
| | |
| | | +"告警!"; |
| | | model.setMsg(adataStr); |
| | | //TODO perry |
| | | // model.setSum(0);//0表示电池告警 |
| | | model.setSum(0);//0表示电池告警 |
| | | }else{ |
| | | model.setCode(0); |
| | | model.setMsg("没有最新的告警!"); |
| | |
| | | } |
| | | |
| | | //项目下方的滚动,查询最新电池告警(电池告警和设备告警筛选出最新的五条) |
| | | public ServiceModel serchTopAlmTen(Object obj){ |
| | | public ServiceModel serchTopAlmTen(User_inf obj){ |
| | | ServiceModel model=new ServiceModel(); |
| | | List<Battalarm_data> lista=mapper.serchTopBattTen(obj); |
| | | if(lista!=null&&lista.size()>0){ |
| | | for (int i = 0; i < lista.size(); i++) { |
| | | String adataStr = lista.get(i).getStationname() |
| | | + "在" + ActionUtil.chageDateToString(lista.get(i).getAlm_start_time(), ActionUtil.time_yyyyMMddHHmmss) |
| | | + "出现了" + AlarmDaoFactory.getAlarmName(lista.get(i).getAlm_signal_id()) |
| | | + "告警"; |
| | | lista.get(i).setNote(adataStr); |
| | | } |
| | | } |
| | | |
| | | |
| | | List<Batt_devalarm_data> listd=battDevAlarmDataMapper.serchTopDevTen(obj); |
| | | if(listd!=null&&listd.size()>0){ |
| | | for (int i = 0; i < lista.size(); i++) { |
| | | String ddataStr=""+listd.get(i).getStationName() // 机房名称 |
| | | +"在"+ActionUtil.chageDateToString(listd.get(i).getAlm_start_time(), ActionUtil.time_yyyyMMddHHmmss) // 告警开始时间 |
| | | +"出现了"+AlarmDaoFactory.getdevName(listd.get(i).getAlm_type()) // 告警类型名称 |
| | | +"告警!"; |
| | | listd.get(i).setNote(ddataStr); |
| | | } |
| | | for (Batt_devalarm_data ddata : listd) { |
| | | Battalarm_data data=new Battalarm_data(); |
| | | data.setAlm_id(ddata.getDev_id()); |
| | |
| | | } |
| | | |
| | | //点击项目下方的滚动,查询该条告警的实时信息 |
| | | public ServiceModel serchBatt_alarm(Object obj){ |
| | | public ServiceModel serchBatt_alarm(Battalarm_data obj){ |
| | | ServiceModel model= new ServiceModel(); |
| | | List list=mapper.serchBatt_alarm(obj); |
| | | if(list!=null && list.size()>0){ |
| | | model.setCode(1); |
| | |
| | | } |
| | | |
| | | //3.1电池告警实时查询<***********跨域专用**************> |
| | | public ServiceModel serchByCondition_ky(Object obj){ |
| | | model=new ServiceModel(); |
| | | List list=mapper.serchByCondition_ky(obj); |
| | | if(list!=null && list.size()>1){ |
| | | public ServiceModel serchByCondition_ky(BattInf obj){ |
| | | ServiceModel model=new ServiceModel(); |
| | | List<Battalarm_data> list=mapper.serchByCondition_ky(obj); |
| | | if(list!=null && list.size()>1) { //TODO |
| | | for (int i = 0; i < list.size(); i++) { |
| | | String name = "未知"; //存放告警名称 |
| | | String type = "未知"; //存放告警等级 |
| | | Battalarm_data bd = list.get(i); |
| | | //battinf中的-- |
| | | name = AlarmDaoFactory.getAlarmName(bd.getAlm_signal_id()); |
| | | list.get(i).setAlarmname(name); |
| | | type = AlarmDaoFactory.getAlarmType(bd.getAlm_level()); |
| | | list.get(i).setAlarmtype(type); |
| | | } |
| | | model.setCode(1); |
| | | model.setData(list); |
| | | model.setMsg("查询成功!"); |