2026-07-01 6b5f7c66fc40d7f6099d561e31a34fbd50dd20d3
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
package cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.request;
 
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
 
@Schema(description = "管理后台 - ERP 采购申请 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpPurchaseRequestRespVO {
 
    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17386")
    @ExcelProperty("编号")
    private Long id;
 
    @Schema(description = "采购申请单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "CGSQ001")
    @ExcelProperty("采购申请单号")
    private String no;
 
    @Schema(description = "审批状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "20")
    @ExcelProperty("审批状态")
    private Integer status;
 
    @Schema(description = "申请人编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long requestUserId;
    @Schema(description = "申请人名称", example = "张三")
    @ExcelProperty("申请人")
    private String requestUserName;
 
    @Schema(description = "申请部门编号", example = "1")
    private Long requestDeptId;
    @Schema(description = "申请部门名称", example = "生产部")
    @ExcelProperty("申请部门")
    private String requestDeptName;
 
    @Schema(description = "申请时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("申请时间")
    private LocalDateTime requestTime;
 
    @Schema(description = "申请理由", example = "生产需要")
    @ExcelProperty("申请理由")
    private String requestReason;
 
    @Schema(description = "供应商编号", example = "1724")
    private Long supplierId;
    @Schema(description = "供应商名称", example = "供应商A")
    @ExcelProperty("供应商名称")
    private String supplierName;
 
    @Schema(description = "合计数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
    @ExcelProperty("合计数量")
    private BigDecimal totalCount;
 
    @Schema(description = "合计产品价格", example = "10000.00")
    private BigDecimal totalProductPrice;
 
    @Schema(description = "合计税额", example = "1300.00")
    private BigDecimal totalTaxPrice;
 
    @Schema(description = "最终合计价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "11300.00")
    @ExcelProperty("最终合计价格")
    private BigDecimal totalPrice;
 
    @Schema(description = "优惠率,百分比", example = "10.00")
    private BigDecimal discountPercent;
 
    @Schema(description = "优惠金额", example = "1130.00")
    private BigDecimal discountPrice;
 
    @Schema(description = "工作流编号", example = "xxx-xxx")
    private String processInstanceId;
 
    @Schema(description = "关联采购订单编号", example = "100")
    private Long orderId;
    @Schema(description = "关联采购订单单号", example = "CGDD001")
    @ExcelProperty("采购订单单号")
    private String orderNo;
 
    @Schema(description = "生成采购订单时间")
    private LocalDateTime orderTime;
 
    @Schema(description = "附件地址", example = "https://www.iocoder.cn")
    @ExcelProperty("附件地址")
    private String fileUrl;
 
    @Schema(description = "备注", example = "你猜")
    @ExcelProperty("备注")
    private String remark;
 
    @Schema(description = "创建人", example = "1")
    private String creator;
    @Schema(description = "创建人名称", example = "芋道")
    private String creatorName;
 
    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
 
    @Schema(description = "申请明细列表")
    private List<Item> items;
 
    @Schema(description = "产品信息")
    @ExcelProperty("产品信息")
    private String productNames;
 
    @Data
    public static class Item {
 
        @Schema(description = "申请项编号", example = "11756")
        private Long id;
 
        @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
        private Long productId;
 
        @Schema(description = "产品单位编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
        private Long productUnitId;
 
        @Schema(description = "产品单价(参考价)", example = "100.00")
        private BigDecimal productPrice;
 
        @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
        private BigDecimal count;
 
        @Schema(description = "总价", example = "10000.00")
        private BigDecimal totalPrice;
 
        @Schema(description = "税率,百分比", example = "13.00")
        private BigDecimal taxPercent;
 
        @Schema(description = "税额", example = "1300.00")
        private BigDecimal taxPrice;
 
        @Schema(description = "需求日期", example = "2024-01-01")
        private LocalDate demandTime;
 
        @Schema(description = "备注", example = "随便")
        private String remark;
 
        // ========== 关联字段 ==========
 
        @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "巧克力")
        private String productName;
        @Schema(description = "产品条码", requiredMode = Schema.RequiredMode.REQUIRED, example = "A9985")
        private String productBarCode;
        @Schema(description = "产品单位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "盒")
        private String productUnitName;
 
    }
 
}