| | |
| | | import com.ruoyi.approve.pojo.ApprovalInstance; |
| | | import com.ruoyi.approve.pojo.ApprovalTask; |
| | | import com.ruoyi.approve.pojo.ApprovalTemplate; |
| | | import com.ruoyi.approve.service.ApprovalInstanceService; |
| | | import com.ruoyi.approve.utils.ApproveProcessConfigNodeUtils; |
| | | import com.ruoyi.basic.enums.ApplicationTypeEnum; |
| | | import com.ruoyi.basic.enums.RecordTypeEnum; |
| | |
| | | private final SysDeptMapper sysDeptMapper; |
| | | private final SysUserDeptMapper sysUserDeptMapper; |
| | | private final ApprovalInstanceMapper approvalInstanceMapper; |
| | | private final ApprovalInstanceService approvalInstanceService; |
| | | private final ApprovalTemplateMapper approvalTemplateMapper; |
| | | private final ApproveProcessConfigNodeUtils approveProcessConfigNodeUtils; |
| | | private final ISysNoticeService sysNoticeService; |
| | |
| | | saveReadScopeRelations(enterpriseNews.getId(), readScope, deptIds, userIds); |
| | | fileUtil.saveStorageAttachment(ApplicationTypeEnum.FILE, RecordTypeEnum.ENTERPRISE_NEWS, enterpriseNews.getId(), enterpriseNewsDto.getStorageBlobDTOs()); |
| | | if (STATUS_PENDING.equals(enterpriseNews.getStatus())) { |
| | | resetEnterpriseNewsApprovalFlow(oldEnterpriseNews); |
| | | startEnterpriseNewsApproval(enterpriseNews, enterpriseNewsDto); |
| | | } |
| | | return true; |
| | |
| | | .eq(EnterpriseNewsScopeUser::getNewsId, newsId)); |
| | | } |
| | | |
| | | private void resetEnterpriseNewsApprovalFlow(EnterpriseNews oldEnterpriseNews) { |
| | | if (oldEnterpriseNews == null || !STATUS_DRAFT.equals(oldEnterpriseNews.getStatus())) { |
| | | return; |
| | | } |
| | | List<Long> approvalInstanceIds = approvalInstanceMapper.selectList(new LambdaQueryWrapper<ApprovalInstance>() |
| | | .eq(ApprovalInstance::getBusinessId, oldEnterpriseNews.getId()) |
| | | .eq(ApprovalInstance::getBusinessType, TypeEnums.ENTERPRISE_NEWS_APPROVAL.getCode()) |
| | | .eq(ApprovalInstance::getDeleted, (byte) 0)) |
| | | .stream() |
| | | .map(ApprovalInstance::getId) |
| | | .filter(id -> id != null && id > 0) |
| | | .collect(Collectors.toList()); |
| | | if (StringUtils.isEmpty(approvalInstanceIds)) { |
| | | return; |
| | | } |
| | | approvalInstanceService.delete(approvalInstanceIds); |
| | | } |
| | | |
| | | private List<Long> distinctIds(List<Long> ids) { |
| | | if (StringUtils.isEmpty(ids)) { |
| | | return new ArrayList<>(); |