生成逻辑

This commit is contained in:
PC 2026-01-27 14:48:09 +08:00
parent 1e31711338
commit ed451798e8
4 changed files with 91 additions and 74 deletions

View File

@ -15,6 +15,7 @@ import org.locationtech.jts.geom.Point;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
/**
* 车辆扫一扫详情
@ -117,46 +118,11 @@ public class EbikeScanInfoDto implements Serializable {
/**
* 是否包含头盔
*/
private Boolean hasHelme;
private Boolean hasHelmet;
/**
* 是否包含巡检
* 工单信息
*/
private Boolean hasInspection = false;
/**
* 是否自己已接单巡检工单
*/
private Boolean inspectionAcceptSelf = false;
/**
* 是否包含换电
*/
private Boolean hasBatterySwap = false;
/**
* 是否自己已接单换电工单
*/
private Boolean batterySwapAcceptSelf = false;
/**
* 是否包含调度
*/
private Boolean hasDispatch = false;
/**
* 是否自己已接单调度工单
*/
private Boolean dispatchAcceptSelf = false;
/**
* 是否包含维修
*/
private Boolean hasRepair = false;
/**
* 是否自己已接单维修工单
*/
private Boolean repairAcceptSelf = false;
private List<EbikeScanOrderDto> orders;
}

View File

@ -0,0 +1,61 @@
package com.cdzy.operations.model.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 车辆扫一扫详情
*
* @author attiya
* @since 2025-10-21
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EbikeScanOrderDto implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 工单ID
*/
private Long orderId;
/**
* 工单类型
*/
private Long orderType;
/**
* 工单类型
*/
private Long receiverId;
/**
* 车辆编号
*/
private String bikeCode;
/**
* 工单编号
*/
private Long orderCode;
/**
* 是否自己已接单
*/
private Boolean acceptSelf = false;
/**
* 是否已接单
*/
private Boolean accepted = false;
}

View File

@ -582,39 +582,27 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
.where(EBIKE_BIKE_INFO.BIKE_CODE.eq(bikeCode));
EbikeScanInfoDto ebikeScanInfoDto = this.mapper.selectOneByQueryAs(queryWrapper, EbikeScanInfoDto.class);
queryWrapper.clear();
queryWrapper.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeCode));
List<EbikeBikeOrder> list = orderMapper.selectListByQuery(queryWrapper);
queryWrapper.select(
EBIKE_BIKE_ORDER.ORDER_ID,
EBIKE_BIKE_ORDER.ORDER_TYPE,
EBIKE_BIKE_ORDER.RECEIVER_ID,
EBIKE_BIKE_ORDER.BIKE_CODE,
EBIKE_BIKE_ORDER.ORDER_CODE
)
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeCode));
List<EbikeScanOrderDto> list = orderMapper.selectListByQueryAs(queryWrapper, EbikeScanOrderDto.class);
long staffId = StpUtil.getLoginIdAsLong();
if (!list.isEmpty()) {
for (EbikeBikeOrder order : list) {
switch (order.getOrderType()) {
case BikeOrderType.INSPECTION -> {
ebikeScanInfoDto.setHasInspection(Boolean.TRUE);
if (order.getReceiverId() != null && staffId == order.getReceiverId()) {
ebikeScanInfoDto.setInspectionAcceptSelf(Boolean.TRUE);
}
}
case BikeOrderType.BATTERY_SWAP -> {
ebikeScanInfoDto.setHasBatterySwap(Boolean.TRUE);
if (order.getReceiverId() != null && staffId == order.getReceiverId()) {
ebikeScanInfoDto.setBatterySwapAcceptSelf(Boolean.TRUE);
}
}
case BikeOrderType.DISPATCH -> {
ebikeScanInfoDto.setHasDispatch(Boolean.TRUE);
if (order.getReceiverId() != null && staffId == order.getReceiverId()) {
ebikeScanInfoDto.setDispatchAcceptSelf(Boolean.TRUE);
}
}
case BikeOrderType.REPAIR -> {
ebikeScanInfoDto.setHasRepair(Boolean.TRUE);
if (order.getReceiverId() != null && staffId == order.getReceiverId()) {
ebikeScanInfoDto.setRepairAcceptSelf(Boolean.TRUE);
}
for (EbikeScanOrderDto order : list) {
if (order.getReceiverId() != null) {
order.setAccepted(Boolean.TRUE);
if (order.getReceiverId() == staffId){
order.setAcceptSelf(Boolean.TRUE);
}
}
}
}
ebikeScanInfoDto.setOrders(list);
return ebikeScanInfoDto;
}

View File

@ -118,7 +118,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
}
queryWrapper.clear();
queryWrapper.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.BATTERY_SWAP));
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.BATTERY_SWAP))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED)));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
if (bikeOrder != null) {
log.error("车辆已存在换电工单,bikeCode={} ", bikeInfo.getBikeCode());
@ -143,8 +144,10 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override
public void createInspectionSwapOrder(InspectionSwapOrderVo inspectionSwapOrderVo) {
EbikeBikeInfo bikeInfo = checkBikeCode(inspectionSwapOrderVo.getBikeCode());
QueryWrapper queryWrapper = QueryWrapper.create().where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION));
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.INSPECTION))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED)));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
if (bikeOrder != null) {
log.error("车辆已存在巡检工单,bikeCode={} ", bikeInfo.getBikeCode());
@ -177,13 +180,11 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override
public void createDispatchSwapOrder(String bikeCode) {
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode);
List<Integer> list = new ArrayList<>();
list.add(OrderHandleState.UNPROCESSED);
list.add(OrderHandleState.ACCEPTED);
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.in(list))
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH));
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED)));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
if (bikeOrder != null) {
log.error("车辆已存在调度工单,bikeCode={} ", bikeInfo.getBikeCode());
@ -255,7 +256,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode()))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.REPAIR));
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.REPAIR))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED)));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
if (bikeOrder != null) {
log.error("车辆已存在维修工单,bikeCode={} ", bikeInfo.getBikeCode());