11-13-修改
This commit is contained in:
@ -20,10 +20,7 @@ import org.dromara.bigscreen.domain.dto.BusBwlBo;
|
||||
import org.dromara.bigscreen.domain.dto.BusSygjBo;
|
||||
import org.dromara.bigscreen.domain.dto.BusWjzxBo;
|
||||
import org.dromara.bigscreen.domain.dto.TaskInfoDto;
|
||||
import org.dromara.bigscreen.domain.vo.BusBwlVo;
|
||||
import org.dromara.bigscreen.domain.vo.BusSygjVo;
|
||||
import org.dromara.bigscreen.domain.vo.BusWjzxVo;
|
||||
import org.dromara.bigscreen.domain.vo.MyProjectInfoVo;
|
||||
import org.dromara.bigscreen.domain.vo.*;
|
||||
import org.dromara.bigscreen.service.IBusBwlService;
|
||||
import org.dromara.bigscreen.service.IBusSygjService;
|
||||
import org.dromara.bigscreen.service.IBusWjzxService;
|
||||
@ -234,6 +231,12 @@ public class PersonalHomeController extends BaseController {
|
||||
taskInfoDto.setTotal((long) page.size());
|
||||
taskInfoDto.setWeekCount((long) weeklyTasks.size());
|
||||
|
||||
BusPdSjVo busPdSjVo = pdMasterService.queryPageListByDate();
|
||||
BusWjzxSjDateVo busWjzxSjDateVo = busWjzxService.queryWjzx();
|
||||
|
||||
taskInfoDto.setBusWjzxSjDateVo(busWjzxSjDateVo);
|
||||
taskInfoDto.setBusPdSjVo(busPdSjVo);
|
||||
|
||||
return R.ok(taskInfoDto);
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,9 @@ import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.project.domain.vo.project.BusProjectVo;
|
||||
import org.dromara.system.domain.vo.SysRoleVo;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -107,7 +109,7 @@ public class SysRoleWorkController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户角色列表
|
||||
* 获取当前用户在制定项目下有流程的角色列表
|
||||
*/
|
||||
@GetMapping("/getRoleList/{projectId}")
|
||||
public R<List<SysRoleVo>> getRoleList(@PathVariable("projectId") Long projectId) {
|
||||
@ -115,11 +117,27 @@ public class SysRoleWorkController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色对应流程
|
||||
* 判断当前用户在所有项目下所有角色是否有角色流程
|
||||
*/
|
||||
@GetMapping("/isHaveValue")
|
||||
public R<Boolean> isHaveValue() {
|
||||
return R.ok(sysRoleWorkService.isHaveValue(LoginHelper.getUserId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取角色对应流程 弃用
|
||||
*/
|
||||
@GetMapping("/getRoleToWork/{projectId}")
|
||||
public R<SysRoleWork> getRoleWork(@PathVariable("projectId") Long projectId) {
|
||||
return R.ok(sysRoleWorkService.getRoleWork(projectId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取有对应流程并且包含角色列表的项目列表
|
||||
*/
|
||||
@GetMapping("/getProjectRoles")
|
||||
public R<List<BusProjectVo>> getProjectRoles() {
|
||||
return R.ok(sysRoleWorkService.getProjectRoles());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package org.dromara.bigscreen.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import org.dromara.bigscreen.domain.vo.BusPdSjVo;
|
||||
import org.dromara.bigscreen.domain.vo.BusWjzxSjDateVo;
|
||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -24,4 +26,14 @@ public class TaskInfoDto implements Serializable {
|
||||
*/
|
||||
private Long weekCount;
|
||||
|
||||
/**
|
||||
*知识库上传数据
|
||||
*/
|
||||
private BusWjzxSjDateVo busWjzxSjDateVo;
|
||||
|
||||
/**
|
||||
* 派单数据
|
||||
*/
|
||||
private BusPdSjVo busPdSjVo;
|
||||
|
||||
}
|
||||
|
||||
@ -17,8 +17,15 @@ import java.util.List;
|
||||
public interface SysRoleWorkMapper extends BaseMapperPlus<SysRoleWork, SysRoleWorkVo> {
|
||||
|
||||
/**
|
||||
* 根据登录人id获取对应角色
|
||||
* 根据登录人id和项目ID获取对应角色
|
||||
*/
|
||||
@Select("select * from sys_user_role where user_id = #{userId} and project_id = #{projectId}")
|
||||
List<SysUserRole> getRoleList(Long userId,Long projectId);
|
||||
|
||||
/**
|
||||
* 根据登录人id获取所有项目下所有角色
|
||||
*/
|
||||
@Select("select * from sys_user_role where user_id = #{userId}")
|
||||
List<SysUserRole> getAllRoleList(Long userId);
|
||||
|
||||
}
|
||||
|
||||
@ -15,6 +15,9 @@ import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.project.domain.dto.project.BusProjectQueryReq;
|
||||
import org.dromara.project.domain.vo.project.BusProjectVo;
|
||||
import org.dromara.project.service.impl.BusProjectServiceImpl;
|
||||
import org.dromara.system.domain.SysUserRole;
|
||||
import org.dromara.system.domain.vo.SysRoleVo;
|
||||
import org.dromara.system.service.impl.SysRoleServiceImpl;
|
||||
@ -39,6 +42,8 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
|
||||
private final SysRoleWorkMapper baseMapper;
|
||||
@Autowired
|
||||
private SysRoleServiceImpl roleService;
|
||||
@Autowired
|
||||
private BusProjectServiceImpl projectService;
|
||||
|
||||
/**
|
||||
* 查询角色流程对应
|
||||
@ -183,11 +188,28 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
|
||||
roleList.add(sysRoleVo);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return roleList;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断此角色在所有项目下所有角色是否有流程
|
||||
*/
|
||||
public Boolean isHaveValue(Long userId){
|
||||
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
|
||||
for (SysUserRole sysUserRole : allRoleList) {
|
||||
LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId());
|
||||
lqw.eq(SysRoleWork::getProjectId,sysUserRole.getProjectId());
|
||||
List<SysRoleWork> list = list(lqw);
|
||||
if (list != null && !list.isEmpty()){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据当前登录人获取角色流程对应
|
||||
*/
|
||||
@ -210,18 +232,60 @@ public class SysRoleWorkServiceImpl extends ServiceImpl<SysRoleWorkMapper, SysRo
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// SysRoleWorkBo sysRoleWorkBo = new SysRoleWorkBo();
|
||||
// sysRoleWorkBo.setRoleId(roleList.getFirst().getRoleId());
|
||||
// List<SysRoleWorkVo> list = queryList(sysRoleWorkBo);
|
||||
//
|
||||
// if (list.size() >1){
|
||||
// throw new RuntimeException("此角色绑定了多条流程!");
|
||||
// }
|
||||
// if (!list.isEmpty()){
|
||||
// setValue( list);
|
||||
// }
|
||||
// return list.getFirst();
|
||||
/**
|
||||
* 获取当前登录人在所有项目下有流程的角色列表
|
||||
* @return
|
||||
*/
|
||||
public List<BusProjectVo> getProjectRoles(){
|
||||
Long userId = LoginHelper.getUserId();
|
||||
// 获取当前登录用户的所有项目及对应所有角色
|
||||
List<SysUserRole> allRoleList = baseMapper.getAllRoleList(userId);
|
||||
|
||||
//初始化
|
||||
LambdaQueryWrapper<SysRoleWork> lqw = new LambdaQueryWrapper<>();
|
||||
|
||||
List<BusProjectVo> busProjectVoList = new ArrayList<>();
|
||||
|
||||
//获取到该用户所有有流程的项目 说明在该项目下该用户有角色有所属流程
|
||||
for (SysUserRole sysUserRole : allRoleList) {
|
||||
lqw.clear();
|
||||
lqw.eq(SysRoleWork::getProjectId,sysUserRole.getProjectId());
|
||||
lqw.eq(SysRoleWork::getRoleId, sysUserRole.getRoleId());
|
||||
SysRoleWork one = getOne(lqw);
|
||||
if (one != null){
|
||||
//先拿到该项目
|
||||
BusProjectQueryReq req = new BusProjectQueryReq();
|
||||
req.setId(sysUserRole.getProjectId());
|
||||
List<BusProjectVo> vos = projectService.queryList(req);
|
||||
if (vos != null && !vos.isEmpty()){
|
||||
if(!busProjectVoList.contains(vos.getFirst())){
|
||||
busProjectVoList.add(vos.getFirst());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//遍历
|
||||
List<SysRoleVo> roleVos;
|
||||
for (BusProjectVo projectVo : busProjectVoList) {
|
||||
roleVos = new ArrayList<>();
|
||||
//通过项目查找所有角色
|
||||
LambdaQueryWrapper<SysRoleWork> lqw1 = new LambdaQueryWrapper<>();
|
||||
lqw1.eq(SysRoleWork::getProjectId,projectVo.getId());
|
||||
//获取角色
|
||||
List<SysRoleWork> roleWorkList = list(lqw1);
|
||||
for (SysRoleWork sysRoleWork : roleWorkList) {
|
||||
SysRoleVo sysRoleVo = roleService.selectRoleById(sysRoleWork.getRoleId());
|
||||
if (sysRoleVo != null){
|
||||
roleVos.add(sysRoleVo);
|
||||
}
|
||||
}
|
||||
projectVo.setRoleVos(roleVos);
|
||||
}
|
||||
|
||||
return busProjectVoList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.project.domain.BusProject;
|
||||
import org.dromara.project.domain.bo.Punchrange;
|
||||
import org.dromara.system.domain.vo.SysRoleVo;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@ -217,4 +218,9 @@ public class BusProjectVo implements Serializable {
|
||||
*/
|
||||
private List<Long> deptIds;
|
||||
|
||||
/**
|
||||
* 某个用户在此项目下的所有角色
|
||||
*/
|
||||
private List<SysRoleVo> roleVos;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user