11-13-修改

This commit is contained in:
2025-11-13 20:49:58 +08:00
parent ef2c1ff455
commit 90b0eb82f4
6 changed files with 129 additions and 19 deletions

View File

@ -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);
}

View File

@ -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());
}
}

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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;
}
}

View File

@ -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;
}