fix(measuringinstrumentledger): 修正计量器具台账状态判断逻辑
- 修改了状态判断条件,使用valid字段和日期计算替代原有的most_date比较
- 在查询条件中增加了对most_date和valid字段的非空检查
- 更新了状态筛选逻辑,正确处理NULL值情况下的日期比较
- 使用CURDATE()函数替代DATE_FORMAT(now(),'%Y-%m-%d')进行当前日期比较
| | |
| | | next_date, |
| | | record_date, |
| | | CASE |
| | | WHEN most_date >= DATE_FORMAT(now(),'%Y-%m-%d') THEN 1 |
| | | WHEN most_date IS NOT NULL |
| | | AND valid IS NOT NULL |
| | | AND DATE_ADD(most_date, INTERVAL valid DAY) >= CURDATE() THEN 1 |
| | | ELSE 2 |
| | | END AS status, |
| | | create_user, |
| | |
| | | <if test="req.status != null"> |
| | | <choose> |
| | | <when test="req.status == 1"> |
| | | AND most_date >= DATE_FORMAT(now(),'%Y-%m-%d') |
| | | AND most_date IS NOT NULL |
| | | AND valid IS NOT NULL |
| | | AND DATE_ADD(most_date, INTERVAL valid DAY) >= CURDATE() |
| | | </when> |
| | | <when test="req.status == 2"> |
| | | AND most_date < DATE_FORMAT(now(),'%Y-%m-%d') |
| | | AND ( |
| | | most_date IS NULL |
| | | OR valid IS NULL |
| | | OR DATE_ADD(most_date, INTERVAL valid DAY) < CURDATE() |
| | | ) |
| | | </when> |
| | | </choose> |
| | | </if> |