调度记录增加经纬度保存

This commit is contained in:
小朱 2025-04-30 14:24:05 +08:00
parent 9dd4bfed9c
commit f76f4004b0
3 changed files with 29 additions and 6 deletions

View File

@ -5,6 +5,7 @@ import com.mybatisflex.annotation.Id;
import lombok.Data; import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal;
@Data @Data
public class ReqEbikeDispatchRecordDto { public class ReqEbikeDispatchRecordDto {
@ -20,4 +21,14 @@ public class ReqEbikeDispatchRecordDto {
@Column(onInsertValue = "0") @Column(onInsertValue = "0")
private String dispatchState; private String dispatchState;
/**
* 调度前车辆经度
*/
private Double startVehicleLng;
/**
* 调度前车辆纬度
*/
private Double startVehicleLat;
} }

View File

@ -90,22 +90,22 @@ public class EbikeDispatchRecords implements Serializable {
/** /**
* 调度前车辆纬度 * 调度前车辆纬度
*/ */
private BigDecimal startVehicleLat; private Double startVehicleLat;
/** /**
* 调度前车辆经度 * 调度前车辆经度
*/ */
private BigDecimal startVehicleLng; private Double startVehicleLng;
/** /**
* 调度后车辆纬度 * 调度后车辆纬度
*/ */
private BigDecimal endVehicleLat; private Double endVehicleLat;
/** /**
* 调度后车辆经度 * 调度后车辆经度
*/ */
private BigDecimal endVehicleLng; private Double endVehicleLng;
/** /**
* 创建时间表示记录创建的时间 * 创建时间表示记录创建的时间

View File

@ -1162,6 +1162,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
* @param eqWorkOrderDispatchDto * @param eqWorkOrderDispatchDto
* @return * @return
*/ */
@Transactional // 添加事务注解
public String createWorkOrderDispatch(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) { public String createWorkOrderDispatch(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) {
try { try {
// 获取 token 和用户信息 // 获取 token 和用户信息
@ -1188,14 +1189,24 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
ebikeScheduleWorkOrderExtension.setId(ebikeBikeOrder.getOrderId()); ebikeScheduleWorkOrderExtension.setId(ebikeBikeOrder.getOrderId());
ebikeScheduleWorkOrderExtension.setDispatchType(eqWorkOrderDispatchDto.getDispatchType()); ebikeScheduleWorkOrderExtension.setDispatchType(eqWorkOrderDispatchDto.getDispatchType());
ebikeScheduleWorkOrderExtension.setSiteId(eqWorkOrderDispatchDto.getSiteId());//站点id ebikeScheduleWorkOrderExtension.setSiteId(eqWorkOrderDispatchDto.getSiteId());//站点id
ebikeScheduleWorkOrderExtension.setDispatchType(eqWorkOrderDispatchDto.getDispatchType());
ebikeScheduleWorkOrderExtensionMapper.insert(ebikeScheduleWorkOrderExtension); ebikeScheduleWorkOrderExtensionMapper.insert(ebikeScheduleWorkOrderExtension);
// 创建并保存调度记录 // 创建并保存调度记录
List<EbikeDispatchRecords> records = new ArrayList<>(); List<EbikeDispatchRecords> records = new ArrayList<>();
for (String bikeCode : eqWorkOrderDispatchDto.getBikeCodes()) { for (String bikeCode : eqWorkOrderDispatchDto.getBikeCodes()) {
EbikeDispatchRecords dispatchRecord = new EbikeDispatchRecords(); EbikeDispatchRecords dispatchRecord = new EbikeDispatchRecords();
//获取经纬度
ResEbikeBikeAndEcuCodeDto bikeINfoData = getBikeINfoData(bikeCode);
ResGPSDto resGPSDto = bikeINfoData.getResGPSDto();
if(resGPSDto!=null){
Double latitude = resGPSDto.getLatitude();
Double longitude = resGPSDto.getLongitude();
dispatchRecord.setStartVehicleLng(latitude);
dispatchRecord.setStartVehicleLat(longitude);
}
dispatchRecord.setOrderId(ebikeBikeOrder.getOrderId()); dispatchRecord.setOrderId(ebikeBikeOrder.getOrderId());
dispatchRecord.setBikeCode(bikeCode); dispatchRecord.setBikeCode(bikeCode);
dispatchRecord.setStartStation(eqWorkOrderDispatchDto.getSiteId()); dispatchRecord.setStartStationId(eqWorkOrderDispatchDto.getSiteId());
records.add(dispatchRecord); records.add(dispatchRecord);
} }
// 批量插入调度记录如果支持批量插入的话 // 批量插入调度记录如果支持批量插入的话
@ -1210,7 +1221,6 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
// 异常处理记录日志并抛出自定义异常或包装成 RuntimeException // 异常处理记录日志并抛出自定义异常或包装成 RuntimeException
// 可以使用日志工具例如 log4j slf4j记录错误详细信息 // 可以使用日志工具例如 log4j slf4j记录错误详细信息
log.error("创建工单调度失败", e); log.error("创建工单调度失败", e);
// 可根据需求抛出更具体的异常 // 可根据需求抛出更具体的异常
throw new RuntimeException("创建工单调度时发生异常", e); throw new RuntimeException("创建工单调度时发生异常", e);
} }
@ -1259,6 +1269,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
EbikeDispatchRecords ebikeDispatchRecords = new EbikeDispatchRecords(); EbikeDispatchRecords ebikeDispatchRecords = new EbikeDispatchRecords();
ebikeDispatchRecords.setOrderId(ebikeDispatchRecordDto.getOrderId()); ebikeDispatchRecords.setOrderId(ebikeDispatchRecordDto.getOrderId());
ebikeDispatchRecords.setBikeCode(ebikeDispatchRecordDto.getBikeCode()); ebikeDispatchRecords.setBikeCode(ebikeDispatchRecordDto.getBikeCode());
ebikeDispatchRecords.setStartVehicleLng(ebikeDispatchRecordDto.getStartVehicleLng());
ebikeDispatchRecords.setStartVehicleLat(ebikeDispatchRecordDto.getStartVehicleLat());
ebikeDispatchRecords.setDispatchState(ebikeDispatchRecordDto.getDispatchState()); ebikeDispatchRecords.setDispatchState(ebikeDispatchRecordDto.getDispatchState());
ebikeDispatchRecordsMapper.insert(ebikeDispatchRecords); ebikeDispatchRecordsMapper.insert(ebikeDispatchRecords);
return ebikeDispatchRecords; return ebikeDispatchRecords;