feat: 出差审批单

This commit is contained in:
李京通 2025-05-29 17:51:21 +08:00
parent 8febff08af
commit 3080911e77
7 changed files with 162 additions and 7 deletions

View File

@ -0,0 +1,108 @@
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.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.database.domain.BusinessTripApproval;
import com.ruoyi.database.domain.dto.ApprovaltDto;
import com.ruoyi.database.service.BusinessTripApprovalService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
/**
* @Description BusinessTripApprovalController
* @Author lijingtong
* @Date 2025-05-29
*/
@RestController
@RequestMapping("/BusinessTripApproval")
@RequiredArgsConstructor
@Api(tags = "出差审批单")
public class BusinessTripApprovalController extends BaseController {
private final BusinessTripApprovalService businessTripApprovalService;
@GetMapping("/list")
@ApiOperation("查询出差审批单")
public TableDataInfo list(BusinessTripApproval businessTripApproval) {
startPage();
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
QueryWrapper<BusinessTripApproval> qw = new QueryWrapper<>(businessTripApproval);
qw.orderByDesc("create_time");
String fTime = businessTripApproval.getFTime();
String eTime = businessTripApproval.getETime();
// String 的字符串转成LoaclDateTime格式
LocalDateTime.parse(fTime);
List<BusinessTripApproval> list = businessTripApprovalService.list(qw);
long size = list.size();
return getDataTableEnhance(list,size);
}
@ApiOperation("新增或修改出差审批单 传id为修改 不传id为新增")
@PostMapping("/add")
public AjaxResult add(@RequestBody BusinessTripApproval businessTripApproval) {
SysUser user = getLoginUser().getUser();
if (businessTripApproval.getId() == null) {
businessTripApproval.setCreateBy(user.getNickName());
businessTripApproval.setState(0);
boolean result = businessTripApprovalService.save(businessTripApproval);
if (!result) {
return AjaxResult.error("新增出差审批单失败");
}
return AjaxResult.success(result);
}else {
businessTripApproval.setUpdateBy(user.getNickName());
boolean result = businessTripApprovalService.updateById(businessTripApproval);
if (!result) {
return AjaxResult.error("修改出差审批单失败");
}
return AjaxResult.success(result);
}
}
@ApiOperation("删除出差审批单")
@DeleteMapping("/{id}")
public AjaxResult delete(@PathVariable Long id) {
boolean result = businessTripApprovalService.removeById(id);
if (!result) {
return AjaxResult.error("删除出差审批单失败");
}
return AjaxResult.success(result);
}
@ApiOperation("查询审批流程")
@GetMapping("/state/{id}")
public AjaxResult state(@PathVariable Long id) {
BusinessTripApproval businessTripApproval = businessTripApprovalService.getById(id);
if (businessTripApproval == null) {
return AjaxResult.error("查询审批流程失败");
}
return AjaxResult.success(businessTripApproval.getState());
}
@ApiOperation("审批")
@PostMapping("/approval")
public AjaxResult approval(@RequestBody ApprovaltDto dto) {
Long id = dto.getId();
Integer state = dto.getState();
BusinessTripApproval businessTripApproval = businessTripApprovalService.getById(id);
businessTripApproval.setState(state);
boolean result = businessTripApprovalService.updateById(businessTripApproval);
if (!result) {
return AjaxResult.error("审批公务用车出县申请失败");
}
return AjaxResult.success("审批公务用车出县申请成功");
}
}

View File

@ -6,7 +6,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
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.VehicleRequest; import com.ruoyi.database.domain.VehicleRequest;
import com.ruoyi.database.domain.dto.VehicleRequesApprovaltDto; import com.ruoyi.database.domain.dto.ApprovaltDto;
import com.ruoyi.database.service.VehicleRequestService; import com.ruoyi.database.service.VehicleRequestService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -92,7 +92,7 @@ public class VehicleRequestController extends BaseController {
@ApiOperation("审批公务用车出县申请") @ApiOperation("审批公务用车出县申请")
@PostMapping("/approval") @PostMapping("/approval")
public AjaxResult approval(@RequestBody VehicleRequesApprovaltDto dto) { public AjaxResult approval(@RequestBody ApprovaltDto dto) {
Long id = dto.getId(); Long id = dto.getId();
Integer state = dto.getState(); Integer state = dto.getState();
VehicleRequest vehicleRequest = vehicleRequestService.getById(id); VehicleRequest vehicleRequest = vehicleRequestService.getById(id);

View File

@ -1,9 +1,6 @@
package com.ruoyi.database.domain; package com.ruoyi.database.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -22,15 +19,19 @@ public class BusinessTripApproval {
private Long id; private Long id;
@ApiModelProperty("出差人员姓名") @ApiModelProperty("出差人员姓名")
@TableField(condition = SqlCondition.LIKE)
private String name; private String name;
@ApiModelProperty("部门") @ApiModelProperty("部门")
@TableField(condition = SqlCondition.LIKE)
private String department; private String department;
@ApiModelProperty("出差事由") @ApiModelProperty("出差事由")
@TableField(condition = SqlCondition.LIKE)
private String reason; private String reason;
@ApiModelProperty("出差目的地") @ApiModelProperty("出差目的地")
@TableField(condition = SqlCondition.LIKE)
private String destination; private String destination;
@ApiModelProperty("出差开始日期") @ApiModelProperty("出差开始日期")
@ -42,11 +43,15 @@ public class BusinessTripApproval {
private LocalDate endDate; private LocalDate endDate;
@ApiModelProperty("拟乘交通工具0-飞机/1-火车/2-汽车/3-轮船/4-其他)") @ApiModelProperty("拟乘交通工具0-飞机/1-火车/2-汽车/3-轮船/4-其他)")
@TableField(condition = SqlCondition.EQUAL)
private String transport; private String transport;
@ApiModelProperty("是否自带公务车辆0-否 1-是)") @ApiModelProperty("是否自带公务车辆0-否 1-是)")
private Integer hasOfficialCar; private Integer hasOfficialCar;
@ApiModelProperty("审批流程 0-未审批 1-部门审批通过 2-部门审批不通过 3-警务保障部门审批通过 4-警务保障部门审批不通过 5-局领导审批通过 6-局领导审批不通过")
private Integer state;
@ApiModelProperty("单位负责人意见") @ApiModelProperty("单位负责人意见")
private String deptLeaderOpinion; private String deptLeaderOpinion;

View File

@ -4,7 +4,7 @@ package com.ruoyi.database.domain.dto;
import lombok.Data; import lombok.Data;
@Data @Data
public class VehicleRequesApprovaltDto { public class ApprovaltDto {
private Long id; private Long id;
private Integer state; private Integer state;

View File

@ -0,0 +1,14 @@
package com.ruoyi.database.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.database.domain.BusinessTripApproval;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description BusinessTripApprovalMapper
* @Author lijingtong
* @Date 2025-05-29
*/
@Mapper
public interface BusinessTripApprovalMapper extends BaseMapper<BusinessTripApproval> {
}

View File

@ -0,0 +1,12 @@
package com.ruoyi.database.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.database.domain.BusinessTripApproval;
/**
* @Description BusinessTripApprovalService
* @Author lijingtong
* @Date 2025-05-29
*/
public interface BusinessTripApprovalService extends IService<BusinessTripApproval> {
}

View File

@ -0,0 +1,16 @@
package com.ruoyi.database.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.database.domain.BusinessTripApproval;
import com.ruoyi.database.mapper.BusinessTripApprovalMapper;
import com.ruoyi.database.service.BusinessTripApprovalService;
import org.springframework.stereotype.Service;
/**
* @Description BusinessTripApprovalServiceImpl
* @Author lijingtong
* @Date 2025-05-29
*/
@Service
public class BusinessTripApprovalServiceImpl extends ServiceImpl<BusinessTripApprovalMapper, BusinessTripApproval> implements BusinessTripApprovalService {
}