yanghb
2024-12-17 1287337fd0b0c156ec79712f9a600ebeffefe3a6
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
package com.zzg.system.domain.vo;
 
import com.alibaba.excel.annotation.ExcelProperty;
import com.zzg.common.enums.CompensateTypeEnum;
import com.zzg.common.enums.CompensationCategoryEnum;
import com.zzg.common.enums.SubmitStatusEnum;
import com.zzg.system.convert.easyExcel.MultiDropdownWriteHandler;
import com.zzg.system.convert.easyExcel.NumberConverter;
import com.zzg.system.convert.easyExcel.StringConverter;
import lombok.Data;
 
import java.text.ParseException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
 
@Data
public class SettleDetailExportVO {
 
    @ExcelProperty(value = "置换前街/镇", index = 0, converter = StringConverter.class)
    private String street;
 
    @ExcelProperty(value = "置换前坐落", index = 1, converter = StringConverter.class)
    private String location;
 
    @ExcelProperty(value = "权利人", index = 2, converter = StringConverter.class)
    private String ownerName;
 
    @ExcelProperty(value = "置换前房屋面积", index = 3, converter = NumberConverter.class)
    private Double beforeHouseHoldArea;
 
    @ExcelProperty(value = "置换前房屋面积", index = 4, converter = NumberConverter.class)
    private Double agreementMooney;
 
    @ExcelProperty(value = "置换后镇/街", index = 5, converter = StringConverter.class)
    private String exchangeStreet;
 
    @ExcelProperty(value = "置换后坐落", index = 6, converter = StringConverter.class)
    private String exchangeLocation;
 
    @ExcelProperty(value = "置换后面积", index = 7, converter = NumberConverter.class)
    private Double exchangeArea;
 
    //置换后金额
    @ExcelProperty(value = "置换后房屋价值", index = 8, converter = NumberConverter.class)
    private Double exchangeMoney;
 
    //货币赔偿参数
    //结算面积
    @ExcelProperty(value = "结算面积", index = 9, converter = NumberConverter.class)
    private Double settlementArea;
 
    //结算金额
    @ExcelProperty(value = "结算金额", index = 10, converter = NumberConverter.class)
    private Double settlementMoney;
 
 
    //备注
    @ExcelProperty(value = "备注", index = 11, converter = StringConverter.class)
    private String append;
 
    //安置批次
    @ExcelProperty(value = "安置批次", index = 12, converter = StringConverter.class)
    private String settleName;
 
    //审核状态
    @ExcelProperty(value = "安置状态", index = 13, converter = NumberConverter.class)
    private Integer settleStatus;
 
    @ExcelProperty(value = "面积差", index = 14, converter = NumberConverter.class)
    private Double difArea;
 
    @ExcelProperty(value = "价格差", index = 15, converter = NumberConverter.class)
    private Double difMoney;
 
 
    public static SettleDetailExportVO generateExampleData() throws ParseException {
        SettleDetailExportVO exampleData = new SettleDetailExportVO();
        exampleData.setStreet("示例街道");
        exampleData.setLocation("示例地址");
        exampleData.setOwnerName("王五");
        exampleData.setBeforeHouseHoldArea(80.0); // 置换前房屋面积
        exampleData.setAgreementMooney(100000.0); // 置换前总金额
        exampleData.setExchangeStreet("新示例街道");
        exampleData.setExchangeLocation("新示例地址");
        exampleData.setExchangeArea(85.0); // 置换后面积
        exampleData.setExchangeMoney(120000.0); // 置换后房屋价值
        exampleData.setSettlementArea(80.0); // 结算面积
        exampleData.setSettlementMoney(150000.0); // 结算金额
        exampleData.setAppend("这是一个备注"); // 备注
        exampleData.setSettleName("第一批次"); // 安置批次
        exampleData.setSettleStatus(1); // 审核状态
        exampleData.setDifArea(5.0); // 面积差
        exampleData.setDifMoney(20000.0); // 价格差
        return exampleData;
    }
 
    public static MultiDropdownWriteHandler generateHeaderData() {
        Map<Integer, String[]> dropdownOptionsMap = new HashMap<>();
        dropdownOptionsMap.put(13, Arrays.stream(SubmitStatusEnum.values())
                .map(SubmitStatusEnum::getText)
                .toArray(String[]::new));
        return new MultiDropdownWriteHandler(dropdownOptionsMap);
    }
}