浏览代码

目录排序

xyxie 1 年之前
父节点
当前提交
c136573510
共有 5 个文件被更改,包括 84 次插入8 次删除
  1. 1 0
      models/base_from_yongyi.go
  2. 6 5
      services/base_from_yongyi.go
  3. 44 3
      services/base_from_yongyi/daily.go
  4. 30 0
      services/base_from_yongyi/week.go
  5. 3 0
      utils/common.go

+ 1 - 0
models/base_from_yongyi.go

@@ -7,6 +7,7 @@ type YongyiExcelIndex struct {
 	//BaseFilePath   string
 	//RenameFilePath string
 	ClassifyName string `description:"指标目录"`
+	ClassifySort int    `description:"指标目录排序号"`
 	IndexName    string `description:"指标名称"`
 	IndexCode    string `description:"指标编码"`
 	Unit         string `description:"单位"`

+ 6 - 5
services/base_from_yongyi.go

@@ -39,19 +39,18 @@ func HandleYongyiExcelDaily(uploadPath string) (err error) {
 		utils.FileLog.Info(fmt.Sprintf("打开文件:%s 失败, Err: %s", uploadPath, err))
 		return
 	}
-
+	terminalCode := ""
 	for _, sheet := range xlFile.Sheet {
 		var indexList []*models.YongyiExcelIndex
-
 		switch sheet.Name {
 		case "出栏价":
 			indexList, err = base_from_yongyi.HandleYongyiExcelDaily1(sheet)
-		/*case "标肥价差":
+		case "标肥价差":
 			indexList, err = base_from_yongyi.HandleYongyiExcelDaily2(sheet)
 		case "价格+宰量":
 			indexList, err = base_from_yongyi.HandleYongyiExcelDaily3(sheet)
 		case "屠宰企业日度屠宰量":
-			indexList, err = base_from_yongyi.HandleYongyiExcelDaily4(sheet)*/
+			indexList, err = base_from_yongyi.HandleYongyiExcelDaily4(sheet)
 		default:
 			continue
 		}
@@ -62,6 +61,7 @@ func HandleYongyiExcelDaily(uploadPath string) (err error) {
 		if len(indexList) > 0 {
 			params := make(map[string]interface{})
 			params["List"] = indexList
+			params["TerminalCode"] = terminalCode
 			result, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
 			if e != nil {
 				b, _ := json.Marshal(params)
@@ -90,7 +90,7 @@ func HandleYongyiExcelWeekly(uploadPath string) (err error) {
 		utils.FileLog.Info(fmt.Sprintf("打开文件:%s 失败, Err: %s", uploadPath, err))
 		return
 	}
-
+	terminalCode := ""
 	for _, sheet := range xlFile.Sheet {
 		var indexList []*models.YongyiExcelIndex
 		switch sheet.Name {
@@ -124,6 +124,7 @@ func HandleYongyiExcelWeekly(uploadPath string) (err error) {
 		if len(indexList) > 0 {
 			params := make(map[string]interface{})
 			params["List"] = indexList
+			params["TerminalCode"] = terminalCode
 			result, e := PostEdbLib(params, utils.LIB_ROUTE_YONGYI_HANDLE)
 			if e != nil {
 				b, _ := json.Marshal(params)

+ 44 - 3
services/base_from_yongyi/daily.go

@@ -13,6 +13,8 @@ import (
 // HandleYongyiExcelDaily1 日度-商品猪出栏价
 func HandleYongyiExcelDaily1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "日度-商品猪出栏价"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "日度"
 	unit := "元/公斤"
 	namePrefix := "商品猪出栏价"
@@ -130,6 +132,7 @@ func HandleYongyiExcelDaily1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -154,6 +157,8 @@ func HandleYongyiExcelDaily1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 // HandleYongyiExcelDaily2 日度-商品猪标肥价差
 func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "日度-商品猪标肥价差"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "日度"
 	unit := "元/公斤"
 	pingYinPrefix := "yyzx"
@@ -240,15 +245,15 @@ func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					err = fmt.Errorf("找不到对应的列名,第%d行,第%d列", i, k)
 					return
 				}
-				if name == "全国均价" {
-					name = "全国"
+				if province == "全国均价" {
+					province = "全国"
 				}
 				fmt.Printf("当前第%d行第%d列, 当前省份%s \n", i, k, province)
 				// 处理指标名称
 
 				// 过滤特殊的指标 放到对应的指标名称的下方
 
-				if name != "市场标重猪" && name != "150公斤左右较标猪" && name != "175公斤左右较标猪" {
+				if name != "市场标重猪" && name != "150公斤左右较标猪" && name != "175公斤左右较标猪" {
 					// 只处理以上三个类型,其余过滤
 					continue
 				}
@@ -257,6 +262,8 @@ func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					name = "150公斤较标猪价差"
 				} else if name == "175公斤左右较标猪" {
 					name = "175公斤较标猪价差"
+				} else if name == "市场标重猪" {
+					name = "市场标重猪价"
 				} else if name == "全国均价" {
 					name = "全国"
 				}
@@ -272,6 +279,7 @@ func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -296,6 +304,8 @@ func HandleYongyiExcelDaily2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 // HandleYongyiExcelDaily3 日度-商品猪全国均价和宰量
 func HandleYongyiExcelDaily3(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "日度-商品猪全国均价和宰量"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "日度"
 	unit := ""
 	// 遍历行读取
@@ -380,6 +390,7 @@ func HandleYongyiExcelDaily3(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -403,6 +414,8 @@ func HandleYongyiExcelDaily3(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 // HandleYongyiExcelDaily4 日度-屠宰企业屠宰量
 func HandleYongyiExcelDaily4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "日度-屠宰企业屠宰量"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "日度"
 	unit := "头/日"
 	namePrefix := "商品猪日屠宰量"
@@ -500,6 +513,7 @@ func HandleYongyiExcelDaily4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -519,3 +533,30 @@ func HandleYongyiExcelDaily4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcel
 	}
 	return
 }
+
+func getClassifySortMap() map[string]int {
+	classifyMap := map[string]int{
+		"日度-商品猪出栏价":            1,
+		"日度-商品猪标肥价差":           2,
+		"日度-商品猪全国均价和宰量":        3,
+		"日度-屠宰企业屠宰量":           4,
+		"周度-商品猪出栏价":            5,
+		"周度-体重":                6,
+		"周度-屠宰厂宰前活猪重":          7,
+		"周度-各体重段价差":            8,
+		"周度-50公斤二元母猪价格":        8,
+		"周度-规模场15公斤仔猪出栏价":      10,
+		"周度-宰后结算价":             11,
+		"周度-冻品库存":              12,
+		"周度-冻品库存多样本":           13,
+		"周度-猪肉价(前三等级白条均价)":     14,
+		"月度出栏完成率":              15,
+		"月度计划出栏量":              16,
+		"月度-能繁母猪存栏(2020年2月新增)": 17,
+		"月度-小猪存栏(2020年5月新增)":   18,
+		"月度-中猪存栏(2020年5月新增)":   19,
+		"月度-大猪存栏(2020年5月新增)":   20,
+		"月度-商品猪出栏量":            21,
+	}
+	return classifyMap
+}

+ 30 - 0
services/base_from_yongyi/week.go

@@ -44,6 +44,8 @@ type ExcelDateRecord struct {
 // HandleYongyiExcelWeekly1 周度-商品猪出栏价
 func HandleYongyiExcelWeekly1(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "周度-商品猪出栏价"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "周度"
 	unit := "元/公斤"
 	namePrefix := "商品猪出栏价"
@@ -151,6 +153,7 @@ func HandleYongyiExcelWeekly1(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -175,6 +178,8 @@ func HandleYongyiExcelWeekly1(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly2 周度-体重
 func HandleYongyiExcelWeekly2(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "周度-体重"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "周度"
 	unit := "公斤"
 	namePrefix := "商品猪出栏体重"
@@ -290,6 +295,7 @@ func HandleYongyiExcelWeekly2(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -314,6 +320,8 @@ func HandleYongyiExcelWeekly2(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly3 周度-屠宰厂宰前活猪重
 func HandleYongyiExcelWeekly3(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "周度-屠宰厂宰前活猪重"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "周度"
 	unit := "公斤"
 	namePrefix := "商品猪宰前活猪重"
@@ -413,6 +421,7 @@ func HandleYongyiExcelWeekly3(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -437,6 +446,8 @@ func HandleYongyiExcelWeekly3(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly4 周度-各体重段价差
 func HandleYongyiExcelWeekly4(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "周度-各体重段价差"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "周度"
 	unit := "元/斤"
 	namePrefixPingin := "yyzx"
@@ -529,6 +540,7 @@ func HandleYongyiExcelWeekly4(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -557,6 +569,8 @@ func HandleYongyiExcelWeekly5(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 		return
 	}
 	classifyName := info.ClassifyName
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := info.Frequency
 	unit := info.Unit
 	namePrefix := info.NamePrefix
@@ -660,6 +674,7 @@ func HandleYongyiExcelWeekly5(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -688,6 +703,8 @@ func HandleYongyiExcelWeekly6(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 		return
 	}
 	classifyName := info.ClassifyName
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := info.Frequency
 	unit := info.Unit
 	namePrefix := info.NamePrefix
@@ -773,6 +790,7 @@ func HandleYongyiExcelWeekly6(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -797,6 +815,8 @@ func HandleYongyiExcelWeekly6(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly7 月度计划出栏量
 func HandleYongyiExcelWeekly7(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "月度计划出栏量"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "月度"
 	unit := "%"
 	namePrefix := "月度计划出栏量环比"
@@ -902,6 +922,7 @@ func HandleYongyiExcelWeekly7(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -926,6 +947,8 @@ func HandleYongyiExcelWeekly7(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly8 月度-能繁母猪存栏(2020年2月新增)
 func HandleYongyiExcelWeekly8(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "月度-能繁母猪存栏(2020年2月新增)"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "月度"
 	unit := "头"
 	namePrefix := "能繁母猪存栏量"
@@ -1010,6 +1033,7 @@ func HandleYongyiExcelWeekly8(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -1038,6 +1062,8 @@ func HandleYongyiExcelWeekly9(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 		return
 	}
 	classifyName := info.ClassifyName
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := info.Frequency
 	unit := info.Unit
 	namePrefix := info.NamePrefix
@@ -1122,6 +1148,7 @@ func HandleYongyiExcelWeekly9(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort
@@ -1146,6 +1173,8 @@ func HandleYongyiExcelWeekly9(sheet *xlsx.Sheet) (indexList []*models.YongyiExce
 // HandleYongyiExcelWeekly10 月度-商品猪出栏量
 func HandleYongyiExcelWeekly10(sheet *xlsx.Sheet) (indexList []*models.YongyiExcelIndex, err error) {
 	classifyName := "月度-商品猪出栏量"
+	classifyMap := getClassifySortMap()
+	classifySort, _ := classifyMap[classifyName]
 	frequency := "月度"
 	unit := "头"
 	namePrefix := "商品猪出栏量"
@@ -1230,6 +1259,7 @@ func HandleYongyiExcelWeekly10(sheet *xlsx.Sheet) (indexList []*models.YongyiExc
 					indexItem = new(models.YongyiExcelIndex)
 					indexItem.IndexName = fullIndexName
 					indexItem.ClassifyName = classifyName
+					indexItem.ClassifySort = classifySort
 					indexItem.IndexCode = fullIndexNamePingyin
 					indexItem.Frequency = frequency
 					indexItem.Sort = sort

+ 3 - 0
utils/common.go

@@ -49,6 +49,9 @@ func GetFirstPingYin(name string) string {
 
 // GetFullPingYin 获取全拼音
 func GetFullPingYin(name string) string {
+	if name == "陕西" {
+		return "shaanxi"
+	}
 	a := pinyin.NewArgs()
 	a.Separator = ""
 	a.Style = pinyin.Normal