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