fix(标准化活动、资料中心): 79956
This commit is contained in:
-1
@@ -30,7 +30,6 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author liJiaRao
|
* @author liJiaRao
|
||||||
|
|||||||
+48
@@ -0,0 +1,48 @@
|
|||||||
|
package com.jero.modules.laws.standardization.common;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName: LawsStandardizationCommon
|
||||||
|
* @Description:
|
||||||
|
* @Author: yjz
|
||||||
|
* @Date: 2024-01-22 09:36
|
||||||
|
* @Version: 1.0
|
||||||
|
**/
|
||||||
|
public class LawsStandardizationCommon {
|
||||||
|
private void LawsStandardization(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标准化活动节点类型 ROOT:总标委,WYH:委员会,FBW:委员会,GROUP:工作组
|
||||||
|
*/
|
||||||
|
public static final String ROOT = "ROOT";
|
||||||
|
/**
|
||||||
|
* 标准化活动节点类型 ROOT:总标委,WYH:委员会,FBW:委员会,GROUP:工作组
|
||||||
|
*/
|
||||||
|
public static final String WYH = "WYH";
|
||||||
|
/**
|
||||||
|
* 标准化活动节点类型 ROOT:总标委,WYH:委员会,FBW:委员会,GROUP:工作组
|
||||||
|
*/
|
||||||
|
public static final String FBW = "FBW";
|
||||||
|
/**
|
||||||
|
* 标准化活动节点类型 ROOT:总标委,WYH:委员会,FBW:委员会,GROUP:工作组
|
||||||
|
*/
|
||||||
|
public static final String GROUP = "GROUP";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 层级 0,1,2,3
|
||||||
|
*/
|
||||||
|
public static final Long LEVEL_0 = 0L;
|
||||||
|
/**
|
||||||
|
* 层级 0,1,2,3
|
||||||
|
*/
|
||||||
|
public static final Long LEVEL_1 = 1L;
|
||||||
|
/**
|
||||||
|
* 层级 0,1,2,3
|
||||||
|
*/
|
||||||
|
public static final Long LEVEL_2 = 2L;
|
||||||
|
/**
|
||||||
|
* 层级 0,1,2,3
|
||||||
|
*/
|
||||||
|
public static final Long LEVEL_3 = 3L;
|
||||||
|
}
|
||||||
+2
@@ -50,6 +50,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
|||||||
@ApiOperation(value="标准化活动-树结构查询", notes="标准化活动-树结构查询")
|
@ApiOperation(value="标准化活动-树结构查询", notes="标准化活动-树结构查询")
|
||||||
@GetMapping(value = "/queryTreeList")
|
@GetMapping(value = "/queryTreeList")
|
||||||
@RequiresPermissions("standardActivity:search")
|
@RequiresPermissions("standardActivity:search")
|
||||||
|
@Translation
|
||||||
public Result<LawsStandardization> queryTreeList() {
|
public Result<LawsStandardization> queryTreeList() {
|
||||||
return Result.OK(lawsStandardizationService.queryTreeList());
|
return Result.OK(lawsStandardizationService.queryTreeList());
|
||||||
}
|
}
|
||||||
@@ -62,6 +63,7 @@ public class LawsStandardizationController extends JeroController<LawsStandardiz
|
|||||||
@ApiOperation(value="标准化活动-统计列表", notes="标准化活动-统计列表")
|
@ApiOperation(value="标准化活动-统计列表", notes="标准化活动-统计列表")
|
||||||
@GetMapping(value = "/queryStatistics")
|
@GetMapping(value = "/queryStatistics")
|
||||||
@RequiresPermissions("standardActivity:statistical")
|
@RequiresPermissions("standardActivity:statistical")
|
||||||
|
@Translation
|
||||||
public Result<List<LawsStandardization>> queryStatistics() {
|
public Result<List<LawsStandardization>> queryStatistics() {
|
||||||
return Result.OK(lawsStandardizationService.queryStatistics());
|
return Result.OK(lawsStandardizationService.queryStatistics());
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-4
@@ -2,6 +2,7 @@ package com.jero.modules.laws.standardization.entity;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.jero.common.aspect.annotation.Dict;
|
||||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@@ -36,9 +37,10 @@ public class LawsStandardization extends BaseEntity {
|
|||||||
@ApiModelProperty(value = "上级节点名称")
|
@ApiModelProperty(value = "上级节点名称")
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private java.lang.String supperName;
|
private java.lang.String supperName;
|
||||||
/**节点类型(固定:分标委)*/
|
/**节点类型*/
|
||||||
@Excel(name = "节点类型", width = 15)
|
@Excel(name = "节点类型", width = 15)
|
||||||
@ApiModelProperty(value = "节点类型(固定:分标委)")
|
@ApiModelProperty(value = "节点类型")
|
||||||
|
@Dict(dicCode = "standardization_type")
|
||||||
private java.lang.String standardizationType;
|
private java.lang.String standardizationType;
|
||||||
/**编号*/
|
/**编号*/
|
||||||
@Excel(name = "编号", width = 15)
|
@Excel(name = "编号", width = 15)
|
||||||
@@ -60,10 +62,11 @@ public class LawsStandardization extends BaseEntity {
|
|||||||
@Excel(name = "部门code", width = 15)
|
@Excel(name = "部门code", width = 15)
|
||||||
@ApiModelProperty(value = "部门code")
|
@ApiModelProperty(value = "部门code")
|
||||||
private java.lang.String orgCode;
|
private java.lang.String orgCode;
|
||||||
|
|
||||||
/**层级*/
|
/**层级*/
|
||||||
@TableField(exist = false)
|
@Excel(name = "层级", width = 15)
|
||||||
|
@ApiModelProperty(value = "层级")
|
||||||
private Long level;
|
private Long level;
|
||||||
|
|
||||||
/**子节点*/
|
/**子节点*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private List<LawsStandardization> children;
|
private List<LawsStandardization> children;
|
||||||
|
|||||||
+57
-65
@@ -10,7 +10,10 @@ import com.jero.common.system.vo.LoginUser;
|
|||||||
import com.jero.common.util.PasswordUtil;
|
import com.jero.common.util.PasswordUtil;
|
||||||
import com.jero.common.util.SnowflakeUtils;
|
import com.jero.common.util.SnowflakeUtils;
|
||||||
import com.jero.modules.laws.dataCenter.entity.LawsDataCenterFile;
|
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.ILawsDataCenterFileService;
|
||||||
|
import com.jero.modules.laws.dataCenter.service.ILawsDataCenterFolderService;
|
||||||
|
import com.jero.modules.laws.standardization.common.LawsStandardizationCommon;
|
||||||
import com.jero.modules.laws.standardization.entity.*;
|
import com.jero.modules.laws.standardization.entity.*;
|
||||||
import com.jero.modules.laws.standardization.mapper.LawsStandardizationMapper;
|
import com.jero.modules.laws.standardization.mapper.LawsStandardizationMapper;
|
||||||
import com.jero.modules.laws.standardization.service.*;
|
import com.jero.modules.laws.standardization.service.*;
|
||||||
@@ -50,6 +53,7 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
private final ILawsStandardizationMeetingService lawsStandardizationMeetingService;
|
private final ILawsStandardizationMeetingService lawsStandardizationMeetingService;
|
||||||
private final IOSSFileService ossFileService;
|
private final IOSSFileService ossFileService;
|
||||||
private final ILawsDataCenterFileService lawsDataCenterFileService;
|
private final ILawsDataCenterFileService lawsDataCenterFileService;
|
||||||
|
private final ILawsDataCenterFolderService lawsDataCenterFolderService;
|
||||||
private final ISysUserService sysUserService;
|
private final ISysUserService sysUserService;
|
||||||
private final ISysDepartService sysDepartService;
|
private final ISysDepartService sysDepartService;
|
||||||
|
|
||||||
@@ -60,6 +64,7 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
ILawsStandardizationMeetingService lawsStandardizationMeetingService,
|
ILawsStandardizationMeetingService lawsStandardizationMeetingService,
|
||||||
IOSSFileService ossFileService,
|
IOSSFileService ossFileService,
|
||||||
ILawsDataCenterFileService lawsDataCenterFileService,
|
ILawsDataCenterFileService lawsDataCenterFileService,
|
||||||
|
ILawsDataCenterFolderService lawsDataCenterFolderService,
|
||||||
ISysUserService sysUserService,
|
ISysUserService sysUserService,
|
||||||
ISysDepartService sysDepartService) {
|
ISysDepartService sysDepartService) {
|
||||||
this.lawsStandardizationService = lawsStandardizationService;
|
this.lawsStandardizationService = lawsStandardizationService;
|
||||||
@@ -69,6 +74,7 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
this.lawsStandardizationMeetingService = lawsStandardizationMeetingService;
|
this.lawsStandardizationMeetingService = lawsStandardizationMeetingService;
|
||||||
this.ossFileService = ossFileService;
|
this.ossFileService = ossFileService;
|
||||||
this.lawsDataCenterFileService = lawsDataCenterFileService;
|
this.lawsDataCenterFileService = lawsDataCenterFileService;
|
||||||
|
this.lawsDataCenterFolderService = lawsDataCenterFolderService;
|
||||||
this.sysUserService = sysUserService;
|
this.sysUserService = sysUserService;
|
||||||
this.sysDepartService = sysDepartService;
|
this.sysDepartService = sysDepartService;
|
||||||
}
|
}
|
||||||
@@ -194,8 +200,9 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
for (String meetingData : meetingDataList) {
|
for (String meetingData : meetingDataList) {
|
||||||
LawsDataCenterFile lawsDataCenterFile = new LawsDataCenterFile();
|
LawsDataCenterFile lawsDataCenterFile = new LawsDataCenterFile();
|
||||||
lawsDataCenterFile.setFileId(meetingData);
|
lawsDataCenterFile.setFileId(meetingData);
|
||||||
// XXX(分标委名称)- XXXX(工作组名称)-会议名称
|
// XXX(分标委名称)- XXX(工作组名称)-会议名称
|
||||||
lawsDataCenterFile.setFileDescription(getFileDescription(lawsStandardization, standardizationMeeting.getName()));
|
String fileDescription = getAndSetFileDescription(lawsStandardization, standardizationMeeting.getName(), lawsDataCenterFile);
|
||||||
|
lawsDataCenterFile.setFileDescription(fileDescription);
|
||||||
lawsDataCenterFile.setCreateBy(standardizationMeeting.getCreateBy());
|
lawsDataCenterFile.setCreateBy(standardizationMeeting.getCreateBy());
|
||||||
List<SysDepart> sysDeparts = sysDepartService.queryDepartsByUsername(standardizationMeeting.getCreateBy());
|
List<SysDepart> sysDeparts = sysDepartService.queryDepartsByUsername(standardizationMeeting.getCreateBy());
|
||||||
SysUser sysUser = sysUserService.getUserByName(standardizationMeeting.getCreateBy());
|
SysUser sysUser = sysUserService.getUserByName(standardizationMeeting.getCreateBy());
|
||||||
@@ -204,63 +211,58 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
lawsDataCenterFile.setOwnerId(Objects.isNull(sysUser) ? loginUser.getId() : sysUser.getId());
|
lawsDataCenterFile.setOwnerId(Objects.isNull(sysUser) ? loginUser.getId() : sysUser.getId());
|
||||||
lawsDataCenterFile.setUploader(Objects.isNull(sysUser) ? loginUser.calcNameWorkNo() : sysUser.calcNameWorkNo());
|
lawsDataCenterFile.setUploader(Objects.isNull(sysUser) ? loginUser.calcNameWorkNo() : sysUser.calcNameWorkNo());
|
||||||
lawsDataCenterFile.setOrgCode(String.join(",", orgCodeList));
|
lawsDataCenterFile.setOrgCode(String.join(",", orgCodeList));
|
||||||
lawsDataCenterFileService.add(lawsDataCenterFile);
|
String folderId = lawsDataCenterFile.getFolderId();
|
||||||
|
if (StringUtils.isNotBlank(folderId)){
|
||||||
|
for (String fId : folderId.split(",")) {
|
||||||
|
lawsDataCenterFile.setFolderId(fId);
|
||||||
|
lawsDataCenterFileService.add(lawsDataCenterFile);
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
lawsDataCenterFileService.add(lawsDataCenterFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getFileDescription(LawsStandardization lawsStandardization, String name) {
|
private String getAndSetFileDescription(LawsStandardization lawsStandardization, String name, LawsDataCenterFile lawsDataCenterFile) {
|
||||||
// 树形结构
|
|
||||||
LawsStandardization treeList = queryTreeList();
|
|
||||||
// 拆开为list结构
|
|
||||||
List<LawsStandardization> list = new ArrayList<>();
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
treeToList(treeList, list);
|
if (LawsStandardizationCommon.GROUP.equals(lawsStandardization.getStandardizationType())){
|
||||||
|
// 工作组层级:XXX(分标委名称)- XXX(工作组名称)-会议名称
|
||||||
|
LawsStandardization fatherNode = getOne(new LambdaQueryWrapper<LawsStandardization>()
|
||||||
|
.eq(LawsStandardization::getId, lawsStandardization.getPid()));
|
||||||
|
stringBuilder.append(fatherNode.getName()).append("-").append(lawsStandardization.getName());
|
||||||
|
|
||||||
|
// 绑定目录
|
||||||
// 获取一二级节点名称
|
// 先匹配分标委名称
|
||||||
Optional<LawsStandardization> optional = list.stream().filter(v -> v.getId().equals(lawsStandardization.getId())).findFirst();
|
List<LawsDataCenterFolder> fatherFolder = lawsDataCenterFolderService.list(
|
||||||
optional.ifPresent(v -> {
|
new LambdaQueryWrapper<LawsDataCenterFolder>()
|
||||||
if (optional.get().getLevel().equals(2L)){
|
.eq(LawsDataCenterFolder::getFolderName, fatherNode.getName()));
|
||||||
Optional<LawsStandardization> optionalOne = list.stream().filter(o -> o.getId().equals(lawsStandardization.getPid())).findFirst();
|
if (!fatherFolder.isEmpty()){
|
||||||
optionalOne.ifPresent(l -> stringBuilder.append(l.getName()).append("-").append(v.getName()));
|
List<String> idList = fatherFolder.stream().map(LawsDataCenterFolder::getId).collect(Collectors.toList());
|
||||||
}else if (optional.get().getLevel().equals(1L)){
|
// 查询子集, 再匹配工作组名称
|
||||||
stringBuilder.append(v.getName());
|
List<LawsDataCenterFolder> lawsDataCenterFolderList = lawsDataCenterFolderService.list(
|
||||||
}
|
new LambdaQueryWrapper<LawsDataCenterFolder>()
|
||||||
});
|
.in(LawsDataCenterFolder::getParentId, idList)
|
||||||
if (stringBuilder.length() < 0){
|
.eq(LawsDataCenterFolder::getFolderName, lawsStandardization.getName()));
|
||||||
getNodeName(lawsStandardization, list, stringBuilder);
|
if (!lawsDataCenterFolderList.isEmpty()){
|
||||||
}
|
lawsDataCenterFile.setFolderId(lawsDataCenterFolderList.stream().map(LawsDataCenterFolder::getId).collect(Collectors.joining(",")));
|
||||||
|
}else {
|
||||||
if (stringBuilder.length() > 0){
|
// 工作组不存在则绑定到分标委目录
|
||||||
stringBuilder.append("-");
|
lawsDataCenterFile.setFolderId(String.join(",", idList));
|
||||||
}
|
|
||||||
return stringBuilder.append(name).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void getNodeName(LawsStandardization lawsStandardization, List<LawsStandardization> list, StringBuilder stringBuilder) {
|
|
||||||
Optional<LawsStandardization> first = list.stream().filter(v -> v.getId().equals(lawsStandardization.getPid())).findFirst();
|
|
||||||
first.ifPresent(v -> {
|
|
||||||
// 工作组
|
|
||||||
if (first.get().getLevel().equals(2L)){
|
|
||||||
stringBuilder.append(v.getName());
|
|
||||||
}
|
|
||||||
// 委员会
|
|
||||||
if (first.get().getLevel().equals(1L)){
|
|
||||||
stringBuilder.insert(0, v.getName() + "-");
|
|
||||||
}
|
|
||||||
getNodeName(v, list, stringBuilder);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void treeToList(LawsStandardization treeList, List<LawsStandardization> list) {
|
|
||||||
if (!Objects.isNull(treeList)){
|
|
||||||
list.add(treeList);
|
|
||||||
if (!Objects.isNull(treeList.getChildren()) && !treeList.getChildren().isEmpty()) {
|
|
||||||
for (LawsStandardization tree : treeList.getChildren()) {
|
|
||||||
treeToList(tree, list);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}else {
|
||||||
|
// (分标委/委员会/总标委名称)-会议名称
|
||||||
|
stringBuilder.append(lawsStandardization.getName());
|
||||||
|
|
||||||
|
// 绑定目录
|
||||||
|
List<LawsDataCenterFolder> lawsDataCenterFolderList = lawsDataCenterFolderService.list(
|
||||||
|
new LambdaQueryWrapper<LawsDataCenterFolder>()
|
||||||
|
.eq(LawsDataCenterFolder::getFolderName, lawsStandardization.getName()));
|
||||||
|
if (!lawsDataCenterFolderList.isEmpty()){
|
||||||
|
lawsDataCenterFile.setFolderId(lawsDataCenterFolderList.stream().map(LawsDataCenterFolder::getId).collect(Collectors.joining(",")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return stringBuilder.append("-").append(name).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -326,7 +328,7 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
if (standardizationGroupList.isEmpty()){
|
if (standardizationGroupList.isEmpty()){
|
||||||
// 删除全部数据
|
// 删除全部数据
|
||||||
lawsStandardizationGroupService.remove(new LambdaQueryWrapper<LawsStandardizationGroup>()
|
lawsStandardizationGroupService.remove(new LambdaQueryWrapper<LawsStandardizationGroup>()
|
||||||
.eq(LawsStandardizationGroup::getStandardizationId, lawsStandardization.getId()));
|
.eq(LawsStandardizationGroup::getStandardizationId, lawsStandardization.getId()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -414,12 +416,10 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
public LawsStandardization queryTreeList() {
|
public LawsStandardization queryTreeList() {
|
||||||
// 查询所有数据
|
// 查询所有数据
|
||||||
List<LawsStandardization> list = list(new LambdaQueryWrapper<LawsStandardization>().orderByAsc(LawsStandardization::getCreateTime));
|
List<LawsStandardization> list = list(new LambdaQueryWrapper<LawsStandardization>().orderByAsc(LawsStandardization::getCreateTime));
|
||||||
Long level = 0L;
|
|
||||||
return list.stream()
|
return list.stream()
|
||||||
.filter(v -> "0".equals(v.getPid()))
|
.filter(v -> "0".equals(v.getPid()))
|
||||||
.map(v ->{
|
.map(v ->{
|
||||||
v.setLevel(level);
|
v.setChildren(createChildren(v, list));
|
||||||
v.setChildren(createChildren(v, list, level));
|
|
||||||
return v;
|
return v;
|
||||||
}).collect(Collectors.toList()).get(0);
|
}).collect(Collectors.toList()).get(0);
|
||||||
}
|
}
|
||||||
@@ -590,21 +590,13 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
|
|||||||
*
|
*
|
||||||
* @param tree 当前树节点
|
* @param tree 当前树节点
|
||||||
* @param treeList 树节点列表
|
* @param treeList 树节点列表
|
||||||
* @param level 层级
|
|
||||||
* @return 子节点列表
|
* @return 子节点列表
|
||||||
*/
|
*/
|
||||||
private List<LawsStandardization> createChildren(LawsStandardization tree, List<LawsStandardization> treeList, Long level){
|
private List<LawsStandardization> createChildren(LawsStandardization tree, List<LawsStandardization> treeList){
|
||||||
List<LawsStandardization> collect = treeList.stream().filter(v -> tree.getId().equals(v.getPid())).collect(Collectors.toList());
|
List<LawsStandardization> collect = treeList.stream().filter(v -> tree.getId().equals(v.getPid())).collect(Collectors.toList());
|
||||||
if (collect.isEmpty()){
|
|
||||||
level -= 1L;
|
|
||||||
}else {
|
|
||||||
level += 1L;
|
|
||||||
}
|
|
||||||
Long finalLevel = level;
|
|
||||||
return collect.stream()
|
return collect.stream()
|
||||||
.map(v -> {
|
.map(v -> {
|
||||||
v.setLevel(finalLevel);
|
v.setChildren(createChildren(v, treeList));
|
||||||
v.setChildren(createChildren(v, treeList, finalLevel));
|
|
||||||
return v;
|
return v;
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|||||||
Reference in New Issue
Block a user