74 lines
1.9 KiB
Go
74 lines
1.9 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"strings"
|
|
|
|
"github.com/xuri/excelize/v2"
|
|
)
|
|
|
|
func main() {
|
|
fmt.Println("========================= OMC loadpmxls startup =========================")
|
|
fmt.Println("OMC loadpmxls version: %s %s %s", version, buildTime, goVer)
|
|
|
|
for _, f := range pfiles {
|
|
fmt.Println("f:", f)
|
|
db := yamlConfig.Database
|
|
sqlStr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db.User, db.Password, db.Host, db.Port, db.Name)
|
|
XormConnectDatabaseWithUri(sqlStr)
|
|
LoadPmIntoMeasureTitle(f)
|
|
}
|
|
|
|
}
|
|
|
|
func LoadPmIntoMeasureTitle(file string) {
|
|
fmt.Println("file len:", file, len(file))
|
|
f, err := excelize.OpenFile(file)
|
|
if err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
|
|
list := f.GetSheetList()
|
|
if err != nil {
|
|
fmt.Println(err.Error())
|
|
return
|
|
}
|
|
fmt.Println(list)
|
|
dl := len(yamlConfig.PmFileDir) + 1
|
|
neType := file[dl : dl+3]
|
|
fmt.Println("neType:", neType)
|
|
for _, s := range list {
|
|
if s[0] == 'H' {
|
|
rows, _ := f.GetRows(s)
|
|
var kpiCode, desc, objectType string
|
|
for _, row := range rows[1:] {
|
|
if row[0] != "" {
|
|
kpiCode = row[0]
|
|
}
|
|
if len(row) > 4 && row[4] != "" {
|
|
desc = row[4]
|
|
}
|
|
if len(row) > 9 && row[9] != "" {
|
|
objectType = row[9]
|
|
}
|
|
enKpiId := strings.Replace(row[2], " ", "", -1)
|
|
enKpiId = strings.Replace(enKpiId, "\n", "", -1)
|
|
isPseudo := "false"
|
|
if strings.Contains(enKpiId, "_") {
|
|
isPseudo = "true"
|
|
}
|
|
cnKpiId := strings.Replace(row[3], " ", "", -1)
|
|
cnKpiId = strings.Replace(cnKpiId, "\n", "", -1)
|
|
titleJson := map[string]string{"cn": cnKpiId, "en": enKpiId}
|
|
tj, _ := json.Marshal(titleJson)
|
|
measureTitle := MeasureTitle{neType, kpiCode, enKpiId, isPseudo, objectType, "15M", string(tj), desc}
|
|
fmt.Println("measureTitle:", measureTitle)
|
|
//fmt.Print(kpiCode, "\t", row[2], "\t", row[3], "\t", row[4], "\n")
|
|
XormInsertMeasureTitle(&measureTitle)
|
|
}
|
|
}
|
|
}
|
|
}
|