chengf
2026-01-27 b6184e2ddf3db37a94f7efb3b619bbc64642a292
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
package com.java110.api.importData.adapt;
 
import com.alibaba.fastjson.JSONObject;
import com.java110.api.components.ValueUtil;
import com.java110.api.importData.DefaultImportDataAdapt;
import com.java110.api.importData.IImportDataCleaningAdapt;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.system.ComponentValidateResult;
import com.java110.intf.community.ICommunityInnerServiceSMO;
import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.po.meter.MeterWaterPo;
import com.java110.po.meter.PhoneBillFlow;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.ImportExcelUtils;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
/**
 * 水电抄表
 * 方式1
 */
@Service("importPhoneBillFeeV2DataCleaning")
public class ImportPhoneBillFeeV2DataCleaningAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt {
 
    @Autowired
    private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
 
    @Autowired
    private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
    @Autowired
    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
    @Override
    public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception {
        List<PhoneBillFlow> phoneBillFlows = new ArrayList<PhoneBillFlow>();
 
 
        Sheet sheet = null;
        sheet = ImportExcelUtils.getSheet(workbook, "话费流水");
        List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
        for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
            if (osIndex < 7) {
                continue;
            }
            Object[] os = oList.get(osIndex);
            if (os[0] == null && os[1] == null) {
                continue;
            }
 
            Assert.hasValue(os[10], (osIndex + 2) + "行路不能为空");
            Assert.hasValue(os[12], (osIndex + 2) + "行门不能为空");
            Assert.hasValue(os[15], (osIndex + 2) + "行年不能为空");
            Assert.hasValue(os[16], (osIndex + 2) + "行月不能为空");
//            Assert.hasValue(os[23], (osIndex + 2) + "行应付账单金额不能为空");
 
            PhoneBillFlow po = new PhoneBillFlow();
 
            po.setCommunityCode(defaultValue(os[0]));
            po.setCommunityName(defaultValue(os[1]));
            po.setProfitShareSerial(defaultValue(os[2]));
            po.setDeviceNumber(defaultValue(os[3]));
            po.setPayee(defaultValue(os[4]));
            po.setAccountName(defaultValue(os[5]));
            po.setHandler(defaultValue(os[6]));
            po.setIsTransfer(defaultValue(os[7]));
            po.setTransferredCompany(defaultValue(os[8]));
            po.setTransferDate(defaultValue(os[9]));
            po.setRoadName(defaultValue(os[10]));
            po.setUserId(ValueUtil.defaultValue(paramIn.getString("userId")));
            po.setConfigId(ValueUtil.defaultValue(paramIn.getString("configId"),"9220260120546511533"));
            po.setFeeTypeCd(ValueUtil.defaultValue(paramIn.getString("feeTypeCd"),"630000017"));
            po.setFloorNum(defaultValue(os[11]));
            po.setUnitNum(defaultValue(os[12]));
            po.setRoomNum(defaultValue(os[13]));
            po.setAddress(defaultValue(os[14]));
            po.setYear(defaultValue(os[15]));
            po.setMonth(defaultValue(os[16]));
            po.setBillCycle(defaultValue(os[17]));
            po.setLastPaymentDate(defaultValue(os[18]));
            po.setPackageFixedFee(defaultValue(os[19]));
            po.setExtraVoiceFee(defaultValue(os[20]));
            po.setComprehensiveInfoFee(defaultValue(os[21]));
            po.setOtherFee(defaultValue(os[22]));
            po.setPayableAmount(defaultValue(os[23]));
            po.setRemark1(defaultValue(os[24]));
            po.setInvoicedAmount(defaultValue(os[25]));
            po.setUninvoicedAmount(defaultValue(os[26]));
            po.setLateFee(defaultValue(os[27]));
            po.setSubtotal(defaultValue(os[28]));
            po.setAffiliatedUnit(defaultValue(os[29]));
            po.setPaymentDate(defaultValue(os[30]));
            po.setRemark2(defaultValue(os[31]));
            po.setDataEntryPerson(defaultValue(os[32]));
            po.setDataEntryDate(defaultValue(os[33]));
            try {
                po.setFinancialAuditor(defaultValue(os[34]));
                po.setFinancialAuditDate(defaultValue(os[35]));
            } catch (Exception ignored) {}
            phoneBillFlows.add(po);
        }
        if (phoneBillFlows.isEmpty()) {
            throw new IllegalArgumentException("模板内未检测到内容");
        }
        return phoneBillFlows;
    }
 
    public String defaultValue(Object o) {
        return o == null ? "" : o.toString();
    }
    private int defaultInteger(Object o) {
        return o == null ? 0 : Integer.parseInt(o.toString());
    }
    private Double defaultDouble(Object o) {
        return o == null ? 0 : Double.parseDouble(o.toString());
    }
 
}