Browse Source

公司id 流程公司id过滤接口

chenc 3 years ago
parent
commit
e03f5ace86
22 changed files with 248 additions and 40 deletions
  1. 10 0
      jeecg-boot/jeecg-boot-base-common/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java
  2. 3 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/ActNodeMapper.java
  3. 8 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActNodeMapper.xml
  4. 24 8
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActReModelMapper.xml
  5. 6 1
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActNodeService.java
  6. 2 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActReModelService.java
  7. 6 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActNodeServiceImpl.java
  8. 5 0
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActReModelServiceImpl.java
  9. 32 18
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActZprocessServiceImpl.java
  10. 1 1
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java
  11. 2 2
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActProcessInsController.java
  12. 34 8
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActTaskController.java
  13. 1 1
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiModelController.java
  14. 1 1
      jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiProcessController.java
  15. 3 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/CdEnterpriseEnnouncement.java
  16. 11 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java
  17. 44 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml
  18. 11 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java
  19. 2 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  20. 21 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java
  21. 9 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java
  22. 12 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

+ 10 - 0
jeecg-boot/jeecg-boot-base-common/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java

@@ -52,6 +52,13 @@ public interface ISysBaseAPI {
 	 */
 	List<String> getDepartIdsByUsername(String username);
 
+	/**
+	 * 通过用户账号查询部门集合可根据公司id过滤
+	 * @param username
+	 * @return 部门 id
+	 */
+	List<String> getDepartIdsByUsernameByOrg(String username);
+
 	/**
 	 * 通过用户账号查询部门 name
 	 * @param username
@@ -273,4 +280,7 @@ public interface ISysBaseAPI {
 
 
 	public List<String> getDepartByUsername(String username);
+
+	//根据当前人员查询上级部门的负责人
+	public List<String> getDepartByUsernameByOrg(String username);
 }

+ 3 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/ActNodeMapper.java

@@ -9,6 +9,7 @@ import org.jeecg.modules.activiti.entity.Department;
 import org.jeecg.modules.activiti.entity.Role;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Description: 流程节点扩展表
@@ -27,6 +28,8 @@ public interface ActNodeMapper extends BaseMapper<ActNode> {
     List<String> getRoleByUserName(@Param("username") String username);
     @Select("select * from sys_user")
     List<LoginUser> queryAllUser();
+    //查询所有用户可根据条件过滤(公司id)
+    List<LoginUser> getSysUserList(@Param("map")Map<String,Object> map);
     @Select("select * from sys_user where id in (select user_id from sys_user_role where role_id = #{id})")
     List<LoginUser> findUserByRoleId(@Param("id") String id);
     @Select("select * from sys_user where id in (select user_id from sys_user_depart where dep_id = #{id}) and identity = 2")

+ 8 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActNodeMapper.xml

@@ -16,4 +16,12 @@
         where id in (select relate_id from act_z_node where node_id = #{nodeId} and type = 2)
             and del_flag = 0
     </select>
+    <select id="getSysUserList" resultType="org.jeecg.common.system.vo.LoginUser" >
+        select * from sys_user
+        WHERE del_flag = 0
+        <if test="map.pkOrg!=null and map.pkOrg!=''">
+            AND pk_org LIKE concat('%',#{map.pkOrg},'%')
+        </if>
+        ORDER BY create_time
+    </select>
 </mapper>

+ 24 - 8
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/mapper/xml/ActReModelMapper.xml

@@ -111,18 +111,32 @@ FROM
 	</update>
 
 	<select id="getHistoricTaskList" resultType="org.activiti.engine.impl.persistence.entity.HistoricTaskInstanceEntity" parameterType="java.util.Map">
+		<!--SELECT DISTINCT-->
+			<!--RES.*,PROC_DEF_ID_ as processDefinitionId,TASK_DEF_KEY_ AS taskDefinitionKey,PROC_INST_ID_ AS processInstanceId,DURATION_ AS durationInMillis-->
+		<!--FROM-->
+			<!--ACT_HI_TASKINST RES-->
+		<!--WHERE-->
+			<!--RES.ASSIGNEE_ = #{map.username}-->
+			<!--AND RES.END_TIME_ IS NOT NULL-->
+			<!--<if test="map.pkOrg!=null and map.pkOrg!=''">-->
+				<!--AND RES.pk_org=#{map.pkOrg}-->
+			<!--</if>-->
+		<!--ORDER BY-->
+			<!--RES.END_TIME_ DESC-->
 		SELECT DISTINCT
-			RES.*,PROC_DEF_ID_ as processDefinitionId,TASK_DEF_KEY_ AS taskDefinitionKey,PROC_INST_ID_ AS processInstanceId,DURATION_ AS durationInMillis
+		RES.*,RES.PROC_DEF_ID_ as processDefinitionId,RES.TASK_DEF_KEY_ AS taskDefinitionKey,RES.PROC_INST_ID_ AS processInstanceId,RES.DURATION_ AS durationInMillis
 		FROM
-			ACT_HI_TASKINST RES
+		ACT_HI_TASKINST RES
+		INNER JOIN ACT_HI_IDENTITYLINK HI_OR0 ON HI_OR0.TASK_ID_ = RES.ID_
 		WHERE
-			RES.ASSIGNEE_ = #{map.username}
-			AND RES.END_TIME_ IS NOT NULL
-			<if test="map.pkOrg!=null and map.pkOrg!=''">
-				AND RES.pk_org=#{map.pkOrg}
-			</if>
+		RES.END_TIME_ IS NOT NULL
+		AND ( RES.ASSIGNEE_ = #{map.username} OR ( RES.ASSIGNEE_ IS NULL AND HI_OR0.TYPE_ = 'candidate' AND ( HI_OR0.USER_ID_ = #{map.username} )) )
+		<if test="map.pkOrg!=null and map.pkOrg!=''">
+			AND RES.pk_org=#{map.pkOrg}
+		</if>
 		ORDER BY
-			RES.END_TIME_ DESC
+		RES.START_TIME_ DESC
+		LIMIT 2147483647 OFFSET 0
 	</select>
 
 	<update id="updateTaskInstPkOrgByIds">
@@ -139,6 +153,8 @@ FROM
 	<select id="getActRuExecutionList" resultType="org.activiti.engine.impl.persistence.entity.ExecutionEntity" parameterType="java.util.Map">
 		SELECT DISTINCT
 			RES.*,
+			RES.proc_inst_id_ as processInstanceId,
+			RES.act_id_ as activityId,
 			P.KEY_ AS ProcessDefinitionKey,
 			P.ID_ AS ProcessDefinitionId,
 			P.NAME_ AS ProcessDefinitionName,

+ 6 - 1
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActNodeService.java

@@ -1,8 +1,12 @@
 package org.jeecg.modules.activiti.service;
 
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.activiti.entity.ActNode;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Description: 流程节点扩展表
  * @Author: jeecg-boot
@@ -10,5 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @Version: V1.0
  */
 public interface IActNodeService extends IService<ActNode> {
-
+    ////查询所有用户可根据条件过滤(公司id)
+    List<LoginUser> getSysUserList(Map<String,Object> map);
 }

+ 2 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/IActReModelService.java

@@ -21,6 +21,8 @@ public interface IActReModelService extends IService<ActReModel> {
     List<ActReModel> getList(ActReModel actReModel);
     //根据id修改公司id
     int updateOrgById(ActReModel actReModel);
+    //根据多个任务id修改我的待办数据公司id
+    int updateTaskPkOrgById(String pkOrg,List<String> list);
     //我的待办查询
     List<Task> getListTask(Map<String,Object> map);
     //我的已办查询

+ 6 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActNodeServiceImpl.java

@@ -12,6 +12,7 @@ import org.jeecg.modules.activiti.service.IActNodeService;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -85,4 +86,9 @@ public class ActNodeServiceImpl extends ServiceImpl<ActNodeMapper, ActNode> impl
     public List<LoginUser> findUserDepartmentId(String id) {
         return this.baseMapper.findUserDepartmentId(id);
     }
+
+    @Override
+    public List<LoginUser> getSysUserList(Map<String,Object> map) {
+        return this.baseMapper.getSysUserList(map);
+    }
 }

+ 5 - 0
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActReModelServiceImpl.java

@@ -37,6 +37,11 @@ public class ActReModelServiceImpl extends ServiceImpl<ActReModelMapper, ActReMo
         return actReModelMapper.updateOrgById(actReModel);
     }
 
+    @Override
+    public int updateTaskPkOrgById(String pkOrg, List<String> list) {
+        return actReModelMapper.updateTaskPkOrgById(pkOrg,list);
+    }
+
     @Override
     public List<Task> getListTask(Map<String, Object> map) {
         return actReModelMapper.getListTask(map);

+ 32 - 18
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/service/Impl/ActZprocessServiceImpl.java

@@ -132,20 +132,24 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
         // 设置流程实例名称
         runtimeService.setProcessInstanceName(pi.getId(), actBusiness.getTitle());
         List<Task> tasks = taskService.createTaskQuery().processInstanceId(pi.getId()).list();
-        //修改任务的公司id
-        List<String> taskIdList=new ArrayList<>();
-        for(Task task : tasks){
-            taskIdList.add(task.getId());
-        }
-        actReModelMapper.updateTaskPkOrgById(loginUser.getOrgCode(),taskIdList);
-        //修改进行中的公司id
-        Map<String,Object> mapWhere=new HashMap<>();
-        mapWhere.put("pkOrg",loginUser.getOrgCode());
-        mapWhere.put("id",pi.getId());
-        actReModelMapper.updateActRuExecutionPkOrgById(mapWhere);
-        //修改已结束的公司id
-        actReModelMapper.updateActHiProcinstPkOrgById(mapWhere);
+
         for(Task task : tasks){
+            //修改任务的公司id
+            List<String> taskIdList=new ArrayList<>();
+            for(Task task2 : tasks){
+                taskIdList.add(task2.getId());
+            }
+            actReModelMapper.updateTaskPkOrgById(loginUser.getOrgCode(),taskIdList);
+            //修改公司id
+            //修改已办公司id
+            actReModelMapper.updateTaskInstPkOrgByIds(loginUser.getOrgCode(),taskIdList);
+            //修改进行中的公司id
+            Map<String,Object> mapWhere=new HashMap<>();
+            mapWhere.put("pkOrg",loginUser.getOrgCode());
+            mapWhere.put("id",pi.getId());
+            actReModelMapper.updateActRuExecutionPkOrgById(mapWhere);
+            //修改已结束的公司id
+            actReModelMapper.updateActHiProcinstPkOrgById(mapWhere);
             if(actBusiness.getFirstGateway()){
                 // 网关类型
                 List<LoginUser> users = getNode2(task.getTaskDefinitionKey(), pi.getId()).getUsers();
@@ -315,6 +319,10 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
      * @param nodeId
      */
     public List<LoginUser> getNodetUsers2(String nodeId, String procInstId){
+        //获取当前登录公司id
+        LoginUser loginUserObject = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Map<String,Object> map=new HashMap<>();
+        map.put("pkOrg",loginUserObject.getOrgCode());
         List<LoginUser> users = actNodeService.findUserByNodeId(nodeId);
         // 设置关联角色的用户
         List<Role> roles = actNodeService.findRoleByNodeId(nodeId);
@@ -330,13 +338,16 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
         }
         // 判断获取部门负责人
         if(actNodeService.hasChooseDepHeader(nodeId)){
-            List<LoginUser> allUser = actNodeService.queryAllUser();
+//            List<LoginUser> allUser = actNodeService.queryAllUser();
+            //根据公司id查询用户
+            List<LoginUser> allUser=actNodeService.getSysUserList(map);
             List<IdentityLink> identityLinks = runtimeService.getIdentityLinksForProcessInstance(procInstId);
             List<String> departIds = Lists.newArrayList();
             for(IdentityLink ik : identityLinks){
                 // 关联发起人
                 if("starter".equals(ik.getType())&&StrUtil.isNotBlank(ik.getUserId())){
-                    departIds = sysBaseAPI.getDepartIdsByUsername(ik.getUserId());
+//                    departIds = sysBaseAPI.getDepartIdsByUsername(ik.getUserId());
+                    departIds = sysBaseAPI.getDepartIdsByUsernameByOrg(ik.getUserId());
                 }
             }
 //            List<String> departIds = sysBaseAPI.getDepartIdsByUsername(loginUser.getUsername());
@@ -348,17 +359,20 @@ public class ActZprocessServiceImpl extends ServiceImpl<ActZprocessMapper, ActZp
 
         //根据当前用户配置负责人
         if(actNodeService.hasChooseDepHeader2(nodeId)){
-            List<LoginUser> allUser = actNodeService.queryAllUser();
+//            List<LoginUser> allUser = actNodeService.queryAllUser();
+            //根据公司id查询用户
+            List<LoginUser> allUser=actNodeService.getSysUserList(map);
             List<IdentityLink> identityLinks = runtimeService.getIdentityLinksForProcessInstance(procInstId);
             List<String> departIds = Lists.newArrayList();
             for(IdentityLink ik : identityLinks){
                 // 关联发起人
                 if("starter".equals(ik.getType())&&StrUtil.isNotBlank(ik.getUserId())){
 //                    tv.setApplyer(sysBaseAPI.getUserByName(ik.getUserId()).getRealname());
-                    departIds = sysBaseAPI.getDepartByUsername(ik.getUserId());
+//                    departIds = sysBaseAPI.getDepartByUsername(ik.getUserId());
+                    //根据公司id过滤查询上级部门负责人id
+                    departIds = sysBaseAPI.getDepartByUsernameByOrg(ik.getUserId());
                 }
             }
-
             for (String departId : departIds) {
                 List<LoginUser> collect = allUser.stream().filter(u -> u.getDepartIds() != null && u.getDepartIds().indexOf(departId) > -1).collect(Collectors.toList());
                 users.addAll(collect);

+ 1 - 1
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActBusinessController.java

@@ -305,7 +305,7 @@ public class ActBusinessController {
         queryWrapper.lambda().eq(ActBusiness::getUserId,loginUser.getUsername());
         //公司id 过滤数据
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-//        queryWrapper.lambda().eq(ActBusiness::getPkOrg,sysUser.getOrgCode());
+        queryWrapper.lambda().eq(ActBusiness::getPkOrg,sysUser.getOrgCode());//公司id
              List<ActBusiness> actBusinessList = actBusinessService.list(queryWrapper);
 
         actBusinessList.forEach(e -> {

+ 2 - 2
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActProcessInsController.java

@@ -96,7 +96,7 @@ public class ActProcessInsController {
         Map<String,Object> map=new HashMap<>();
         //当前登陆人信息
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-//        map.put("pkOrg",loginUser.getOrgCode());//当前登录公司id
+        map.put("pkOrg",loginUser.getOrgCode());//当前登录公司id
         if(StrUtil.isNotBlank(name)){
             map.put("name",name);
         }
@@ -232,7 +232,7 @@ public class ActProcessInsController {
         Map<String,Object> map =new HashMap<>();
         //当前登陆人
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-//        map.put("pkOrg",loginUser.getOrgCode());//当前登录人公司id
+        map.put("pkOrg",loginUser.getOrgCode());//当前登录人公司id
         if(StrUtil.isNotBlank(name)){
             map.put("name",name);
         }

+ 34 - 8
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActTaskController.java

@@ -114,7 +114,7 @@ public class ActTaskController {
         map.put("username",sysUser.getUsername());
         map.put("userId",sysUser.getId());
         //公司id
-//        map.put("pkOrg",sysUser.getOrgCode());
+        map.put("pkOrg",sysUser.getOrgCode());
         taskList=iActReModelService.getListTask(map);
         // 转换vo
         taskList.forEach(e -> {
@@ -301,6 +301,7 @@ public class ActTaskController {
         actBusiness.setStatus(ActivitiConstant.STATUS_FINISH);
         actBusiness.setResult(ActivitiConstant.RESULT_FAIL);
         actBusinessService.updateById(actBusiness);
+
         // 异步发消息
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //我的消息跳转地址
@@ -388,14 +389,22 @@ public class ActTaskController {
         taskService.complete(id);
         LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInstId).list();
-        //修改公司id
-        List<String> listTaskId=new ArrayList<>();
-        for(Task t : tasks){
-            listTaskId.add(t.getId());
-        }
-        iActReModelService.updateTaskInstPkOrgByIds(loginUser.getOrgCode(),listTaskId);
+
+
         // 判断下一个节点
         if(tasks!=null&&tasks.size()>0){
+            //修改公司id
+            List<String> listTaskId=new ArrayList<>();
+            for(Task t : tasks){
+                listTaskId.add(t.getId());
+            }
+            //修改下一个任务公司id
+            iActReModelService.updateTaskPkOrgById(loginUser.getOrgCode(),listTaskId);
+            //修改公司id
+//            List<String> listTaskIdY=new ArrayList<>();
+//            listTaskIdY.add(task.getId());
+            //修改已办公司id
+            iActReModelService.updateTaskInstPkOrgByIds(loginUser.getOrgCode(),listTaskId);
             ActBusiness actBusiness = actBusinessService.getById(pi.getBusinessKey());
             for(Task t : tasks){
                 if(StrUtil.isBlank(assignees)){
@@ -457,6 +466,11 @@ public class ActTaskController {
             map.put("taskId",task.getId());
             actZprocessService.sendMessage(loginUser,user,ActivitiConstant.MESSAGE_PASS_CONTENT,
                     String.format("您的 【%s】 申请已通过!",actBusiness.getTitle()),sendMessage, sendSms, sendEmail,map);
+            //修改公司id
+            List<String> listTaskId=new ArrayList<>();
+            listTaskId.add(task.getId());
+            //修改已办公司id
+            iActReModelService.updateTaskInstPkOrgByIds(loginUser.getOrgCode(),listTaskId);
         }
         // 记录实际审批人员
         actBusinessService.insertHI_IDENTITYLINK(IdUtil.simpleUUID(),
@@ -518,6 +532,18 @@ public class ActTaskController {
         // 重新分配原节点审批人
         List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInstId).list();
         if(tasks!=null&&tasks.size()>0){
+            //修改公司id
+            List<String> listTaskId=new ArrayList<>();
+            for(Task t : tasks){
+                listTaskId.add(t.getId());
+            }
+            //修改下一个任务公司id
+            iActReModelService.updateTaskPkOrgById(loginUser.getOrgCode(),listTaskId);
+            //修改公司id
+//            List<String> listTaskIdY=new ArrayList<>();
+//            listTaskIdY.add(task.getId());
+            //修改已办公司id
+            iActReModelService.updateTaskInstPkOrgByIds(loginUser.getOrgCode(),listTaskId);
             tasks.forEach(e->{
                 for(String assignee:assignees.split(",")){
                     taskService.addCandidateUser(e.getId(), assignee);
@@ -592,7 +618,7 @@ public class ActTaskController {
         //根据公司id过滤查询已办列表
         Map<String,Object> map=new HashMap<>();
         map.put("username",userId);
-//        map.put("pkOrg",loginUser.getOrgCode());
+        map.put("pkOrg",loginUser.getOrgCode());
         List<HistoricTaskInstanceEntity> taskList=iActReModelService.getHistoricTaskList(map);
         // 转换vo
         List<ComboModel> allUser = sysBaseAPI.queryAllUser();

+ 1 - 1
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiModelController.java

@@ -87,7 +87,7 @@ public class ActivitiModelController {
 //        List<Model> models = modelQuery.orderByCreateTime().desc().list();
         ActReModel actReModel=new ActReModel();
         actReModel.setName(keyWord);
-//        actReModel.setPkOrg(orgCode);
+        actReModel.setPkOrg(orgCode);//公司id
 
         List<ActReModel> list=actReModelService.getList(actReModel);
         return Result.ok(list);

+ 1 - 1
jeecg-boot/jeecg-boot-module-activiti/src/main/java/org/jeecg/modules/activiti/web/ActivitiProcessController.java

@@ -85,7 +85,7 @@ public class ActivitiProcessController {
         }
         //获取当前登录公司id 过滤
         LoginUser sysUser1 = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-//        wrapper.eq(ActZprocess::getPkOrg,sysUser1.getOrgCode());
+        wrapper.eq(ActZprocess::getPkOrg,sysUser1.getOrgCode());
         List<ActZprocess> list = actZprocessService.list(wrapper);
         if (StrUtil.isNotBlank(request.getParameter("roles"))){ //过滤角色
             LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

+ 3 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/CdEnterpriseEnnouncement.java

@@ -72,4 +72,7 @@ public class CdEnterpriseEnnouncement {
 	@Excel(name = "删除标记(0正常1删除)", width = 15)
     @ApiModelProperty(value = "删除标记(0正常1删除)")
 	private String delFlag;
+
+	//是否发布
+	private String isRelease;
 }

+ 11 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDepartMapper.java

@@ -32,6 +32,14 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 	 */
 	public List<SysDepart> queryDepartsByUsername(@Param("username") String username);
 
+	/**
+	 * 根据用户名查询部门可根据公司id
+	 *
+	 * @param username
+	 * @return
+	 */
+	public List<SysDepart> queryDepartsByUsernameByOrg(@org.apache.ibatis.annotations.Param("username") String username, @org.apache.ibatis.annotations.Param("orgCode") String orgCode);
+
 	@Select("select id from sys_depart where org_code=#{orgCode}")
 	public String queryDepartIdByOrgCode(@Param("orgCode") String orgCode);
 
@@ -54,4 +62,7 @@ public interface SysDepartMapper extends BaseMapper<SysDepart> {
 //	@Select("select id from sys_depart WHERE id in (SELECT parent_id FROM sys_depart WHERE  id in (SELECT  dep_id FROM sys_user_depart WHERE user_id = #{id}))")
 	@Select("select id from sys_depart WHERE id in (SELECT parent_id FROM sys_depart WHERE  id in (SELECT  dep_id FROM sys_user_depart WHERE user_id = (SELECT id  FROM sys_user WHERE username = #{username})))")
     List<String> getDepartByUsername(@Param("username") String username);
+
+
+	List<String> getDepartByUsernameByOrg(@org.apache.ibatis.annotations.Param("username") String username,@org.apache.ibatis.annotations.Param("orgCode") String orgCode);
 }

+ 44 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/xml/SysDepartMapper.xml

@@ -21,6 +21,50 @@
         )
     </select>
 
+    <!-- 根据username查询所拥有的部门可根据公司id过滤 -->
+    <select id="queryDepartsByUsernameByOrg"  resultType="org.jeecg.modules.system.entity.SysDepart">
+        SELECT *
+        FROM sys_depart
+        WHERE id IN (
+        SELECT dep_id
+        FROM sys_user_depart
+        WHERE user_id = (
+        SELECT id
+        FROM sys_user
+        WHERE username = #{username}
+        )
+        )
+        AND org_code LIKE concat('%',#{orgCode},'%')
+    </select>
+
+    <select id="getDepartByUsernameByOrg" resultType="java.lang.String">
+        SELECT
+            id
+        FROM
+            sys_depart
+        WHERE
+            id IN (
+            SELECT
+                parent_id
+            FROM
+                sys_depart
+            WHERE
+                id IN (
+                SELECT
+                    dep_id
+                FROM
+                    sys_user_depart
+                WHERE
+                    user_id = (
+                    SELECT
+                        id
+                    FROM
+                        sys_user
+                WHERE
+            username = #{username})))
+            AND org_code LIKE concat('%',#{orgCode},'%')
+    </select>
+
     <!-- 根据部门Id查询,当前和下级所有部门IDS -->
     <select id="getSubDepIdsByDepId" resultType="java.lang.String">
 		select id from sys_depart where del_flag = '0' and org_code like concat((select org_code from sys_depart where id=#{departId}),'%')

+ 11 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDepartService.java

@@ -83,6 +83,14 @@ public interface ISysDepartService extends IService<SysDepart>{
      */
     List<SysDepart> queryDepartsByUsername(String username);
 
+    /**
+     * 根据用户名查询部门可根据公司id过滤
+     *
+     * @param username
+     * @return
+     */
+    List<SysDepart> queryDepartsByUsernameByOrg(String username,String orgCode);
+
 	 /**
      * 根据部门id批量删除并删除其可能存在的子级部门
      * @param id
@@ -104,4 +112,7 @@ public interface ISysDepartService extends IService<SysDepart>{
     List<String> getMySubDepIdsByDepId(String departIds);
 
     List<String> getDepartByUsername(String username);
+
+    //根据当前人员查询上级部门的负责人
+    List<String> getDepartByUsernameByOrg(String username,String orgCode);
 }

+ 2 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -214,4 +214,6 @@ public interface ISysUserService extends IService<SysUser> {
 	 */
 	boolean removeLogicDeleted(List<String> userIds);
 
+	List<SysUser> getSysUserList(SysUser sysUser);
+
 }

+ 21 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java

@@ -165,6 +165,19 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 		return result;
 	}
 
+	@Override
+	public List<String> getDepartIdsByUsernameByOrg(String username) {
+		//获取当前登录公司id的部门信息
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		SysDepart sysDepart= sysDepartService.getById(sysUser.getOrgCode());
+		List<SysDepart> list = sysDepartService.queryDepartsByUsernameByOrg(username,sysDepart.getOrgCode());
+		List<String> result = new ArrayList<>(list.size());
+		for (SysDepart depart : list) {
+			result.add(depart.getId());
+		}
+		return result;
+	}
+
 	@Override
 	public List<String> getDepartNamesByUsername(String username) {
 		List<SysDepart> list = sysDepartService.queryDepartsByUsername(username);
@@ -641,4 +654,12 @@ public class SysBaseApiImpl implements ISysBaseAPI {
 	public List<String> getDepartByUsername(String username) {
 		return sysDepartService.getDepartByUsername(username);
 	}
+
+	@Override
+	public List<String> getDepartByUsernameByOrg(String username) {
+		//获取当前登录公司id的部门信息
+		LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
+		SysDepart sysDepart= sysDepartService.getById(sysUser.getOrgCode());
+		return sysDepartService.getDepartByUsernameByOrg(username,sysDepart.getOrgCode());
+	}
 }

+ 9 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

@@ -240,6 +240,11 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 		return baseMapper.getDepartByUsername(username);
 	}
 
+	@Override
+	public List<String> getDepartByUsernameByOrg(String username,String orgCode) {
+		return baseMapper.getDepartByUsernameByOrg(username,orgCode);
+	}
+
 	/**
 	 * <p>
 	 * 根据关键字搜索相关的部门数据
@@ -305,6 +310,10 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
 	public List<SysDepart> queryDepartsByUsername(String username) {
 		return baseMapper.queryDepartsByUsername(username);
 	}
+	@Override
+	public List<SysDepart> queryDepartsByUsernameByOrg(String username,String orgCode) {
+		return baseMapper.queryDepartsByUsernameByOrg(username,orgCode);
+	}
 
 	/**
 	 * 根据用户所负责部门ids获取父级部门编码

+ 12 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CacheConstant;
 import org.jeecg.common.constant.CommonConstant;
@@ -381,4 +382,15 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		return line != 0;
 	}
 
+	@Override
+	public List<SysUser> getSysUserList(SysUser sysUser) {
+		QueryWrapper<SysUser> queryWrapper=new QueryWrapper<>();
+		queryWrapper.lambda().eq(SysUser::getDelFlag,"0");
+		if(StringUtils.isNotBlank(sysUser.getPkOrg())){
+			queryWrapper.lambda().like(SysUser::getPkOrg,sysUser.getPkOrg());
+		}
+		List<SysUser> sysUserList=userMapper.selectList(queryWrapper);
+		return sysUserList;
+	}
+
 }