其他分享
首页 > 其他分享> > 2021-07-31

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