feat(oa): 添加封账批次和日记账功能模块
- 新增封账批次管理相关接口和服务实现 - 新增日记账管理相关接口和服务实现 - 添加对应的实体类、VO类和BO类 - 实现基本的CRUD操作和批量删除功能
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 封账批次(管理每次封账的批次信息,一组封账数据对应一个批次)对象 oa_accounting_batch
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_accounting_batch")
|
||||
public class OaAccountingBatch extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 封账批次ID(主键)
|
||||
*/
|
||||
@TableId(value = "batch_id")
|
||||
private Long batchId;
|
||||
/**
|
||||
* 批次名称(如:2024年9月封账、2024Q3封账)
|
||||
*/
|
||||
private String batchName;
|
||||
/**
|
||||
* 封账范围开始日期(该批次包含的日记账起始日期)
|
||||
*/
|
||||
private Date startDate;
|
||||
/**
|
||||
* 封账范围结束日期(该批次包含的日记账截止日期)
|
||||
*/
|
||||
private Date endDate;
|
||||
/**
|
||||
* 关联账户ID(逗号分隔,如:BANK_001,CASH_001,空表示所有账户)
|
||||
*/
|
||||
private String accountIds;
|
||||
/**
|
||||
* 批次状态(0:草稿,1:已封账,2:已取消封账)
|
||||
*/
|
||||
private Long status;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标志(0正常 1删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.ruoyi.oa.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 日记账(绑定封账批次,未封账数据batch_id为NULL)对象 oa_journal_account
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("oa_journal_account")
|
||||
public class OaJournalAccount extends BaseEntity {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 日记账记录ID(主键)
|
||||
*/
|
||||
@TableId(value = "journal_id")
|
||||
private Long journalId;
|
||||
/**
|
||||
* 账户ID(关联账户表)
|
||||
*/
|
||||
private Long accountId;
|
||||
/**
|
||||
* 记账日期
|
||||
*/
|
||||
private Date recordDate;
|
||||
/**
|
||||
* 对方科目
|
||||
*/
|
||||
private String oppositeSubject;
|
||||
/**
|
||||
* 业务摘要
|
||||
*/
|
||||
private String summary;
|
||||
/**
|
||||
* 收入金额(元)
|
||||
*/
|
||||
private BigDecimal incomeAmount;
|
||||
/**
|
||||
* 支出金额(元)
|
||||
*/
|
||||
private BigDecimal expendAmount;
|
||||
/**
|
||||
* 账户余额(元)
|
||||
*/
|
||||
private BigDecimal balance;
|
||||
/**
|
||||
* 封账批次ID(关联accounting_batch表,NULL表示未封账)
|
||||
*/
|
||||
private Long batchId;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 删除标志(0正常 1删除)
|
||||
*/
|
||||
@TableLogic
|
||||
private Long delFlag;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 封账批次(管理每次封账的批次信息,一组封账数据对应一个批次)业务对象 oa_accounting_batch
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaAccountingBatchBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 封账批次ID(主键)
|
||||
*/
|
||||
private Long batchId;
|
||||
|
||||
/**
|
||||
* 批次名称(如:2024年9月封账、2024Q3封账)
|
||||
*/
|
||||
private String batchName;
|
||||
|
||||
/**
|
||||
* 封账范围开始日期(该批次包含的日记账起始日期)
|
||||
*/
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 封账范围结束日期(该批次包含的日记账截止日期)
|
||||
*/
|
||||
private Date endDate;
|
||||
|
||||
/**
|
||||
* 关联账户ID(逗号分隔,如:BANK_001,CASH_001,空表示所有账户)
|
||||
*/
|
||||
private String accountIds;
|
||||
|
||||
/**
|
||||
* 批次状态(0:草稿,1:已封账,2:已取消封账)
|
||||
*/
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* 日记账(绑定封账批次,未封账数据batch_id为NULL)业务对象 oa_journal_account
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OaJournalAccountBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 日记账记录ID(主键)
|
||||
*/
|
||||
private Long journalId;
|
||||
|
||||
/**
|
||||
* 账户ID(关联账户表)
|
||||
*/
|
||||
private Long accountId;
|
||||
|
||||
/**
|
||||
* 记账日期
|
||||
*/
|
||||
private Date recordDate;
|
||||
|
||||
/**
|
||||
* 对方科目
|
||||
*/
|
||||
private String oppositeSubject;
|
||||
|
||||
/**
|
||||
* 业务摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 收入金额(元)
|
||||
*/
|
||||
private BigDecimal incomeAmount;
|
||||
|
||||
/**
|
||||
* 支出金额(元)
|
||||
*/
|
||||
private BigDecimal expendAmount;
|
||||
|
||||
/**
|
||||
* 账户余额(元)
|
||||
*/
|
||||
private BigDecimal balance;
|
||||
|
||||
/**
|
||||
* 封账批次ID(关联accounting_batch表,NULL表示未封账)
|
||||
*/
|
||||
private Long batchId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 封账批次(管理每次封账的批次信息,一组封账数据对应一个批次)视图对象 oa_accounting_batch
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaAccountingBatchVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 封账批次ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "封账批次ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private Long batchId;
|
||||
|
||||
/**
|
||||
* 批次名称(如:2024年9月封账、2024Q3封账)
|
||||
*/
|
||||
@ExcelProperty(value = "批次名称", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "如=:2024年9月封账、2024Q3封账")
|
||||
private String batchName;
|
||||
|
||||
/**
|
||||
* 封账范围开始日期(该批次包含的日记账起始日期)
|
||||
*/
|
||||
@ExcelProperty(value = "封账范围开始日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "该=批次包含的日记账起始日期")
|
||||
private Date startDate;
|
||||
|
||||
/**
|
||||
* 封账范围结束日期(该批次包含的日记账截止日期)
|
||||
*/
|
||||
@ExcelProperty(value = "封账范围结束日期", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "该=批次包含的日记账截止日期")
|
||||
private Date endDate;
|
||||
|
||||
/**
|
||||
* 关联账户ID(逗号分隔,如:BANK_001,CASH_001,空表示所有账户)
|
||||
*/
|
||||
@ExcelProperty(value = "关联账户ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "逗=号分隔,如:BANK_001,CASH_001,空表示所有账户")
|
||||
private String accountIds;
|
||||
|
||||
/**
|
||||
* 批次状态(0:草稿,1:已封账,2:已取消封账)
|
||||
*/
|
||||
@ExcelProperty(value = "批次状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "0=:草稿,1:已封账,2:已取消封账")
|
||||
private Long status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.ruoyi.common.annotation.ExcelDictFormat;
|
||||
import com.ruoyi.common.convert.ExcelDictConvert;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 日记账(绑定封账批次,未封账数据batch_id为NULL)视图对象 oa_journal_account
|
||||
*
|
||||
* @author Joshi
|
||||
* @date 2025-09-09
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OaJournalAccountVo {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 日记账记录ID(主键)
|
||||
*/
|
||||
@ExcelProperty(value = "日记账记录ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "主=键")
|
||||
private Long journalId;
|
||||
|
||||
/**
|
||||
* 账户ID(关联账户表)
|
||||
*/
|
||||
@ExcelProperty(value = "账户ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联账户表")
|
||||
private Long accountId;
|
||||
|
||||
/**
|
||||
* 记账日期
|
||||
*/
|
||||
@ExcelProperty(value = "记账日期")
|
||||
private Date recordDate;
|
||||
|
||||
/**
|
||||
* 对方科目
|
||||
*/
|
||||
@ExcelProperty(value = "对方科目")
|
||||
private String oppositeSubject;
|
||||
|
||||
/**
|
||||
* 业务摘要
|
||||
*/
|
||||
@ExcelProperty(value = "业务摘要")
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 收入金额(元)
|
||||
*/
|
||||
@ExcelProperty(value = "收入金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "元=")
|
||||
private BigDecimal incomeAmount;
|
||||
|
||||
/**
|
||||
* 支出金额(元)
|
||||
*/
|
||||
@ExcelProperty(value = "支出金额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "元=")
|
||||
private BigDecimal expendAmount;
|
||||
|
||||
/**
|
||||
* 账户余额(元)
|
||||
*/
|
||||
@ExcelProperty(value = "账户余额", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "元=")
|
||||
private BigDecimal balance;
|
||||
|
||||
/**
|
||||
* 封账批次ID(关联accounting_batch表,NULL表示未封账)
|
||||
*/
|
||||
@ExcelProperty(value = "封账批次ID", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "关=联accounting_batch表,NULL表示未封账")
|
||||
private Long batchId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user