wlzboy
5 天以前 fe33646ee6e2d1e57f2b51812e94983a0e9efb04
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTaskEmergencyServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.system.service.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysTaskEmergencyMapper;
@@ -121,4 +123,28 @@
    public List<SysTaskEmergency> selectSyncedTasksForStatusUpdate(Integer offset, Integer limit) {
        return sysTaskEmergencyMapper.selectSyncedTasksForStatusUpdate(offset, limit);
    }
    /**
     * 标记任务需要重新同步(车辆或人员变更时调用)
     */
    @Override
    public void markNeedResync(Long taskId) {
        try {
            SysTaskEmergency emergency = sysTaskEmergencyMapper.selectSysTaskEmergencyByTaskId(taskId);
            if (emergency == null) {
                return;
            }
            // 只有已经同步过调度单的任务才需要标记重新同步
            if (emergency.getDispatchSyncStatus() != null && emergency.getDispatchSyncStatus() == 2
                    && emergency.getLegacyDispatchOrdId() != null && emergency.getLegacyDispatchOrdId() > 0) {
                emergency.setNeedResync(1);
                sysTaskEmergencyMapper.updateSysTaskEmergency(emergency);
            }
        } catch (Exception e) {
            // 标记失败不影响主流程,只记录日志
            Logger log = LoggerFactory.getLogger(SysTaskEmergencyServiceImpl.class);
            log.error("标记任务需要重新同步失败,任务ID: {}", taskId, e);
        }
    }
}