123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641 |
- package services
- import (
- "encoding/json"
- "eta/eta_data_analysis/models"
- "eta/eta_data_analysis/utils"
- "fmt"
- "github.com/tealeg/xlsx"
- "os"
- )
- func JsmHistory(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/home/code/python/coal_mail/emailFile/沿海八省动力煤终端用户供耗存数据更新.xlsx"
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省历史数据/442家晋陕蒙历史数据.xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\442家晋陕蒙历史数据.xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- //sheetData, err := json.Marshal(xlFile)
- //if err != nil {
- // fmt.Println("json.Marshal err:", err)
- // return
- //}
- sheetDatas := make([]models.SheetData, 0)
- data := *xlFile.Sheets[0]
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_JSM_HISTORY)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func CoastalHistory(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省历史数据/CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for i, sheet := range xlFile.Sheets {
- if i < 4 {
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- }
- }
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_COASTAL_HISTORY)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func InlandHistory(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省历史数据/CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for i, sheet := range xlFile.Sheets {
- if i > 3 {
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- }
- }
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_INLAND_HISTORY)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func PathExists(path string) (bool, error) {
- _, err := os.Stat(path)
- if err == nil { //文件或者目录存在
- return true, nil
- }
- if os.IsNotExist(err) {
- return false, nil
- }
- return false, err
- }
- func Jsm(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/home/code/python/coal_mail/emailFile/沿海八省动力煤终端用户供耗存数据更新.xlsx"
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省最新数据/442家晋陕蒙煤矿周度产量数据-20231201.xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\442家晋陕蒙历史数据.xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- data := *xlFile.Sheets[0]
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_JSM)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func Coastal(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省最新数据/内陆17省动力煤终端用户供耗存.xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- fmt.Println("沿海开始")
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for _, sheet := range xlFile.Sheets {
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- fmt.Println("rows:", len(rows))
- sheetDatas = append(sheetDatas, sheetData)
- }
- fmt.Println("sheetDatas:", len(sheetDatas))
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_COASTAL)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func Inland(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalCoastal Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalCoastal, Err: %s", err))
- }
- }()
- //path := "/Users/xi/Desktop/瑞茂通-中国煤炭市场网数据/442家晋陕蒙、沿海8省、内陆17省最新数据/内陆17省动力煤终端用户供耗存.xlsx"
- //path := "D:\\瑞茂通-中国煤炭市场网数据\\442家晋陕蒙、沿海8省、内陆17省历史数据\\CⅢ-8-16 25省市库存和日耗情况(CCTD).xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for _, sheet := range xlFile.Sheets {
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- }
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_INLAND)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func Mtjh(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalMtjh Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalMtjh, Err: %s", err))
- }
- }()
- //path = "/Users/xi/Desktop/煤炭江湖数据定制化服务——中国主流港口煤炭库存20231129.xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for i, sheet := range xlFile.Sheets {
- if i > 0 {
- break
- }
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- }
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_MTJH)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
- func Firm(path string) (err error) {
- defer func() {
- if err != nil {
- fmt.Println("RefreshDataFromCoalFirm Err:" + err.Error())
- utils.FileLog.Info(fmt.Sprintf("RefreshDataFromCoalFirm, Err: %s", err))
- }
- }()
- //path = "/Users/xi/Desktop/煤炭江湖数据定制化服务——中国主流港口煤炭库存20231129.xlsx"
- var xlFile *xlsx.File
- exist, err := PathExists(path)
- if err != nil {
- fmt.Println(err)
- return
- }
- if exist {
- xlFile, err = xlsx.OpenFile(path)
- if err != nil {
- fmt.Println("OpenFile err:", err)
- return
- }
- } else {
- fmt.Println("Not Exist")
- return
- }
- sheetDatas := make([]models.SheetData, 0)
- for _, sheet := range xlFile.Sheets {
- data := sheet
- sheetData := models.SheetData{
- Name: data.Name,
- MaxRow: data.MaxRow,
- MaxCol: data.MaxCol,
- Hidden: data.Hidden,
- Selected: data.Selected,
- }
- rows := make([]models.Row, 0)
- for _, v := range data.Rows {
- cells := make([]models.Cell, 0)
- for _, cell := range v.Cells {
- cells = append(cells, models.Cell{
- Value: cell.String(),
- })
- }
- row := models.Row{
- Cells: cells,
- }
- rows = append(rows, row)
- }
- sheetData.Rows = rows
- sheetDatas = append(sheetDatas, sheetData)
- }
- params := make(map[string]interface{})
- params["SheetData"] = sheetDatas
- result, e := PostEdbLib(params, utils.LIB_ROUTE_COAL_MINE_FIRM)
- if e != nil {
- b, _ := json.Marshal(params)
- fmt.Println(e)
- utils.FileLog.Info(fmt.Sprintf("PostEdbLib err: %s, params: %s", e.Error(), string(b)))
- return
- }
- resp := new(models.BaseEdbLibResponse)
- if e := json.Unmarshal(result, &resp); e != nil {
- utils.FileLog.Info(fmt.Sprintf("json.Unmarshal err: %s", e))
- return
- }
- if resp.Ret != 200 {
- utils.FileLog.Info(fmt.Sprintf("Msg: %s, ErrMsg: %s", resp.Msg, resp.ErrMsg))
- return
- }
- return
- }
|