whyclxw
2025-03-25 a7fef2846505b08e0711345b17902e7381612d23
src/main/java/com/whyc/service/SubTableService.java
@@ -78,16 +78,67 @@
        return list;
    }
    //锁的历史记录
    public List<LockHis> getLockHisWithReal(LockHis his) {
        String sql="SELECT * FROM db_lock_his."+ his.getRecordYear()+" history " +
                " where history.lock_id="+  his.getLockId() ;
        if(his.getStartTime()!=null){
            sql+=" and record_time  >='"+ ThreadLocalUtil.format(his.getStartTime(),1)+"' ";
        }
        if(his.getEndTime()!=null){
            sql+=" and record_time  <='"+ThreadLocalUtil.format(his.getEndTime(),1)+"' ";
        }
        sql+="  ORDER BY record_time asc ";
        List<LockHis> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List list=new ArrayList();
                while (rs.next()){
                    LockHis data=new LockHis();
                    data.setNum(rs.getInt("num"));
                    data.setLockId(rs.getInt("lock_id"));
                    data.setRecordTime(rs.getTimestamp("record_time"));
                    data.setLockState(rs.getInt("lock_state"));
                    data.setUnlockType(rs.getInt("unlock_type"));
                    data.setUnlockId(rs.getString("unlock_id"));
                    list.add(data);
                }
                return list;
            }
        });
        return list;
    }
    //锁的告警历史记录总数
    public int getLockAlmHisCount(LockAlarmHis his) {
        String sql="SELECT  count(*) as number FROM db_lock_alarm."+ his.getRecordYear()+" history " +
                " where history.lock_id="+ his.getLockId() ;
                " where  1=1 ";
        if(his.getLids()!=null&&his.getLids().size()>0){
            List<Integer> lids=his.getLids();
            sql+=" and  history.lock_id in (";
            for (int i=0;i<lids.size();i++) {
                if(i==lids.size()-1){
                    sql=sql+lids.get(i)+") ";
                }else{
                    sql=sql+lids.get(i)+",";
                }
            }
        }
        if(his.getStartTime()!=null){
            sql+=" and alm_start_time  >='"+ ThreadLocalUtil.format(his.getStartTime(),1)+"' ";
        }
        if(his.getEndTime()!=null){
            sql+=" and alm_start_time  <='"+ThreadLocalUtil.format(his.getEndTime(),1)+"' ";
        }
        if(his.getAlmIds()!=null){
            String[] almId=his.getAlmIds().split(",");
            sql+=" and  history.alm_id in (";
            for (int i=0;i<almId.length;i++) {
                if(i==almId.length-1){
                    sql=sql+almId[i]+") ";
                }else{
                    sql=sql+almId[i]+",";
                }
            }
        }
        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
@@ -109,17 +160,39 @@
        return num;
    }
    //锁的告警历史记录
    public List<LockHis> getLockAlmHisList(LockAlarmHis his) {
    public List<LockAlarmHis> getLockAlmHisList(LockAlarmHis his) {
        String sql="SELECT * FROM db_lock_alarm."+ his.getRecordYear()+" history " +
                " where history.lock_id="+  his.getLockId() ;
                " where 1=1 " ;
        if(his.getLids()!=null&&his.getLids().size()>0){
            List<Integer> lids=his.getLids();
            sql+=" and  history.lock_id in (";
            for (int i=0;i<lids.size();i++) {
                if(i==lids.size()-1){
                    sql=sql+lids.get(i)+") ";
                }else{
                    sql=sql+lids.get(i)+",";
                }
            }
        }
        if(his.getStartTime()!=null){
            sql+=" and alm_start_time  >='"+ ThreadLocalUtil.format(his.getStartTime(),1)+"' ";
        }
        if(his.getEndTime()!=null){
            sql+=" and alm_start_time  <='"+ThreadLocalUtil.format(his.getEndTime(),1)+"' ";
        }
        if(his.getAlmIds()!=null){
            String[] almId=his.getAlmIds().split(",");
            sql+=" and  history.alm_id in (";
            for (int i=0;i<almId.length;i++) {
                if(i==almId.length-1){
                    sql=sql+almId[i]+") ";
                }else{
                    sql=sql+almId[i]+",";
                }
            }
        }
        sql+="  ORDER BY alm_start_time asc  limit "+ his.getLimitStart()+","+ his.getLimitEnd()+" ";
        List<LockHis> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
        List<LockAlarmHis> list=sqlExecuteService.executeQuery_call(sql, new CallBack() {
            @Override
            public List getResults(ResultSet rs) throws SQLException {
                List list=new ArrayList();