diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java index d890826a..45ee9a5a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java @@ -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 diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardization/common/LawsStandardizationCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/standardization/common/LawsStandardizationCommon.java new file mode 100644 index 00000000..8c497811 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardization/common/LawsStandardizationCommon.java @@ -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; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardization/controller/LawsStandardizationController.java b/laws-modules/src/main/java/com/jero/modules/laws/standardization/controller/LawsStandardizationController.java index badc7c3e..39252083 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standardization/controller/LawsStandardizationController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardization/controller/LawsStandardizationController.java @@ -50,6 +50,7 @@ public class LawsStandardizationController extends JeroController queryTreeList() { return Result.OK(lawsStandardizationService.queryTreeList()); } @@ -62,6 +63,7 @@ public class LawsStandardizationController extends JeroController> queryStatistics() { return Result.OK(lawsStandardizationService.queryStatistics()); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardization/entity/LawsStandardization.java b/laws-modules/src/main/java/com/jero/modules/laws/standardization/entity/LawsStandardization.java index 251cf2f5..733650e5 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standardization/entity/LawsStandardization.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardization/entity/LawsStandardization.java @@ -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 children; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/standardization/service/impl/LawsStandardizationServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/standardization/service/impl/LawsStandardizationServiceImpl.java index 79578c00..a09af5f9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/standardization/service/impl/LawsStandardizationServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/standardization/service/impl/LawsStandardizationServiceImpl.java @@ -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 sysDeparts = sysDepartService.queryDepartsByUsername(standardizationMeeting.getCreateBy()); SysUser sysUser = sysUserService.getUserByName(standardizationMeeting.getCreateBy()); @@ -204,63 +211,58 @@ public class LawsStandardizationServiceImpl extends ServiceImpl 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() + .eq(LawsStandardization::getId, lawsStandardization.getPid())); + stringBuilder.append(fatherNode.getName()).append("-").append(lawsStandardization.getName()); - - // 获取一二级节点名称 - Optional optional = list.stream().filter(v -> v.getId().equals(lawsStandardization.getId())).findFirst(); - optional.ifPresent(v -> { - if (optional.get().getLevel().equals(2L)){ - Optional 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 list, StringBuilder stringBuilder) { - Optional 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 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 fatherFolder = lawsDataCenterFolderService.list( + new LambdaQueryWrapper() + .eq(LawsDataCenterFolder::getFolderName, fatherNode.getName())); + if (!fatherFolder.isEmpty()){ + List idList = fatherFolder.stream().map(LawsDataCenterFolder::getId).collect(Collectors.toList()); + // 查询子集, 再匹配工作组名称 + List lawsDataCenterFolderList = lawsDataCenterFolderService.list( + new LambdaQueryWrapper() + .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 lawsDataCenterFolderList = lawsDataCenterFolderService.list( + new LambdaQueryWrapper() + .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() - .eq(LawsStandardizationGroup::getStandardizationId, lawsStandardization.getId())); + .eq(LawsStandardizationGroup::getStandardizationId, lawsStandardization.getId())); return; } @@ -414,12 +416,10 @@ public class LawsStandardizationServiceImpl extends ServiceImpl list = list(new LambdaQueryWrapper().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 createChildren(LawsStandardization tree, List treeList, Long level){ + private List createChildren(LawsStandardization tree, List treeList){ List 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());