diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java index 737186a5..3a7c65aa 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java +++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/flowable/domain/my/FlowTaskEntity.java @@ -122,6 +122,9 @@ public class FlowTaskEntity extends BaseEntity { @ApiModelProperty("角色列表") private List roleIds; + @ApiModelProperty("班组列表") + private List groupIds; + public String getTaskId() { return taskId; } @@ -417,4 +420,12 @@ public class FlowTaskEntity extends BaseEntity { public void setStartUserGroupId(Long startUserGroupId) { this.startUserGroupId = startUserGroupId; } + + public List getGroupIds() { + return groupIds; + } + + public void setGroupIds(List groupIds) { + this.groupIds = groupIds; + } } diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml index bbfa7138..c45409bf 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/flowable/FlowBusinessKeyMapper.xml @@ -69,8 +69,12 @@ and fa.startProId = #{startProId} and fa.startProName like concat('%', #{startProName}, '%') and fa.category = '1' - and fa.category in ('2','3','4') - and bus.sub_dept_group = #{startUserGroupId} + and fa.category in ('2','3','4','5','6','8') + + and bus.sub_dept_group in + + #{groupId} + AND (fa.ASSIGNEE_ = #{assigneeId} @@ -142,16 +146,14 @@ and fa.startProId = #{startProId} and fa.startProName like concat('%', #{startProName}, '%') and fa.category = '1' - and fa.category in ('2','3','4') + and fa.category in ('2','3','4','5','6','8') and fa.endTime between #{params.beginTime} and #{params.endTime} order by fa.endTime desc - - \ No newline at end of file diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java index 764a968d..8a91f8fe 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/controller/FlowBusinessKeyController.java @@ -150,24 +150,8 @@ public class FlowBusinessKeyController extends BaseController { @GetMapping(value = "/myAwaitFlowTaskList") public TableDataInfo myAwaitFlowTaskList(FlowTaskEntity flowTaskEntity) { LoginUser loginUser = SecurityUtils.getLoginUser(); - if(SecurityUtils.isAdmin(loginUser.getUserid())){ - // TODO:超管查询所有申请... - if(Objects.nonNull(loginUser.getProjectDeptId())){ - flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId())); - } - if(Objects.nonNull(loginUser.getProjectId())){ - flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); - } - }else if(SecurityUtils.isGSAdmin()){ - // 公司管理员查询公司内的所有申请... - flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId())); - if(Objects.nonNull(loginUser.getProjectId())){ - flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); - } - }else if(SecurityUtils.isXMAdmin()){ - // 公司管理员查询公司内的所有申请... - flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); - }else{ + if(StringUtils.isNotEmpty(flowTaskEntity.getStartProId())){ + // 小程序查询会走这里 flowTaskEntity.setAssigneeId(SecurityUtils.getUserId()); if(loginUser.getSysUser().getRoles().size()>0){ flowTaskEntity.setRoleIds(loginUser.getSysUser().getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); @@ -176,6 +160,34 @@ public class FlowBusinessKeyController extends BaseController { roleIds.add(0L); flowTaskEntity.setRoleIds(roleIds); } + }else{ + if(SecurityUtils.isAdmin(loginUser.getUserid())){ + // 超管查询所有申请... + if(Objects.nonNull(loginUser.getProjectDeptId())){ + flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId())); + } + if(Objects.nonNull(loginUser.getProjectId())){ + flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); + } + }else if(SecurityUtils.isGSAdmin()){ + // 公司管理员查询公司内的所有申请... + flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId())); + if(Objects.nonNull(loginUser.getProjectId())){ + flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); + } + }else if(SecurityUtils.isXMAdmin()){ + // 公司管理员查询公司内的所有申请... + flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId())); + }else{ + flowTaskEntity.setAssigneeId(SecurityUtils.getUserId()); + if(loginUser.getSysUser().getRoles().size()>0){ + flowTaskEntity.setRoleIds(loginUser.getSysUser().getRoles().stream().map(SysRole::getRoleId).collect(Collectors.toList())); + }else{ + List roleIds = new ArrayList<>(); + roleIds.add(0L); + flowTaskEntity.setRoleIds(roleIds); + } + } } startPage(); return getDataTable(flowBusinessKeyService.selectMyAwaitFlowTask(flowTaskEntity)); @@ -226,7 +238,8 @@ public class FlowBusinessKeyController extends BaseController { data.put("todo",0); } data.put("dwsh",Convert.toInt(sumByCategory.get("1"),0)); - data.put("rysh",Convert.toInt(sumByCategory.get("2"),0)+Convert.toInt(sumByCategory.get("3"),0)+Convert.toInt(sumByCategory.get("4"),0)); + int rysh = Convert.toInt(sumByCategory.get("2"),0)+Convert.toInt(sumByCategory.get("3"),0)+Convert.toInt(sumByCategory.get("4"),0)+Convert.toInt(sumByCategory.get("5"),0)+Convert.toInt(sumByCategory.get("6"),0)+Convert.toInt(sumByCategory.get("8"),0); + data.put("rysh",rysh); return success(data); } diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java index a4e7046b..ac124068 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowBusinessKeyServiceImpl.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; /** * 业务工作流程自定义 @@ -46,7 +47,8 @@ public class FlowBusinessKeyServiceImpl implements IFlowBusinessKeyService { if(Objects.nonNull(flowTaskEntity.getAssigneeId())){ List> groups = flowBusinessKeyMapper.selectMySubdeptsGroups(Convert.toLong(flowTaskEntity.getStartProId()),SecurityUtils.getUserId()); if(StringUtils.isNotEmpty(groups)){ - flowTaskEntity.setStartUserGroupId(Convert.toLong(groups.get(0).get("sub_dept_group"))); + List groupIds = groups.stream().map(group -> Convert.toLong(group.get("sub_dept_group"))).collect(Collectors.toList()); + flowTaskEntity.setGroupIds(groupIds); } } int awaitSize = flowBusinessKeyMapper.selectMyAwaitFlowTask(flowTaskEntity).size(); @@ -99,7 +101,8 @@ public class FlowBusinessKeyServiceImpl implements IFlowBusinessKeyService { if(Objects.nonNull(flowTaskEntity.getAssigneeId())){ List> groups = flowBusinessKeyMapper.selectMySubdeptsGroups(Convert.toLong(flowTaskEntity.getStartProId()),SecurityUtils.getUserId()); if(StringUtils.isNotEmpty(groups)){ - flowTaskEntity.setStartUserGroupId(Convert.toLong(groups.get(0).get("sub_dept_group"))); + List groupIds = groups.stream().map(group -> Convert.toLong(group.get("sub_dept_group"))).collect(Collectors.toList()); + flowTaskEntity.setGroupIds(groupIds); } } return flowBusinessKeyMapper.selectMyAwaitFlowTask(flowTaskEntity);