项目成本分析模块后端代码完成

This commit is contained in:
liuzongkun999
2025-03-05 17:31:17 +08:00
parent 64a7502568
commit cf7d1631c2
12 changed files with 830 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
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 com.ruoyi.common.core.domain.BaseEntity;
/**
* 项目成本分析对象 sys_oa_cost
*
* @author ruoyi
* @date 2025-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_oa_cost")
public class SysOaCost extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 主键id
*/
@TableId(value = "cost_id")
private Long costId;
/**
* 绑定项目id
*/
private Long projectId;
/**
* 花费
*/
private Double cost;
/**
* 花费类型,字典查询
*/
private Integer costType;
/**
* 花费备注
*/
private String remark;
/**
* 删除标志
*/
@TableLogic
private Long delFlag;
/**
* 若为物料花费需要绑定物料id
*/
private Long materialId;
/**
* 若为人工花费则绑定用户id
*/
private Long userId;
/**
* 绑定财政收支id
*/
private Long financeId;
/**
* 若为差旅报销绑定差旅id
*/
private Long claimId;
}

View File

@@ -0,0 +1,73 @@
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 com.ruoyi.common.core.domain.BaseEntity;
/**
* 项目成本分析业务对象 sys_oa_cost
*
* @author ruoyi
* @date 2025-03-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SysOaCostBo extends BaseEntity {
/**
* 主键id
*/
private Long costId;
/**
* 绑定项目id
*/
@NotNull(message = "绑定项目id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long projectId;
/**
* 花费
*/
@NotNull(message = "花费不能为空", groups = { AddGroup.class, EditGroup.class })
private Double cost;
/**
* 花费类型,字典查询
*/
@NotNull(message = "花费类型,字典查询不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer costType;
/**
* 花费备注
*/
private String remark;
/**
* 若为物料花费需要绑定物料id
*/
private Long materialId;
/**
* 若为人工花费则绑定用户id
*/
private Long userId;
/**
* 绑定财政收支id
*/
private Long financeId;
/**
* 若为差旅报销绑定差旅id
*/
private Long claimId;
}

View File

@@ -0,0 +1,39 @@
package com.ruoyi.oa.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.Date;
/**
* 查询所有项目成本 返回对象
*/
@Data
@AllArgsConstructor
public class SysOaCostAll {
private Long projectId;
private String projectName;
private Double cost;
private Integer costType;
private String remark;
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
private Date createTime;
private Long materialId;
private Long userId;
private Long financeId;
private Long claimId;
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.oa.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.Date;
/**
* 查询所有项目成本 返回对象
*/
@Data
@AllArgsConstructor
public class SysOaCostAllVo {
private Long projectId;
private String projectName;
private Double cost;
private Integer costType;
private String remark;
@JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
private Date createTime;
private Long materialId;
private Object materialVo;
private Long userId;
private Object userVo;
private Long claimId;
private Object claimVo;
private Long financeId;
}

View File

@@ -0,0 +1,20 @@
package com.ruoyi.oa.domain.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SysOaCostList {
private Long costId;
private Double cost;
private Long userId;
private Object userVo;
private Long materialId;
private Object materialVo;
private Long claimId;
private Object claimVo;
private Integer costType;
}

View File

@@ -0,0 +1,13 @@
package com.ruoyi.oa.domain.vo;
import lombok.Data;
import java.util.List;
@Data
public class SysOaCostRow {
List<SysOaCostList> userCostList;
List<SysOaCostList> materialList;
List<SysOaCostList> claimList;
List<SysOaCostList> otherList;
}

View File

@@ -0,0 +1,80 @@
package com.ruoyi.oa.domain.vo;
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;
/**
* 项目成本分析视图对象 sys_oa_cost
*
* @author ruoyi
* @date 2025-03-04
*/
@Data
@ExcelIgnoreUnannotated
public class SysOaCostVo {
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long costId;
/**
* 绑定项目id
*/
@ExcelProperty(value = "绑定项目id")
private Long projectId;
/**
* 花费
*/
@ExcelProperty(value = "花费")
private Double cost;
/**
* 花费类型,字典查询
*/
@ExcelProperty(value = "花费类型,字典查询", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "project_cost_type")
private Integer costType;
/**
* 花费备注
*/
@ExcelProperty(value = "花费备注")
private String remark;
/**
* 若为物料花费需要绑定物料id
*/
@ExcelProperty(value = "若为物料花费需要绑定物料id")
private Long materialId;
/**
* 若为人工花费则绑定用户id
*/
@ExcelProperty(value = "若为人工花费则绑定用户id")
private Long userId;
/**
* 绑定财政收支id
*/
@ExcelProperty(value = "绑定财政收支id")
private Long financeId;
/**
* 若为差旅报销绑定差旅id
*/
@ExcelProperty(value = "若为差旅报销绑定差旅id")
private Long claimId;
}