Commit c350b05b by zhangkb

提交修改标签接口

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