diff --git a/cmd/test.go b/cmd/test.go index 6329240..9db5a42 100644 --- a/cmd/test.go +++ b/cmd/test.go @@ -3,10 +3,14 @@ package cmd import ( "fmt" "github.com/mizuki1412/go-core-kit/class/exception" + "github.com/mizuki1412/go-core-kit/service/logkit" "github.com/spf13/cast" "github.com/spf13/cobra" + "github.com/tidwall/gjson" "github.com/xuri/excelize/v2" "log" + "strconv" + "time" ) func init() { @@ -17,11 +21,69 @@ var testCmd = &cobra.Command{ Use: "test", Short: "Only for test", Run: func(cmd *cobra.Command, args []string) { - extractColumns() + extractColumnsLoss() }, } +func extractColumnsLoss() { + // 打开 Excel 文件 + f, err := excelize.OpenFile("/Users/leo/Documents/竣工与调度光衰单 (79).xlsx") + if err != nil { + log.Fatal(err) + } + + // 获取表格的所有行 + rows, err := f.GetRows("{worksheet}") // 假设表格在"{worksheet}"中 + if err != nil { + log.Fatal(err) + } + + // 创建一个二维数组来存储提取的数据 + var data []string + + // 遍历每一行,提取 A, C, BH 列的数据 + for i, row := range rows { + // 跳过表头 + if i == 0 { + continue + } + // 获取 AO 列的数据 + if len(row) > 40 { + data = append(data, row[40]) // AC列 + } + } + for i, row := range data { + resp, err := lawClient.R(). + SetHeaders(map[string]string{ + "Authorization": "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NTEyNCIsInVzZXJJZCI6IjE2NjUiLCJuYW1lIjoi6K646ZyW5Y2TIiwiZXhwIjoxNzQyMjE0NTI2LCJuYmYiOjE3NDIxOTY1MjZ9.eVclGWTTxAVOjvV9NK4T_FCF2DngXkz_g6JYz2Ik4H8oLZW9Q1iEW3WLtwVUCiyW1qPLIITictdFzAeM6sbT7Wmvg4HbOHJNWxNJtkoB8xAAFBBE9r9ri8cXUz_Actt5WAhM5K4U42ed0TLtifC1KuXxgwMRervaqxuWBzjzhQY", + "Content-type": "application/json;charset=UTF-8", + "Cookie": "Admin-Token=eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NTEyNCIsInVzZXJJZCI6IjE2NjUiLCJuYW1lIjoi6K646ZyW5Y2TIiwiZXhwIjoxNzQyMjE0NTI2LCJuYmYiOjE3NDIxOTY1MjZ9.eVclGWTTxAVOjvV9NK4T_FCF2DngXkz_g6JYz2Ik4H8oLZW9Q1iEW3WLtwVUCiyW1qPLIITictdFzAeM6sbT7Wmvg4HbOHJNWxNJtkoB8xAAFBBE9r9ri8cXUz_Actt5WAhM5K4U42ed0TLtifC1KuXxgwMRervaqxuWBzjzhQY; sysName=%E8%AE%B8%E9%9C%96%E5%8D%93", + }).SetBody(map[string]interface{}{ + "endTime": cast.ToString(time.Now().Format("2006-01-02")), + "eqpLoid": row, + "limit": "10", + "page": 1, + "startTime": cast.ToString(time.Now().AddDate(0, 0, -4).Format("2006-01-02")), + "userName": "许霖卓", + }).Post("http://10.20.219.85:9527/api/view/onuCon/queryOnuInfoList") + if err != nil || resp.IsError() || resp.StatusCode() != 200 { + fmt.Println(err) + } else { + res := gjson.Get(resp.String(), "data.rows").Array() + f.SetCellValue("{worksheet}", "AZ"+strconv.Itoa(i+2), res[0].Get("onu_rx_power").String()) + f.SetCellValue("{worksheet}", "BA"+strconv.Itoa(i+2), res[1].Get("onu_rx_power").String()) + f.SetCellValue("{worksheet}", "BB"+strconv.Itoa(i+2), res[2].Get("onu_rx_power").String()) + f.SetCellValue("{worksheet}", "BC"+strconv.Itoa(i+2), res[3].Get("onu_rx_power").String()) + f.SetCellValue("{worksheet}", "BD"+strconv.Itoa(i+2), res[4].Get("onu_rx_power").String()) + } + } + if err := f.SaveAs("/Users/leo/Documents/竣工与调度光衰单 (79).xlsx"); err != nil { + fmt.Println(err) + } + logkit.Info("生成结束...") +} + func extractColumns() { // 打开 Excel 文件 f, err := excelize.OpenFile("/Users/leo/Documents/副本电子围栏---林斌1.16.xlsx") diff --git a/high-opt-loss/common/excelkit.go b/high-opt-loss/common/excelkit.go index 2015e05..912eeb7 100644 --- a/high-opt-loss/common/excelkit.go +++ b/high-opt-loss/common/excelkit.go @@ -11,7 +11,7 @@ import ( func GenExcelFile(m map[string]*service.HighOptLoss) { // Open the Excel file - f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(1月10日).xlsx") + f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(3月3日).xlsx") if err != nil { fmt.Println(err) return @@ -73,7 +73,7 @@ func GenExcelFile(m map[string]*service.HighOptLoss) { } // Save the file - if err := f.SaveAs("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(1月17日).xlsx"); err != nil { + if err := f.SaveAs("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(3月14日).xlsx"); err != nil { fmt.Println(err) } logkit.Info("生成结束...") @@ -81,7 +81,7 @@ func GenExcelFile(m map[string]*service.HighOptLoss) { func GenExcelFileSmall(m map[string]*service.HighOptLoss) { // Open the Excel file - f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(1月10日).xlsx") + f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(3月3日).xlsx") if err != nil { fmt.Println(err) return @@ -143,7 +143,7 @@ func GenExcelFileSmall(m map[string]*service.HighOptLoss) { } // Save the file - if err := f.SaveAs("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(1月17日).xlsx"); err != nil { + if err := f.SaveAs("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(3月14日).xlsx"); err != nil { fmt.Println(err) } logkit.Info("生成结束...")