获取运营车辆列表

This commit is contained in:
小朱 2025-04-28 14:06:36 +08:00
parent e8d3625474
commit e08aa1edc5
3 changed files with 94 additions and 12 deletions

View File

@ -544,13 +544,14 @@ public class EbikeBikeInfoController {
/**
* 取消工单
*
* @param orderId 工单ID
* @param orderId 工单ID orderType 1 维修工单 2 换电工单 3 调度工单
*
* @return
*/
@RequestMapping("canCellWorkOrder")
public JsonResult<?> canCellWorkOrder(@RequestParam(name = "orderId") String orderId) {
public JsonResult<?> canCellWorkOrder(@RequestParam(name = "orderId") String orderId,@RequestParam(name = "orderType") String orderType) {
boolean b = ebikeBikeInfoService.canCellWorkOrder(orderId);
boolean b = ebikeBikeInfoService.canCellWorkOrder(orderId,orderType);
if (b) {
return JsonResult.success(true);
}
@ -797,4 +798,20 @@ public class EbikeBikeInfoController {
}
return JsonResult.failed("删除失败!");
}
/**
* 获取运营车辆列表
*
* @param request 查询参数
* @return
*/
@PostMapping("getOperationalBikeList")
public JsonResult<Object> getOperationalBikeList(@RequestBody ReqEbikeCheckinDto request) {
//查询车辆信息列表
Page<ResInventoryBikeListDto> inventoryBikeListDtoPage = ebikeBikeInfoService.getOperationalBikeList(request);
return JsonResult.success(inventoryBikeListDtoPage);
}
}

View File

@ -190,10 +190,10 @@ public interface EbikeBikeInfoService extends IService<EbikeBikeInfo> {
/**
* 取消工单
*
* @param orderId 工单id
* @param orderId 工单id orderType 1 维修工单 2 换电工单 3 调度工单
* @return
*/
Boolean canCellWorkOrder(String orderId);
Boolean canCellWorkOrder(String orderId,String orderType);
/**
* 根据SN码批量获取车辆信息
@ -261,4 +261,12 @@ public interface EbikeBikeInfoService extends IService<EbikeBikeInfo> {
* @return
*/
Boolean deleteDispatchRecord(String recordId);
/**
* 获取运营车辆列表
*
* @param
* @return
*/
Page<ResInventoryBikeListDto> getOperationalBikeList(ReqEbikeCheckinDto queryParam);
}

View File

@ -58,6 +58,7 @@ import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeFaultReportTab
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeCarStatusInfoTableDef.EBIKE_CAR_STATUS_INFO;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeDispatchRecordsTableDef.EBIKE_DISPATCH_RECORDS;
import static com.cdzy.ebikemaintenance.model.pojo.table.EbikeEcuInfoTableDef.EBIKE_ECU_INFO;
import static com.mybatisflex.core.query.QueryMethods.*;
@ -842,21 +843,31 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
/**
* 取消工单
*
* @param orderId 工单id
* @param orderId 工单id orderType 1 维修工单 2 换电工单 3 调度工单
* @return
*/
@Override
public Boolean canCellWorkOrder(String orderId) {
public Boolean canCellWorkOrder(String orderId,String orderType) {
try {
EbikeBikeOrder ebikeBikeOrder = ebikeBikeOrderMapper.selectOneById(orderId);
ebikeBikeOrder.setHandleState("2");
int b = ebikeBikeOrderMapper.update(ebikeBikeOrder);
QueryWrapper query = QueryWrapper.create();
query.eq(EBIKE_BIKE_FAULT_REPAIR_RECORD.ORDER_ID.getName(), orderId);
List<EbikeBikeFaultRepairRecord> ebikeBikeFaultRepairRecords = ebikeBikeFaultRepairRecordMapper.selectListByQuery(query);
for (EbikeBikeFaultRepairRecord ebikeBikeFaultRepairRecord : ebikeBikeFaultRepairRecords) {
ebikeBikeFaultRepairRecord.setRepairState("2");
ebikeBikeFaultRepairRecordMapper.update(ebikeBikeFaultRepairRecord);
switch (orderType){
case "1":
break;
case "2":
query.eq(EBIKE_BIKE_FAULT_REPAIR_RECORD.ORDER_ID.getName(), orderId);
List<EbikeBikeFaultRepairRecord> ebikeBikeFaultRepairRecords = ebikeBikeFaultRepairRecordMapper.selectListByQuery(query);
for (EbikeBikeFaultRepairRecord ebikeBikeFaultRepairRecord : ebikeBikeFaultRepairRecords) {
ebikeBikeFaultRepairRecord.setRepairState("2");
ebikeBikeFaultRepairRecordMapper.update(ebikeBikeFaultRepairRecord);
}
break;
case "3":
query.eq("order_id", orderId);
ebikeDispatchRecordsMapper.deleteByQuery(query);
break;
}
return true;
} catch (Exception e) {
@ -1207,7 +1218,9 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
QueryWrapper query = QueryWrapper.create();
query.eq("order_id", orderId);
query.eq("dispatch_state", "0"); //并且查询待处理的工单
List<EbikeDispatchRecords> ebikeDispatchRecords = ebikeDispatchRecordsMapper.selectListByQuery(query);
resDispatchVehicleDto.setOrderId(orderId);
resDispatchVehicleDto.setDispatchRecords(ebikeDispatchRecords);
resDispatchVehicleDto.setBikeOrder(ebikeBikeOrder);
@ -1251,4 +1264,48 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl<EbikeBikeInfoMapper, E
}
return ebikeDispatchRecordsMapper.deleteById(recordId) > 0;
}
@Override
public Page<ResInventoryBikeListDto> getOperationalBikeList(ReqEbikeCheckinDto queryParam) {
QueryWrapper query = QueryWrapper.create();
query.select(EBIKE_BIKE_INFO.BIKE_ID, EBIKE_BIKE_INFO.BIKE_NUMBER, EBIKE_BIKE_INFO.BIKE_MODEL);
query.select(EBIKE_BIKE_INFO.BIKE_CODE, EBIKE_BIKE_INFO.STATE, new QueryColumn("CHECKIN_TEMP", "enter_time"));
query.select(
QueryMethods.case_()
.when(EBIKE_DISPATCH_RECORDS.BIKE_CODE.isNotNull())
.then("投放中")
.else_(QueryMethods.case_()
.when(EBIKE_CAR_STATUS_INFO.NAMEYW.isNull()).then(EBIKE_CAR_STATUS_INFO.NAMEYY)
.else_(EBIKE_CAR_STATUS_INFO.NAMEYY)
.end())
.end().as("state_name")
);
query.leftJoin(select(EBIKE_BIKE_CHECKIN.BIKE_ID, max(EBIKE_BIKE_CHECKIN.OPERATE_TIME).as("enter_time"))
.from(EBIKE_BIKE_CHECKIN).groupBy(EBIKE_BIKE_CHECKIN.BIKE_ID)).as("CHECKIN_TEMP")
.on(EBIKE_BIKE_INFO.BIKE_ID.eq(new QueryColumn("CHECKIN_TEMP", "bike_id")));
query.leftJoin(EBIKE_CAR_STATUS_INFO).on(EBIKE_BIKE_INFO.STATE.eq(EBIKE_CAR_STATUS_INFO.CODE));
query.leftJoin(EBIKE_DISPATCH_RECORDS).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_DISPATCH_RECORDS.BIKE_CODE).and(
EBIKE_DISPATCH_RECORDS.DISPATCH_STATE.eq(0)
));
if (queryParam.getBikeCode() != null && !queryParam.getBikeCode().isEmpty()) {
query.like(EBIKE_BIKE_INFO.BIKE_CODE.getName(), queryParam.getBikeCode());
}
if (queryParam.getState() != null && !queryParam.getState().isEmpty()) {
String[] stateList = queryParam.getState().split(",");
if (stateList.length == 1) {
query.eq(EBIKE_BIKE_INFO.STATE.getName(), queryParam.getState());
} else {
query.in(EBIKE_BIKE_INFO.STATE.getName(), Arrays.stream(stateList).toList());
}
}
if (queryParam.getEnterTime() != null && !queryParam.getEnterTime().toString().isEmpty()) {
query.ge(new QueryColumn("CHECKIN_TEMP", "enter_time").getName(), queryParam.getEnterTime());
}
Page<ResInventoryBikeListDto> page = Page.of(queryParam.getPageParam().getPage().getPageNumber(), queryParam.getPageParam().getPageSize());
return ebikeBikeInfoMapper.paginateAs(page, query, ResInventoryBikeListDto.class);
}
}