2021-07-31
作者:互联网
Mysql SQL时间区间判断 预警 未预警 已过期
1.未预警:当前时间小于,期望到达时间减去预警时间
当天时间 < 预期时间 -预警时间
当前是时间是 new Date ;
期望到达时间在数据库取出
预警时间前端传进来
比如当前时间是 2021 8 14 ,期望到达时间是2021 8 20,预警时间是5天, 在预警时间之前的不算预警也就是 2021 8 20 -5 ,2021 8 15,之前的都不算
我这里的业务预警时间是小时 ,时间使用当前时间去和数据中的比较
当前时间比,数据库中预期到达时间减去预警时间,小就是未预警
时间计算使用Mysql的方法给一个负数返回这个时间之前的时间,返回数据库中预期到达时间-预警时间
<if test="null != param2.warningStatus and param2.warningStatus == 1">
and mit_work_order_batch.warehousing_status = 1
and #{当前时间}<DATE_ADD(预期到达时间,INTERVAL #{预警时间} hour)
</if>
2.预警:区间判断
(预期到达时间减去预警时间) < 当天时间 < 预期到达时间
<if test="null != param2.warningStatus and param2.warningStatus == 2">
and mit_work_order_batch.warehousing_status = 1
and DATE_ADD(预期到达时间,INTERVAL #{预警时间} hour)<#{当天时间}
and #{当天时间}<预期到达时间
</if>
3.已过期
预期到达时间<#{当天时间}
<if test="null != param2.warningStatus and param2.warningStatus == 3">
and mit_work_order_batch.warehousing_status = 1
and 预期到达时间<#{当天时间}
</if>
标签:07,预警,31,到达,batch,预期,时间,2021 来源: https://blog.csdn.net/weixin_45684858/article/details/119276483