Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
3c024340
提交
3c024340
authored
6月 19, 2025
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
代码优化
上级
06f1feda
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
515 行增加
和
9 行删除
+515
-9
RemoteOrderApprove.java
...ava/org/dromara/server/api/domain/RemoteOrderApprove.java
+0
-1
SysUserController.java
...g/dromara/system/controller/system/SysUserController.java
+16
-5
SysUserProjectController.java
...ra/system/controller/system/SysUserProjectController.java
+82
-0
SysUserProject.java
...c/main/java/org/dromara/system/domain/SysUserProject.java
+52
-0
SysUserProjectBo.java
...n/java/org/dromara/system/domain/bo/SysUserProjectBo.java
+48
-0
SysUserProjectVo.java
...n/java/org/dromara/system/domain/vo/SysUserProjectVo.java
+79
-0
UserOrderApproveVo.java
...java/org/dromara/system/domain/vo/UserOrderApproveVo.java
+5
-0
UserProjectVo.java
...main/java/org/dromara/system/domain/vo/UserProjectVo.java
+31
-0
SysUserProjectMapper.java
.../java/org/dromara/system/mapper/SysUserProjectMapper.java
+15
-0
ISysUserProjectService.java
...va/org/dromara/system/service/ISysUserProjectService.java
+27
-0
SysUserProjectServiceImpl.java
...romara/system/service/impl/SysUserProjectServiceImpl.java
+129
-0
SysUserProjectMapper.xml
...src/main/resources/mapper/system/SysUserProjectMapper.xml
+7
-0
OrderApproveController.java
...g/dromara/workflow/controller/OrderApproveController.java
+5
-0
OrderApprove.java
...c/main/java/org/dromara/workflow/domain/OrderApprove.java
+5
-0
OrderApproveBo.java
...n/java/org/dromara/workflow/domain/bo/OrderApproveBo.java
+8
-3
OrderApproveVo.java
...n/java/org/dromara/workflow/domain/vo/OrderApproveVo.java
+6
-0
没有找到文件。
ruoyi-api/ruoyi-api-server/src/main/java/org/dromara/server/api/domain/RemoteOrderApprove.java
浏览文件 @
3c024340
...
...
@@ -9,7 +9,6 @@ import java.io.Serializable;
/**
* @author hzh
* @date 2025-06-13
* @desc TODO
**/
@Data
@Accessors
(
chain
=
true
)
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
浏览文件 @
3c024340
...
...
@@ -12,6 +12,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
import
org.dromara.common.core.constant.UserConstants
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.exception.ServiceException
;
import
org.dromara.common.core.utils.StreamUtils
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.encrypt.annotation.ApiEncrypt
;
...
...
@@ -27,10 +28,7 @@ import org.dromara.common.web.core.BaseController;
import
org.dromara.server.api.RemoteDeptOrderApproveService
;
import
org.dromara.system.api.model.LoginUser
;
import
org.dromara.system.domain.SysUser
;
import
org.dromara.system.domain.bo.SysDeptBo
;
import
org.dromara.system.domain.bo.SysPostBo
;
import
org.dromara.system.domain.bo.SysRoleBo
;
import
org.dromara.system.domain.bo.SysUserBo
;
import
org.dromara.system.domain.bo.*
;
import
org.dromara.system.domain.vo.*
;
import
org.dromara.system.listener.SysProjectUserImportListener
;
import
org.dromara.system.listener.SysUserImportListener
;
...
...
@@ -60,6 +58,7 @@ public class SysUserController extends BaseController {
private
final
ISysPostService
postService
;
private
final
ISysDeptService
deptService
;
private
final
ISysTenantService
tenantService
;
private
final
ISysUserProjectService
userProjectService
;
@DubboReference
private
RemoteDeptOrderApproveService
remoteDeptOrderApproveService
;
...
...
@@ -165,19 +164,31 @@ public class SysUserController extends BaseController {
/**
* 获取用户信息
*
* @param projectId 项目id
* @return 用户信息
*/
@GetMapping
(
"/getInfoOrderApprove"
)
public
R
<
UserOrderApproveVo
>
getInfoOrderApprove
()
{
public
R
<
UserOrderApproveVo
>
getInfoOrderApprove
(
@RequestParam
Long
projectId
)
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
UserOrderApproveVo
uoa
=
new
UserOrderApproveVo
();
uoa
.
setUserId
(
loginUser
.
getUserId
());
uoa
.
setUserType
(
loginUser
.
getUserType
());
uoa
.
setStaffId
(
loginUser
.
getUserId
());
uoa
.
setProjectId
(
projectId
);
SysUserVo
su
=
userService
.
selectUserById
(
uoa
.
getUserId
());
if
(
su
.
getUserType
().
contains
(
SysUser
.
PROJECT_USER_TYPE
))
{
uoa
.
setStaffId
(
su
.
getCreateBy
());
su
=
userService
.
selectUserById
(
uoa
.
getStaffId
());
}
else
if
(
StringUtils
.
equals
(
su
.
getUserType
(),
UserType
.
SYS_USER
.
getUserType
())
&&
projectId
!=
null
)
{
SysUserProjectBo
sup
=
new
SysUserProjectBo
();
sup
.
setUserId
(
LoginHelper
.
getUserId
());
sup
.
setProjectId
(
projectId
);
SysUserProjectVo
supVo
=
userProjectService
.
getOne
(
sup
);
if
(
supVo
==
null
)
{
throw
new
ServiceException
(
"项目人员不存在!"
);
}
uoa
.
setStaffId
(
supVo
.
getCreateBy
());
su
=
userService
.
selectUserById
(
uoa
.
getStaffId
());
}
//获取部门负责人id
if
(
su
.
getDeptId
()
!=
null
)
{
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserProjectController.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
controller
.
system
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
jakarta.validation.constraints.NotEmpty
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.idempotent.annotation.RepeatSubmit
;
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.system.domain.bo.SysUserProjectBo
;
import
org.dromara.system.domain.vo.SysUserProjectVo
;
import
org.dromara.system.domain.vo.UserProjectVo
;
import
org.dromara.system.service.ISysUserProjectService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 用户项目
* 前端访问路由地址为:/system/userProject
*
* @author hzh
* @date 2025-06-19
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping
(
"/userProject"
)
public
class
SysUserProjectController
extends
BaseController
{
private
final
ISysUserProjectService
sysUserProjectService
;
/**
* 查询用户项目列表
*/
@SaCheckPermission
(
"system:userProject:list"
)
@GetMapping
(
"/list"
)
public
TableDataInfo
<
SysUserProjectVo
>
list
(
SysUserProjectBo
bo
,
PageQuery
pageQuery
)
{
bo
.
setProcessData
(
true
);
return
sysUserProjectService
.
queryPageList
(
bo
,
pageQuery
);
}
/**
* 获取用户的项目列表
*
* @return 项目列表
*/
@GetMapping
(
"/projectList"
)
public
R
<
List
<
UserProjectVo
>>
projectList
()
{
return
R
.
ok
(
sysUserProjectService
.
selectListByUserId
(
LoginHelper
.
getUserId
()));
}
/**
* 新增用户项目
*/
@SaCheckPermission
(
"system:userProject:add"
)
@Log
(
title
=
"用户项目"
,
businessType
=
BusinessType
.
INSERT
)
@RepeatSubmit
()
@PostMapping
()
public
R
<
Void
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
SysUserProjectBo
bo
)
{
return
toAjax
(
sysUserProjectService
.
insertByBo
(
bo
));
}
/**
* 删除用户项目
*
* @param ids 主键串
*/
@SaCheckPermission
(
"system:userProject:remove"
)
@Log
(
title
=
"用户项目"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
R
<
Void
>
remove
(
@NotEmpty
(
message
=
"主键不能为空"
)
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
sysUserProjectService
.
deleteWithValidByIds
(
List
.
of
(
ids
),
true
));
}
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/SysUserProject.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
domain
;
import
org.dromara.common.tenant.core.TenantEntity
;
import
com.baomidou.mybatisplus.annotation.*
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serial
;
/**
* 用户项目对象 sys_user_project
*
* @author hzh
* @date 2025-06-19
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@TableName
(
"sys_user_project"
)
public
class
SysUserProject
extends
TenantEntity
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 用户id
*/
private
Long
userId
;
/**
* 项目id
*/
private
Long
projectId
;
/**
* 角色id
*/
private
Long
roleId
;
/**
* 删除标志(0代表存在 2代表删除)
*/
@TableLogic
private
String
delFlag
;
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProjectBo.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
domain
.
bo
;
import
org.dromara.system.domain.SysUserProject
;
import
org.dromara.common.mybatis.core.domain.BaseEntity
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.core.validate.EditGroup
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
jakarta.validation.constraints.*
;
/**
* 用户项目业务对象 sys_user_project
*
* @author hzh
* @date 2025-06-19
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@AutoMapper
(
target
=
SysUserProject
.
class
,
reverseConvertGenerate
=
false
)
public
class
SysUserProjectBo
extends
BaseEntity
{
/**
* id
*/
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
/**
* 用户id
*/
@NotNull
(
message
=
"用户id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
userId
;
/**
* 项目id
*/
@NotNull
(
message
=
"项目id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
projectId
;
/**
* 角色id
*/
@NotNull
(
message
=
"角色id不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Long
roleId
;
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/SysUserProjectVo.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelIgnoreUnannotated
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
io.github.linpeilie.annotations.AutoMapper
;
import
lombok.Data
;
import
org.dromara.common.translation.annotation.Translation
;
import
org.dromara.common.translation.constant.TransConstant
;
import
org.dromara.system.domain.SysUserProject
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 用户项目视图对象 sys_user_project
*
* @author hzh
* @date 2025-06-19
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper
(
target
=
SysUserProject
.
class
)
public
class
SysUserProjectVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
@ExcelProperty
(
value
=
"id"
)
private
Long
id
;
/**
* 用户id
*/
@ExcelProperty
(
value
=
"用户id"
)
private
Long
userId
;
/**
* 项目id
*/
@ExcelProperty
(
value
=
"项目id"
)
private
Long
projectId
;
/**
* 角色id
*/
@ExcelProperty
(
value
=
"角色id"
)
private
Long
roleId
;
/**
* 创建人
*/
@Translation
(
type
=
TransConstant
.
USER_ID_TO_NAME
)
private
Long
createBy
;
/**
* 账号名称
*/
private
String
userName
;
/**
* 昵称
*/
private
String
nickName
;
/**
* 手机号
*/
private
String
phonenumber
;
/**
* 邮箱
*/
private
String
email
;
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserOrderApproveVo.java
浏览文件 @
3c024340
...
...
@@ -27,6 +27,11 @@ public class UserOrderApproveVo implements Serializable {
*/
private
String
userType
;
/**
* 项目id
*/
private
Long
projectId
;
/**
* 员工id
*/
...
...
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserProjectVo.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
domain
.
vo
;
import
lombok.Data
;
import
java.io.Serial
;
import
java.io.Serializable
;
/**
* 系统项目视图对象 sys_project
*
* @author hzh
* @date 2025-06-11
*/
@Data
public
class
UserProjectVo
implements
Serializable
{
@Serial
private
static
final
long
serialVersionUID
=
1L
;
/**
* id
*/
private
Long
projectId
;
/**
* 项目名称
*/
private
String
projectName
;
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserProjectMapper.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
mapper
;
import
org.dromara.system.domain.SysUserProject
;
import
org.dromara.system.domain.vo.SysUserProjectVo
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
/**
* 用户项目Mapper接口
*
* @author hzh
* @date 2025-06-19
*/
public
interface
SysUserProjectMapper
extends
BaseMapperPlus
<
SysUserProject
,
SysUserProjectVo
>
{
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserProjectService.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
service
;
import
org.dromara.common.mybatis.service.IBaseService
;
import
org.dromara.system.domain.SysUserProject
;
import
org.dromara.system.domain.bo.SysUserProjectBo
;
import
org.dromara.system.domain.vo.SysUserProjectVo
;
import
org.dromara.system.domain.vo.UserProjectVo
;
import
java.util.List
;
/**
* 用户项目Service接口
*
* @author hzh
* @date 2025-06-19
*/
public
interface
ISysUserProjectService
extends
IBaseService
<
SysUserProjectVo
,
SysUserProjectBo
,
SysUserProject
>
{
/**
* 根据用户id获取项目列表
*
* @param userId 用户列表
* @return 项目列表
*/
List
<
UserProjectVo
>
selectListByUserId
(
Long
userId
);
}
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserProjectServiceImpl.java
0 → 100644
浏览文件 @
3c024340
package
org
.
dromara
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.google.common.base.Objects
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.utils.StreamUtils
;
import
org.dromara.common.mybatis.core.mapper.BaseMapperPlus
;
import
org.dromara.common.mybatis.service.AbstractBaseService
;
import
org.dromara.system.constant.Constant
;
import
org.dromara.system.domain.SysProject
;
import
org.dromara.system.domain.SysUser
;
import
org.dromara.system.domain.SysUserProject
;
import
org.dromara.system.domain.SysUserRole
;
import
org.dromara.system.domain.bo.SysUserProjectBo
;
import
org.dromara.system.domain.vo.SysUserProjectVo
;
import
org.dromara.system.domain.vo.UserProjectVo
;
import
org.dromara.system.mapper.SysProjectMapper
;
import
org.dromara.system.mapper.SysUserMapper
;
import
org.dromara.system.mapper.SysUserProjectMapper
;
import
org.dromara.system.mapper.SysUserRoleMapper
;
import
org.dromara.system.service.ISysUserProjectService
;
import
org.springframework.stereotype.Service
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
/**
* 用户项目Service业务层处理
*
* @author hzh
* @date 2025-06-19
*/
@RequiredArgsConstructor
@Service
public
class
SysUserProjectServiceImpl
extends
AbstractBaseService
<
SysUserProjectVo
,
SysUserProjectBo
,
SysUserProject
>
implements
ISysUserProjectService
{
private
final
SysUserProjectMapper
baseMapper
;
private
final
SysUserRoleMapper
userRoleMapper
;
private
final
SysUserMapper
sysUserMapper
;
private
final
SysProjectMapper
sysProjectMapper
;
@Override
public
BaseMapperPlus
<
SysUserProject
,
SysUserProjectVo
>
mapper
()
{
return
baseMapper
;
}
@Override
public
LambdaQueryWrapper
<
SysUserProject
>
buildQueryWrapper
(
SysUserProjectBo
bo
)
{
Map
<
String
,
Object
>
params
=
bo
.
getParams
();
LambdaQueryWrapper
<
SysUserProject
>
lqw
=
Wrappers
.
lambdaQuery
();
lqw
.
eq
(
bo
.
getUserId
()
!=
null
,
SysUserProject:
:
getUserId
,
bo
.
getUserId
());
lqw
.
eq
(
bo
.
getProjectId
()
!=
null
,
SysUserProject:
:
getProjectId
,
bo
.
getProjectId
());
lqw
.
eq
(
bo
.
getRoleId
()
!=
null
,
SysUserProject:
:
getRoleId
,
bo
.
getRoleId
());
return
lqw
;
}
@Override
public
void
processData
(
List
<
SysUserProjectVo
>
list
)
{
super
.
processData
(
list
);
List
<
Long
>
userIds
=
StreamUtils
.
toList
(
list
,
sup
->
sup
.
getUserId
());
List
<
SysUser
>
userList
=
sysUserMapper
.
selectByIds
(
userIds
);
for
(
SysUserProjectVo
sup
:
list
)
{
SysUser
user
=
StreamUtils
.
findFirst
(
userList
,
u
->
Objects
.
equal
(
u
.
getUserId
(),
sup
.
getUserId
()));
Optional
.
ofNullable
(
user
).
ifPresent
(
u
->
{
sup
.
setUserName
(
u
.
getUserName
());
sup
.
setNickName
(
u
.
getNickName
());
sup
.
setPhonenumber
(
u
.
getNickName
());
sup
.
setEmail
(
u
.
getEmail
());
});
}
}
@Override
public
Boolean
insertByBo
(
SysUserProjectBo
bo
)
{
Boolean
result
=
super
.
insertByBo
(
bo
);
if
(
result
)
{
SysUserRole
sur
=
userRoleMapper
.
selectOne
(
new
LambdaQueryWrapper
<
SysUserRole
>().
eq
(
SysUserRole:
:
getUserId
,
bo
.
getUserId
()).
eq
(
SysUserRole:
:
getRoleId
,
bo
.
getRoleId
()));
if
(
sur
==
null
)
{
SysUserRole
entity
=
new
SysUserRole
();
entity
.
setUserId
(
bo
.
getUserId
());
entity
.
setRoleId
(
bo
.
getRoleId
());
userRoleMapper
.
insert
(
entity
);
}
}
return
result
;
}
@Override
public
Boolean
deleteWithValidByIds
(
Collection
<
Long
>
ids
,
Boolean
isValid
)
{
ids
.
forEach
(
id
->
{
SysUserProject
sup
=
baseMapper
.
selectById
(
id
);
if
(
sup
==
null
)
{
throw
new
SecurityException
(
"项目人员不存在"
);
}
baseMapper
.
deleteById
(
sup
.
getId
());
//查询是否有其他项目
List
<
SysUserProject
>
supList
=
baseMapper
.
selectList
(
SysUserProject:
:
getUserId
,
sup
.
getUserId
());
if
(!
existProjectUser
(
supList
))
{
userRoleMapper
.
delete
(
new
LambdaQueryWrapper
<
SysUserRole
>().
eq
(
SysUserRole:
:
getUserId
,
sup
.
getUserId
()).
eq
(
SysUserRole:
:
getRoleId
,
sup
.
getRoleId
()));
}
});
return
true
;
}
private
boolean
existProjectUser
(
List
<
SysUserProject
>
supList
)
{
return
supList
.
size
()
>
0
||
sysProjectMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysProject
>()
.
in
(
SysProject:
:
getProjectId
,
StreamUtils
.
toList
(
supList
,
SysUserProject:
:
getProjectId
))
.
eq
(
SysProject:
:
getStatus
,
Constant
.
PROJECT_NORMAL
)).
size
()
>
0
;
}
@Override
public
List
<
UserProjectVo
>
selectListByUserId
(
Long
userId
)
{
List
<
SysUserProject
>
supList
=
baseMapper
.
selectList
(
SysUserProject:
:
getUserId
,
userId
);
List
<
Long
>
projectIds
=
StreamUtils
.
toList
(
supList
,
SysUserProject:
:
getProjectId
);
if
(
CollectionUtil
.
isEmpty
(
projectIds
))
{
return
List
.
of
();
}
List
<
SysProject
>
projectList
=
sysProjectMapper
.
selectList
(
new
LambdaQueryWrapper
<
SysProject
>()
.
in
(
SysProject:
:
getProjectId
,
projectIds
)
.
eq
(
SysProject:
:
getStatus
,
Constant
.
PROJECT_NORMAL
));
return
BeanUtil
.
copyToList
(
projectList
,
UserProjectVo
.
class
);
}
}
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserProjectMapper.xml
0 → 100644
浏览文件 @
3c024340
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.dromara.system.mapper.SysUserProjectMapper"
>
</mapper>
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/OrderApproveController.java
浏览文件 @
3c024340
...
...
@@ -4,6 +4,8 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import
jakarta.validation.constraints.NotNull
;
import
lombok.RequiredArgsConstructor
;
import
org.dromara.common.core.domain.R
;
import
org.dromara.common.core.enums.UserType
;
import
org.dromara.common.core.utils.StringUtils
;
import
org.dromara.common.core.validate.AddGroup
;
import
org.dromara.common.idempotent.annotation.RepeatSubmit
;
import
org.dromara.common.log.annotation.Log
;
...
...
@@ -60,6 +62,9 @@ public class OrderApproveController extends BaseController {
@RepeatSubmit
()
@PostMapping
()
public
R
<
OrderApproveVo
>
add
(
@Validated
(
AddGroup
.
class
)
@RequestBody
OrderApproveBo
bo
)
{
if
(
StringUtils
.
contains
(
bo
.
getApplyType
(),
UserType
.
PROJECT_USER
.
getUserType
())
&&
bo
.
getProjectId
()
==
null
)
{
bo
.
setProjectId
(
Long
.
parseLong
(
bo
.
getApplyType
().
split
(
":"
)[
1
]));
}
return
R
.
ok
(
orderApproveService
.
insert
(
bo
));
}
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/OrderApprove.java
浏览文件 @
3c024340
...
...
@@ -34,6 +34,11 @@ public class OrderApprove extends TenantEntity {
*/
private
Long
staffId
;
/**
* 项目id
*/
private
Long
projectId
;
/**
* 申请人类型
*/
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/bo/OrderApproveBo.java
浏览文件 @
3c024340
...
...
@@ -38,15 +38,20 @@ public class OrderApproveBo extends BaseEntity {
/**
* 申请人类型
*/
@NotBlank
(
message
=
"申请人类型不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
@NotBlank
(
message
=
"申请人类型不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
applyType
;
/**
* 是否需要审批
*/
@NotNull
(
message
=
"是否需要审批不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
@NotNull
(
message
=
"是否需要审批不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Boolean
deptApprove
;
/**
* 项目id
*/
private
Long
projectId
;
/**
* 授权人用户id
*/
...
...
@@ -55,7 +60,7 @@ public class OrderApproveBo extends BaseEntity {
/**
* 订单编码
*/
@NotBlank
(
message
=
"订单编码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
@NotBlank
(
message
=
"订单编码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
orderNo
;
/**
...
...
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/OrderApproveVo.java
浏览文件 @
3c024340
...
...
@@ -38,6 +38,12 @@ public class OrderApproveVo implements Serializable {
@ExcelProperty
(
value
=
"职工id"
)
private
Long
staffId
;
/**
* 项目id
*/
@ExcelProperty
(
value
=
"项目id"
)
private
Long
projectId
;
/**
* 申请人类型
*/
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论