| | |
| | | import com.ruoyi.approve.pojo.ApprovalTemplateNodeApprover; |
| | | import com.ruoyi.approve.service.ApprovalTemplateNodeService; |
| | | import com.ruoyi.approve.service.ApprovalTemplateService; |
| | | import com.ruoyi.basic.dto.StorageBlobDTO; |
| | | import com.ruoyi.basic.enums.ApplicationTypeEnum; |
| | | import com.ruoyi.basic.enums.RecordTypeEnum; |
| | | import com.ruoyi.basic.utils.FileUtil; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.Comparator; |
| | |
| | | private final ApprovalTemplateMapper approvalTemplateMapper; |
| | | private final ApprovalTemplateNodeService approvalTemplateNodeService; |
| | | private final ApprovalTemplateNodeApproverMapper approvalTemplateNodeApproverMapper; |
| | | private final FileUtil fileUtil; |
| | | |
| | | @Override |
| | | public IPage<ApprovalTemplateVo> listPage(Page<ApprovalTemplateVo> page, ApprovalTemplateDto approvalTemplateDto) { |
| | |
| | | new LambdaQueryWrapper<ApprovalTemplateNodeApprover>() |
| | | .eq(ApprovalTemplateNodeApprover::getTemplateId, approvalTemplateDto.getId()) |
| | | ); |
| | | // 保存附件 |
| | | List<StorageBlobDTO> storageBlobDTOs = approvalTemplateDto.getStorageBlobDTOs(); |
| | | if (!CollectionUtils.isEmpty(storageBlobDTOs)) { |
| | | fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.APPROVAL_TEMPLATE, approvalTemplateDto.getId(), storageBlobDTOs); |
| | | } |
| | | return approvalTemplateNodeService.saveApprovalTemplateNode( |
| | | approvalTemplateDto.getId(), |
| | | approvalTemplateDto.getNodes() |
| | |
| | | new LambdaQueryWrapper<ApprovalTemplateNodeApprover>() |
| | | .eq(ApprovalTemplateNodeApprover::getTemplateId, approvalTemplateDto.getId()) |
| | | ); |
| | | // 保存附件(会先删除旧附件) |
| | | List<StorageBlobDTO> storageBlobDTOs = approvalTemplateDto.getStorageBlobDTOs(); |
| | | if (!CollectionUtils.isEmpty(storageBlobDTOs)) { |
| | | fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.APPROVAL_TEMPLATE, approvalTemplateDto.getId(), storageBlobDTOs); |
| | | } else { |
| | | // 如果前端传空数组,删除旧附件 |
| | | fileUtil.deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId( |
| | | ApplicationTypeEnum.FILE, RecordTypeEnum.APPROVAL_TEMPLATE, approvalTemplateDto.getId() |
| | | ); |
| | | } |
| | | return approvalTemplateNodeService.saveApprovalTemplateNode( |
| | | approvalTemplateDto.getId(), |
| | | approvalTemplateDto.getNodes() |
| | |
| | | .collect(Collectors.toList()); |
| | | |
| | | templateVo.setNodes(nodeVos); |
| | | // 查询附件 |
| | | templateVo.setStorageBlobDTOs( |
| | | fileUtil.getStorageBlobVOsByApplicationAndRecordTypeAndRecordId( |
| | | ApplicationTypeEnum.FILE, RecordTypeEnum.APPROVAL_TEMPLATE, template.getId() |
| | | ) |
| | | ); |
| | | return templateVo; |
| | | } |
| | | |