bug修复
This commit is contained in:
parent
e3ea282568
commit
28bdeb831c
@ -631,10 +631,10 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
ebikeBikeFaultReport.setHandleState("1");
|
||||
bikeCodes.add(ebikeBikeFaultReport.getBikeCode());
|
||||
}
|
||||
if (!bikeCodes.isEmpty()){
|
||||
if (!bikeCodes.isEmpty()) {
|
||||
UpdateChain.of(EbikeBikeInfo.class)
|
||||
.set(EbikeBikeInfo::getIsInWarehouse,"0")
|
||||
.in(EbikeBikeInfo::getBikeCode,bikeCodes);
|
||||
.set(EbikeBikeInfo::getIsInWarehouse, "0")
|
||||
.in(EbikeBikeInfo::getBikeCode, bikeCodes);
|
||||
}
|
||||
List<ReqEbikeFaultReportFileDto> fileList = reqEbikeBikeFaultHandleDto.getFileList();
|
||||
if (!fileList.isEmpty()) {
|
||||
@ -1209,60 +1209,52 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
|
||||
*/
|
||||
@Transactional // 添加事务注解
|
||||
public String createWorkOrderDispatch(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) {
|
||||
try {
|
||||
// 获取 token 和用户信息
|
||||
|
||||
StaffFeign staffFeign = getStaffFeignInfo();
|
||||
String userId = staffFeign.getStaffId().toString();
|
||||
checkBikeCodes(eqWorkOrderDispatchDto);
|
||||
// 生成工单编号
|
||||
SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator();
|
||||
long orderCode = snowFlakeIDKeyGenerator.nextId();
|
||||
// 创建工单
|
||||
EbikeBikeOrder ebikeBikeOrder = new EbikeBikeOrder();
|
||||
ebikeBikeOrder.setOrderCode(orderCode);
|
||||
ebikeBikeOrder.setOrderType("3"); // 设定工单类型(可能是常量,视需求而定)
|
||||
ebikeBikeOrder.setReceiverId(userId);
|
||||
ebikeBikeOrderMapper.insert(ebikeBikeOrder);
|
||||
// 创建工单扩展关联表
|
||||
EbikeScheduleWorkOrderExtension ebikeScheduleWorkOrderExtension = new EbikeScheduleWorkOrderExtension();
|
||||
ebikeScheduleWorkOrderExtension.setId(ebikeBikeOrder.getOrderId());
|
||||
ebikeScheduleWorkOrderExtension.setDispatchType(eqWorkOrderDispatchDto.getDispatchType());
|
||||
ebikeScheduleWorkOrderExtension.setSiteId(eqWorkOrderDispatchDto.getSiteId());//站点id
|
||||
ebikeScheduleWorkOrderExtensionMapper.insert(ebikeScheduleWorkOrderExtension);
|
||||
// 创建并保存调度记录
|
||||
List<EbikeDispatchRecords> records = new ArrayList<>();
|
||||
for (String bikeCode : eqWorkOrderDispatchDto.getBikeCodes()) {
|
||||
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(longitude);
|
||||
dispatchRecord.setStartVehicleLat(latitude);
|
||||
}
|
||||
dispatchRecord.setOrderId(ebikeBikeOrder.getOrderId());
|
||||
dispatchRecord.setBikeCode(bikeCode);
|
||||
dispatchRecord.setStartStationId(eqWorkOrderDispatchDto.getSiteId());
|
||||
records.add(dispatchRecord);
|
||||
// 获取 token 和用户信息
|
||||
|
||||
StaffFeign staffFeign = getStaffFeignInfo();
|
||||
String userId = staffFeign.getStaffId().toString();
|
||||
checkBikeCodes(eqWorkOrderDispatchDto);
|
||||
// 生成工单编号
|
||||
SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator();
|
||||
long orderCode = snowFlakeIDKeyGenerator.nextId();
|
||||
// 创建工单
|
||||
EbikeBikeOrder ebikeBikeOrder = new EbikeBikeOrder();
|
||||
ebikeBikeOrder.setOrderCode(orderCode);
|
||||
ebikeBikeOrder.setOrderType("3"); // 设定工单类型(可能是常量,视需求而定)
|
||||
ebikeBikeOrder.setReceiverId(userId);
|
||||
ebikeBikeOrderMapper.insert(ebikeBikeOrder);
|
||||
// 创建工单扩展关联表
|
||||
EbikeScheduleWorkOrderExtension ebikeScheduleWorkOrderExtension = new EbikeScheduleWorkOrderExtension();
|
||||
ebikeScheduleWorkOrderExtension.setId(ebikeBikeOrder.getOrderId());
|
||||
ebikeScheduleWorkOrderExtension.setDispatchType(eqWorkOrderDispatchDto.getDispatchType());
|
||||
ebikeScheduleWorkOrderExtension.setSiteId(eqWorkOrderDispatchDto.getSiteId());//站点id
|
||||
ebikeScheduleWorkOrderExtensionMapper.insert(ebikeScheduleWorkOrderExtension);
|
||||
// 创建并保存调度记录
|
||||
List<EbikeDispatchRecords> records = new ArrayList<>();
|
||||
for (String bikeCode : eqWorkOrderDispatchDto.getBikeCodes()) {
|
||||
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(longitude);
|
||||
dispatchRecord.setStartVehicleLat(latitude);
|
||||
}
|
||||
// 批量插入调度记录(如果支持批量插入的话)
|
||||
if (!records.isEmpty()) {
|
||||
ebikeDispatchRecordsMapper.insertBatch(records); // 假设有批量插入的方法
|
||||
}
|
||||
|
||||
// 返回工单 ID
|
||||
return ebikeBikeOrder.getOrderId();
|
||||
|
||||
} catch (Exception e) {
|
||||
// 异常处理,记录日志并抛出自定义异常或包装成 RuntimeException
|
||||
// 可以使用日志工具,例如 log4j 或 slf4j,记录错误详细信息
|
||||
log.error("创建工单调度失败", e);
|
||||
// 可根据需求抛出更具体的异常
|
||||
throw new RuntimeException("创建工单调度时发生异常", e);
|
||||
dispatchRecord.setOrderId(ebikeBikeOrder.getOrderId());
|
||||
dispatchRecord.setBikeCode(bikeCode);
|
||||
dispatchRecord.setStartStationId(eqWorkOrderDispatchDto.getSiteId());
|
||||
records.add(dispatchRecord);
|
||||
}
|
||||
// 批量插入调度记录(如果支持批量插入的话)
|
||||
if (!records.isEmpty()) {
|
||||
ebikeDispatchRecordsMapper.insertBatch(records); // 假设有批量插入的方法
|
||||
}
|
||||
|
||||
// 返回工单 ID
|
||||
return ebikeBikeOrder.getOrderId();
|
||||
}
|
||||
|
||||
private void checkBikeCodes(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user