From 65ea825eb3e8547f0222224835554dabaec5a7ad Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 03 六月 2026 13:44:30 +0800
Subject: [PATCH] feat(vehicle): 添加车辆管理模块及归还里程功能
---
src/main/java/com/ruoyi/approve/service/impl/VehicleBorrowRecordServiceImpl.java | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/VehicleBorrowRecordServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/VehicleBorrowRecordServiceImpl.java
index dd7f646..5fe032d 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/VehicleBorrowRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/VehicleBorrowRecordServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.approve.service.impl;
+import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -197,6 +198,7 @@
update.setActualReturnTime(now);
update.setReturnedTime(now);
update.setBorrowStatus(BORROW_STATUS_RETURNED);
+ update.setReturnMileage(record.getReturnMileage());
update.setUpdateUser(SecurityUtils.getUserId());
update.setUpdateTime(now);
update.setExtendStatus(existing.getExtendStatus());
@@ -208,6 +210,9 @@
Vehicle vehicle = new Vehicle();
vehicle.setId(existing.getVehicleId());
vehicle.setStatus("IDLE");
+ if (record.getReturnMileage() != null) {
+ vehicle.setMileage(record.getReturnMileage());
+ }
vehicleMapper.updateById(vehicle);
return true;
}
@@ -247,7 +252,10 @@
throw new ServiceException("淇濆瓨寤舵湡鐢宠澶辫触");
}
VehicleBorrowRecord refreshed = detail(existing.getId());
- startApproval(refreshed, TypeEnums.VEHICLE_DELAY_APPROVAL.getCode());
+ VehicleBorrowRecordDto recordDto = new VehicleBorrowRecordDto();
+ BeanUtil.copyProperties(refreshed, recordDto);
+ recordDto.setFormConfig(record.getFormConfig());
+ startApproval(recordDto, TypeEnums.VEHICLE_DELAY_APPROVAL.getCode());
return true;
}
@@ -329,11 +337,12 @@
}
}
- private void startApproval(VehicleBorrowRecord record, Long businessType) {
+ private void startApproval(VehicleBorrowRecordDto record, Long businessType) {
Long templateId = null;
- if (record instanceof VehicleBorrowRecordDto) {
- templateId = ((VehicleBorrowRecordDto) record).getApprovalTemplateId();
+ if (record == null) {
+ return;
}
+ templateId = record.getApprovalTemplateId();
ApprovalTemplate approvalTemplate = resolveApprovalTemplate(templateId, businessType);
ApprovalInstanceDto approvalInstanceDto = new ApprovalInstanceDto();
approvalInstanceDto.setTemplateId(approvalTemplate.getId());
@@ -346,6 +355,7 @@
approvalInstanceDto.setApplyTime(LocalDateTime.now());
approvalInstanceDto.setStatus("PENDING");
approvalInstanceDto.setCurrentLevel(1);
+ approvalInstanceDto.setFormConfig(record.getFormConfig());
boolean saved = approvalInstanceService.add(approvalInstanceDto);
if (!saved || approvalInstanceDto.getId() == null) {
--
Gitblit v1.9.3