Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
41502ce4
Commit
41502ce4
authored
Dec 29, 2022
by
hongguangwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
部门 (部分代码)
parent
c2bf35c2
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
386 additions
and
0 deletions
+386
-0
TBusDeptController.java
...lus/v1/business/controller/system/TBusDeptController.java
+386
-0
No files found.
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/controller/system/TBusDeptController.java
0 → 100644
View file @
41502ce4
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
controller
.
system
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.business.entity.system.TBusDept
;
import
com.yifu.cloud.plus.v1.business.service.system.TBusDeptService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.AllArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* B端部门表
*
* @author hgw
* @date 2021-08-10 10:38:44
*/
@RestController
@AllArgsConstructor
@RequestMapping
(
"/tbusdept"
)
@Tag
(
name
=
"B端部门表"
)
public
class
TBusDeptController
{
private
final
TBusDeptService
tBusDeptService
;
//private final RemoteBasiBusinessService remoteBasiBusinessService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tBusDept B端部门表
* @return
*/
@Operation
(
summary
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TBusDept
>>
getTBusDeptPage
(
Page
<
TBusDept
>
page
,
TBusDept
tBusDept
)
{
return
new
R
<>(
tBusDeptService
.
getTBusDeptPage
(
page
,
tBusDept
));
}
/**
* 检查名称是否重复,false:不重复,可以使用的名称
* @param name 名称
* @return
*/
private
boolean
getDeptByName
(
Integer
id
,
String
name
)
{
List
<
TBusDept
>
list
=
tBusDeptService
.
getDeptByName
(
id
,
name
);
return
(
list
!=
null
&&
!
list
.
isEmpty
());
}
/**
* 查询父级的平级list
* @return
*/
@Operation
(
summary
=
"查询父级的平级list"
)
@GetMapping
(
"/getParentList"
)
public
R
<
List
<
TBusDept
>>
getParentList
(
Integer
pid
)
{
if
(
Common
.
isNotNull
(
pid
))
{
TBusDept
parent
=
tBusDeptService
.
getById
(
pid
);
if
(
parent
!=
null
&&
Common
.
isNotNull
(
parent
.
getLevel
()))
{
TBusDept
parentDept
=
new
TBusDept
();
parentDept
.
setLevel
(
parent
.
getLevel
());
return
new
R
<>(
tBusDeptService
.
getTBusDeptList
(
parentDept
));
}
}
return
new
R
<>();
}
/**
* 查询所有的list
* @param tBusDept B端部门表
* @return
*/
@Operation
(
summary
=
"查询所有的list"
)
@GetMapping
(
"/getTBusDeptList"
)
public
R
<
List
<
TBusDept
>>
getTBusDeptList
(
TBusDept
tBusDept
)
{
return
new
R
<>(
tBusDeptService
.
getTBusDeptList
(
tBusDept
));
}
/**
* 查询所有的list 包含删除
* @param tBusDept B端部门表
* @return
*/
@Operation
(
summary
=
"查询所有的list"
)
@GetMapping
(
"/getTBusDeptListAsso"
)
public
R
<
List
<
TBusDept
>>
getTBusDeptListAsso
(
TBusDept
tBusDept
)
{
return
new
R
<>(
tBusDeptService
.
getTBusDeptListAsso
(
tBusDept
));
}
/**
* 查询部门树
* @param rootDept B端部门表,id是想要查询的顶级节点
* @return
*/
@Operation
(
summary
=
"查询tree"
)
@GetMapping
(
"/getTBusDeptTree"
)
public
R
<
TBusDept
>
getTBusDeptTree
(
TBusDept
rootDept
)
{
if
(
rootDept
==
null
||
rootDept
.
getId
()
==
null
)
{
rootDept
=
tBusDeptService
.
getById
(
1
);
}
else
{
rootDept
=
tBusDeptService
.
getById
(
rootDept
.
getId
());
}
List
<
TBusDept
>
deptList
=
tBusDeptService
.
getTBusDeptSubList
(
rootDept
.
getId
(),
rootDept
.
getTreeLogo
());
this
.
getSubList
(
rootDept
,
deptList
);
return
new
R
<>(
rootDept
);
}
/**
* @param rootDept 上级部门
* @param deptList 所有部门信息
* @Description:
* @Author: hgw
* @Date: 2021/8/10 15:49
* @return: com.yifu.cloud.v1.hrobusiness.api.entity.system.TBusDept
**/
private
void
getSubList
(
TBusDept
rootDept
,
List
<
TBusDept
>
deptList
)
{
List
<
TBusDept
>
deptListCopy
=
new
ArrayList
<>(
deptList
);
List
<
TBusDept
>
subList
;
for
(
TBusDept
dept
:
deptList
)
{
if
(
dept
.
getPid
().
equals
(
rootDept
.
getId
()))
{
subList
=
rootDept
.
getChildren
();
if
(
subList
==
null
)
{
subList
=
new
ArrayList
<>();
}
deptListCopy
.
remove
(
dept
);
// 递归塞子集
if
(!
deptListCopy
.
isEmpty
())
{
getSubList
(
dept
,
deptListCopy
);
}
subList
.
add
(
dept
);
rootDept
.
setChildren
(
subList
);
}
}
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation
(
summary
=
"id查询"
)
@GetMapping
(
"/{id}"
)
public
R
<
TBusDept
>
getById
(
@PathVariable
(
"id"
)
Integer
id
)
{
return
new
R
<>(
tBusDeptService
.
getById
(
id
));
}
/**
* 新增记录
*
* @param tBusDept
* @return R
*/
@Operation
(
summary
=
"新增(yifu-hro-business:tbusdept_add)"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('yifu-hro-business:tbusdept_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TBusDept
tBusDept
)
{
String
error
;
if
(
Common
.
isNotNull
(
tBusDept
.
getName
()))
{
boolean
flag
=
this
.
getDeptByName
(
null
,
tBusDept
.
getName
());
if
(
flag
)
{
return
R
.
failed
(
"部门名称不可重复"
);
}
}
else
{
return
R
.
failed
(
"部门名称不可为空"
);
}
if
(
tBusDept
.
getPid
()
!=
null
)
{
TBusDept
parentDept
=
tBusDeptService
.
getById
(
tBusDept
.
getPid
());
if
(
parentDept
!=
null
&&
parentDept
.
getId
()
!=
null
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
user
!=
null
&&
user
.
getId
()
!=
null
)
{
tBusDept
.
setCreateTime
(
LocalDateTime
.
now
());
tBusDept
.
setCreateUserId
(
user
.
getId
());
tBusDept
.
setCreateUserName
(
user
.
getNickname
());
tBusDept
.
setLevel
(
parentDept
.
getLevel
()
+
CommonConstants
.
ONE_INT
);
tBusDeptService
.
save
(
tBusDept
);
tBusDept
.
setTreeLogo
(
parentDept
.
getTreeLogo
()
+
CommonConstants
.
CENTER_SPLIT_LINE_STRING
+
tBusDept
.
getId
());
boolean
flag
=
tBusDeptService
.
updateById
(
tBusDept
);
return
new
R
<>(
flag
);
}
else
{
error
=
"未获取到登录人信息!"
;
}
}
else
{
error
=
"根据pid,未获取到上级信息!"
;
}
}
else
{
error
=
"pid不可为空!"
;
}
return
R
.
failed
(
error
);
}
/**
* 修改记录
*
* @param tBusDept
* @return R
*/
/* @Operation(summary = "修改(yifu-hro-business:tbusdept_edit)")
@SysLog("修改B端部门表")
@PutMapping
@PreAuthorize("@pms.hasPermission('yifu-hro-business:tbusdept_edit')")
public R<Boolean> update(@RequestBody TBusDept tBusDept) {
if (Common.isNotNull(tBusDept.getName()) && Common.isNotNull(tBusDept.getId())) {
boolean flag = this.getDeptByName(tBusDept.getId(), tBusDept.getName());
if (flag) {
return R.failed("部门名称不可重复");
}
TBusDept deptOld = tBusDeptService.getById(tBusDept.getId());
if (deptOld != null && Common.isNotNull(tBusDept.getPid())
&& !deptOld.getPid().equals(tBusDept.getPid())) {
TBusDept parentDept = tBusDeptService.getById(tBusDept.getPid());
if (parentDept != null && parentDept.getId() != null) {
String oldLogo = deptOld.getTreeLogo() + CommonConstants.CENTER_SPLIT_LINE_STRING;
String newLogo = parentDept.getTreeLogo() + CommonConstants.CENTER_SPLIT_LINE_STRING + tBusDept.getId();
tBusDept.setTreeLogo(newLogo);
newLogo += CommonConstants.CENTER_SPLIT_LINE_STRING;
tBusDeptService.updateAllTreeLogo(oldLogo, newLogo);
} else {
return R.failed("根据pid,未获取到上级信息!");
}
}
} else {
return R.failed("部门id、名称不可为空");
}
boolean isSuccess = tBusDeptService.updateById(tBusDept);
// 更新人员表冗余字段
if (isSuccess) {
UpdateEmployeeExtendRedundancyDTO dto = new UpdateEmployeeExtendRedundancyDTO();
dto.setDepartId(tBusDept.getId());
dto.setDepartName(tBusDept.getName());
dto.setTreeLogo(tBusDept.getTreeLogo());
dto.setDepartIdVal(tBusDept.getId());
remoteBasiBusinessService.updateEmployeeExtendRedundancy(CollUtil.newArrayList(dto), SecurityConstants.FROM_IN);
}
return new R<>(isSuccess);
}*/
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
/*@Operation(summary = "假删除(yifu-hro-business:tbusdept_del)")
@SysLog("假删除B端部门表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('yifu-hro-business:tbusdept_del')")
public R<Boolean> removeById(@PathVariable Integer id) {
TBusDept tBusDept = new TBusDept();
tBusDept.setPid(id);
List<TBusDept> list = tBusDeptService.getTBusDeptList(tBusDept);
if (list != null && !list.isEmpty()) {
return R.failed("部门下有部门,请先删除!");
}
tBusDept = new TBusDept();
tBusDept.setId(id);
tBusDept.setDeleteFlag(1);
boolean isSuccess = tBusDeptService.updateById(tBusDept);
// 更新人员表冗余字段,设置为空值
if (isSuccess) {
UpdateEmployeeExtendRedundancyDTO dto = new UpdateEmployeeExtendRedundancyDTO();
dto.setDepartId(tBusDept.getId());
dto.setDepartName(null);
dto.setTreeLogo(null);
dto.setDepartIdVal(null);
remoteBasiBusinessService.updateEmployeeExtendRedundancy(CollUtil.newArrayList(dto), SecurityConstants.FROM_IN);
}
return new R<>(isSuccess);
}*/
/**
* 导入
* @return R
*/
@Operation
(
summary
=
"导入"
)
@PostMapping
(
"/importDept"
)
public
R
<
List
<
ErrorMessage
>>
importDept
(
@RequestBody
List
<
TBusDept
>
deptList
)
{
if
(
deptList
==
null
||
deptList
.
isEmpty
())
{
return
R
.
failed
(
CommonConstants
.
NO_DATA_TO_HANDLE
);
}
String
error
;
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
user
==
null
||
Common
.
isEmpty
(
user
.
getId
()))
{
return
R
.
failed
(
"未获取到登录人信息!"
);
}
String
userId
=
user
.
getId
();
String
userName
=
user
.
getNickname
();
LocalDateTime
nows
=
LocalDateTime
.
now
();
List
<
ErrorMessage
>
errorList
=
new
ArrayList
<>();
int
i
=
1
;
for
(
TBusDept
dept
:
deptList
)
{
i
++;
if
(
Common
.
isNotNull
(
dept
.
getName
()))
{
boolean
flag
=
this
.
getDeptByName
(
null
,
dept
.
getName
());
if
(!
flag
)
{
this
.
doSaveInfo
(
userId
,
userName
,
nows
,
errorList
,
i
,
dept
);
}
else
{
error
=
"已存在此部门:"
+
dept
.
getName
();
errorList
.
add
(
new
ErrorMessage
(
i
,
error
));
}
}
else
{
error
=
"部门名称不可为空!"
;
errorList
.
add
(
new
ErrorMessage
(
i
,
error
));
}
}
return
R
.
ok
(
errorList
,
CommonConstants
.
SAVE_SUCCESS
);
}
/**
* @param userId
* @param userName
* @param nows
* @param errorList
* @param i
* @param dept
* @Description: 保存信息
* @Author: hgw
* @Date: 2021/8/11 16:39
* @return: void
**/
private
void
doSaveInfo
(
String
userId
,
String
userName
,
LocalDateTime
nows
,
List
<
ErrorMessage
>
errorList
,
int
i
,
TBusDept
dept
)
{
String
error
;
if
(
dept
.
getName
().
length
()
<=
50
)
{
if
(
dept
.
getParentName
()
!=
null
)
{
List
<
TBusDept
>
parentDeptList
=
tBusDeptService
.
getDeptByName
(
null
,
dept
.
getParentName
());
if
(
parentDeptList
!=
null
&&
!
parentDeptList
.
isEmpty
())
{
TBusDept
parentDept
=
parentDeptList
.
get
(
CommonConstants
.
ZERO_INT
);
dept
.
setPid
(
parentDept
.
getId
());
dept
.
setCreateTime
(
nows
);
dept
.
setCreateUserId
(
userId
);
dept
.
setCreateUserName
(
userName
);
dept
.
setLevel
(
parentDept
.
getLevel
()
+
CommonConstants
.
ONE_INT
);
tBusDeptService
.
save
(
dept
);
dept
.
setTreeLogo
(
parentDept
.
getTreeLogo
()
+
CommonConstants
.
CENTER_SPLIT_LINE_STRING
+
dept
.
getId
());
tBusDeptService
.
updateById
(
dept
);
}
else
{
error
=
"部门:"
+
dept
.
getName
()
+
",未找到上级部门:"
+
dept
.
getParentName
();
errorList
.
add
(
new
ErrorMessage
(
i
,
error
));
}
}
else
{
error
=
"部门:"
+
dept
.
getName
()
+
",上级部门不可为空!"
;
errorList
.
add
(
new
ErrorMessage
(
i
,
error
));
}
}
else
{
error
=
"部门名称长度不允许超过50:"
+
dept
.
getName
();
errorList
.
add
(
new
ErrorMessage
(
i
,
error
));
}
}
/**
* 根据部门父id或等级查询部门列表
* @param pid 部门pid 部门父id选填,如果需要获取指定部门下面所有的部门须填写
* @param level 部门等级 部门等级 1:一级部门 2:二级部门,以此类推
* @return: com.yifu.cloud.v1.common.core.util.R<java.util.List<com.yifu.cloud.v1.hrobusiness.api.entity.system.TBusDept>>
* @author: wangweiguo
* @date: 2021/9/7
* @since hrob2.1
*/
@Operation
(
summary
=
"根据部门父id或等级查询部门列表"
)
@GetMapping
(
"/getBusDepartByLevelOrPid"
)
public
R
<
List
<
TBusDept
>>
getBusDepartByLevelOrPid
(
@RequestParam
(
name
=
"pid"
,
required
=
false
)
Integer
pid
,
@RequestParam
Integer
level
)
{
return
this
.
tBusDeptService
.
getBusDepartByLevelOrPid
(
pid
,
level
);
}
}
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