批量调度订单车辆判断

This commit is contained in:
attiya 2025-08-23 11:57:26 +08:00
parent 9754a57679
commit 5c1bcfec16
2 changed files with 19 additions and 4 deletions

View File

@ -1208,6 +1208,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
StaffFeign staffFeign = getStaffFeignInfo(); StaffFeign staffFeign = getStaffFeignInfo();
String userId = staffFeign.getStaffId().toString(); String userId = staffFeign.getStaffId().toString();
checkBikeCodes(eqWorkOrderDispatchDto);
// 生成工单编号 // 生成工单编号
SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator(); SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator();
long orderCode = snowFlakeIDKeyGenerator.nextId(); long orderCode = snowFlakeIDKeyGenerator.nextId();
@ -1258,6 +1259,23 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
} }
} }
private void checkBikeCodes(ReqWorkOrderDispatchDto eqWorkOrderDispatchDto) {
List<String> bikeCodes = eqWorkOrderDispatchDto.getBikeCodes();
QueryWrapper queryWrapper = QueryWrapper.create()
.select(EBIKE_DISPATCH_RECORDS.BIKE_CODE)
.leftJoin(EBIKE_BIKE_ORDER).on(EBIKE_BIKE_ORDER.ORDER_ID.eq(EBIKE_DISPATCH_RECORDS.ORDER_ID))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.ne(0))
.where(EBIKE_DISPATCH_RECORDS.BIKE_CODE.in(bikeCodes));
List<String> list = ebikeDispatchRecordsMapper.selectListByQueryAs(queryWrapper, String.class);
if (!list.isEmpty()) {
bikeCodes.removeAll(list);
if (bikeCodes.isEmpty()) {
throw new RuntimeException("当前所有车辆已创建调度订单");
}
eqWorkOrderDispatchDto.setBikeCodes(bikeCodes);
}
}
/** /**
* 根据订单ID 获取车辆调度信息 * 根据订单ID 获取车辆调度信息
* *
@ -1356,7 +1374,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
.leftJoin(EBIKE_BIKE_CHECKIN).on(EBIKE_BIKE_INFO.BIKE_ID.eq(EBIKE_BIKE_CHECKIN.BIKE_ID)) .leftJoin(EBIKE_BIKE_CHECKIN).on(EBIKE_BIKE_INFO.BIKE_ID.eq(EBIKE_BIKE_CHECKIN.BIKE_ID))
.leftJoin(EBIKE_CAR_STATUS_INFO).on(EBIKE_BIKE_INFO.STATE.eq(EBIKE_CAR_STATUS_INFO.CODE)) .leftJoin(EBIKE_CAR_STATUS_INFO).on(EBIKE_BIKE_INFO.STATE.eq(EBIKE_CAR_STATUS_INFO.CODE))
.leftJoin(EBIKE_DISPATCH_RECORDS).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_DISPATCH_RECORDS.BIKE_CODE) .leftJoin(EBIKE_DISPATCH_RECORDS).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_DISPATCH_RECORDS.BIKE_CODE)
.and(EBIKE_DISPATCH_RECORDS.DISPATCH_STATE.eq(0))) .and(EBIKE_DISPATCH_RECORDS.DISPATCH_STATE.eq(0)))
.where(EBIKE_BIKE_INFO.BIKE_CODE.like(queryParam.getBikeCode(), StringUtil.hasText(queryParam.getBikeCode()))) .where(EBIKE_BIKE_INFO.BIKE_CODE.like(queryParam.getBikeCode(), StringUtil.hasText(queryParam.getBikeCode())))
.where(EBIKE_BIKE_CHECKIN.OPERATE_TIME.ge(queryParam.getEnterTime(), queryParam.getEnterTime() != null)) .where(EBIKE_BIKE_CHECKIN.OPERATE_TIME.ge(queryParam.getEnterTime(), queryParam.getEnterTime() != null))
.groupBy(EBIKE_BIKE_INFO.BIKE_ID); .groupBy(EBIKE_BIKE_INFO.BIKE_ID);

View File

@ -1,15 +1,12 @@
package com.cdzy.user.config; package com.cdzy.user.config;
import com.cdzy.user.component.MyTenantFactory;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.audit.AuditManager; import com.mybatisflex.core.audit.AuditManager;
import com.mybatisflex.core.dialect.DbType; import com.mybatisflex.core.dialect.DbType;
import com.mybatisflex.core.dialect.DialectFactory; import com.mybatisflex.core.dialect.DialectFactory;
import com.mybatisflex.core.tenant.TenantFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
/** /**