部门组织权限修改
This commit is contained in:
parent
05b773ce8e
commit
b35ae41c5b
@ -1,14 +1,20 @@
|
|||||||
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
package com.zhgd.xmgl.modules.basicdata.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.wflow.bean.do_.DeptDo;
|
import com.wflow.bean.do_.DeptDo;
|
||||||
import com.wflow.bean.do_.RoleDo;
|
import com.wflow.bean.do_.RoleDo;
|
||||||
import com.wflow.bean.do_.UserDeptDo;
|
import com.wflow.bean.do_.UserDeptDo;
|
||||||
import com.wflow.bean.do_.UserDo;
|
import com.wflow.bean.do_.UserDo;
|
||||||
|
import com.wflow.bean.entity.WflowModelPerms;
|
||||||
|
import com.wflow.bean.entity.WflowModels;
|
||||||
import com.wflow.bean.vo.ModelGroupVo;
|
import com.wflow.bean.vo.ModelGroupVo;
|
||||||
import com.wflow.bean.vo.OrgTreeVo;
|
import com.wflow.bean.vo.OrgTreeVo;
|
||||||
import com.wflow.bean.vo.UserVo;
|
import com.wflow.bean.vo.UserVo;
|
||||||
|
import com.wflow.mapper.WflowModelPermsMapper;
|
||||||
|
import com.wflow.mapper.WflowModelsMapper;
|
||||||
import com.wflow.service.OrgRepositoryService;
|
import com.wflow.service.OrgRepositoryService;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseRoleUser;
|
import com.zhgd.xmgl.modules.basicdata.entity.BaseRoleUser;
|
||||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||||
@ -43,9 +49,45 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private XzProjectOrgMapper xzProjectOrgMapper;
|
private XzProjectOrgMapper xzProjectOrgMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WflowModelPermsMapper modelPermsMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private WflowModelsMapper wflowModelsMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ModelGroupVo.Form> getModelsByPerm(String userId) {
|
public List<ModelGroupVo.Form> getModelsByPerm(String userId) {
|
||||||
return null;
|
List<ModelGroupVo.Form> list = new ArrayList<>();
|
||||||
|
Long xzProjectOrgId = systemUserMapper.selectById(userId).getXzProjectOrgId();
|
||||||
|
// XzProjectOrg xzProjectOrg = xzProjectOrgMapper.selectById(xzProjectOrgId);
|
||||||
|
// List<XzProjectOrg> orgList = new ArrayList<>();
|
||||||
|
// getList(xzProjectOrg.getParentId(), orgList);
|
||||||
|
// List<Long> collect = orgList.stream().map(o -> o.getId()).collect(Collectors.toList());
|
||||||
|
// collect.add(xzProjectOrgId);
|
||||||
|
// List<String> deptFormIds = modelPermsMapper.selectList(Wrappers.<WflowModelPerms>lambdaQuery().eq(WflowModelPerms::getPermType, "dept")
|
||||||
|
// .in(WflowModelPerms::getOrgId, collect)).stream().map(m -> m.getFormId()).collect(Collectors.toList());
|
||||||
|
if (xzProjectOrgId == null) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
List<String> userOrgIds = modelPermsMapper.selectList(Wrappers.<WflowModelPerms>lambdaQuery().eq(WflowModelPerms::getPermType, "user")
|
||||||
|
.eq(WflowModelPerms::getOrgId, userId)).stream().map(m -> m.getOrgId()).collect(Collectors.toList());
|
||||||
|
userOrgIds.add(xzProjectOrgId.toString());
|
||||||
|
List<String> formIds = modelPermsMapper.selectList(Wrappers.<WflowModelPerms>lambdaQuery().in(WflowModelPerms::getOrgId, userOrgIds)).stream().map(w -> w.getFormId()).collect(Collectors.toList());
|
||||||
|
List<String> permIds = modelPermsMapper.selectList(null).stream().map(w -> w.getFormId()).collect(Collectors.toList());
|
||||||
|
List<WflowModels> wflowModels = wflowModelsMapper.selectList(Wrappers.<WflowModels>lambdaQuery().in(WflowModels::getFormId, formIds).or().notIn(WflowModels::getFormId, permIds));
|
||||||
|
for (int i = 0; i < wflowModels.size(); i++) {
|
||||||
|
ModelGroupVo.Form form = JSON.parseObject(JSONObject.toJSONString(wflowModels.get(i)), ModelGroupVo.Form.class);
|
||||||
|
list.add(form);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void getList(Long deptId, List<XzProjectOrg> orgList){
|
||||||
|
XzProjectOrg parentId = xzProjectOrgMapper.selectOne(Wrappers.<XzProjectOrg>lambdaQuery().eq(XzProjectOrg::getId, deptId));
|
||||||
|
if (parentId != null) {
|
||||||
|
getList(parentId.getParentId(), orgList);
|
||||||
|
orgList.add(parentId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -32,6 +32,6 @@ public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
|
|||||||
* @param deptId 父部门
|
* @param deptId 父部门
|
||||||
* @return 子部门列表,type字段固定返回固定值 dept
|
* @return 子部门列表,type字段固定返回固定值 dept
|
||||||
*/
|
*/
|
||||||
@Select("SELECT id id, dept_name `name`, 'dept' AS 'type' FROM xz_project_org WHERE parent_id=#{deptId} AND project_sn = #{projectSn}")
|
@Select("SELECT id id, dept_name `name`, 'dept' AS 'type' FROM xz_project_org WHERE parent_id=#{deptId} AND project_sn = #{projectSn} AND status = 0")
|
||||||
List<OrgTreeVo> selectByDept(@Param("deptId") String deptId, @Param("projectSn") String projectSn);
|
List<OrgTreeVo> selectByDept(@Param("deptId") String deptId, @Param("projectSn") String projectSn);
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user