feat: 会后管理流程结束后同步资料中心结构

This commit is contained in:
2024-08-30 11:09:57 +08:00
parent fc47181033
commit 44c6e50b78
2 changed files with 74 additions and 7 deletions
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.meetingmanage.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -28,6 +29,11 @@ import com.jero.modules.activiti.process.meetingmanage.vo.MeetingManageFlowVO;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.laws.common.util.CurrentUserUtil;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile;
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFolder;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFileService;
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
import com.jero.modules.laws.standardization.common.LawsStandardizationCommon;
import com.jero.modules.laws.standardization.entity.LawsStandardization;
import com.jero.modules.laws.standardization.entity.LawsStandardizationMeeting;
@@ -70,6 +76,12 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
private final ISysUserService sysUserService;
private final FlowUtility flowUtility;
@Resource
private ILawsDataCenterFolderService lawsDataCenterFolderService;
@Resource
private ILawsDataCenterFileService lawsDataCenterFileService;
public MeetingManageFlowServiceImpl(ProcessAllService processAllService,
ProcessApprovalRecordService processApprovalRecordService,
ProcessDraftService processDraftService,
@@ -297,8 +309,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
.eq(ProcessMeetingManage::getProjectId, processAll.getProjectId()), false);
// 保存参会人员
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
if (!meetingManageFlowVO.isNotAttend()){
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
processMeetingManagePersonnel.setProcessMeetingManageId(processMeetingManage.getId());
processMeetingManagePersonnel.setPersonnelId(loginUser.getId());
processMeetingManagePersonnel.setFileId(meetingManageFlowVO.getFileIds());
@@ -346,10 +358,71 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
standardizationVO.setStandardizationGroupList(Collections.emptyList());
standardizationVO.setStandardizationLiaisonList(Collections.emptyList());
lawsStandardizationService.addOrUpdateStandardization(standardizationVO, LawsStandardizationCommon.SOURCE_2);
// 更改文件在资料中心的位置
this.updateFolderDataCenter(processMeetingManage, processMeetingManagePersonnel);
}
}
}
private void updateFolderDataCenter(ProcessMeetingManage processMeetingManage, ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
String fileIds = processMeetingManagePersonnel.getFileId();
if (StrUtil.isBlank(fileIds)) {
return;
}
// 找到根目录
LambdaQueryWrapper<LawsDataCenterFolder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(LawsDataCenterFolder::getFolderName, "根目录");
LawsDataCenterFolder root = lawsDataCenterFolderService.getOne(queryWrapper);
// 判断资料中心是否有一级和二级的文件夹,没有则创建
LawsStandardization first = lawsStandardizationService.getById(processMeetingManage.getStandardizationFirstId());
queryWrapper.clear();
queryWrapper.eq(LawsDataCenterFolder::getFolderName, first.getName());
LawsDataCenterFolder one = lawsDataCenterFolderService.getOne(queryWrapper);
String finalFolderId = "";
if (one == null) {
// 创建一级目录
LawsDataCenterFolder folder = new LawsDataCenterFolder();
folder.setFolderName(first.getName());
folder.setParentId(root.getId());
folder.setDefaultFolder("0");
folder.setOwnerId(CurrentUserUtil.getId());
lawsDataCenterFolderService.save(folder);
one = folder;
finalFolderId = one.getId();
} else {
finalFolderId = one.getId();
}
String secondId = processMeetingManage.getStandardizationSecondId();
if (StrUtil.isNotBlank(secondId)) {
LawsStandardization second = lawsStandardizationService.getById(processMeetingManage.getStandardizationSecondId());
queryWrapper.clear();
queryWrapper.eq(LawsDataCenterFolder::getFolderName, second.getName());
LawsDataCenterFolder two = lawsDataCenterFolderService.getOne(queryWrapper);
if (two == null) {
// 创建一级目录
LawsDataCenterFolder folder = new LawsDataCenterFolder();
folder.setFolderName(second.getName());
folder.setParentId(one.getId());
folder.setDefaultFolder("0");
folder.setOwnerId(CurrentUserUtil.getId());
lawsDataCenterFolderService.save(folder);
two = folder;
finalFolderId = two.getId();
} else {
finalFolderId = two.getId();
}
}
// 移动文件位置
LambdaUpdateWrapper<LawsDataCenterFile> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(LawsDataCenterFile::getFileId, Arrays.asList(fileIds.split(",")));
updateWrapper.set(LawsDataCenterFile::getFolderId, finalFolderId);
lawsDataCenterFileService.update(updateWrapper);
}
@Override
public void flowTransfer(String taskId, String userId) {
processHandleService.transfer(taskId, userId);
@@ -785,10 +785,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 筛选出表单显示的
fieldList = fieldList.stream().filter(lawsTag -> YesOrNoEnum.YES.getInteger()
.equals(lawsTag.getIsShowFormCreate())).collect(Collectors.toList());
// 新增字段
StringBuilder fieldsBuilder = new StringBuilder();
// 新增数据值
StringBuilder valuesBuilder = new StringBuilder();
// 对默认的字段赋值
String existId = parameterMap.get(FieldCommon.ID) == null ? "" : parameterMap.get(FieldCommon.ID).toString();
//先新增后面在编辑
@@ -825,8 +821,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber, updateWrapper);
}
}
// 操作数据库进行新增数据
//lawsCommonMapper.commonAdd(tableName, fieldsBuilder.toString(), valuesBuilder.toString());
//根据类型更新数据
executeUpdateWrapperByModel(module, updateWrapper);