2025-11-24 16:02:55 +08:00
|
|
|
|
package com.cdzy.operations.controller;
|
|
|
|
|
|
|
2025-11-25 10:37:06 +08:00
|
|
|
|
import com.cdzy.common.model.request.PageParam;
|
|
|
|
|
|
import com.cdzy.common.model.response.JsonResult;
|
|
|
|
|
|
import com.cdzy.operations.enums.BikeOrderHandleState;
|
2025-11-25 17:39:59 +08:00
|
|
|
|
import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto;
|
2025-11-26 10:42:39 +08:00
|
|
|
|
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
|
2025-11-24 16:02:55 +08:00
|
|
|
|
import com.cdzy.operations.service.EbikeBikeOrderService;
|
|
|
|
|
|
import com.mybatisflex.core.paginate.Page;
|
2025-11-25 10:37:06 +08:00
|
|
|
|
import com.mybatisflex.core.query.QueryWrapper;
|
|
|
|
|
|
import com.mybatisflex.core.util.StringUtil;
|
2025-11-24 16:02:55 +08:00
|
|
|
|
import jakarta.annotation.Resource;
|
2025-11-25 10:46:54 +08:00
|
|
|
|
import jakarta.validation.constraints.NotNull;
|
2025-11-25 10:37:06 +08:00
|
|
|
|
import org.springframework.validation.annotation.Validated;
|
2025-11-26 10:42:39 +08:00
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
2025-11-24 16:02:55 +08:00
|
|
|
|
|
2025-11-25 10:37:06 +08:00
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
2025-11-25 17:39:59 +08:00
|
|
|
|
import static com.cdzy.operations.model.entity.table.EbikeBikeInfoTableDef.EBIKE_BIKE_INFO;
|
2025-11-25 10:37:06 +08:00
|
|
|
|
import static com.cdzy.operations.model.entity.table.EbikeBikeOrderTableDef.EBIKE_BIKE_ORDER;
|
2025-11-24 16:02:55 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 工单信息 控制层。
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author attiya
|
|
|
|
|
|
* @since 2025-11-24
|
|
|
|
|
|
*/
|
|
|
|
|
|
@RestController
|
|
|
|
|
|
@RequestMapping("/ebikeBikeOrder")
|
2025-11-25 10:37:06 +08:00
|
|
|
|
@Validated
|
2025-11-24 16:02:55 +08:00
|
|
|
|
public class EbikeBikeOrderController {
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
private EbikeBikeOrderService ebikeBikeOrderService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2025-11-25 10:37:06 +08:00
|
|
|
|
* 分页查询工单信息。
|
2025-11-24 16:02:55 +08:00
|
|
|
|
*
|
2025-11-25 10:37:06 +08:00
|
|
|
|
* @param page 分页对象
|
|
|
|
|
|
* @return 分页对象
|
2025-11-24 16:02:55 +08:00
|
|
|
|
*/
|
2025-11-25 10:37:06 +08:00
|
|
|
|
@GetMapping("page")
|
|
|
|
|
|
public JsonResult<?> page(PageParam page, Integer orderType,String bikeCode) {
|
|
|
|
|
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
2025-11-25 17:39:59 +08:00
|
|
|
|
.select(EBIKE_BIKE_INFO.LOCATION,EBIKE_BIKE_ORDER.ALL_COLUMNS)
|
2025-11-25 10:37:06 +08:00
|
|
|
|
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(BikeOrderHandleState.UNPROCESSED))
|
|
|
|
|
|
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(orderType, Objects.nonNull(orderType)))
|
2025-11-26 09:31:56 +08:00
|
|
|
|
.where(EBIKE_BIKE_ORDER.BIKE_CODE.like(bikeCode, StringUtil.hasText(bikeCode)))
|
|
|
|
|
|
.leftJoin(EBIKE_BIKE_INFO).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_BIKE_ORDER.BIKE_CODE));
|
2025-11-25 17:39:59 +08:00
|
|
|
|
Page<EbikeBikeOrderPageDto> orderPage = ebikeBikeOrderService.pageAs(page.getPage(), queryWrapper, EbikeBikeOrderPageDto.class);
|
2025-11-25 10:37:06 +08:00
|
|
|
|
return JsonResult.success(orderPage);
|
2025-11-24 16:02:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-26 11:11:05 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 工单详情。
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param page 分页对象
|
|
|
|
|
|
* @return 分页对象
|
|
|
|
|
|
*/
|
|
|
|
|
|
@GetMapping("getInfo")
|
|
|
|
|
|
public JsonResult<?> getInfo(PageParam page, Integer orderType,String bikeCode) {
|
|
|
|
|
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
|
|
|
|
|
.select(EBIKE_BIKE_INFO.LOCATION,EBIKE_BIKE_ORDER.ALL_COLUMNS)
|
|
|
|
|
|
.where(EBIKE_BIKE_ORDER.HANDLE_STATE.eq(BikeOrderHandleState.UNPROCESSED))
|
|
|
|
|
|
.where(EBIKE_BIKE_ORDER.ORDER_TYPE.eq(orderType, Objects.nonNull(orderType)))
|
|
|
|
|
|
.where(EBIKE_BIKE_ORDER.BIKE_CODE.like(bikeCode, StringUtil.hasText(bikeCode)))
|
|
|
|
|
|
.leftJoin(EBIKE_BIKE_INFO).on(EBIKE_BIKE_INFO.BIKE_CODE.eq(EBIKE_BIKE_ORDER.BIKE_CODE));
|
|
|
|
|
|
Page<EbikeBikeOrderPageDto> orderPage = ebikeBikeOrderService.pageAs(page.getPage(), queryWrapper, EbikeBikeOrderPageDto.class);
|
|
|
|
|
|
return JsonResult.success(orderPage);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-24 16:02:55 +08:00
|
|
|
|
/**
|
2025-11-25 10:37:06 +08:00
|
|
|
|
* 生成换电工单。
|
2025-11-24 16:02:55 +08:00
|
|
|
|
*
|
2025-11-25 10:37:06 +08:00
|
|
|
|
* @param ecuSn 中控编码
|
|
|
|
|
|
* @return 结果
|
2025-11-24 16:02:55 +08:00
|
|
|
|
*/
|
2025-11-25 10:37:06 +08:00
|
|
|
|
@GetMapping("batterySwapOrder")
|
2025-11-25 10:46:54 +08:00
|
|
|
|
public JsonResult<?> batterySwapOrder(@NotNull(message = "中控编号不能为空") String ecuSn) {
|
2025-11-25 10:37:06 +08:00
|
|
|
|
ebikeBikeOrderService.createBatterySwapOrder(ecuSn);
|
|
|
|
|
|
return JsonResult.success();
|
2025-11-24 16:02:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-11-25 10:46:54 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 生成巡检工单。
|
|
|
|
|
|
*
|
2025-11-26 10:42:39 +08:00
|
|
|
|
* @param inspectionSwapOrderVo 巡检信息
|
2025-11-25 10:46:54 +08:00
|
|
|
|
* @return 结果
|
|
|
|
|
|
*/
|
2025-11-26 10:42:39 +08:00
|
|
|
|
@PostMapping("inspectionSwapOrder")
|
|
|
|
|
|
public JsonResult<?> inspectionSwapOrder(@Validated @RequestBody InspectionSwapOrderVo inspectionSwapOrderVo) {
|
|
|
|
|
|
ebikeBikeOrderService.createInspectionSwapOrder(inspectionSwapOrderVo);
|
2025-11-25 10:46:54 +08:00
|
|
|
|
return JsonResult.success();
|
|
|
|
|
|
}
|
2025-11-25 17:35:21 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 生成调度工单。
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param bikeCode 车辆编号
|
|
|
|
|
|
* @param siteId 站点ID(目的地站点)
|
|
|
|
|
|
* @return 结果
|
|
|
|
|
|
*/
|
|
|
|
|
|
@GetMapping("dispatchSwapOrder")
|
|
|
|
|
|
public JsonResult<?> dispatchSwapOrder(@NotNull(message = "车辆编号不能为空") String bikeCode,@NotNull(message = "站点ID不能为空")Long siteId) {
|
|
|
|
|
|
ebikeBikeOrderService.createDispatchSwapOrder(bikeCode,siteId);
|
|
|
|
|
|
return JsonResult.success();
|
|
|
|
|
|
}
|
2025-11-24 16:02:55 +08:00
|
|
|
|
}
|