mitao
17 小时以前 f36922706377954cfee49fbf7763f159c83d534b
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
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 = "OaApprovalApplicationStorageVehicleDTO", description = "车辆资产入库申请DTO")
public class OaApprovalApplicationStorageVehicleDTO extends OaApprovalApplicationStorageDTO {
 
    @ApiModelProperty(value = "车辆资产明细列表")
    @Valid
    @Size(min = 1, message = "资产明细不能为空")
    private List<VehicleAssetItemDTO> assetItems;
 
    @Data
    @ApiModel(value = "VehicleAssetItemDTO", description = "车辆资产明细DTO")
    public static class VehicleAssetItemDTO {
 
        // 资产主表字段
        @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 licensePlate;
 
        @ApiModelProperty(value = "车辆识别代码")
        private String vinCode;
 
        @ApiModelProperty(value = "发动机号")
        private String engineNumber;
 
        @ApiModelProperty(value = "排量")
        private String displacement;
 
        @ApiModelProperty(value = "编制情况")
        private String staffingSituation;
 
        @ApiModelProperty(value = "产地")
        private String origin;
 
        @ApiModelProperty(value = "取得日期")
        @DateTimeFormat(pattern = "yyyy-MM-dd")
        private LocalDate acquisitionDate;
 
        @ApiModelProperty(value = "产权形式")
        private String propertyRightForm;
    }
}