feat: 休假审批流程

This commit is contained in:
李京通 2025-06-10 09:35:17 +08:00
parent f587f94657
commit 17632061bf
1 changed files with 55 additions and 35 deletions

View File

@ -212,6 +212,9 @@ public class PoliceLeaveApprovalController extends BaseController {
Long id = dto.getId();
SysUser user = getLoginUser().getUser();
SysDept sysDept = deptService.selectDeptById(user.getDeptId());
// 分管局领导
String leaderLeader1 = sysDept.getLeaderLeader();
Integer state = dto.getState();
PoliceLeaveApproval policeLeaveApproval = policeLeaveApprovalService.getById(id);
if (leader.contains(user.getNickName())) {
@ -220,21 +223,6 @@ public class PoliceLeaveApprovalController extends BaseController {
if (state == 2) {
policeLeaveApproval.setState(2);
}
// gwglLog gwglLog = new gwglLog();
// gwglLog.setApplyNo(policeLeaveApproval.getApplyNo());
// gwglLog.setDeptId(policeLeaveApproval.getDeptId());
// gwglLog.setDeptName(policeLeaveApproval.getDeptName());
// gwglLog.setUserId(policeLeaveApproval.getUserId());
// gwglLog.setUserName(policeLeaveApproval.getName());
// gwglLog.setCreateTime(policeLeaveApproval.getCreateTime());
// gwglLog.setReason(policeLeaveApproval.getReason());
// gwglLog.setResult(state);
// gwglLog.setType(1);
// gwglLog.setReason(policeLeaveApproval.getReason());
// gwglLog.setChecker(user.getNickName());
// gwglLog.setCheckTime(System.currentTimeMillis());
// gwglLog.setCheckState(state);
// boolean result1 = gwglLogService.save(gwglLog);
gwglLog one = gwglLogService.lambdaQuery()
.eq(gwglLog::getApplyNo, policeLeaveApproval.getApplyNo())
.orderByDesc(gwglLog::getCreateTime)
@ -250,7 +238,7 @@ public class PoliceLeaveApprovalController extends BaseController {
one.setResult(state);
one.setType(1);
one.setChecker(user.getNickName());
one.setCheckTime(System.currentTimeMillis()/1000L);
one.setCheckTime(System.currentTimeMillis() / 1000L);
one.setCheckState(state);
boolean result = gwglLogService.updateById(one);
@ -261,10 +249,11 @@ public class PoliceLeaveApprovalController extends BaseController {
gwglLog.setDeptName(policeLeaveApproval.getDeptName());
gwglLog.setUserId(policeLeaveApproval.getUserId());
gwglLog.setUserName(policeLeaveApproval.getName());
gwglLog.setCreateTime(System.currentTimeMillis()/1000L);
gwglLog.setCreateTime(System.currentTimeMillis() / 1000L);
gwglLog.setResult(0);
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setChecker("刘成志和陈列");
gwglLog.setChecker("政治处");
gwglLog.setCheckState(0);
boolean result1 = gwglLogService.save(gwglLog);
} else if ("096484".equals(user.getUserName())) {
@ -273,19 +262,48 @@ public class PoliceLeaveApprovalController extends BaseController {
if (state == 2) {
policeLeaveApproval.setState(2);
}
if (policeLeaveApproval.getUserType() == 0) {
// 政治处审核普通民警
gwglLog one = gwglLogService.lambdaQuery()
.eq(gwglLog::getApplyNo, policeLeaveApproval.getApplyNo())
.orderByDesc(gwglLog::getCreateTime)
.last("LIMIT 1")
.one();
one.setApplyNo(policeLeaveApproval.getApplyNo());
one.setDeptId(policeLeaveApproval.getDeptId());
one.setDeptName(policeLeaveApproval.getDeptName());
one.setUserId(policeLeaveApproval.getUserId());
one.setUserName(policeLeaveApproval.getName());
one.setCreateTime(System.currentTimeMillis() / 1000L);
one.setResult(state);
one.setType(1);
one.setReason(dto.getReason());
one.setChecker(user.getNickName());
one.setCheckTime(System.currentTimeMillis() / 1000L);
one.setCheckState(state);
boolean result1 = gwglLogService.updateById(one);
} else {
gwglLog gwglLog = new gwglLog();
gwglLog.setApplyNo(policeLeaveApproval.getApplyNo());
gwglLog.setDeptId(policeLeaveApproval.getDeptId());
gwglLog.setDeptName(policeLeaveApproval.getDeptName());
gwglLog.setUserId(policeLeaveApproval.getUserId());
gwglLog.setUserName(policeLeaveApproval.getName());
gwglLog.setCreateTime(System.currentTimeMillis()/1000L);
gwglLog.setCreateTime(System.currentTimeMillis() / 1000L);
gwglLog.setResult(state);
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setChecker("刘成志和陈列");
gwglLog.setCheckTime(System.currentTimeMillis()/1000L);
gwglLog.setCheckTime(System.currentTimeMillis() / 1000L);
gwglLog.setCheckState(0);
boolean result1 = gwglLogService.save(gwglLog);
boolean result = approvalsProcessService.lambdaUpdate()
.eq(ApprovalProcess::getUuid, policeLeaveApproval.getUuid())
.set(ApprovalProcess::getApprovalStatus, state)
.set(ApprovalProcess::getCcName,leaderLeader1)
.set(ApprovalProcess::getReadStatus,0)
.update();
}
} else if ("admin".equals(user.getUserName())) {
// 管理员看所有
policeLeaveApproval.setDeptState(state);
@ -304,7 +322,7 @@ public class PoliceLeaveApprovalController extends BaseController {
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setReason(policeLeaveApproval.getReason());
gwglLog.setChecker(user.getNickName());
gwglLog.setCheckTime(System.currentTimeMillis()/1000L);
gwglLog.setCheckTime(System.currentTimeMillis() / 1000L);
gwglLog.setCheckState(state);
boolean result1 = gwglLogService.save(gwglLog);
@ -324,17 +342,19 @@ public class PoliceLeaveApprovalController extends BaseController {
one.setDeptName(policeLeaveApproval.getDeptName());
one.setUserId(policeLeaveApproval.getUserId());
one.setUserName(policeLeaveApproval.getName());
one.setCreateTime(System.currentTimeMillis()/1000L);
one.setCreateTime(System.currentTimeMillis() / 1000L);
one.setResult(state);
one.setType(1);
one.setReason(dto.getReason());
one.setChecker(user.getNickName());
one.setCheckTime(System.currentTimeMillis()/1000L);
one.setCheckTime(System.currentTimeMillis() / 1000L);
one.setCheckState(state);
boolean result1 = gwglLogService.updateById(one);
boolean result = approvalsProcessService.lambdaUpdate()
.eq(ApprovalProcess::getUuid, policeLeaveApproval.getUuid())
.set(ApprovalProcess::getApprovalStatus, state)
.set(ApprovalProcess::getCcName,leaderLeader1)
.set(ApprovalProcess::getReadStatus,0)
.update();
if (!result && !result1) {
return AjaxResult.success("审批请(休)假失败");