Commit c350b05b by zhangkb

提交修改标签接口

parent d8b26a8c
......@@ -44,14 +44,11 @@ public class TagCtrl {
tag.setCreator(userName);
tag.setTagUser(userId);
tag.setDept(org);
//如果是创建维度标签,直接保存公司机构id
if(tag.getDimensionType().equals(Constants.TAG_DIMENSION_TRUE)) {
tag.setProDept(org);
}else{
//根据当前登录用户所属机构获取公司机构id
String companyOrgId = tagService.getCompanyOrgIdByUserOrgId(org);
tag.setProDept(companyOrgId);
}
//调用新增或者修改标签接口
return tagService.addOrUpdateTag(parentId, tag, userName);
}
......@@ -80,7 +77,7 @@ public class TagCtrl {
return tagService.queryDimensionTagAsTree(deptIdPath, parentId);
}
@ApiOperation(value = "查询个人标签树", notes = "查询个人标签树")
@ApiOperation(value = "获取个人标签树", notes = "获取个人标签树")
@GetMapping(value = "/queryPersonalTagAsTree")
public JsonNode[] queryPersonalTagAsTree(
@RequestParam(value = "parentId", required = false) String parentId,
......@@ -100,7 +97,7 @@ public class TagCtrl {
@RequestParam(required = false , value = "deptIdPath") String deptIdPath,
@RequestParam(required = false , value = "path") String path,
@RequestParam("pageNo") Integer pageNo,
@RequestParam("pageSize") Integer pageSize) {
@RequestParam("pageSize") Integer pageSize) throws TagNotExistException{
String userName = UserInfoUtils.getUserId();
deptIdPath = UserInfoUtils.getDataRoleOrg();
return tagService.searchPersonalDimensionTagByPage(userName, deptIdPath, keyword,
......
......@@ -115,12 +115,14 @@ public class TagService {
//获取维度标签树
public JsonNode[] queryDimensionTagAsTree(String dept, String parentId) throws TagNotExistException {
List<Tag> tags = new ArrayList<>();
//根据当前登录用户所属机构获取对应公司机构id
String companyOrgId = this.getCompanyOrgIdByUserOrgId(dept);
if (StringUtils.isEmpty(parentId)) {//从根节点开始获取
tags = mongoOperations.find(createDimensionTagQuery(dept), Tag.class);
tags = mongoOperations.find(createDimensionTagQuery(companyOrgId), Tag.class);
} else {
Tag parentTag = getTagById(parentId);
//获取父节点标签下的所有子标签
tags = getDimensionSubTag(parentTag);
tags = getDimensionSubTag(parentTag,companyOrgId);
//tags.forEach(tag -> tag.setPath(tag.getPath().replaceAll(parentTag.getPath(), parentTag.getName())));
}
List<JsonNode> nodes = new ArrayList<>();
......@@ -189,8 +191,9 @@ public class TagService {
}
//根据关键字查询维度标签数据
public Page searchPersonalDimensionTagByPage(String userName, String dept, String keyword, String path, Integer domain, Page page) {
Criteria andCriterias = createPersonalDimensionTagCriteria(userName, dept);
public Page searchPersonalDimensionTagByPage(String userName, String dept, String keyword,
String path, Integer domain, Page page) throws TagNotExistException{
Criteria andCriterias = createPersonalDimensionTagCriteria(userName, path, dept);
if (StringUtils.isNotBlank(keyword) && !"*".equals(keyword)) {
andCriterias.andOperator(createKeywordRegexQuery(Arrays.asList("name", "nameEn", "desc"), keyword));
}
......@@ -352,11 +355,11 @@ public class TagService {
.with(Sort.by(getDefaultTagOrders()));
}
//根据机构获取当前维度标签的所有子标签
private List<Tag> getDimensionSubTag(Tag parentTag) {
private List<Tag> getDimensionSubTag(Tag parentTag,String companyOrgId) {
List<Tag> dirs = mongoOperations.find(new Query().addCriteria(Criteria.where("path")
.regex("^"+parentTag.getPath() + Constants.TAG_PATH_SEPARATOR)
.and("dimensionType").is(Constants.TAG_DIMENSION_TRUE)
.and("dept").is(parentTag.getDept()))
.and("dept").is(companyOrgId))
.with(Sort.by(getDefaultTagOrders())), Tag.class);
dirs.add(parentTag);
return dirs;
......@@ -406,9 +409,17 @@ public class TagService {
}).collect(Collectors.toList()).toArray(new Criteria[0]));
}
//拼接根据机构id查询个人维度标签
private Criteria createPersonalDimensionTagCriteria(String userName, String dept) {
return Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE)
.and("dept").is(dept).and("dimensionType").is(Constants.TAG_DIMENSION_TRUE);
private Criteria createPersonalDimensionTagCriteria(String userName,
String path, String dept)throws TagNotExistException
{
//根据当前用户所属机构获取公司结构id
String companyOrgId = this.getCompanyOrgIdByUserOrgId(dept);
Criteria criteria = Criteria.where("tagType").is(Constants.TAG_PERSONAL_TYPE)
.and("dept").is(companyOrgId).and("dimensionType").is(Constants.TAG_DIMENSION_TRUE);
if (StringUtils.isNotBlank(path)) {
criteria.and("path").regex("^"+path);
}
return criteria;
}
//拼接查找系统标签条件
private Criteria createSystemTagCriteria(String path) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment