部门组织权限修改
This commit is contained in:
parent
05b773ce8e
commit
b35ae41c5b
@ -1,14 +1,20 @@
|
||||
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.toolkit.Wrappers;
|
||||
import com.wflow.bean.do_.DeptDo;
|
||||
import com.wflow.bean.do_.RoleDo;
|
||||
import com.wflow.bean.do_.UserDeptDo;
|
||||
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.OrgTreeVo;
|
||||
import com.wflow.bean.vo.UserVo;
|
||||
import com.wflow.mapper.WflowModelPermsMapper;
|
||||
import com.wflow.mapper.WflowModelsMapper;
|
||||
import com.wflow.service.OrgRepositoryService;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.BaseRoleUser;
|
||||
import com.zhgd.xmgl.modules.basicdata.entity.Company;
|
||||
@ -43,9 +49,45 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
|
||||
@Autowired
|
||||
private XzProjectOrgMapper xzProjectOrgMapper;
|
||||
|
||||
@Autowired
|
||||
private WflowModelPermsMapper modelPermsMapper;
|
||||
|
||||
@Autowired
|
||||
private WflowModelsMapper wflowModelsMapper;
|
||||
|
||||
@Override
|
||||
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
|
||||
|
||||
@ -32,6 +32,6 @@ public interface XzProjectOrgMapper extends BaseMapper<XzProjectOrg> {
|
||||
* @param deptId 父部门
|
||||
* @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);
|
||||
}
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user