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);
} else if (leaderLeader.contains(user.getNickName())) {
// 局党委和分管局成员
nonWorkingDayDrinkingReport.setUserType(2);
} else {
// 普通民警

View File

@ -3,11 +3,14 @@ package com.ruoyi.business.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.core.controller.BaseController;
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.page.TableDataInfo;
import com.ruoyi.database.domain.PoliceLeaveApproval;
import com.ruoyi.database.domain.dto.ApprovaltDto;
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.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -16,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description PoliceLeaveApprovalController
@ -29,11 +33,23 @@ import java.util.List;
public class PoliceLeaveApprovalController extends BaseController {
private final PoliceLeaveApprovalService policeLeaveApprovalService;
private final ISysDeptService deptService;
private final ISysUserService userService;
@RequestMapping("/list")
@ApiOperation("查询")
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();
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String fTime = policeLeaveApproval.getFTime();
String eTime = policeLeaveApproval.getETime();
@ -41,29 +57,73 @@ public class PoliceLeaveApprovalController extends BaseController {
LocalDateTime time1 = LocalDateTime.parse(eTime, dtf);
QueryWrapper<PoliceLeaveApproval> queryWrapper = new QueryWrapper<>(policeLeaveApproval);
queryWrapper.orderByDesc("create_time");
if (fTime != null && fTime != null) {
if (fTime != null && fTime != null) {
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));
long size = list.size();
return getDataTableEnhance(list,size);
return getDataTableEnhance(list, size);
}
@ApiOperation("新增或修改民警请(休)假审批表 传id为修改 不传id为新增")
@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();
if (policeLeaveApproval.getId() == null) {
policeLeaveApproval.setName(user.getNickName());
policeLeaveApproval.setIdCard(user.getIdCard());
policeLeaveApproval.setPhone(user.getPhonenumber());
policeLeaveApproval.setState(0);
policeLeaveApproval.setDeptName(user.getDept().getDeptName());
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);
if (!result) {
return AjaxResult.error("新增民警请(休)假审批表失败");
}
return AjaxResult.success(result);
}else {
} else {
policeLeaveApproval.setUpdateBy(user.getNickName());
boolean result = policeLeaveApprovalService.updateById(policeLeaveApproval);
if (!result) {

View File

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

View File

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