Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dizhen
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyun
dizhen
Commits
6e425d56
Commit
6e425d56
authored
Oct 31, 2025
by
wangqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
成果管理权限
parent
b6e381d9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
104 additions
and
11 deletions
+104
-11
src/main/java/com/ruoyi/project/ys/controller/YsqqXmxxController.java
+48
-11
src/main/java/com/ruoyi/project/ys/service/impl/YsqqXmxxServiceImpl.java
+4
-0
src/main/java/com/ruoyi/project/ys/utils/roleUtil.java
+52
-0
No files found.
src/main/java/com/ruoyi/project/ys/controller/YsqqXmxxController.java
View file @
6e425d56
...
...
@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.project.system.domain.SysRole
;
import
com.ruoyi.project.ys.utils.roleUtil
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
...
...
@@ -44,11 +45,12 @@ public class YsqqXmxxController extends BaseController
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
YsqqXmxx
ysqqXmxx
)
{
// 系统管理员:
看所有。
// 创建人
能看到
// 项目成员
能看到
// 系统管理员:
管理者
// 创建人
:管理者
// 项目成员
:管理者 ,协作者,查看者
boolean
is_admin
=
false
;
String
user_id
=
SecurityUtils
.
getUserId
()+
""
;
// 拿到角色如果是管理员 不限制。不是管理员只能看到自己创建的,或者自己是成员的
List
<
SysRole
>
rolelist
=
SecurityUtils
.
getLoginUser
().
getUser
().
getRoles
();
if
(
StringUtils
.
isNotEmpty
(
rolelist
)){
...
...
@@ -62,14 +64,24 @@ public class YsqqXmxxController extends BaseController
if
(
is_admin
){
ysqqXmxx
.
setCreatedBy
(
null
);
}
else
{
ysqqXmxx
.
setCreatedBy
(
SecurityUtils
.
getUserId
()+
""
);
ysqqXmxx
.
setCreatedBy
(
user_id
);
}
startPage
();
List
<
YsqqXmxx
>
list
=
ysqqXmxxService
.
selectYsqqXmxxList
(
ysqqXmxx
);
if
(
is_admin
){
}
else
{
// 管理者 、协作者、查看者
for
(
YsqqXmxx
xmxx:
list
){
if
(
is_admin
){
xmxx
.
setXmjs
(
"管理者"
);
continue
;
}
if
(
user_id
.
equals
(
xmxx
.
getCreatedBy
())){
xmxx
.
setXmjs
(
"管理者"
);
continue
;
}
String
xmjss
=
xmxx
.
getXmjss
();
String
cyids
=
xmxx
.
getCyids
();
String
xmjs
=
roleUtil
.
getXmjsByCyid
(
cyids
,
xmjss
,
user_id
);
xmxx
.
setXmjs
(
xmjs
);
}
return
getDataTable
(
list
);
}
...
...
@@ -227,21 +239,46 @@ public class YsqqXmxxController extends BaseController
// 系统管理员:看所有。
// 创建人能看到
// 项目成员能看到
ysqqXmxx
.
setCreatedBy
(
SecurityUtils
.
getUserId
()+
""
);
// 拿到角色如果是管理员 不限制。不是管理员只能看到自己的帮扶组
boolean
is_admin
=
false
;
String
user_id
=
SecurityUtils
.
getUserId
()+
""
;
// 拿到角色如果是管理员 不限制。不是管理员只能看到自己创建的,或者自己是成员的
List
<
SysRole
>
rolelist
=
SecurityUtils
.
getLoginUser
().
getUser
().
getRoles
();
if
(
StringUtils
.
isNotEmpty
(
rolelist
)){
for
(
SysRole
role
:
rolelist
){
Long
roleid
=
role
.
getRoleId
();
if
(
roleid
==
1
||
roleid
==
3
){
ysqqXmxx
.
setCreatedBy
(
null
)
;
is_admin
=
true
;
}
}
}
if
(
is_admin
){
ysqqXmxx
.
setCreatedBy
(
null
);
}
else
{
ysqqXmxx
.
setCreatedBy
(
user_id
);
}
startPage
();
//ysqqXmxx.setExt1("待验收、已验收(待归档)、已归档'");
List
<
YsqqXmxx
>
list
=
ysqqXmxxService
.
yscgList
(
ysqqXmxx
);
// 管理者 、协作者、查看者
for
(
YsqqXmxx
xmxx:
list
){
if
(
is_admin
){
xmxx
.
setXmjs
(
"管理者"
);
continue
;
}
if
(
user_id
.
equals
(
xmxx
.
getCreatedBy
())){
xmxx
.
setXmjs
(
"管理者"
);
continue
;
}
String
xmjss
=
xmxx
.
getXmjss
();
String
cyids
=
xmxx
.
getCyids
();
String
xmjs
=
roleUtil
.
getXmjsByCyid
(
cyids
,
xmjss
,
user_id
);
xmxx
.
setXmjs
(
xmjs
);
}
return
getDataTable
(
list
);
}
}
src/main/java/com/ruoyi/project/ys/service/impl/YsqqXmxxServiceImpl.java
View file @
6e425d56
...
...
@@ -162,10 +162,14 @@ public class YsqqXmxxServiceImpl implements IYsqqXmxxService
xmxx
.
setXmmc
(
item1
.
getXmmc
());
xmxx
.
setXmzt
(
item1
.
getXmzt
());
xmxx
.
setQk
(
item1
.
getQk
());
xmxx
.
setCyids
(
item1
.
getCyids
());
xmxx
.
setXmjss
(
item1
.
getXmjss
());
xmxx
.
setCreatedBy
(
item1
.
getCreatedBy
());
xmxx
.
setPxh
(
PXH
);
xmxx
.
setZllxid
(
item2
.
getId
());
xmxx
.
setZllxmc
(
item2
.
getLxmc
());
jctzList
.
add
(
xmxx
);
}
}
...
...
src/main/java/com/ruoyi/project/ys/utils/roleUtil.java
0 → 100644
View file @
6e425d56
package
com
.
ruoyi
.
project
.
ys
.
utils
;
/**
* Created by wangjian on 2023/9/4.
*/
public
class
roleUtil
{
/**
* 根据目标cyid(String类型)获取对应的xmjs值
* @param cyids 逗号分隔的cyid字符串(可能为null)
* @param xmjss 逗号分隔的xmjs字符串
* @param targetCyid 目标cyid(String类型)
* @return 对应的xmjs值,或提示信息
*/
public
static
String
getXmjsByCyid
(
String
cyids
,
String
xmjss
,
String
targetCyid
)
{
// 处理null和空字符串情况
if
(
cyids
==
null
||
cyids
.
trim
().
isEmpty
())
{
return
"查看者"
;
}
if
(
xmjss
==
null
||
xmjss
.
trim
().
isEmpty
())
{
return
"查看者"
;
}
if
(
targetCyid
==
null
||
targetCyid
.
trim
().
isEmpty
())
{
return
"查看者"
;
}
// 去除目标cyid的前后空格
String
trimmedTarget
=
targetCyid
.
trim
();
// 拆分字符串为数组
String
[]
cyidArray
=
cyids
.
split
(
","
);
String
[]
xmjsArray
=
xmjss
.
split
(
","
);
// 校验数组长度是否一致
if
(
cyidArray
.
length
!=
xmjsArray
.
length
)
{
return
"查看者"
;
}
// 查找目标cyid对应的xmjs(字符串直接比较)
for
(
int
i
=
0
;
i
<
cyidArray
.
length
;
i
++)
{
// 去除当前cyid的前后空格后再比较
if
(
cyidArray
[
i
].
trim
().
equals
(
trimmedTarget
))
{
return
xmjsArray
[
i
].
trim
();
}
}
// 未找到对应记录
return
"查看者"
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment