|
@@ -384,42 +384,14 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
public IPage<PmDemandResVo> selectPmDemandList(PmDemandReqVo pmDemandReqVo, int reqType) {
|
|
|
LambdaQueryWrapper<PmDemand> lw = new LambdaQueryWrapper<>();
|
|
|
|
|
|
- /*******************权限代码***********************/
|
|
|
- SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
- Long deptId = sysUser.getDeptId();
|
|
|
-
|
|
|
- //获取登录用户的角色
|
|
|
- List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
- //获取属于求单位管理员的列表
|
|
|
- List<SysRole> sysRoleList2 = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals(SysRoleKey.DEMAND_UNIT.getCode())).collect(Collectors.toList());
|
|
|
- if (!ObjectUtils.isEmpty(sysRoleList2)) { //属于需求单位管理员
|
|
|
- lw.apply("(purchase_dept_id = " + deptId + ")");
|
|
|
- } else {
|
|
|
- //获取属于采购管理部门管理员 或 采购办管理员的列表
|
|
|
- List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> (tdto.getRoleKey().equals(SysRoleKey.PURCHASING_MANAGEMENT.getCode())
|
|
|
- || tdto.getRoleKey().equals(SysRoleKey.PROCUREMENT_OFFICE.getCode()))).collect(Collectors.toList());
|
|
|
- if (!ObjectUtils.isEmpty(sysRoleList)) { //属于采购管理部门管理员 或 采购办管理员
|
|
|
- //获取子部门列表
|
|
|
- List<SysDept> sysDeptSubs = deptMapper.selectChildrenDeptById(sysUser.getDeptId());
|
|
|
- String sysDeptSubStr = null;
|
|
|
- if (!ObjectUtils.isEmpty(sysDeptSubs)) {
|
|
|
- List<String> sysDeptSubIds = sysDeptSubs.stream().map(SysDept::getDeptId).collect(Collectors.toList())
|
|
|
- .stream().map(x -> x + "").collect(Collectors.toList());
|
|
|
- sysDeptSubStr = String.join(",", sysDeptSubIds);
|
|
|
- }
|
|
|
-
|
|
|
- String condtionSql = null;
|
|
|
- if (ObjectUtils.isEmpty(sysDeptSubStr)) {
|
|
|
- condtionSql = "(purchase_dept_id = " + deptId + " AND is_excess = 0) ";
|
|
|
- } else {
|
|
|
- condtionSql = "((purchase_dept_id = " + deptId + " AND is_excess = 0) " +
|
|
|
- " OR (purchase_dept_id IN (" + sysDeptSubStr + ") AND is_excess = 1))";
|
|
|
- }
|
|
|
-
|
|
|
- lw.apply(condtionSql);
|
|
|
- }
|
|
|
+ LambdaQueryWrapper<PmAuditDeptRef> l = new LambdaQueryWrapper<>();
|
|
|
+ l.eq(PmAuditDeptRef::getDeptId, pmDemandReqVo.getDeptId());
|
|
|
+ l.eq(PmAuditDeptRef::getRefType, "2");
|
|
|
+ List<PmAuditDeptRef> list = pmAuditDeptRefService.list(l);
|
|
|
+ if (!ObjectUtils.isEmpty(list)) {
|
|
|
+ lw.in(PmDemand::getDemandId, list.stream().map(PmAuditDeptRef::getRefId).collect(Collectors.toList()));
|
|
|
}
|
|
|
- /*******************权限代码end***********************/
|
|
|
+
|
|
|
|
|
|
if (!StringUtils.isBlank(pmDemandReqVo.getProjectName())) {
|
|
|
lw.like(PmDemand::getProjectName, "%" + pmDemandReqVo.getProjectName() + "%");
|
|
@@ -461,6 +433,32 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
IPage<PmDemandResVo> results = new Page<>(pageRes.getCurrent(), pageRes.getSize(), pageRes.getTotal());
|
|
|
if (pageRes.getRecords() != null && pageRes.getRecords().size() > 0) {
|
|
|
List<PmDemandResVo> pmDemandResVos = demandChangeTo(pageRes.getRecords());
|
|
|
+
|
|
|
+ for (PmDemandResVo vo : pmDemandResVos) {
|
|
|
+ // 根据项目id 和 部门id 和 参数类型 获取 部门级别
|
|
|
+ List<PmAuditDeptRef> collect = list.stream()
|
|
|
+ .filter(o -> o.getRefId().equals(vo.getDemandId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!ObjectUtils.isEmpty(collect)) {
|
|
|
+ String deptLevel = collect.get(0).getDeptLevel();
|
|
|
+
|
|
|
+ // 根据项目id 和 参数类型 获取 所有审核数据
|
|
|
+ LambdaQueryWrapper<PmAuditDeptRef> ll = new LambdaQueryWrapper<>();
|
|
|
+ ll.eq(PmAuditDeptRef::getRefId, vo.getDemandId());
|
|
|
+ ll.eq(PmAuditDeptRef::getRefType, "2");
|
|
|
+ List<PmAuditDeptRef> listl = pmAuditDeptRefService.list(l);
|
|
|
+
|
|
|
+ // 判断当前用户是否有审核权限
|
|
|
+ boolean flay = true;
|
|
|
+ for (PmAuditDeptRef pmAuditDeptRef : listl) {
|
|
|
+ if (pmAuditDeptRef.getDeptLevel().compareTo(deptLevel) > 0
|
|
|
+ && pmAuditDeptRef.getStatus().equals(Integer.parseInt("0"))) {
|
|
|
+ flay = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setFlay(flay);
|
|
|
+ }
|
|
|
+ }
|
|
|
results.setRecords(pmDemandResVos);
|
|
|
}
|
|
|
|
|
@@ -812,7 +810,10 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
|
|
|
.set(PmDemand::getUpdateBy, pmDemandReqVo.getUpdateBy())
|
|
|
.set(PmDemand::getUpdateTime, DateUtils.getNowDate())
|
|
|
.set(PmDemand::getAuditTime, DateUtils.getNowDate());
|
|
|
-
|
|
|
+ LambdaQueryWrapper<PmAuditDeptRef> lw = new LambdaQueryWrapper();
|
|
|
+ lw.eq(PmAuditDeptRef::getRefId, pmDemandReqVo.getDemandId());
|
|
|
+ lw.eq(PmAuditDeptRef::getRefType, "2");
|
|
|
+ pmAuditDeptRefService.remove(lw);
|
|
|
return this.update(updateWrapper);
|
|
|
}
|
|
|
|