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 FinFixedAssetRespVO {
|
|
@Schema(description = "资产编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
|
private Long id;
|
|
@Schema(description = "资产编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "GD202610120001")
|
@ExcelProperty("资产编号")
|
private String assetCode;
|
|
@Schema(description = "资产名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "数控车床")
|
@ExcelProperty("资产名称")
|
private String assetName;
|
|
@Schema(description = "资产类别", example = "生产设备")
|
@ExcelProperty("资产类别")
|
private String category;
|
|
@Schema(description = "规格型号", example = "CK6140")
|
@ExcelProperty("规格型号")
|
private String specification;
|
|
@Schema(description = "购置日期", requiredMode = Schema.RequiredMode.REQUIRED)
|
@ExcelProperty("购置日期")
|
private LocalDate purchaseDate;
|
|
@Schema(description = "资产原值", requiredMode = Schema.RequiredMode.REQUIRED, example = "120000.00")
|
@ExcelProperty("资产原值")
|
private BigDecimal originalValue;
|
|
@Schema(description = "使用年限(年)", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
|
@ExcelProperty("使用年限(年)")
|
private Integer usefulLife;
|
|
@Schema(description = "残值率(%)", example = "5.00")
|
@ExcelProperty("残值率(%)")
|
private BigDecimal residualRate;
|
|
@Schema(description = "月折旧额", example = "950.00")
|
@ExcelProperty("月折旧额")
|
private BigDecimal monthlyDepreciation;
|
|
@Schema(description = "累计折旧", requiredMode = Schema.RequiredMode.REQUIRED, example = "11400.00")
|
@ExcelProperty("累计折旧")
|
private BigDecimal accumulatedDepreciation;
|
|
@Schema(description = "净值", requiredMode = Schema.RequiredMode.REQUIRED, example = "108600.00")
|
@ExcelProperty("净值")
|
private BigDecimal netValue;
|
|
@Schema(description = "存放地点", example = "一号车间")
|
@ExcelProperty("存放地点")
|
private String location;
|
|
@Schema(description = "使用部门编号", example = "100")
|
private Long departmentId;
|
|
/**
|
* 使用部门名称,列表与 Excel 导出用。
|
* departmentId 存的是部门编号,直接展示就是一串数字,所以另用这个字段承载名称;
|
* 与凭证的制单人昵称 creatorName 同一套口径,由 Controller 批量解析后回填。
|
*/
|
@Schema(description = "使用部门名称", example = "生产部")
|
@ExcelProperty("使用部门")
|
private String departmentName;
|
|
@Schema(description = "保管人编号(用户编号)", example = "1")
|
private Long keeperId;
|
|
@Schema(description = "保管人昵称", example = "张三")
|
@ExcelProperty("保管人")
|
private String keeperName;
|
|
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@ExcelProperty(value = "状态", converter = DictConvert.class)
|
@DictFormat(DictTypeConstants.FIXED_ASSET_STATUS)
|
private Integer status;
|
|
@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;
|
|
}
|