28 lines
1.5 KiB
Go
28 lines
1.5 KiB
Go
package excel
|
|
|
|
import (
|
|
"electricity_bill_calc/model"
|
|
"io"
|
|
)
|
|
|
|
var meterArchiveRecognizers = []*ColumnRecognizer{
|
|
{Pattern: [][]string{{"表号"}}, Tag: "code", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"表址", "地址", "户址"}}, Tag: "address", MatchIndex: -1},
|
|
{Pattern: [][]string{{"类型"}}, Tag: "meterType", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"建筑"}}, Tag: "building", MatchIndex: -1},
|
|
{Pattern: [][]string{{"楼层"}}, Tag: "onFloor", MatchIndex: -1},
|
|
{Pattern: [][]string{{"面积"}}, Tag: "area", MatchIndex: -1},
|
|
{Pattern: [][]string{{"倍率"}}, Tag: "ratio", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"序号"}}, Tag: "seq", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"抄表"}, {"时间", "日期"}}, Tag: "readAt", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"有功", "表底", "底数"}, {"总"}}, Tag: "overall", MatchIndex: -1, MustFill: true},
|
|
{Pattern: [][]string{{"有功", "表底", "底数"}, {"尖"}}, Tag: "critical", MatchIndex: -1},
|
|
{Pattern: [][]string{{"有功", "表底", "底数"}, {"峰"}}, Tag: "peak", MatchIndex: -1},
|
|
{Pattern: [][]string{{"有功", "表底", "底数"}, {"平"}}, Tag: "flat", MatchIndex: -1},
|
|
{Pattern: [][]string{{"有功", "表底", "底数"}, {"谷"}}, Tag: "valley", MatchIndex: -1},
|
|
}
|
|
|
|
func NewMeterArchiveExcelAnalyzer(file io.Reader) (*ExcelAnalyzer[model.MeterImportRow], error) {
|
|
return NewExcelAnalyzer[model.MeterImportRow](file, meterArchiveRecognizers)
|
|
}
|