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 = "OaApprovalApplicationStoragePropertyDTO", description = "房产资产入库申请DTO")
|
public class OaApprovalApplicationStoragePropertyDTO extends OaApprovalApplicationStorageDTO {
|
|
@ApiModelProperty(value = "房产资产明细列表")
|
@Valid
|
@Size(min = 1, message = "资产明细不能为空")
|
private List<PropertyAssetItemDTO> assetItems;
|
|
@Data
|
@ApiModel(value = "PropertyAssetItemDTO", description = "房产资产明细DTO")
|
public static class PropertyAssetItemDTO {
|
|
// 资产主表字段
|
@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 region;
|
|
@ApiModelProperty(value = "设计用途")
|
private String designPurpose;
|
|
@ApiModelProperty(value = "楼栋")
|
private String building;
|
|
@ApiModelProperty(value = "房间号")
|
private String roomNumber;
|
|
@ApiModelProperty(value = "建筑面积(平方米)")
|
private BigDecimal constructionArea;
|
|
@ApiModelProperty(value = "结构")
|
private String structureType;
|
|
@ApiModelProperty(value = "权证编号")
|
private String certificateNumber;
|
|
@ApiModelProperty(value = "建成年月")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate completionDate;
|
|
@ApiModelProperty(value = "详细位置")
|
private String detailedLocation;
|
|
@ApiModelProperty(value = "省资产平台填报价值")
|
private BigDecimal provincialPlatformValue;
|
|
@ApiModelProperty(value = "安置情况")
|
private String resettlementSituation;
|
|
@ApiModelProperty(value = "是否抵押:0-否,1-是")
|
private Boolean isMortgaged;
|
|
@ApiModelProperty(value = "承租方")
|
private String tenantName;
|
|
@ApiModelProperty(value = "租金")
|
private BigDecimal rentalAmount;
|
|
@ApiModelProperty(value = "租赁期限起")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate leaseStartDate;
|
|
@ApiModelProperty(value = "租赁期限止")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
private LocalDate leaseEndDate;
|
}
|
}
|