mitao
昨天 0146a1483a3368f75daa6eb03aa42c714943e6b2
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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;
    }
}