|
@@ -6,6 +6,7 @@ import (
|
|
|
"github.com/tealeg/xlsx"
|
|
|
"hongze/hongze_data_crawler/models"
|
|
|
"hongze/hongze_data_crawler/utils"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -24,11 +25,9 @@ func FileCoalJsm() (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- var source string
|
|
|
var province string
|
|
|
var description string
|
|
|
var exchange string
|
|
|
- var rank string
|
|
|
var city string
|
|
|
var companyName string
|
|
|
var group string
|
|
@@ -39,7 +38,7 @@ func FileCoalJsm() (err error) {
|
|
|
var codeCompanyMap = make(map[string]string)
|
|
|
var indexCompanyMap = make(map[string]string)
|
|
|
var items []*models.BaseFromCoalmineMapping
|
|
|
- var itemsCompany []*models.BaseFromCoalmineCompanyMapping
|
|
|
+ var itemsCompany []*models.BaseFromCoalmineMapping
|
|
|
var itemsIndex []*models.BaseFromCoalmineIndex
|
|
|
var itemsCompanyIndex []*models.BaseFromCoalmineCompanyIndex
|
|
|
codeList, err := models.GetBaseFromCoalmineMapping()
|
|
@@ -54,7 +53,7 @@ func FileCoalJsm() (err error) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- codeCompanyList, err := models.GetBaseFromCoalmineCompanyMapping()
|
|
|
+ codeCompanyList, err := models.GetBaseFromCoalmineMapping()
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
utils.FileLog.Info("获取煤炭公司指标失败:", err)
|
|
|
return err
|
|
@@ -91,22 +90,6 @@ func FileCoalJsm() (err error) {
|
|
|
//遍历行读取
|
|
|
maxRow := sheet.MaxRow
|
|
|
for i := 0; i < maxRow; i++ {
|
|
|
- //获取制表来源
|
|
|
- if i == 1 {
|
|
|
- row := sheet.Row(i)
|
|
|
- cells := row.Cells
|
|
|
- Loop:
|
|
|
- for k, cell := range cells {
|
|
|
- text := cell.String()
|
|
|
- if k == 0 {
|
|
|
- source = text
|
|
|
- break Loop
|
|
|
- }
|
|
|
- }
|
|
|
- if source != "" {
|
|
|
- source = strings.Replace(source, "制表单位:", "", -1)
|
|
|
- }
|
|
|
- }
|
|
|
//获取样本情况
|
|
|
if i > 3 && i < 16 {
|
|
|
row := sheet.Row(i)
|
|
@@ -156,10 +139,7 @@ func FileCoalJsm() (err error) {
|
|
|
|
|
|
item.IndexName = province + exchange
|
|
|
|
|
|
- item.Exchange = exchange
|
|
|
- item.Description = description
|
|
|
- item.Province = province
|
|
|
- item.Source = source
|
|
|
+
|
|
|
item.CreateTime = time.Now()
|
|
|
items = append(items, item)
|
|
|
break Loop2
|
|
@@ -173,7 +153,6 @@ func FileCoalJsm() (err error) {
|
|
|
cells := row.Cells
|
|
|
for k, cell := range cells {
|
|
|
text := cell.String()
|
|
|
- fmt.Println("text:",text)
|
|
|
stamp, _ := time.ParseInLocation("01-02-06", text, time.Now().Location())
|
|
|
if k > 4 {
|
|
|
dateMap[k] = stamp.Format(utils.FormatDate)
|
|
@@ -193,6 +172,10 @@ func FileCoalJsm() (err error) {
|
|
|
item.Exchange = exchange
|
|
|
item.DealValue = text
|
|
|
item.DataTime = dateMap[k]
|
|
|
+ item.Exchange = exchange
|
|
|
+ item.Description = description
|
|
|
+ item.Province = province
|
|
|
+ item.Source = "三省周度"
|
|
|
item.ModifyTime = time.Now()
|
|
|
item.CreateTime = time.Now()
|
|
|
itemsIndex = append(itemsIndex, item)
|
|
@@ -208,9 +191,6 @@ func FileCoalJsm() (err error) {
|
|
|
for k, cell := range cells {
|
|
|
text := cell.String()
|
|
|
if text != "" {
|
|
|
- if k == 0 {
|
|
|
- rank = text
|
|
|
- }
|
|
|
if k == 1 {
|
|
|
province = text
|
|
|
}
|
|
@@ -221,9 +201,8 @@ func FileCoalJsm() (err error) {
|
|
|
companyName = text
|
|
|
}
|
|
|
if k == 4 {
|
|
|
- item := new(models.BaseFromCoalmineCompanyMapping)
|
|
|
+ item := new(models.BaseFromCoalmineMapping)
|
|
|
group = text
|
|
|
- item.CompanyName = companyName
|
|
|
trimName := TrimCompanyName(companyName)
|
|
|
item.IndexName = trimName
|
|
|
//取处理后公司名首字母缩写
|
|
@@ -238,19 +217,6 @@ func FileCoalJsm() (err error) {
|
|
|
}
|
|
|
}
|
|
|
item.IndexCode = strResult
|
|
|
-
|
|
|
- item.Rank = rank
|
|
|
- item.Province = province
|
|
|
- item.City = city
|
|
|
-
|
|
|
- //处理无类别名时的情况
|
|
|
- if group == "无" {
|
|
|
- item.GroupName = trimName
|
|
|
- } else {
|
|
|
- item.GroupName = group
|
|
|
- }
|
|
|
-
|
|
|
- item.Source = source
|
|
|
item.CreateTime = time.Now()
|
|
|
itemsCompany = append(itemsCompany, item)
|
|
|
break Loop3
|
|
@@ -272,6 +238,17 @@ func FileCoalJsm() (err error) {
|
|
|
item.IndexCode = codeCompanyMap[item.IndexName]
|
|
|
item.DealValue = text
|
|
|
item.DataTime = dateMap[k]
|
|
|
+ item.Province = province
|
|
|
+ item.City = city
|
|
|
+
|
|
|
+ //处理无类别名时的情况
|
|
|
+ if group == "无" {
|
|
|
+ item.GroupName = companyName
|
|
|
+ } else {
|
|
|
+ item.GroupName = group
|
|
|
+ }
|
|
|
+
|
|
|
+ item.Source = "三省企业"
|
|
|
item.ModifyTime = time.Now()
|
|
|
item.CreateTime = time.Now()
|
|
|
//fmt.Println(item)
|
|
@@ -320,9 +297,20 @@ func FileCoalJsm() (err error) {
|
|
|
for _, v := range itemsCompany {
|
|
|
if codeCompanyMap[v.IndexName] == "" {
|
|
|
codeCompanyMap[v.IndexName] = v.IndexCode
|
|
|
- newId, err := models.AddBaseFromCoalmineCompanyMapping(v)
|
|
|
+ newId, err := models.AddBaseFromCoalmineMapping(v)
|
|
|
if err != nil {
|
|
|
- fmt.Println("添加公司指标名称错误", err)
|
|
|
+ for i := 0; i<10; i++ {
|
|
|
+ v.IndexCode = v.IndexCode + strconv.Itoa(i)
|
|
|
+ codeCompanyMap[v.IndexName] = v.IndexCode
|
|
|
+ newId, err := models.AddBaseFromCoalmineMapping(v)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("再次添加公司指标名称错误", err)
|
|
|
+ continue
|
|
|
+ } else {
|
|
|
+ fmt.Println("新增公司成功", newId)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
fmt.Println("新增公司成功", newId)
|
|
|
}
|