whyclxw
2020-11-10 529c9cae19023733fa722c6f43f9fd354a86b03f
修改
4个文件已修改
273 ■■■■■ 已修改文件
DyEnvir_system/src/com/fgkj/actions/partinsystem/Battery_monitorAction.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/fgkj/partinsystem/dto/Battery_monitor.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/fgkj/partinsystem/impl/Battery_monitorImpl.java 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/fgkj/partinsystem/service/Battery_monitorService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DyEnvir_system/src/com/fgkj/actions/partinsystem/Battery_monitorAction.java
@@ -19,5 +19,19 @@
        result=tojson(model);
        return SUCCESS;
    }
    //设备实时数据显示(前100笔数据服务器的时间)
    public String serchByInfo() {
        Battery_monitor ac=ActionUtil.getGson(ActionUtil.time_yyyyMMddHHmmss).fromJson(json, Battery_monitor.class);
        ServiceModel model=service.serchByInfo(ac);
        result=tojson(model);
        return SUCCESS;
    }
    //设备历史数据查询
    public String serchHistory() {
        Battery_monitor ac=ActionUtil.getGson(ActionUtil.time_yyyyMMddHHmmss).fromJson(json, Battery_monitor.class);
        ServiceModel model=service.serchHistory(ac);
        result=tojson(model);
        return SUCCESS;
    }
}
DyEnvir_system/src/com/fgkj/partinsystem/dto/Battery_monitor.java
@@ -8,6 +8,7 @@
    
    private int dev_id ;            // '设备id',
    private Date record_time;        // '记录时间',
    private Date record_time1;        // '记录时间',
    private float group_vol ;        //'电池组电压',
    private float group_curr ;        //'电池组电流',
    private float max_vol ;            //'最高电压',
@@ -27,6 +28,7 @@
    private int chager_type;        // '充电方式:1:补充电;2:全充电;4浮接',
    private float[] mon_vols;        //单体电压
    private float[] mon_tmps;        //单体温度
    private String note;
    
    public Battery_monitor() {
        mon_vols = new float[MAX_MON_COUNT];
@@ -134,7 +136,7 @@
    public void setRecord_time(Date record_time) {
        this.record_time = record_time;
    }
    public void setGroup_vol(float group_vol) {
        this.group_vol = group_vol;
    }
@@ -210,16 +212,40 @@
    public void setMon_tmps(float[] mon_tmps) {
        this.mon_tmps = mon_tmps;
    }
    public Date getRecord_time1() {
        return record_time1;
    }
    public void setRecord_time1(Date record_time1) {
        this.record_time1 = record_time1;
    }
    public String getNote() {
        return note;
    }
    public void setNoote(String note) {
        this.note = note;
    }
    @Override
    public String toString() {
        return "Battery_monitor [dev_id=" + dev_id + ", record_time=" + record_time + ", group_vol=" + group_vol
                + ", group_curr=" + group_curr + ", max_vol=" + max_vol + ", min_vol=" + min_vol + ", max_tmp="
                + max_tmp + ", max_vol_count=" + max_vol_count + ", min_vol_count=" + min_vol_count + ", max_tmp_count="
                + max_tmp_count + ", avg_vol=" + avg_vol + ", avg_tmp=" + avg_tmp + ", fault_alm=" + fault_alm
                + ", switch_state=" + switch_state + ", lighting_state=" + lighting_state + ", vol_hall_state="
                + vol_hall_state + ", curr_hall_state=" + curr_hall_state + ", chager_state=" + chager_state
                + ", chager_type=" + chager_type + ", mon_vols=" + Arrays.toString(mon_vols) + ", mon_tmps="
                + Arrays.toString(mon_tmps) + "]";
        return "Battery_monitor [dev_id=" + dev_id + ", record_time="
                + record_time + ", record_time1=" + record_time1
                + ", group_vol=" + group_vol + ", group_curr=" + group_curr
                + ", max_vol=" + max_vol + ", min_vol=" + min_vol
                + ", max_tmp=" + max_tmp + ", max_vol_count=" + max_vol_count
                + ", min_vol_count=" + min_vol_count + ", max_tmp_count="
                + max_tmp_count + ", avg_vol=" + avg_vol + ", avg_tmp="
                + avg_tmp + ", fault_alm=" + fault_alm + ", switch_state="
                + switch_state + ", lighting_state=" + lighting_state
                + ", vol_hall_state=" + vol_hall_state + ", curr_hall_state="
                + curr_hall_state + ", chager_state=" + chager_state
                + ", chager_type=" + chager_type + ", mon_vols="
                + Arrays.toString(mon_vols) + ", mon_tmps="
                + Arrays.toString(mon_tmps) + ", note=" + note + "]";
    }
}
DyEnvir_system/src/com/fgkj/partinsystem/impl/Battery_monitorImpl.java
@@ -3,12 +3,15 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.db.DBUtil;
import com.fgkj.partinsystem.dto.Ac230v_ups;
import com.fgkj.partinsystem.dto.Battery_monitor;
public class Battery_monitorImpl implements BaseDAO,CallBack{
@@ -96,11 +99,187 @@
        
        return list;
    }
    //设备实时数据显示(前100笔数据服务器的时间)
    @Override
    public List serchByInfo(Object obj) {
        // TODO Auto-generated method stub
        return null;
        Battery_monitor bm=(Battery_monitor) obj;
        Date date=new Date();
        String table=DAOHelper.sdf_withOut.format(date);
        String sql="select * from db_partinsystem_history.battery_monitor_"+bm.getDev_id()+"_"+table+"  where dev_id=? limit 0,100";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[bm.getDev_id()], new CallBack() {
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Battery_monitor b=new Battery_monitor();
                        b.setDev_id(rs.getInt("dev_id"));
                        b.setRecord_time(rs.getTimestamp("record_time"));
                        b.setGroup_vol(rs.getFloat("group_vol"));
                        b.setGroup_curr(rs.getFloat("group_curr"));
                        b.setMax_vol(rs.getFloat("max_vol"));
                        b.setMin_vol(rs.getFloat("min_vol"));
                        b.setMax_tmp(rs.getFloat("max_tmp"));
                        b.setMax_vol_count(rs.getInt("max_vol_count"));
                        b.setMin_vol_count(rs.getInt("min_vol_count"));
                        b.setMax_tmp_count(rs.getInt("max_tmp_count"));
                        b.setAvg_vol(rs.getFloat("avg_vol"));
                        b.setAvg_tmp(rs.getFloat("avg_tmp"));
                        b.setFault_alm(rs.getInt("fault_alm"));
                        b.setSwitch_state(rs.getInt("switch_state"));
                        b.setLighting_state(rs.getInt("lighting_state"));
                        b.setVol_hall_state(rs.getInt("vol_hall_state"));
                        b.setCurr_hall_state(rs.getInt("curr_hall_state"));
                        b.setChager_state(rs.getInt("chager_state"));
                        b.setChager_type(rs.getInt("chager_type"));
                        float[] mon_vols=new float[Battery_monitor.MAX_MON_COUNT];
                        float[] mon_tmps=new float[Battery_monitor.MAX_MON_COUNT];
                        for(int i=0;i<Battery_monitor.MAX_MON_COUNT;i++){
                            mon_vols[i]=rs.getFloat("mon_vol"+String.valueOf(i+1));
                            mon_tmps[i]=rs.getFloat("mon_tmp"+String.valueOf(i+1));
                        }
                        b.setMon_vols(mon_vols);
                        b.setMon_tmps(mon_tmps);
                        list.add(b);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //设备历史数据查询
    public List serchHistory(Object obj) {
        Battery_monitor bm=(Battery_monitor) obj;
        String table=DAOHelper.sdf_withOut.format(bm.getRecord_time());
        String sql=" select * from db_partinsystem_history.battery_monitor_"+bm.getDev_id()+"_"+table+" "
                + "  where dev_id=?  and record_time >= ? and record_time <= ?  order by record_time asc ";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{bm.getDev_id(),bm.getRecord_time(),bm.getRecord_time1()}, new CallBack() {
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        Battery_monitor b=new Battery_monitor();
                        b.setDev_id(rs.getInt("dev_id"));
                        b.setRecord_time(rs.getTimestamp("record_time"));
                        b.setGroup_vol(rs.getFloat("group_vol"));
                        b.setGroup_curr(rs.getFloat("group_curr"));
                        b.setMax_vol(rs.getFloat("max_vol"));
                        b.setMin_vol(rs.getFloat("min_vol"));
                        b.setMax_tmp(rs.getFloat("max_tmp"));
                        b.setMax_vol_count(rs.getInt("max_vol_count"));
                        b.setMin_vol_count(rs.getInt("min_vol_count"));
                        b.setMax_tmp_count(rs.getInt("max_tmp_count"));
                        b.setAvg_vol(rs.getFloat("avg_vol"));
                        b.setAvg_tmp(rs.getFloat("avg_tmp"));
                        b.setFault_alm(rs.getInt("fault_alm"));
                        b.setSwitch_state(rs.getInt("switch_state"));
                        b.setLighting_state(rs.getInt("lighting_state"));
                        b.setVol_hall_state(rs.getInt("vol_hall_state"));
                        b.setCurr_hall_state(rs.getInt("curr_hall_state"));
                        b.setChager_state(rs.getInt("chager_state"));
                        b.setChager_type(rs.getInt("chager_type"));
                        float[] mon_vols=new float[Battery_monitor.MAX_MON_COUNT];
                        float[] mon_tmps=new float[Battery_monitor.MAX_MON_COUNT];
                        for(int i=0;i<Battery_monitor.MAX_MON_COUNT;i++){
                            mon_vols[i]=rs.getFloat("mon_vol"+String.valueOf(i+1));
                            mon_tmps[i]=rs.getFloat("mon_tmp"+String.valueOf(i+1));
                        }
                        b.setMon_vols(mon_vols);
                        b.setMon_tmps(mon_tmps);
                        list.add(b);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //文件导出时的历史查询
    public List serchCSV(Object obj) {
        final Battery_monitor bm=(Battery_monitor) obj;
        String tablists=bm.getNote()+",record_time";
        String table=DAOHelper.sdf_withOut.format(bm.getRecord_time());
        String table1=DAOHelper.sdf_withOut.format(bm.getRecord_time1());
        String SqlAll="";
        String sql=" (select "+tablists+" from db_partinsystem_history.battery_monitor_"+bm.getDev_id()+"_"+table+" "
                + "  where record_time >= ? and record_time <= ?  order by record_time asc )";
        String sql_union=" union all ";
        String sql1= " (select "+tablists+" from db_partinsystem_history.battery_monitor_"+bm.getDev_id()+"_"+table1+" "
                + "  where record_time >= ? and record_time <= ?  order by record_time asc )";
        Object[] strarr=null;
        List list=new ArrayList();
        String st=bm.getDev_id()+"_"+table;
        String st1=bm.getDev_id()+"_"+table1;
        int size=DAOHelper.serchTable(st);
        int size1=DAOHelper.serchTable(st1);
        //表都存在
        if(size>0&&size1>0){
            if(table.equals(table1)){
                SqlAll=sql;
                strarr=new Object[]{DAOHelper.sdf.format(bm.getRecord_time()),DAOHelper.sdf.format(bm.getRecord_time1())};
            }else{
                SqlAll=sql+sql_union+sql1;
                strarr=new Object[]{DAOHelper.sdf.format(bm.getRecord_time()),DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 23:59:59",DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 00:00:00",DAOHelper.sdf.format(bm.getRecord_time1())};
            }
        }
        //存在一个表
        if(size>0&&size1<=0){
            SqlAll=sql;
            strarr=new Object[]{DAOHelper.sdf.format(bm.getRecord_time()),DAOHelper.sdfwithOut.format(bm.getRecord_time())+" 23:59:59"};
        }
        if(size<=0&&size1>0){
            SqlAll=sql1;
            strarr=new Object[]{DAOHelper.sdfwithOut.format(bm.getRecord_time1())+" 00:00:00",DAOHelper.sdf.format(bm.getRecord_time1())};
        }
        //表都不存在
        if(size<=0&&size1<=0){
            return  list;
        }
        list=DAOHelper.executeQuery(SqlAll, DBUtil.getConn(), strarr, new CallBack() {
            @Override
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                String[] state=bm.getNote().split(",");
                try {
                    while(rs.next()){
                        List row=new ArrayList();
                        row.add(ActionUtil.chageDateToString(rs.getTimestamp("record_time"), ActionUtil.time_yyyyMMddHHmmss).trim());
                        for (int i = 0; i < state.length; i++) {
                            row.add(rs.getFloat(state[i]));
                        }
                        list.add(row);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
}
DyEnvir_system/src/com/fgkj/partinsystem/service/Battery_monitorService.java
@@ -4,6 +4,7 @@
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.partinsystem.impl.Battery_monitorImpl;
import com.fgkj.services.ServiceModel;
public class Battery_monitorService {
@@ -28,5 +29,30 @@
        }
        return model;
    }
    //设备实时数据显示(前100笔数据服务器的时间)
    public ServiceModel serchByInfo(Object obj) {
        List list=dao.serchByInfo(obj);
        if(list!=null&&list.size()>0){
            model.setCode(1);
            model.setData(list);
            model.setMsg("查询成功!");
        }else{
            model.setCode(0);
            model.setMsg("查询失败!");
        }
        return model;
    }
    //设备历史数据查询
    public ServiceModel serchHistory(Object obj) {
        List list=((Battery_monitorImpl)dao).serchHistory(obj);
        if(list!=null&&list.size()>0){
            model.setCode(1);
            model.setData(list);
            model.setMsg("查询成功!");
        }else{
            model.setCode(0);
            model.setMsg("查询失败!");
        }
        return model;
    }
}