diff --git a/gather-app/src/main/java/com/ruoyi/business/controller/NonWorkingDayDrinkingReportController.java b/gather-app/src/main/java/com/ruoyi/business/controller/NonWorkingDayDrinkingReportController.java index 95a1dcd..2afa0b6 100644 --- a/gather-app/src/main/java/com/ruoyi/business/controller/NonWorkingDayDrinkingReportController.java +++ b/gather-app/src/main/java/com/ruoyi/business/controller/NonWorkingDayDrinkingReportController.java @@ -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); diff --git a/gather-app/src/main/java/com/ruoyi/business/controller/PoliceLeaveApprovalController.java b/gather-app/src/main/java/com/ruoyi/business/controller/PoliceLeaveApprovalController.java index 4096bf7..67ecc74 100644 --- a/gather-app/src/main/java/com/ruoyi/business/controller/PoliceLeaveApprovalController.java +++ b/gather-app/src/main/java/com/ruoyi/business/controller/PoliceLeaveApprovalController.java @@ -54,6 +54,7 @@ public class PoliceLeaveApprovalController extends BaseController { List sysDepts = deptService.selectAllDeptList(); // 局领导 List users = userService.getList("131000"); + List leaders = users.stream().map(SysUser::getUserName).collect(Collectors.toList()); // 部门领导 List 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,29 +190,117 @@ public class PoliceLeaveApprovalController extends BaseController { @ApiOperation("审批") @PostMapping("/approval") public AjaxResult approval(@RequestBody ApprovaltDto dto) { + + List sysDepts = deptService.selectAllDeptList(); +// 部门领导 + List leader = sysDepts.stream().map(SysDept::getLeader).collect(Collectors.toList()); +// 局党委和分管局成员 + List 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); + 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()); + 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(1); + gwglLog.setReason(policeLeaveApproval.getReason()); + gwglLog.setChecker(user.getNickName()); + gwglLog.setCheckTime(System.currentTimeMillis()); + gwglLog.setCheckState(state); + boolean result1 = gwglLogService.save(gwglLog); + } 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); - 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(1); - gwglLog.setReason(policeLeaveApproval.getReason()); - gwglLog.setChecker(user.getNickName()); - gwglLog.setCheckTime(System.currentTimeMillis()); - gwglLog.setCheckState(state); - boolean result1 = gwglLogService.save(gwglLog); - if (!result || !result1) { + + if (!result) { return AjaxResult.error("审批非工作日饮酒报备单失败"); } diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java index fea6922..a0e53f3 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/ApprovalProcess.java @@ -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) diff --git a/gather-app/src/main/java/com/ruoyi/database/domain/PoliceLeaveApproval.java b/gather-app/src/main/java/com/ruoyi/database/domain/PoliceLeaveApproval.java index 8104518..8c67c0e 100644 --- a/gather-app/src/main/java/com/ruoyi/database/domain/PoliceLeaveApproval.java +++ b/gather-app/src/main/java/com/ruoyi/database/domain/PoliceLeaveApproval.java @@ -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)