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;
|
import com.ruoyi.system.domain.SysTaskEmergency;
|
import com.ruoyi.system.service.ISysTaskEmergencyService;
|
|
import java.util.List;
|
|
/**
|
* 急救转运任务扩展信息Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2024-01-16
|
*/
|
@Service
|
public class SysTaskEmergencyServiceImpl implements ISysTaskEmergencyService {
|
|
@Autowired
|
private SysTaskEmergencyMapper sysTaskEmergencyMapper;
|
|
/**
|
* 查询急救转运任务扩展信息
|
*
|
* @param id 急救转运任务扩展信息主键
|
* @return 急救转运任务扩展信息
|
*/
|
@Override
|
public SysTaskEmergency selectSysTaskEmergencyById(Long id) {
|
return sysTaskEmergencyMapper.selectSysTaskEmergencyById(id);
|
}
|
|
/**
|
* 通过任务ID查询急救转运任务扩展信息
|
*
|
* @param taskId 任务ID
|
* @return 急救转运任务扩展信息
|
*/
|
@Override
|
public SysTaskEmergency selectSysTaskEmergencyByTaskId(Long taskId) {
|
return sysTaskEmergencyMapper.selectSysTaskEmergencyByTaskId(taskId);
|
}
|
|
/**
|
* 新增急救转运任务扩展信息
|
*
|
* @param sysTaskEmergency 急救转运任务扩展信息
|
* @return 结果
|
*/
|
@Override
|
public int insertSysTaskEmergency(SysTaskEmergency sysTaskEmergency) {
|
return sysTaskEmergencyMapper.insertSysTaskEmergency(sysTaskEmergency);
|
}
|
|
/**
|
* 修改急救转运任务扩展信息
|
*
|
* @param sysTaskEmergency 急救转运任务扩展信息
|
* @return 结果
|
*/
|
@Override
|
public int updateSysTaskEmergency(SysTaskEmergency sysTaskEmergency) {
|
return sysTaskEmergencyMapper.updateSysTaskEmergency(sysTaskEmergency);
|
}
|
|
/**
|
* 删除急救转运任务扩展信息
|
*
|
* @param id 急救转运任务扩展信息主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteSysTaskEmergencyById(Long id) {
|
return sysTaskEmergencyMapper.deleteSysTaskEmergencyById(id);
|
}
|
|
/**
|
* 通过任务ID删除急救转运任务扩展信息
|
*
|
* @param taskId 任务ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteSysTaskEmergencyByTaskId(Long taskId) {
|
return sysTaskEmergencyMapper.deleteSysTaskEmergencyByTaskId(taskId);
|
}
|
|
/**
|
* 查询待同步的急救转运任务列表(同步状态为0或3的任务)
|
*
|
* @param offset 偏移量
|
* @param limit 每页数量
|
* @return 急救转运任务列表
|
*/
|
@Override
|
public List<SysTaskEmergency> selectPendingSyncTasks(Integer offset, Integer limit) {
|
return sysTaskEmergencyMapper.selectPendingSyncTasks(offset, limit);
|
}
|
|
/**
|
* 查询待同步调度单的任务列表(已同步服务单但未同步调度单)
|
*
|
* @param offset 偏移量
|
* @param limit 每页数量
|
* @return 急救转运任务列表
|
*/
|
@Override
|
public List<SysTaskEmergency> selectPendingDispatchSyncTasks(Integer offset, Integer limit) {
|
return sysTaskEmergencyMapper.selectPendingDispatchSyncTasks(offset, limit);
|
}
|
|
/**
|
* 查询已同步调度单且状态未完成的任务列表(用于状态同步)
|
*
|
* @param offset 偏移量
|
* @param limit 每页数量
|
* @return 急救转运任务列表
|
*/
|
@Override
|
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;
|
}
|
emergency.setNeedResync(1);
|
emergency.setUpdateTime(new java.util.Date());
|
sysTaskEmergencyMapper.updateSysTaskEmergency(emergency);
|
|
//
|
// // 只有已经同步过调度单的任务才需要标记重新同步
|
// if (emergency.getDispatchSyncStatus() != null && emergency.getDispatchSyncStatus() == 2
|
// && emergency.getLegacyDispatchOrdId() != null && emergency.getLegacyDispatchOrdId() > 0) {
|
//
|
// }
|
} catch (Exception e) {
|
// 标记失败不影响主流程,只记录日志
|
Logger log = LoggerFactory.getLogger(SysTaskEmergencyServiceImpl.class);
|
log.error("标记任务需要重新同步失败,任务ID: {}", taskId, e);
|
}
|
}
|
}
|