feat: 会后管理流程结束后同步资料中心结构
This commit is contained in:
+74
-1
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.meetingmanage.service.impl;
|
|||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
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.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
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.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
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.common.LawsStandardizationCommon;
|
||||||
import com.jero.modules.laws.standardization.entity.LawsStandardization;
|
import com.jero.modules.laws.standardization.entity.LawsStandardization;
|
||||||
import com.jero.modules.laws.standardization.entity.LawsStandardizationMeeting;
|
import com.jero.modules.laws.standardization.entity.LawsStandardizationMeeting;
|
||||||
@@ -70,6 +76,12 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
|
|||||||
private final ISysUserService sysUserService;
|
private final ISysUserService sysUserService;
|
||||||
private final FlowUtility flowUtility;
|
private final FlowUtility flowUtility;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ILawsDataCenterFolderService lawsDataCenterFolderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ILawsDataCenterFileService lawsDataCenterFileService;
|
||||||
|
|
||||||
public MeetingManageFlowServiceImpl(ProcessAllService processAllService,
|
public MeetingManageFlowServiceImpl(ProcessAllService processAllService,
|
||||||
ProcessApprovalRecordService processApprovalRecordService,
|
ProcessApprovalRecordService processApprovalRecordService,
|
||||||
ProcessDraftService processDraftService,
|
ProcessDraftService processDraftService,
|
||||||
@@ -297,8 +309,8 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
|
|||||||
.eq(ProcessMeetingManage::getProjectId, processAll.getProjectId()), false);
|
.eq(ProcessMeetingManage::getProjectId, processAll.getProjectId()), false);
|
||||||
|
|
||||||
// 保存参会人员
|
// 保存参会人员
|
||||||
|
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
|
||||||
if (!meetingManageFlowVO.isNotAttend()){
|
if (!meetingManageFlowVO.isNotAttend()){
|
||||||
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
|
|
||||||
processMeetingManagePersonnel.setProcessMeetingManageId(processMeetingManage.getId());
|
processMeetingManagePersonnel.setProcessMeetingManageId(processMeetingManage.getId());
|
||||||
processMeetingManagePersonnel.setPersonnelId(loginUser.getId());
|
processMeetingManagePersonnel.setPersonnelId(loginUser.getId());
|
||||||
processMeetingManagePersonnel.setFileId(meetingManageFlowVO.getFileIds());
|
processMeetingManagePersonnel.setFileId(meetingManageFlowVO.getFileIds());
|
||||||
@@ -346,10 +358,71 @@ public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
|
|||||||
standardizationVO.setStandardizationGroupList(Collections.emptyList());
|
standardizationVO.setStandardizationGroupList(Collections.emptyList());
|
||||||
standardizationVO.setStandardizationLiaisonList(Collections.emptyList());
|
standardizationVO.setStandardizationLiaisonList(Collections.emptyList());
|
||||||
lawsStandardizationService.addOrUpdateStandardization(standardizationVO, LawsStandardizationCommon.SOURCE_2);
|
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
|
@Override
|
||||||
public void flowTransfer(String taskId, String userId) {
|
public void flowTransfer(String taskId, String userId) {
|
||||||
processHandleService.transfer(taskId, userId);
|
processHandleService.transfer(taskId, userId);
|
||||||
|
|||||||
-6
@@ -785,10 +785,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
// 筛选出表单显示的
|
// 筛选出表单显示的
|
||||||
fieldList = fieldList.stream().filter(lawsTag -> YesOrNoEnum.YES.getInteger()
|
fieldList = fieldList.stream().filter(lawsTag -> YesOrNoEnum.YES.getInteger()
|
||||||
.equals(lawsTag.getIsShowFormCreate())).collect(Collectors.toList());
|
.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();
|
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);
|
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber, updateWrapper);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 操作数据库进行新增数据
|
|
||||||
//lawsCommonMapper.commonAdd(tableName, fieldsBuilder.toString(), valuesBuilder.toString());
|
|
||||||
//根据类型更新数据
|
//根据类型更新数据
|
||||||
executeUpdateWrapperByModel(module, updateWrapper);
|
executeUpdateWrapperByModel(module, updateWrapper);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user