diff --git a/ruoyi-admin/src/main/resources/templates/tyre/tyre/typreDetill2.html b/ruoyi-admin/src/main/resources/templates/tyre/tyre/typreDetill2.html index fb640d3b..283d4e71 100644 --- a/ruoyi-admin/src/main/resources/templates/tyre/tyre/typreDetill2.html +++ b/ruoyi-admin/src/main/resources/templates/tyre/tyre/typreDetill2.html @@ -280,10 +280,11 @@ recordWarehousingList=${resultMap['recordWarehousingList']}, recordTyreInstallList=${resultMap['recordTyreInstallList']}, recordTyreMileageList=${resultMap['recordTyreMileageList']}, + maintenanceMileageList=${resultMap['maintenanceMileageList']}, totalMileage=${resultMap['totalMileage']}, currentPatternDepth=${resultMap['currentPatternDepth']}, bizMaintenanceOrder=${resultMap['bizMaintenanceOrder']}, - bizOrderTireDetailList=${resultMap['bizMaintenanceOrder'] == null ? null : resultMap['bizMaintenanceOrder'].bizOrderTireDetailList}"> + bizMaintenanceOrderList=${resultMap['bizMaintenanceOrderList']}">
- * 作为车辆全生命周期弹窗“首屏”的统一返回对象,承载车辆概要、当前装车轮胎快照、 - * 最近事件时间线、车辆维保历史以及各维度记录总数量。维保历史已并入本聚合对象, - * 避免页面为同一车辆生命周期再额外请求独立维保列表接口。 + * 作为车辆生命周期弹窗“首屏”的统一返回对象,承载车辆概要、当前装车轮胎快照、 + * 车辆维保历史以及各维度记录总数量。页面当前只展示维保工单时间线, + * 因此不再返回最近事件聚合,避免后端做无用查询。 *
*/ public class CarLifecycleDTO implements Serializable @@ -22,9 +22,6 @@ public class CarLifecycleDTO implements Serializable /** 当前装车轮胎快照,数量较少(通常不超过车辆轮位数),随概要一次返回用于首屏快速展示。 */ private List- * 作为“最近事件时间线”的数据载体,将轮胎装卸事件与维保工单事件抽象为统一结构, - * 便于前端以同一套模板按时间轴展示。事件类型(eventType)区分数据来源: - * INSTALL 表示轮胎装卸动作,MAINTENANCE 表示维保工单动作。 - *
- */ -public class CarLifecycleEventDTO implements Serializable -{ - private static final long serialVersionUID = 1L; - - /** 事件类型字典值,区分数据来源。例如:INSTALL(轮胎装卸)、MAINTENANCE(维保工单)。 */ - private String eventType; - - /** 事件发生时间,统一取各来源表中的操作/创建时间,用于时间轴排序。 */ - private Date eventTime; - - /** 轮胎RFID编码,仅在事件类型为轮胎装卸时有效。 */ - private String tyreRfid; - - /** 轮胎编号,业务展示用。 */ - private String tyreNo; - - /** 轮胎自编号,与 tyreNo 区分,用于内部管理。 */ - private String selfNo; - - /** 轮胎品牌。 */ - private String tyreBrand; - - /** 轮胎规格型号。 */ - private String tyreModel; - - /** 轮位名称,例如:左前轮、右后第二轴等,仅在装卸事件中有效。 */ - private String wheelPostion; - - /** 事件关联的行驶里程(字符串形式,保留原始录入格式)。 */ - private String mileage; - - /** 事件关联的花纹深度(毫米),用于磨损评估。 */ - private String patternDepth; - - /** 状态字典值,例如:工单状态、轮胎状态等,视 eventType 而定。 */ - private String status; - - /** 工单编号,仅在事件类型为维保工单时有效。 */ - private String orderNo; - - /** 类型编码,例如:维保类型字典值、操作类型字典值。 */ - private String typeCode; - - /** 修理厂/工厂名称,仅在维保工单事件中有效。 */ - private String factoryName; - - /** 录入里程(数值型),维保工单或质检记录中由用户录入的当前总里程。 */ - private BigDecimal inputMileage; - - /** 上次里程(数值型),维保工单中记录的上一次保养时的里程。 */ - private BigDecimal lastMileage; - - /** 保养/维修日期,维保工单事件中的计划或实际执行日期。 */ - private Date maintainDate; - - /** 事件描述/故障描述,维保工单中的故障现象或备注信息。 */ - private String description; - - /** 质检结果,仅在轮胎质检相关事件中有效。 */ - private String result; - - /** 维保/检测类型字典值,例如:一级保养、二级保养、日常巡检。 */ - private String maintenanceType; - - /** 轮胎里程记录开始时间,仅在里程类事件中有效。 */ - private Date startTime; - - /** 轮胎里程记录结束时间,仅在里程类事件中有效。 */ - private Date endTime; - - public String getEventType() - { - return eventType; - } - - public void setEventType(String eventType) - { - this.eventType = eventType; - } - - public Date getEventTime() - { - return eventTime; - } - - public void setEventTime(Date eventTime) - { - this.eventTime = eventTime; - } - - public String getTyreRfid() - { - return tyreRfid; - } - - public void setTyreRfid(String tyreRfid) - { - this.tyreRfid = tyreRfid; - } - - public String getTyreNo() - { - return tyreNo; - } - - public void setTyreNo(String tyreNo) - { - this.tyreNo = tyreNo; - } - - public String getSelfNo() - { - return selfNo; - } - - public void setSelfNo(String selfNo) - { - this.selfNo = selfNo; - } - - public String getTyreBrand() - { - return tyreBrand; - } - - public void setTyreBrand(String tyreBrand) - { - this.tyreBrand = tyreBrand; - } - - public String getTyreModel() - { - return tyreModel; - } - - public void setTyreModel(String tyreModel) - { - this.tyreModel = tyreModel; - } - - public String getWheelPostion() - { - return wheelPostion; - } - - public void setWheelPostion(String wheelPostion) - { - this.wheelPostion = wheelPostion; - } - - public String getMileage() - { - return mileage; - } - - public void setMileage(String mileage) - { - this.mileage = mileage; - } - - public String getPatternDepth() - { - return patternDepth; - } - - public void setPatternDepth(String patternDepth) - { - this.patternDepth = patternDepth; - } - - public String getStatus() - { - return status; - } - - public void setStatus(String status) - { - this.status = status; - } - - public String getOrderNo() - { - return orderNo; - } - - public void setOrderNo(String orderNo) - { - this.orderNo = orderNo; - } - - public String getTypeCode() - { - return typeCode; - } - - public void setTypeCode(String typeCode) - { - this.typeCode = typeCode; - } - - public String getFactoryName() - { - return factoryName; - } - - public void setFactoryName(String factoryName) - { - this.factoryName = factoryName; - } - - public BigDecimal getInputMileage() - { - return inputMileage; - } - - public void setInputMileage(BigDecimal inputMileage) - { - this.inputMileage = inputMileage; - } - - public BigDecimal getLastMileage() - { - return lastMileage; - } - - public void setLastMileage(BigDecimal lastMileage) - { - this.lastMileage = lastMileage; - } - - public Date getMaintainDate() - { - return maintainDate; - } - - public void setMaintainDate(Date maintainDate) - { - this.maintainDate = maintainDate; - } - - public String getDescription() - { - return description; - } - - public void setDescription(String description) - { - this.description = description; - } - - public String getResult() - { - return result; - } - - public void setResult(String result) - { - this.result = result; - } - - public String getMaintenanceType() - { - return maintenanceType; - } - - public void setMaintenanceType(String maintenanceType) - { - this.maintenanceType = maintenanceType; - } - - public Date getStartTime() - { - return startTime; - } - - public void setStartTime(Date startTime) - { - this.startTime = startTime; - } - - public Date getEndTime() - { - return endTime; - } - - public void setEndTime(Date endTime) - { - this.endTime = endTime; - } -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/CarMileageLifecycleDTO.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CarMileageLifecycleDTO.java index 8600a845..29125fc3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/CarMileageLifecycleDTO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/CarMileageLifecycleDTO.java @@ -38,6 +38,9 @@ public class CarMileageLifecycleDTO implements Serializable /** 统计结束时的花纹深度(毫米),用于与起始深度对比评估磨损速率。 */ private String patternDepth; + /** 里程记录类型,数据库 record_type 为 varchar,对应实体使用 String。 */ + private String recordType; + public Long getId() { return id; @@ -117,4 +120,14 @@ public class CarMileageLifecycleDTO implements Serializable { this.patternDepth = patternDepth; } + + public String getRecordType() + { + return recordType; + } + + public void setRecordType(String recordType) + { + this.recordType = recordType; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordTyreMileage.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordTyreMileage.java index 35cbd16b..a27f6028 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordTyreMileage.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/RecordTyreMileage.java @@ -63,7 +63,13 @@ public class RecordTyreMileage extends BaseEntity this.recordType = recordType; } + public Long getMileageOld() { + return mileageOld; + } + public void setMileageOld(Long mileageOld) { + this.mileageOld = mileageOld; + } public String getPlateNumber() { return plateNumber; @@ -111,82 +117,74 @@ public class RecordTyreMileage extends BaseEntity this.id = id; } - public Long getId() + public Long getId() { return id; } - public void setTyreRfid(String tyreRfid) + public void setTyreRfid(String tyreRfid) { this.tyreRfid = tyreRfid; } - public String getTyreRfid() + public String getTyreRfid() { return tyreRfid; } - public void setStartTime(Date startTime) + public void setStartTime(Date startTime) { this.startTime = startTime; } - public Date getStartTime() + public Date getStartTime() { return startTime; } - public void setEndTime(Date endTime) + public void setEndTime(Date endTime) { this.endTime = endTime; } - public Date getEndTime() + public Date getEndTime() { return endTime; } - public void setMileage(Long mileage) + public void setMileage(Long mileage) { this.mileage = mileage; } - public Long getMileage() + public Long getMileage() { return mileage; } - public void setMileageOld(Long mileageOld) - { - this.mileageOld = mileageOld; - } - - public Long getMileageOld() - { - return mileageOld; - } - @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - - .append("id", getId()) - - .append("tyreRfid", getTyreRfid()) - - .append("startTime", getStartTime()) - - .append("endTime", getEndTime()) - - .append("mileage", getMileage()) - - .append("plateNumber", getPlateNumber()) - - .append("createBy", getCreateBy()) - - .append("createTime", getCreateTime()) - - .append("updateBy", getUpdateBy()) - - .append("updateTime", getUpdateTime()) - - .append("remark", getRemark()) - .toString(); + + .append("id", getId()) + + .append("tyreRfid", getTyreRfid()) + + .append("startTime", getStartTime()) + + .append("endTime", getEndTime()) + + .append("mileage", getMileage()) + + .append("plateNumber", getPlateNumber()) + + .append("recordType", getRecordType()) + + .append("createBy", getCreateBy()) + + .append("createTime", getCreateTime()) + + .append("updateBy", getUpdateBy()) + + .append("updateTime", getUpdateTime()) + + .append("remark", getRemark()) + .toString(); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseCarLifecycleMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseCarLifecycleMapper.java index 94d35571..c402dd1c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseCarLifecycleMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseCarLifecycleMapper.java @@ -2,7 +2,6 @@ package com.ruoyi.system.mapper; import java.util.List; import com.ruoyi.system.domain.CarCheckLifecycleDTO; -import com.ruoyi.system.domain.CarLifecycleEventDTO; import com.ruoyi.system.domain.CarLifecycleQuery; import com.ruoyi.system.domain.CarLifecycleSummaryDTO; import com.ruoyi.system.domain.CarMaintenanceLifecycleDTO; @@ -16,7 +15,7 @@ import com.ruoyi.system.domain.CarTyreInstallLifecycleDTO; * 承担车辆全生命周期弹窗所需的所有数据持久化查询职责。 * 设计原则: * 1. 以车牌号(carNo)为入口,通过 join sys_dept 等权限表支持 {@link DataScope} 拦截; - * 2. 首屏概要(selectLifecycleCar / selectMountedTyres / selectRecentEvents / count*)与明细分页(select*List)分离,避免大数据量拖慢首屏; + * 2. 首屏概要(selectLifecycleCar / selectMountedTyres / selectMaintenanceList / count*)与明细分页(select*List)分离,避免大数据量拖慢首屏; * 3. 各子查询优先使用回填后的 carId 做精确过滤,提升性能并减少字符串匹配歧义。 * */ @@ -46,18 +45,6 @@ public interface BaseCarLifecycleMapper */ public List- * 聚合轮胎装卸记录与维保工单两类事件,取按时间倒序的最近 N 条(例如 10 条)。 - * 用于弹窗首屏快速展示最新动态,避免加载全量历史。 - *
- * - * @param query 已回填 carId 的查询参数 - * @return 最近事件列表;无记录时返回空列表 - */ - public List
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java
index ac6f78b4..8f7da5da 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BaseTyreMapper.java
@@ -4,9 +4,11 @@ package com.ruoyi.system.mapper;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.system.domain.BaseTyre;
+import com.ruoyi.system.domain.RecordTyreMileage;
import com.ruoyi.system.domain.vo.BaseTyreVo;
import org.apache.ibatis.annotations.Param;
+import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
@@ -104,4 +106,28 @@ public interface BaseTyreMapper
List