package cn.iocoder.yudao.module.finance.controller.admin.asset.vo; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import cn.iocoder.yudao.module.finance.enums.DictTypeConstants; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import cn.idev.excel.annotation.write.style.ColumnWidth; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; @Schema(description = "管理后台 - 无形资产 Response VO") @Data @ExcelIgnoreUnannotated public class FinIntangibleAssetRespVO { @Schema(description = "资产编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; @Schema(description = "资产编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "WX202610120001") @ExcelProperty("资产编号") private String assetCode; @Schema(description = "资产名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "ERP 软件著作权") @ExcelProperty("资产名称") private String assetName; @Schema(description = "资产类别", example = "软件") @ExcelProperty("资产类别") private String category; @Schema(description = "证书编号", example = "软著登字第 1234567 号") @ExcelProperty("证书编号") private String certificateNo; @Schema(description = "取得日期", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("取得日期") private LocalDate acquisitionDate; @Schema(description = "资产原值", requiredMode = Schema.RequiredMode.REQUIRED, example = "60000.00") @ExcelProperty("资产原值") private BigDecimal originalValue; @Schema(description = "摊销年限(年)", requiredMode = Schema.RequiredMode.REQUIRED, example = "5") @ExcelProperty("摊销年限(年)") private Integer amortizationPeriod; @Schema(description = "残值率(%)", example = "0.00") @ExcelProperty("残值率(%)") private BigDecimal residualRate; @Schema(description = "月摊销额", example = "1000.00") @ExcelProperty("月摊销额") private BigDecimal monthlyAmortization; @Schema(description = "累计摊销", requiredMode = Schema.RequiredMode.REQUIRED, example = "20000.00") @ExcelProperty("累计摊销") private BigDecimal accumulatedAmortization; @Schema(description = "净值", requiredMode = Schema.RequiredMode.REQUIRED, example = "40000.00") @ExcelProperty("净值") private BigDecimal netValue; @Schema(description = "有效期至") @ExcelProperty("有效期至") private LocalDate validityDate; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @ExcelProperty(value = "状态", converter = DictConvert.class) @DictFormat(DictTypeConstants.INTANGIBLE_ASSET_STATUS) private Integer status; @Schema(description = "资产描述", example = "描述") @ExcelProperty("资产描述") private String description; @Schema(description = "备注", example = "备注") @ExcelProperty("备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) // 「yyyy-MM-dd HH:mm:ss」正好 19 个字符,自适应列宽就只给 19,贴着边很难看,这里放宽到 22 @ColumnWidth(22) @ExcelProperty("创建时间") private LocalDateTime createTime; }