| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |