【无标题】

把一天24个小时拆分为96个节点,间隔15分钟为一个,然后在根据当前时间查询节点,显示最近的节点,然后在作为条件查询数据库的96个字段。

//查询当天24小时分为96个节点 15分钟间隔
private List createNineSixPoint() {
List list1 = new ArrayList();
String tmp1 = “”;
String tmp2 = “”;
String tmp3 = “”;
String tmp4 = “”;

    for (int i = 0; i < 24; i++) {
        if (i <= 9) {
            tmp1 = "0" + i + "00";
            tmp2 = "0" + i + "15";
            tmp3 = "0" + i + "30";
            tmp4 = "0" + i + "45";
        } else {
            tmp1 = i + "00";
            tmp2 = i + "15";
            tmp3 = i + "30";
            tmp4 = i + "45";
        }
        list1.add(tmp1);
        list1.add(tmp2);
        list1.add(tmp3);
        list1.add(tmp4);
    }
    return list1;
}

需要查询的代码,放到你自己的方法

    Date date = new Date();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date); // 设置为当前时间
    date = calendar.getTime();
    SimpleDateFormat formatter1 = new SimpleDateFormat("HHmm");
   
    String datime1 = formatter1.format(date);

    String tableName1="jc_gj_"+zoneid+"_"+datime;    //动态SQL表名
    List<String> list1=createNineSixPoint();  //间隔15分钟的96个节点
    int shijian=Integer.parseInt(datime1); //时间
    String jd="";
    for (int i=0;i<list1.size();i++){
        int jiedian = Integer.parseInt(list1.get(i).toString());//节点
        if(shijian>=jiedian && shijian-15<jiedian){
            String chdu=""+jiedian;
            int jd1=chdu.length();
            if(jd1<4){      //时间长度小于4,例如0015,00会失效,所以需要手动拼接
                if(jd1==2){
                    String jiedian2= String.valueOf(jiedian);
                    jd= "00"+jiedian2;
                }else{
                    String jiedian1= String.valueOf(jiedian);
                    jd= "0"+jiedian1;
                }
            }
            else{
                jd= String.valueOf(jiedian);
            }
        }
    }

//A,B,C相,传给参数
String AX=“AX_”+jd;
String BX=“BX_”+jd;
String CX=“CX_”+jd;
mapper.getMonitoringPoint(tableName,tableName1,AX,BX,CX,eqid);

在这里插入图片描述
数据库的结构是这样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值