7 天以前 1fa7bb0da734defad1490bd94ff9bc4528fb9ac7
fix(measuringinstrumentledger): 修正计量器具台账状态判断逻辑

- 修改了状态判断条件,使用valid字段和日期计算替代原有的most_date比较
- 在查询条件中增加了对most_date和valid字段的非空检查
- 更新了状态筛选逻辑,正确处理NULL值情况下的日期比较
- 使用CURDATE()函数替代DATE_FORMAT(now(),'%Y-%m-%d')进行当前日期比较
已修改1个文件
14 ■■■■ 文件已修改
src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/measuringinstrumentledger/MeasuringInstrumentLedgerMapper.xml
@@ -15,7 +15,9 @@
        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,
@@ -40,10 +42,16 @@
            <if test="req.status != null">
                <choose>
                    <when test="req.status == 1">
                        AND most_date &gt;=  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) &gt;= CURDATE()
                    </when>
                    <when test="req.status == 2">
                        AND most_date &lt;  DATE_FORMAT(now(),'%Y-%m-%d')
                        AND (
                        most_date IS NULL
                        OR valid IS NULL
                        OR DATE_ADD(most_date, INTERVAL valid DAY) &lt; CURDATE()
                        )
                    </when>
                </choose>
            </if>