✨ 新增异常关联维修记录:维修记录加 exception_id,异常详情内联记录并新增录入接口

This commit is contained in:
2026-10-29 08:58:17 +08:00
parent c677caf817
commit 6880de54ff
12 changed files with 319 additions and 35 deletions
@@ -0,0 +1,90 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.transport.pojo.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 异常处置 → 录入维修记录请求
* <p>
* 车牌号与车船类型不接收前端传值:车牌取自异常处置,车船类型固定「车辆」,
* 避免维修记录挂到与异常无关的车上。
*
* @author Chill
*/
@Data
@Schema(description = "异常处置录入维修记录请求")
public class ExceptionMaintenanceRecordRequest implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "异常处置ID")
private Long id;
@Schema(description = "维修时间")
private LocalDateTime maintenanceTime;
@Schema(description = "维修位置")
private String location;
@Schema(description = "维修人")
private String maintainer;
@Schema(description = "维修单位")
private String company;
@Schema(description = "联系方式")
private String contact;
@Schema(description = "更换零件")
private String replacedPart;
@Schema(description = "费用")
private BigDecimal cost;
@Schema(description = "里程数(公里)")
private BigDecimal mileage;
@Schema(description = "出厂时间")
private LocalDateTime factoryTime;
@Schema(description = "详细地址")
private String address;
@Schema(description = "备注说明")
private String remark;
@Schema(description = "附件JSON,[{\"name\":\"...\",\"url\":\"...\"}]")
private String attachments;
}
@@ -61,6 +61,12 @@ public class MaintenanceRecord extends TenantEntity {
*/
@Schema(description = "车牌号/船号")
private String vehicleNo;
/**
* 关联异常处置ID(小程序录入时写入)
*/
@Schema(description = "关联异常处置ID(小程序录入时写入)")
@TableField(updateStrategy = FieldStrategy.NEVER)
private Long exceptionId;
/**
* 维修人
*/
@@ -106,6 +106,10 @@ public class ExceptionDisposalVO extends ExceptionDisposal {
@Schema(description = "可调整的路线站点,少于两个站时为空")
private List<RouteNode> routeNodes;
@TableField(exist = false)
@Schema(description = "关联的维修记录(车辆故障维修异常录入,未录入时为空对象,判定须看 id)")
private MaintenanceRecordVO maintenanceRecord;
/**
* 一个可调整的站点:站序声明、地址、该站的装卸标记与项目名
*/
@@ -76,4 +76,25 @@ public class MaintenanceRecordVO extends MaintenanceRecord {
@Schema(description = "更新人姓名")
private String updateUserName;
/**
* 关联运单号(由 exception_id 关联异常处置带出)
*/
@TableField(exist = false)
@Schema(description = "关联运单号")
private String waybillNo;
/**
* 关联异常类型(一级)
*/
@TableField(exist = false)
@Schema(description = "关联异常类型")
private String exceptionType;
/**
* 关联异常原因(二级)
*/
@TableField(exist = false)
@Schema(description = "关联异常原因")
private String exceptionReason;
}