package com.ard.route.service.impl;
|
|
import java.util.List;
|
import com.ard.common.utils.DateUtils;
|
import com.ard.common.utils.uuid.IdUtils;
|
import com.ard.route.domain.route.ArdRouteMission;
|
import com.ard.route.domain.route.ArdRoutePoint;
|
import com.ard.route.mapper.ArdRoutePointMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import com.ard.route.mapper.ArdRouteMissionMapper;
|
import com.ard.route.service.IArdRouteMissionService;
|
|
import static com.ard.common.utils.SecurityUtils.getUsername;
|
|
/**
|
* 航线任务Service业务层处理
|
*
|
* @author xia
|
* @date 2026-01-20
|
*/
|
@Service
|
public class ArdRouteMissionServiceImpl implements IArdRouteMissionService {
|
|
@Autowired
|
private ArdRouteMissionMapper ardRouteMissionMapper;
|
|
@Autowired
|
private ArdRoutePointMapper ardRoutePointMapper;
|
|
/**
|
* 查询航线任务
|
*
|
* @param id 航线任务主键
|
* @return 航线任务
|
*/
|
@Override
|
public ArdRouteMission selectArdRouteMissionById(String id) {
|
ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(id);
|
ardRouteMission.setMissionDetailList(getMissionDetailList(id));
|
return ardRouteMission;
|
}
|
|
/**
|
* 查询航线任务列表
|
*
|
* @param ardRouteMission 航线任务
|
* @return 航线任务
|
*/
|
@Override
|
public List<ArdRouteMission> selectArdRouteMissionList(ArdRouteMission ardRouteMission) {
|
List<ArdRouteMission> list = ardRouteMissionMapper.selectArdRouteMissionList(ardRouteMission);
|
for (ArdRouteMission routeMission : list) {
|
routeMission.setMissionDetailList(getMissionDetailList(routeMission.getId()));
|
}
|
return list;
|
}
|
|
private List<ArdRoutePoint> getMissionDetailList(String missionId) {
|
return ardRoutePointMapper.selectArdRoutePointByMissionId(missionId);
|
}
|
|
/**
|
* 新增航线任务
|
*
|
* @param ardRouteMission 航线任务
|
* @return 结果
|
*/
|
@Override
|
public int insertArdRouteMission(ArdRouteMission ardRouteMission) {
|
ardRouteMission.setId(IdUtils.simpleUUID());
|
ardRouteMission.setExecuteStatus("0");
|
ardRouteMission.setCreateTime(DateUtils.getNowDate());
|
dataProcessingRoutePoint(ardRouteMission.getMissionDetailList(),ardRouteMission.getId());
|
return ardRouteMissionMapper.insertArdRouteMission(ardRouteMission);
|
}
|
|
/**
|
* 修改航线任务
|
*
|
* @param ardRouteMission 航线任务
|
* @return 结果
|
*/
|
@Override
|
public int updateArdRouteMission(ArdRouteMission ardRouteMission) {
|
ardRouteMission.setUpdateTime(DateUtils.getNowDate());
|
// 删除航线任务航点
|
ardRoutePointMapper.deleteArdRoutePointByMissionId(ardRouteMission.getId());
|
// 重新插入航线任务航点
|
dataProcessingRoutePoint(ardRouteMission.getMissionDetailList(),ardRouteMission.getId());
|
return ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
|
}
|
|
/**
|
* 航线任务航点对象数据加工
|
*/
|
private void dataProcessingRoutePoint(List<ArdRoutePoint> missionDetailList,String missionId){
|
for (ArdRoutePoint missionDetail : missionDetailList) {
|
missionDetail.setMissionId(missionId);
|
}
|
ardRoutePointMapper.insertArdRoutePointS(missionDetailList);
|
}
|
|
/**
|
* 批量删除航线任务
|
*
|
* @param ids 需要删除的航线任务主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdRouteMissionByIds(String[] ids) {
|
return ardRouteMissionMapper.deleteArdRouteMissionByIds(ids);
|
}
|
|
/**
|
* 删除航线任务信息
|
*
|
* @param id 航线任务主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdRouteMissionById(String id) {
|
return ardRouteMissionMapper.deleteArdRouteMissionById(id);
|
}
|
|
/**
|
* 修改航线任务状态
|
*
|
* @param id 航线任务主键
|
* @param status 状态类型
|
* @return 结果
|
*/
|
@Override
|
public int updateArdRouteMissionStatus(String id, String status) {
|
ArdRouteMission ardRouteMission = new ArdRouteMission();
|
ardRouteMission.setId(id);
|
ardRouteMission.setExecuteStatus(status);
|
ardRouteMission.setExecuteBy(getUsername());
|
ardRouteMission.setExecuteTime(DateUtils.getNowDate());
|
ardRouteMission.setUpdateTime(DateUtils.getNowDate());
|
return ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
|
}
|
|
}
|