feat: 请休假审批

This commit is contained in:
李京通 2025-06-06 11:53:12 +08:00
parent 8210cee797
commit b3b27b2fa4
4 changed files with 77 additions and 6 deletions

View File

@ -115,6 +115,7 @@ public class NonWorkingDayDrinkingReportController extends BaseController {
// 单位领导 // 单位领导
nonWorkingDayDrinkingReport.setUserType(1); nonWorkingDayDrinkingReport.setUserType(1);
} else if (leaderLeader.contains(user.getNickName())) { } else if (leaderLeader.contains(user.getNickName())) {
// 局党委和分管局成员
nonWorkingDayDrinkingReport.setUserType(2); nonWorkingDayDrinkingReport.setUserType(2);
} else { } else {
// 普通民警 // 普通民警

View File

@ -3,11 +3,14 @@ package com.ruoyi.business.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.database.domain.PoliceLeaveApproval; import com.ruoyi.database.domain.PoliceLeaveApproval;
import com.ruoyi.database.domain.dto.ApprovaltDto; import com.ruoyi.database.domain.dto.ApprovaltDto;
import com.ruoyi.database.service.PoliceLeaveApprovalService; import com.ruoyi.database.service.PoliceLeaveApprovalService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -16,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @Description PoliceLeaveApprovalController * @Description PoliceLeaveApprovalController
@ -29,11 +33,23 @@ import java.util.List;
public class PoliceLeaveApprovalController extends BaseController { public class PoliceLeaveApprovalController extends BaseController {
private final PoliceLeaveApprovalService policeLeaveApprovalService; private final PoliceLeaveApprovalService policeLeaveApprovalService;
private final ISysDeptService deptService;
private final ISysUserService userService;
@RequestMapping("/list") @RequestMapping("/list")
@ApiOperation("查询") @ApiOperation("查询")
public TableDataInfo list(PoliceLeaveApproval policeLeaveApproval) { public TableDataInfo list(PoliceLeaveApproval policeLeaveApproval) {
SysUser user = getLoginUser().getUser();
List<SysDept> sysDepts = deptService.selectAllDeptList();
// 局领导
List<SysUser> users = userService.getList("131000");
// 部门领导
List<String> leader = sysDepts.stream().map(SysDept::getLeader).collect(Collectors.toList());
// 局党委和分管局成员
List<String> leaderLeader = sysDepts.stream().map(SysDept::getLeaderLeader).distinct().collect(Collectors.toList());
startPage(); startPage();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String fTime = policeLeaveApproval.getFTime(); String fTime = policeLeaveApproval.getFTime();
String eTime = policeLeaveApproval.getETime(); String eTime = policeLeaveApproval.getETime();
@ -44,20 +60,64 @@ public class PoliceLeaveApprovalController extends BaseController {
if (fTime != null && fTime != null) { if (fTime != null && fTime != null) {
queryWrapper.between("create_time", time, time1); queryWrapper.between("create_time", time, time1);
} }
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);
} else if ("admin".equals(user.getUserName())) {
// 管理员看所有
}else if ("刘成志".equals(user.getNickName()) || "陈列".equals(user.getNickName())){
// 主要局领导
queryWrapper.eq("state", 3);
} else if (leaderLeader.contains(user.getNickName())) {
// 分管局
queryWrapper.eq("user_type", 1);
}else if (users.contains(user.getNickName()) ) {
// 局领导
queryWrapper.eq("user_type", 1);
}else {
// 自己看自己
queryWrapper.eq("user_id", user.getUserId());
}
List<PoliceLeaveApproval> list = policeLeaveApprovalService.list(new QueryWrapper<>(policeLeaveApproval)); List<PoliceLeaveApproval> list = policeLeaveApprovalService.list(new QueryWrapper<>(policeLeaveApproval));
long size = list.size(); long size = list.size();
return getDataTableEnhance(list, size); return getDataTableEnhance(list, size);
} }
@ApiOperation("新增或修改民警请(休)假审批表 传id为修改 不传id为新增") @ApiOperation("新增或修改民警请(休)假审批表 传id为修改 不传id为新增")
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody PoliceLeaveApproval policeLeaveApproval) { public AjaxResult add(@RequestBody PoliceLeaveApproval policeLeaveApproval) {
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());
SysUser user = getLoginUser().getUser(); SysUser user = getLoginUser().getUser();
if (policeLeaveApproval.getId() == null) { if (policeLeaveApproval.getId() == null) {
policeLeaveApproval.setName(user.getNickName()); policeLeaveApproval.setName(user.getNickName());
policeLeaveApproval.setIdCard(user.getIdCard()); policeLeaveApproval.setIdCard(user.getIdCard());
policeLeaveApproval.setPhone(user.getPhonenumber()); policeLeaveApproval.setPhone(user.getPhonenumber());
policeLeaveApproval.setState(0);
policeLeaveApproval.setDeptName(user.getDept().getDeptName()); policeLeaveApproval.setDeptName(user.getDept().getDeptName());
policeLeaveApproval.setCreateBy(user.getNickName()); policeLeaveApproval.setCreateBy(user.getNickName());
policeLeaveApproval.setUserId(user.getUserId());
policeLeaveApproval.setDeptId(user.getDeptId());
if (leader.contains(user.getNickName())) {
// 单位领导
policeLeaveApproval.setUserType(1);
} else if (leaderLeader.contains(user.getNickName())) {
// 局党委和分管局成员
policeLeaveApproval.setUserType(2);
} else {
// 普通民警
policeLeaveApproval.setUserType(0);
}
boolean result = policeLeaveApprovalService.save(policeLeaveApproval); boolean result = policeLeaveApprovalService.save(policeLeaveApproval);
if (!result) { if (!result) {
return AjaxResult.error("新增民警请(休)假审批表失败"); return AjaxResult.error("新增民警请(休)假审批表失败");

View File

@ -22,6 +22,9 @@ public class PoliceLeaveApproval {
@ApiModelProperty("姓名") @ApiModelProperty("姓名")
private String name; private String name;
@ApiModelProperty("用户id")
private Long userId;
@ApiModelProperty("身份证号码") @ApiModelProperty("身份证号码")
private String idCard; private String idCard;
@ -32,9 +35,15 @@ public class PoliceLeaveApproval {
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
private String phone; private String phone;
@ApiModelProperty("用户类型 0-普通民警 1-部门领导 2-分管局成员")
private Integer userType;
@ApiModelProperty("所在单位") @ApiModelProperty("所在单位")
private String deptName; private String deptName;
@ApiModelProperty("单位id")
private Long deptId;
@ApiModelProperty("请假天数") @ApiModelProperty("请假天数")
private String days; private String days;
@ -52,7 +61,7 @@ public class PoliceLeaveApproval {
private LocalDateTime endDate; private LocalDateTime endDate;
@ApiModelProperty("审批流程 0-未审批 1-部门审批通过 2-部门审批不通过 3-警务保障部门审批通过 4-警务保障部门审批不通过 5-局领导审批通过 6-局领导审批不通过") @ApiModelProperty("审批流程 0-未审批 1-部门审批通过 2-部门审批不通过 3-政治处审批通过 4-政治处审批不通过 5-局领导审批通过 6-局领导审批不通过")
@TableField(condition = SqlCondition.EQUAL) @TableField(condition = SqlCondition.EQUAL)
private Integer state; private Integer state;

View File

@ -1,8 +1,9 @@
package com.ruoyi.system.service; package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import java.util.List;
/** /**
* 用户 业务层 * 用户 业务层
* *