feat: 请假

This commit is contained in:
李京通 2025-06-09 18:57:07 +08:00
parent 08a76313dc
commit a07aa0095d
4 changed files with 136 additions and 32 deletions

View File

@ -164,6 +164,7 @@ public class NonWorkingDayDrinkingReportController extends BaseController {
gwglLog.setDeptId(user.getDeptId()); gwglLog.setDeptId(user.getDeptId());
gwglLog.setDeptName(user.getDept().getDeptName()); gwglLog.setDeptName(user.getDept().getDeptName());
gwglLog.setUserId(user.getUserId()); gwglLog.setUserId(user.getUserId());
gwglLog.setChecker(sysDept.getLeader());
gwglLog.setUserName(user.getNickName()); gwglLog.setUserName(user.getNickName());
gwglLog.setCreateTime(new Date().getTime()); gwglLog.setCreateTime(new Date().getTime());
gwglLogService.save(gwglLog); gwglLogService.save(gwglLog);

View File

@ -54,6 +54,7 @@ public class PoliceLeaveApprovalController extends BaseController {
List<SysDept> sysDepts = deptService.selectAllDeptList(); List<SysDept> sysDepts = deptService.selectAllDeptList();
// 局领导 // 局领导
List<SysUser> users = userService.getList("131000"); List<SysUser> users = userService.getList("131000");
List<String> leaders = users.stream().map(SysUser::getUserName).collect(Collectors.toList());
// 部门领导 // 部门领导
List<String> leader = sysDepts.stream().map(SysDept::getLeader).collect(Collectors.toList()); List<String> leader = sysDepts.stream().map(SysDept::getLeader).collect(Collectors.toList());
// 局党委和分管局成员 // 局党委和分管局成员
@ -74,23 +75,20 @@ public class PoliceLeaveApprovalController extends BaseController {
if (leader.contains(user.getNickName())) { if (leader.contains(user.getNickName())) {
// 部门领导和政治处侍昌鑫看普通民警 // 部门领导和政治处侍昌鑫看普通民警
queryWrapper.eq("user_type", 0); queryWrapper.eq("user_type", 0);
queryWrapper.eq("state", 0); queryWrapper.eq("dept_id", user.getDept());
} else if ("侍昌鑫".equals(user.getNickName())) { } else if ("096484".equals(user.getUserName())) { //政治处侍昌鑫
queryWrapper.in("user_type", 0,1); queryWrapper.in("user_type", 0, 1);
queryWrapper.eq("state", 0);
} else if ("admin".equals(user.getUserName())) { } else if ("admin".equals(user.getUserName())) {
// 管理员看所有 // 管理员看所有
}else if ("刘成志".equals(user.getNickName()) || "陈列".equals(user.getNickName())){ } else if ("096001".equals(user.getUserName()) || "096002".equals(user.getUserName())) {
// 主要局领导 // 主要刘成志和陈列
queryWrapper.eq("state", 3); queryWrapper.eq("zzc_state", 1);
queryWrapper.eq("user_type", 2);
} else if (leaderLeader.contains(user.getNickName())) { } else if (leaderLeader.contains(user.getNickName())) {
// 分管局 // 分管局
queryWrapper.eq("user_type", 1); queryWrapper.eq("user_type", 1);
}else if (users.contains(user.getNickName()) ) {
// 局领导
queryWrapper.eq("user_type", 1);
}else { } else {
// 自己看自己 // 自己看自己
queryWrapper.eq("user_id", user.getUserId()); queryWrapper.eq("user_id", user.getUserId());
} }
@ -114,11 +112,15 @@ public class PoliceLeaveApprovalController extends BaseController {
policeLeaveApproval.setIdCard(user.getIdCard()); policeLeaveApproval.setIdCard(user.getIdCard());
policeLeaveApproval.setPhone(user.getPhonenumber()); policeLeaveApproval.setPhone(user.getPhonenumber());
policeLeaveApproval.setState(0); policeLeaveApproval.setState(0);
policeLeaveApproval.setCreateTime(new Date().getTime());
policeLeaveApproval.setDeptName(user.getDept().getDeptName()); policeLeaveApproval.setDeptName(user.getDept().getDeptName());
policeLeaveApproval.setCreateBy(user.getNickName()); policeLeaveApproval.setCreateBy(user.getNickName());
policeLeaveApproval.setUserId(user.getUserId()); policeLeaveApproval.setUserId(user.getUserId());
policeLeaveApproval.setDeptId(user.getDeptId()); policeLeaveApproval.setDeptId(user.getDeptId());
policeLeaveApproval.setApplyNo(s); policeLeaveApproval.setApplyNo(s);
policeLeaveApproval.setDeptState(0);
policeLeaveApproval.setZzcState(0);
policeLeaveApproval.setLeaderState(0);
UUID uuid = UUID.randomUUID(); UUID uuid = UUID.randomUUID();
String uuids = uuid.toString(); String uuids = uuid.toString();
policeLeaveApproval.setUuid(uuids); policeLeaveApproval.setUuid(uuids);
@ -130,6 +132,7 @@ public class PoliceLeaveApprovalController extends BaseController {
approvalProcess.setSubmitterId(user.getUserId()); approvalProcess.setSubmitterId(user.getUserId());
approvalProcess.setSubmitTime(new Date().getTime()); approvalProcess.setSubmitTime(new Date().getTime());
approvalProcess.setMatterType(3); approvalProcess.setMatterType(3);
approvalProcess.setCreateTime(new Date().getTime());
approvalProcess.setApprovalStatus(0); approvalProcess.setApprovalStatus(0);
approvalProcess.setReadStatus(0); approvalProcess.setReadStatus(0);
approvalProcess.setLeaveType(policeLeaveApproval.getLeaveType()); approvalProcess.setLeaveType(policeLeaveApproval.getLeaveType());
@ -187,12 +190,23 @@ public class PoliceLeaveApprovalController extends BaseController {
@ApiOperation("审批") @ApiOperation("审批")
@PostMapping("/approval") @PostMapping("/approval")
public AjaxResult approval(@RequestBody ApprovaltDto dto) { public AjaxResult approval(@RequestBody ApprovaltDto dto) {
List<SysDept> sysDepts = deptService.selectAllDeptList();
// 部门领导
List<String> leader = sysDepts.stream().map(SysDept::getLeader).collect(Collectors.toList());
// 局党委和分管局成员
List<String> leaderLeader = sysDepts.stream().map(SysDept::getLeaderLeader).distinct().collect(Collectors.toList());
Long id = dto.getId(); Long id = dto.getId();
SysUser user = getLoginUser().getUser(); SysUser user = getLoginUser().getUser();
Integer state = dto.getState(); Integer state = dto.getState();
PoliceLeaveApproval policeLeaveApproval = policeLeaveApprovalService.getById(id); PoliceLeaveApproval policeLeaveApproval = policeLeaveApprovalService.getById(id);
policeLeaveApproval.setState(state); if (leader.contains(user.getNickName())) {
boolean result = policeLeaveApprovalService.updateById(policeLeaveApproval); // 部门领导和政治处侍昌鑫看普通民警
policeLeaveApproval.setDeptState(state);
if (state == 2) {
policeLeaveApproval.setState(2);
}
gwglLog gwglLog = new gwglLog(); gwglLog gwglLog = new gwglLog();
gwglLog.setApplyNo(policeLeaveApproval.getApplyNo()); gwglLog.setApplyNo(policeLeaveApproval.getApplyNo());
gwglLog.setDeptId(policeLeaveApproval.getDeptId()); gwglLog.setDeptId(policeLeaveApproval.getDeptId());
@ -209,7 +223,84 @@ public class PoliceLeaveApprovalController extends BaseController {
gwglLog.setCheckTime(System.currentTimeMillis()); gwglLog.setCheckTime(System.currentTimeMillis());
gwglLog.setCheckState(state); gwglLog.setCheckState(state);
boolean result1 = gwglLogService.save(gwglLog); boolean result1 = gwglLogService.save(gwglLog);
if (!result || !result1) { } else if ("096484".equals(user.getUserName())) {
//政治处侍昌鑫
policeLeaveApproval.setZzcState(state);
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.setApplyNo(policeLeaveApproval.getApplyNo());
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setReason(policeLeaveApproval.getReason());
gwglLog.setChecker(user.getNickName());
gwglLog.setCheckTime(System.currentTimeMillis());
gwglLog.setCheckState(state);
boolean result1 = gwglLogService.save(gwglLog);
} else if ("admin".equals(user.getUserName())) {
// 管理员看所有
policeLeaveApproval.setDeptState(state);
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.setApplyNo(policeLeaveApproval.getApplyNo());
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setReason(policeLeaveApproval.getReason());
gwglLog.setChecker(user.getNickName());
gwglLog.setCheckTime(System.currentTimeMillis());
gwglLog.setCheckState(state);
boolean result1 = gwglLogService.save(gwglLog);
} else if ("096001".equals(user.getUserName()) || "096002".equals(user.getUserName())) {
// 刘成志和陈列
if (state == 2) {
policeLeaveApproval.setState(2);
}
policeLeaveApproval.setLeaderState(state);
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.setApplyNo(policeLeaveApproval.getApplyNo());
gwglLog.setType(policeLeaveApproval.getLeaveType());
gwglLog.setReason(policeLeaveApproval.getReason());
gwglLog.setChecker(user.getNickName());
gwglLog.setCheckTime(System.currentTimeMillis());
gwglLog.setCheckState(state);
boolean result1 = gwglLogService.save(gwglLog);
boolean result = approvalsProcessService.lambdaUpdate()
.eq(ApprovalProcess::getUuid, policeLeaveApproval.getUuid())
.set(ApprovalProcess::getApprovalStatus, state)
.update();
if (!result && !result1) {
return AjaxResult.success("审批请(休)假失败");
}
}
boolean result = policeLeaveApprovalService.updateById(policeLeaveApproval);
if (!result) {
return AjaxResult.error("审批非工作日饮酒报备单失败"); return AjaxResult.error("审批非工作日饮酒报备单失败");
} }

View File

@ -54,7 +54,7 @@ public class ApprovalProcess {
@ApiModelProperty("日期类型 4-自定义日期 3-近三十日 2-近七日 1-近三日") @ApiModelProperty("日期类型 4-自定义日期 3-近三十日 2-近七日 1-近三日")
private Integer timeType; private Integer timeType;
@ApiModelProperty("审批状态0-待提交 1-部门审批中 2-政治处审批中 3-局领导审批中 4-已通过 5-已拒绝") @ApiModelProperty("审批状态0-未审核 1-通过 2-不通过")
@TableField(condition = SqlCondition.LIKE) @TableField(condition = SqlCondition.LIKE)
private Integer approvalStatus; private Integer approvalStatus;
@TableField(exist = false) @TableField(exist = false)

View File

@ -66,11 +66,23 @@ public class PoliceLeaveApproval {
@TableField(exist = false) @TableField(exist = false)
private String endDateCn; private String endDateCn;
@ApiModelProperty("审批状态 0-未审批 1-通过 2-不通过")
@ApiModelProperty("审批流程 0-未审批 1-部门审批通过 2-部门审批不通过 3-政治处审批通过 4-政治处审批不通过 5-局领导审批通过 6-局领导审批不通过")
@TableField(condition = SqlCondition.EQUAL) @TableField(condition = SqlCondition.EQUAL)
private Integer state; private Integer state;
@ApiModelProperty("部门领导审批状态 0-未审批 1-部门审批通过 2-部门审批不通过")
@TableField(condition = SqlCondition.EQUAL)
private Integer deptState;
@ApiModelProperty("政治处审批状态 0-未审批 1-政治处审批通过 2-政治处审批不通过")
@TableField(condition = SqlCondition.EQUAL)
private Integer zzcState;
@ApiModelProperty("局领导审批状态 0-未审批 1-局领导审批通过 2-局领导审批不通过")
@TableField(condition = SqlCondition.EQUAL)
private Integer leaderState;
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Long createTime; private Long createTime;
@TableField(exist = false) @TableField(exist = false)