巡检工单生成逻辑变动

This commit is contained in:
attiya 2025-11-26 10:42:39 +08:00
parent 7b14214941
commit c5eeffae54
9 changed files with 144 additions and 14 deletions

View File

@ -7,6 +7,7 @@ import com.ebike.feign.model.dto.FeignEbikeDto;
import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo; import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
import com.ebike.feign.model.dto.FeignEbikeUserLockDto; import com.ebike.feign.model.dto.FeignEbikeUserLockDto;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo; import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.ebike.feign.model.vo.FeignInspectionSwapOrderVo;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -69,7 +70,7 @@ public interface OperationsFeignClient {
* *
* @return 结果 * @return 结果
*/ */
@GetMapping("/ebikeBikeOrder/inspectionSwapOrder") @PostMapping("/ebikeBikeOrder/inspectionSwapOrder")
JsonResult<FeignEbikeUserBikeInfo> inspectionSwapOrder(@RequestParam("bikeCode")String bikeCode); JsonResult<FeignEbikeUserBikeInfo> inspectionSwapOrder(@RequestBody FeignInspectionSwapOrderVo inspectionSwapOrderVo);
} }

View File

@ -0,0 +1,29 @@
package com.ebike.feign.model.vo;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author attiya
* @since 2025-11-26
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FeignInspectionSwapOrderVo {
@NotNull(message = "车辆编号不能为空")
private String bikeCode;
@NotNull(message = "故障部位不能为空")
private List<Integer> parts;
@NotNull(message = "故障部位图片不能为空")
private List<String> fileUrls;
}

View File

@ -4,6 +4,7 @@ import com.cdzy.common.model.request.PageParam;
import com.cdzy.common.model.response.JsonResult; import com.cdzy.common.model.response.JsonResult;
import com.cdzy.operations.enums.BikeOrderHandleState; import com.cdzy.operations.enums.BikeOrderHandleState;
import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto; import com.cdzy.operations.model.dto.EbikeBikeOrderPageDto;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.cdzy.operations.service.EbikeBikeOrderService; import com.cdzy.operations.service.EbikeBikeOrderService;
import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
@ -11,9 +12,7 @@ import com.mybatisflex.core.util.StringUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Objects; import java.util.Objects;
@ -68,12 +67,12 @@ public class EbikeBikeOrderController {
/** /**
* 生成巡检工单 * 生成巡检工单
* *
* @param bikeCode 车辆编号 * @param inspectionSwapOrderVo 巡检信息
* @return 结果 * @return 结果
*/ */
@GetMapping("inspectionSwapOrder") @PostMapping("inspectionSwapOrder")
public JsonResult<?> inspectionSwapOrder(@NotNull(message = "车辆编号不能为空") String bikeCode) { public JsonResult<?> inspectionSwapOrder(@Validated @RequestBody InspectionSwapOrderVo inspectionSwapOrderVo) {
ebikeBikeOrderService.createInspectionSwapOrder(bikeCode); ebikeBikeOrderService.createInspectionSwapOrder(inspectionSwapOrderVo);
return JsonResult.success(); return JsonResult.success();
} }

View File

@ -0,0 +1,14 @@
package com.cdzy.operations.mapper;
import com.mybatisflex.core.BaseMapper;
import com.cdzy.operations.model.entity.EbikeOrderPart;
/**
* 工单故障部位表 映射层
*
* @author attiya
* @since 2025-11-26
*/
public interface EbikeOrderPartMapper extends BaseMapper<EbikeOrderPart> {
}

View File

@ -0,0 +1,55 @@
package com.cdzy.operations.model.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 工单故障部位表 实体类
*
* @author attiya
* @since 2025-11-26
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("ebike_order_part")
public class EbikeOrderPart implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
private Long orderPartId;
/**
* 报告id
*/
private Long orderId;
/**
* 损坏部件
*/
private Integer orderPart;
/**
* 创建时间
*/
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
private Boolean isDeleted;
}

View File

@ -0,0 +1,29 @@
package com.cdzy.operations.model.vo;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author attiya
* @since 2025-11-26
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class InspectionSwapOrderVo {
@NotNull(message = "车辆编号不能为空")
private String bikeCode;
@NotNull(message = "故障部位不能为空")
private List<Integer> parts;
@NotNull(message = "故障部位图片不能为空")
private List<String> fileUrls;
}

View File

@ -1,5 +1,6 @@
package com.cdzy.operations.service; package com.cdzy.operations.service;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.mybatisflex.core.service.IService; import com.mybatisflex.core.service.IService;
import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeBikeOrder;
@ -20,9 +21,9 @@ public interface EbikeBikeOrderService extends IService<EbikeBikeOrder> {
/** /**
* 根据车辆编号bikeCode生成车辆巡检工单 * 根据车辆编号bikeCode生成车辆巡检工单
* @param bikeCode 车辆编号 * @param inspectionSwapOrderVo 巡检信息
*/ */
void createInspectionSwapOrder(String bikeCode); void createInspectionSwapOrder(InspectionSwapOrderVo inspectionSwapOrderVo);
/** /**
* 根据车辆编号bikeCode生成车辆调度工单 * 根据车辆编号bikeCode生成车辆调度工单

View File

@ -10,6 +10,7 @@ import com.cdzy.operations.model.entity.EbikeBikeInfo;
import com.cdzy.operations.model.entity.EbikeBikeOrder; import com.cdzy.operations.model.entity.EbikeBikeOrder;
import com.cdzy.operations.model.entity.EbikeRegion; import com.cdzy.operations.model.entity.EbikeRegion;
import com.cdzy.operations.model.entity.EbikeSite; import com.cdzy.operations.model.entity.EbikeSite;
import com.cdzy.operations.model.vo.InspectionSwapOrderVo;
import com.cdzy.operations.service.EbikeBikeOrderService; import com.cdzy.operations.service.EbikeBikeOrderService;
import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator; import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator;
import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.query.QueryWrapper;
@ -77,8 +78,8 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
} }
@Override @Override
public void createInspectionSwapOrder(String bikeCode) { public void createInspectionSwapOrder(InspectionSwapOrderVo inspectionSwapOrderVo) {
EbikeBikeInfo bikeInfo = checkBikeCode(bikeCode); EbikeBikeInfo bikeInfo = checkBikeCode(inspectionSwapOrderVo.getBikeCode());
QueryWrapper queryWrapper = QueryWrapper.create().where(EBIKE_BIKE_ORDER.BIKE_CODE.eq(bikeInfo.getBikeCode())) 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.ORDER_TYPE.eq(BikeOrderType.INSPECTION));
EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper); EbikeBikeOrder bikeOrder = this.mapper.selectOneByQuery(queryWrapper);
@ -93,6 +94,7 @@ public class EbikeBikeOrderServiceImpl extends ServiceImpl<EbikeBikeOrderMapper,
.operatorId(bikeInfo.getOperatorId()) .operatorId(bikeInfo.getOperatorId())
.build(); .build();
this.mapper.insert(ebikeBikeOrder); this.mapper.insert(ebikeBikeOrder);
//TODO:生成文件相关内容
} }
@Transactional @Transactional

View File

@ -12,7 +12,7 @@ class EbikeStaffApplicationTests {
private static final String mapperPath="D:/ebike_plus/ebike-operations/resources/mapper"; private static final String mapperPath="D:/ebike_plus/ebike-operations/resources/mapper";
private static final String packageName ="com.cdzy.operations"; private static final String packageName ="com.cdzy.operations";
private static final String[] tables= new String[]{ private static final String[] tables= new String[]{
"ebike_bike_order" "ebike_order_file"
}; };
@Test @Test