package com.ruoyi.system.dto.asset;
|
|
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModelProperty;
|
import lombok.Data;
|
import lombok.EqualsAndHashCode;
|
import org.springframework.format.annotation.DateTimeFormat;
|
|
import javax.validation.Valid;
|
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.Size;
|
import java.math.BigDecimal;
|
import java.time.LocalDate;
|
import java.util.List;
|
|
/**
|
* 通用资产入库申请DTO
|
*
|
* @author CodeBuddy
|
* @since 2025-09-17
|
*/
|
@Data
|
@EqualsAndHashCode(callSuper = true)
|
@ApiModel(value = "OaApprovalApplicationStorageGeneralDTO", description = "通用资产入库申请DTO")
|
public class OaApprovalApplicationStorageGeneralDTO extends OaApprovalApplicationStorageDTO {
|
|
@ApiModelProperty(value = "通用资产明细列表")
|
@Valid
|
@Size(min = 1, message = "资产明细不能为空")
|
private List<GeneralAssetItemDTO> assetItems;
|
|
@Data
|
@ApiModel(value = "GeneralAssetItemDTO", description = "通用资产明细DTO")
|
public static class GeneralAssetItemDTO {
|
|
// 资产主表字段
|
@ApiModelProperty(value = "资产原编码")
|
private String assetOriginalCode;
|
|
@ApiModelProperty(value = "资产名称")
|
@NotBlank(message = "资产名称不能为空")
|
private String assetName;
|
|
@ApiModelProperty(value = "规格型号")
|
private String specificationModel;
|
|
@ApiModelProperty(value = "计量单位")
|
@NotBlank(message = "计量单位不能为空")
|
private String measurementUnit;
|
|
@ApiModelProperty(value = "数量")
|
@NotNull(message = "数量不能为空")
|
private BigDecimal quantity;
|
|
@ApiModelProperty(value = "单价")
|
@NotNull(message = "单价不能为空")
|
private BigDecimal unitPrice;
|
|
@ApiModelProperty(value = "使用年限(年)")
|
private Integer usefulLife;
|
|
@ApiModelProperty(value = "权属单位/部门ID")
|
private Integer ownershipDeptId;
|
|
@ApiModelProperty(value = "使用人")
|
private String userName;
|
|
@ApiModelProperty(value = "使用部门/位置ID")
|
private Integer useDeptId;
|
|
@ApiModelProperty(value = "仓库ID")
|
private Integer warehouseId;
|
|
@ApiModelProperty(value = "仓库名称")
|
private String warehouseName;
|
|
@ApiModelProperty(value = "所在位置")
|
private String address;
|
|
@ApiModelProperty(value = "资产状态")
|
private String assetStatus;
|
|
@ApiModelProperty(value = "备注")
|
private String remarks;
|
|
@ApiModelProperty(value = "入账状态")
|
private String accountingStatus;
|
|
@ApiModelProperty(value = "入账时间")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate accountingDate;
|
|
@ApiModelProperty(value = "会计凭证号")
|
private String accountingVoucherNo;
|
|
@ApiModelProperty(value = "会计科目")
|
private String accountingSubject;
|
|
@ApiModelProperty(value = "入账金额")
|
private BigDecimal accountingAmount;
|
|
// 通用资产扩展表字段
|
@ApiModelProperty(value = "供应商名称")
|
private String supplierName;
|
|
@ApiModelProperty(value = "采购日期")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate purchaseDate;
|
|
@ApiModelProperty(value = "保修期(月)")
|
private Integer warrantyPeriod;
|
|
@ApiModelProperty(value = "保修到期日期")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate warrantyExpireDate;
|
|
@ApiModelProperty(value = "折旧方法")
|
private String depreciationMethod;
|
|
@ApiModelProperty(value = "折旧率")
|
private BigDecimal depreciationRate;
|
|
@ApiModelProperty(value = "净值")
|
private BigDecimal netValue;
|
|
@ApiModelProperty(value = "维护周期(月)")
|
private Integer maintenanceCycle;
|
|
@ApiModelProperty(value = "上次维护日期")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate lastMaintenanceDate;
|
|
@ApiModelProperty(value = "下次维护日期")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate nextMaintenanceDate;
|
}
|
}
|