From b35ae41c5b9c191a8a71b9a9e18cced356661d5e Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Sat, 13 Apr 2024 18:34:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=BB=84=E7=BB=87=E6=9D=83?= =?UTF-8?q?=E9=99=90=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/FlowOrgRepositoryServiceImpl.java | 44 +++++++++++++++++- .../modules/xz/mapper/XzProjectOrgMapper.java | 2 +- .../lib/wflow-server-1.0-SNAPSHOT.jar | Bin 476542 -> 476448 bytes 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java index d3f8434c2..453909769 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/FlowOrgRepositoryServiceImpl.java @@ -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 getModelsByPerm(String userId) { - return null; + List list = new ArrayList<>(); + Long xzProjectOrgId = systemUserMapper.selectById(userId).getXzProjectOrgId(); +// XzProjectOrg xzProjectOrg = xzProjectOrgMapper.selectById(xzProjectOrgId); +// List orgList = new ArrayList<>(); +// getList(xzProjectOrg.getParentId(), orgList); +// List collect = orgList.stream().map(o -> o.getId()).collect(Collectors.toList()); +// collect.add(xzProjectOrgId); +// List deptFormIds = modelPermsMapper.selectList(Wrappers.lambdaQuery().eq(WflowModelPerms::getPermType, "dept") +// .in(WflowModelPerms::getOrgId, collect)).stream().map(m -> m.getFormId()).collect(Collectors.toList()); + if (xzProjectOrgId == null) { + return list; + } + List userOrgIds = modelPermsMapper.selectList(Wrappers.lambdaQuery().eq(WflowModelPerms::getPermType, "user") + .eq(WflowModelPerms::getOrgId, userId)).stream().map(m -> m.getOrgId()).collect(Collectors.toList()); + userOrgIds.add(xzProjectOrgId.toString()); + List formIds = modelPermsMapper.selectList(Wrappers.lambdaQuery().in(WflowModelPerms::getOrgId, userOrgIds)).stream().map(w -> w.getFormId()).collect(Collectors.toList()); + List permIds = modelPermsMapper.selectList(null).stream().map(w -> w.getFormId()).collect(Collectors.toList()); + List wflowModels = wflowModelsMapper.selectList(Wrappers.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 orgList){ + XzProjectOrg parentId = xzProjectOrgMapper.selectOne(Wrappers.lambdaQuery().eq(XzProjectOrg::getId, deptId)); + if (parentId != null) { + getList(parentId.getParentId(), orgList); + orgList.add(parentId); + } } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java index cae69e042..371ea7d72 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/XzProjectOrgMapper.java @@ -32,6 +32,6 @@ public interface XzProjectOrgMapper extends BaseMapper { * @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 selectByDept(@Param("deptId") String deptId, @Param("projectSn") String projectSn); } diff --git a/src/main/resources/lib/wflow-server-1.0-SNAPSHOT.jar b/src/main/resources/lib/wflow-server-1.0-SNAPSHOT.jar index ce26556e779cd43f0a756ab48945fcb7e148bb5a..bca7fb41da345bf9730a2e07f2cb8853a531dcef 100644 GIT binary patch delta 20679 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 N{9q_d=sIX${}0J@W@Z2Y delta 20599 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 LVmkRA{pbGyXU0d?