工单完成

This commit is contained in:
attiya 2025-12-17 10:01:29 +08:00
parent fc7ed24e18
commit 0a3b28ae56
3 changed files with 78 additions and 4 deletions

View File

@ -117,4 +117,8 @@ public class EbikeBikeOrder implements Serializable {
*/ */
private String remarks; private String remarks;
/**
* 是否故障误报
*/
private Boolean faultFalseAlarm;
} }

View File

@ -554,7 +554,43 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override @Override
public void bikeDispatch(DoneDispatchOrderVo doneDispatchOrderVo) { public void bikeDispatch(DoneDispatchOrderVo doneDispatchOrderVo) {
String bikeCode = doneDispatchOrderVo.getBikeCode();
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeCode))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED)))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.DISPATCH));
EbikeBikeOrder bikeOrder = getOne(queryWrapper);
if (bikeOrder == null) {
throw new EbikeException("该工单不存在或已作废");
}
Long receiverId = bikeOrder.getReceiverId();
long loginId = StpUtil.getLoginIdAsLong();
if (receiverId != null) {
if (!receiverId.equals(loginId)) {
throw new EbikeException("该工单已被他人接单");
}
} else {
bikeOrder.setReceiverId(loginId);
}
bikeOrder.setSiteId(doneDispatchOrderVo.getSiteId());
bikeOrder.setHandleState(OrderHandleState.PROCESSED);
List<String> fileUrls = doneDispatchOrderVo.getFileUrls();
List<EbikeOrderFile> list = new ArrayList<>();
if (fileUrls != null && !fileUrls.isEmpty()) {
for (String fileUrl : fileUrls) {
EbikeOrderFile ebikeOrderFile = EbikeOrderFile.builder()
.orderId(bikeOrder.getOrderId())
.fileUrl(fileUrl)
.build();
list.add(ebikeOrderFile);
}
}
if (!list.isEmpty()){
ebikeOrderFileMapper.insertBatch(list);
}
updateById(bikeOrder);
} }
@Override @Override
@ -571,13 +607,13 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
Long receiverId = bikeOrder.getReceiverId(); Long receiverId = bikeOrder.getReceiverId();
long loginId = StpUtil.getLoginIdAsLong(); long loginId = StpUtil.getLoginIdAsLong();
if (receiverId != null) { if (receiverId != null) {
if (receiverId.equals(loginId)) { if (!receiverId.equals(loginId)) {
throw new EbikeException("该工单已被他人接单"); throw new EbikeException("该工单已被他人接单");
} }
} else { } else {
bikeOrder.setReceiverId(loginId); bikeOrder.setReceiverId(loginId);
bikeOrder.setHandleState(OrderHandleState.PROCESSED);
} }
bikeOrder.setHandleState(OrderHandleState.PROCESSED);
List<String> afterInspectionFileUrls = inspectionVo.getAfterInspectionFileUrls(); List<String> afterInspectionFileUrls = inspectionVo.getAfterInspectionFileUrls();
List<EbikeOrderFile> list = new ArrayList<>(); List<EbikeOrderFile> list = new ArrayList<>();
@ -601,7 +637,9 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
list.add(ebikeOrderFile); list.add(ebikeOrderFile);
} }
} }
ebikeOrderFileMapper.insertBatch(list); if (!list.isEmpty()){
ebikeOrderFileMapper.insertBatch(list);
}
updateById(bikeOrder); updateById(bikeOrder);
} }
@ -618,7 +656,40 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
@Override @Override
public void doFault(DoneFaultOrderVo faultOrderVo) { public void doFault(DoneFaultOrderVo faultOrderVo) {
String bikeCode = faultOrderVo.getBikeCode(); String bikeCode = faultOrderVo.getBikeCode();
QueryWrapper queryWrapper = QueryWrapper.create()
.where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeCode))
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.ACCEPTED).or(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(OrderHandleState.UNPROCESSED)))
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(BikeOrderType.REPAIR));
EbikeBikeOrder bikeOrder = getOne(queryWrapper);
if (bikeOrder == null) {
throw new EbikeException("该工单不存在或已作废");
}
Long receiverId = bikeOrder.getReceiverId();
long loginId = StpUtil.getLoginIdAsLong();
if (receiverId != null) {
if (!receiverId.equals(loginId)) {
throw new EbikeException("该工单已被他人接单");
}
} else {
bikeOrder.setReceiverId(loginId);
}
bikeOrder.setHandleState(OrderHandleState.PROCESSED);
List<String> fileUrls = faultOrderVo.getFileUrls();
List<EbikeOrderFile> list = new ArrayList<>();
if (fileUrls != null && !fileUrls.isEmpty()) {
for (String fileUrl : fileUrls) {
EbikeOrderFile ebikeOrderFile = EbikeOrderFile.builder()
.orderId(bikeOrder.getOrderId())
.fileUrl(fileUrl)
.build();
list.add(ebikeOrderFile);
}
}
if (!list.isEmpty()){
ebikeOrderFileMapper.insertBatch(list);
}
updateById(bikeOrder);
} }
@Override @Override

View File

@ -31,7 +31,6 @@
#{radius} #{radius}
) )
AND ebike_bike_info.status = 1 AND ebike_bike_info.status = 1
-- AND ebike_bike_info.usage_status = 1
ORDER BY distance ASC ORDER BY distance ASC
</select> </select>
</mapper> </mapper>