5 天以前 65ea825eb3e8547f0222224835554dabaec5a7ad
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) {