gaoluyang
昨天 90b3ad820eea45d021835197eac5bc3ad55b12ed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
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;
 
}