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.setDeptName(user.getDept().getDeptName());
gwglLog.setUserId(user.getUserId());
gwglLog.setChecker(sysDept.getLeader());
gwglLog.setUserName(user.getNickName());
gwglLog.setCreateTime(new Date().getTime());
gwglLogService.save(gwglLog);

View File

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

View File

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

View File

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