diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java index 849d76de..cc03f191 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/meetingmanage/service/impl/MeetingManageFlowServiceImpl.java @@ -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 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 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); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 6ade6157..98e9da91 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -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);