流程+任务分发+报销功能完成

This commit is contained in:
2025-02-23 16:24:29 +08:00
parent f54dc4aa3e
commit 330036b272
33 changed files with 1669 additions and 124 deletions

View File

@@ -1,12 +1,14 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 差旅费报销对象 sys_oa_claim
@@ -41,10 +43,14 @@ public class SysOaClaim extends BaseEntity {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 出差天数
@@ -74,6 +80,12 @@ public class SysOaClaim extends BaseEntity {
/**
* 报销时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date completedTime;
/**
* 出差地点
*/
private String address;
}

View File

@@ -1,12 +1,14 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 报销明细对象 sys_oa_claim_detail
@@ -37,10 +39,14 @@ public class SysOaClaimDetail extends BaseEntity {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date beginTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 入住地点

View File

@@ -1,8 +1,10 @@
package com.ruoyi.oa.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.oa.domain.SysOaClaimDetail;
import com.ruoyi.oa.domain.SysOaFile;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
@@ -11,6 +13,7 @@ import java.util.Date;
import java.util.List;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 差旅费报销业务对象 sys_oa_claim
@@ -46,11 +49,15 @@ public class SysOaClaimBo extends BaseEntity {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
@@ -72,6 +79,10 @@ public class SysOaClaimBo extends BaseEntity {
* 关联项目
*/
private Long projectId;
/**
* 关联项目
*/
private String address;
/**
* 关联流程id
@@ -81,6 +92,8 @@ public class SysOaClaimBo extends BaseEntity {
/**
* 报销时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date completedTime;
/**
@@ -88,5 +101,10 @@ public class SysOaClaimBo extends BaseEntity {
*/
private List<SysOaClaimDetailBo> claimDetailList;
/**
* 文件列表
*/
private List<SysOaFileBo> fileList;
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.oa.domain.bo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
@@ -9,6 +10,7 @@ import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 报销明细业务对象 sys_oa_claim_detail
@@ -24,61 +26,55 @@ public class SysOaClaimDetailBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long claimDetailId;
/**
* 外键id
*/
@NotNull(message = "外键id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long claimId;
/**
* 报销类型
*/
@NotNull(message = "报销类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long claimType;
/**
* 开始时间
*/
@NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date beginTime;
/**
* 结束时间
*/
@NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endTime;
/**
* 入住地点
*/
@NotBlank(message = "入住地点不能为空", groups = { AddGroup.class, EditGroup.class })
private String lodgingAddress;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
/**
* 文件id列表
*/
@NotBlank(message = "文件id列表不能为空", groups = { AddGroup.class, EditGroup.class })
private String fileIds;
/**
* 报销金额
*/
@NotNull(message = "报销金额不能为空", groups = { AddGroup.class, EditGroup.class })
private Double cost;
/**
* 报销金额大写
*/
@NotBlank(message = "报销金额大写不能为空", groups = { AddGroup.class, EditGroup.class })
private String bigCost;

View File

@@ -26,25 +26,21 @@ public class SysOaFileBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long fileId;
/**
* 文件存储路径
*/
@NotBlank(message = "文件存储路径不能为空", groups = { AddGroup.class, EditGroup.class })
private String fileUrl;
/**
* 文件类型0打卡1出入库
*/
@NotNull(message = "文件类型0打卡1出入库不能为空", groups = { AddGroup.class, EditGroup.class })
private Long status;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;

View File

@@ -4,9 +4,11 @@ import java.util.Date;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -43,12 +45,16 @@ public class SysOaClaimDetailVo {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "开始时间")
private Date beginTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "结束时间")
private Date endTime;

View File

@@ -5,9 +5,11 @@ import java.util.List;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.oa.domain.SysOaClaim;
import com.ruoyi.oa.domain.SysOaFile;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
/**
@@ -49,12 +51,16 @@ public class SysOaClaimVo extends SysOaClaim {
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "结束时间")
private Date endTime;
@@ -91,6 +97,8 @@ public class SysOaClaimVo extends SysOaClaim {
/**
* 报销时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@ExcelProperty(value = "报销时间")
private Date completedTime;
@@ -109,4 +117,13 @@ public class SysOaClaimVo extends SysOaClaim {
*/
private Long status;
/**
* 关联项目
*/
private String projectName;
/**
* 出差地点
*/
private String address;
}