| | |
| | | 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; |
| | |
| | | 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()); |
| | |
| | | Vehicle vehicle = new Vehicle(); |
| | | vehicle.setId(existing.getVehicleId()); |
| | | vehicle.setStatus("IDLE"); |
| | | if (record.getReturnMileage() != null) { |
| | | vehicle.setMileage(record.getReturnMileage()); |
| | | } |
| | | vehicleMapper.updateById(vehicle); |
| | | return true; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | 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()); |
| | |
| | | approvalInstanceDto.setApplyTime(LocalDateTime.now()); |
| | | approvalInstanceDto.setStatus("PENDING"); |
| | | approvalInstanceDto.setCurrentLevel(1); |
| | | approvalInstanceDto.setFormConfig(record.getFormConfig()); |
| | | |
| | | boolean saved = approvalInstanceService.add(approvalInstanceDto); |
| | | if (!saved || approvalInstanceDto.getId() == null) { |