Roc 8 月之前
父节点
当前提交
791f769128
共有 1 个文件被更改,包括 55 次插入50 次删除
  1. 55 50
      services/data/manual.go

+ 55 - 50
services/data/manual.go

@@ -219,7 +219,15 @@ func ImportManualData(path string, sysUser *system.Admin) (err error, errMsg str
 		return
 	}
 
+	//导入成功数量
+	successCount := 0
+	//导入失败数据
+	failDataList := make([]*models.EdbdataImportFail, 0)
+	var indexDataList []ImportManualIndexData
+
 	for _, sheet := range xlFile.Sheets {
+		var tmpIndexDataList []ImportManualIndexData
+		var tmpFailDataList []*models.EdbdataImportFail
 		rowList := sheet.Rows
 		if len(rowList) <= 0 {
 			errMsg = sheet.Name + "页异常"
@@ -237,32 +245,27 @@ func ImportManualData(path string, sysUser *system.Admin) (err error, errMsg str
 		switch templateName {
 		case "导入模板2/Import Template 2":
 			// 模板2需要走对应的取数逻辑
-			fmt.Println(getDataByTemplate2(sheet))
+			tmpIndexDataList, tmpFailDataList, err, errMsg = getDataByTemplate2(sheet)
 		default:
 			// 模板1需要走对应的取数逻辑
-			fmt.Println(getDataByTemplate1(sheet))
-
+			tmpIndexDataList, tmpFailDataList, err, errMsg = getDataByTemplate1(sheet)
 		}
-		fmt.Println(sheet)
+		indexDataList = append(indexDataList, tmpIndexDataList...)
+		failDataList = append(failDataList, tmpFailDataList...)
+	}
+
+	//超管账号可以查看分类下的所有频度数据
+	userId := sysUser.AdminId
+	if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
+		userId = 0
+	}
+	//获取账户所拥有权限的分类id集合
+	classifyNameStrList, edbDataClassifyMap, err := GetEdbClassifyNameListByAdminId(int64(userId))
+	if err != nil {
+		errMsg = "获取分类数据失败"
+		return
 	}
 
-	////超管账号可以查看分类下的所有频度数据
-	//userId := sysUser.AdminId
-	//if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
-	//	userId = 0
-	//}
-	////获取账户所拥有权限的分类id集合
-	//classifyNameStrList, edbDataClassifyMap, err := GetEdbClassifyNameListByAdminId(int64(userId))
-	//if err != nil {
-	//	errMsg = "获取分类数据失败"
-	//	return
-	//}
-	//
-	////导入成功数量
-	//successCount := 0
-	////导入失败数据
-	//failDataList := make([]*models.EdbdataImportFail, 0)
-	//
 	////指标map
 	//targetMap := make(map[string]*models.Edbinfo)
 	//defer func() {
@@ -648,10 +651,11 @@ type ImportManualIndexData struct {
 // @return indexDataList []ImportManualIndexData
 // @return err error
 // @return errMsg string
-func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, err error, errMsg string) {
+func getDataByTemplate1(sheet *xlsx.Sheet, sysUserId int) (indexDataList []ImportManualIndexData, failDataList []*models.EdbdataImportFail, err error, errMsg string) {
 	fmt.Println("sheet name: ", sheet.Name)
 	indexDataList = make([]ImportManualIndexData, 0)
 	indexDataListMap := make(map[string]ImportManualIndexData, 0)
+	failDataList = make([]*models.EdbdataImportFail, 0)
 
 	//遍历行读取
 	maxRow := sheet.MaxRow
@@ -729,35 +733,35 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
 			continue
 		}
 
-		createDate, tmpErr := getExcelDate(createDate)
+		currDate, tmpErr := getExcelDate(createDate)
 		if tmpErr != nil {
-			// TODO 错误数据记录
-			//failItem := new(models.EdbdataImportFail)
-			//failItem.SysUserId = strconv.Itoa(sysUser.AdminId)
-			//failItem.ClassifyName = classifyName
-			//failItem.CreateDate = createDate
-			//failItem.SecName = secName
-			//failItem.Close = closeVal
-			//failItem.Remark = "日期格式异常"
-			//failItem.Frequency = frequency
-			//failItem.Unit = unit
-			//failDataList = append(failDataList, failItem)
-			//go utils.SendEmail(utils.APPNAME+"失败提醒", "导入数据 获取分类:Err:"+err.Error(), utils.EmailSendToUsers)
+			failDataList = append(failDataList, &models.EdbdataImportFail{
+				//Id:           0,
+				ClassifyName: classifyName,
+				CreateDate:   createDate,
+				SecName:      indexName,
+				Close:        closeVal,
+				Remark:       "日期格式异常",
+				SysUserId:    strconv.Itoa(sysUserId),
+				Frequency:    frequency,
+				Unit:         unit,
+			})
+			continue
 		}
 
 		closeValFloat, tmpErr := cells[3].Float() //值
 		if tmpErr != nil {
-			// TODO 错误数据记录
-			//failItem := new(models.EdbdataImportFail)
-			//failItem.SysUserId = strconv.Itoa(sysUser.AdminId)
-			//failItem.ClassifyName = classifyName
-			//failItem.CreateDate = createDate
-			//failItem.SecName = secName
-			//failItem.Close = cells[3].Value
-			//failItem.Remark = "值类型异常"
-			//failItem.Frequency = frequency
-			//failItem.Unit = unit
-			//failDatas = append(failDatas, failItem)
+			failDataList = append(failDataList, &models.EdbdataImportFail{
+				//Id:           0,
+				ClassifyName: classifyName,
+				CreateDate:   currDate,
+				SecName:      indexName,
+				Close:        cells[3].Value,
+				Remark:       "值类型异常",
+				SysUserId:    strconv.Itoa(sysUserId),
+				Frequency:    frequency,
+				Unit:         unit,
+			})
 			continue
 		}
 		newDecimal := decimal.NewFromFloat(closeValFloat)
@@ -778,7 +782,7 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
 			}
 		}
 
-		indexDataListMap[indexName].DataMap[createDate] = closeVal
+		indexDataListMap[indexName].DataMap[currDate] = closeVal
 	}
 
 	for _, v := range indexDataListMap {
@@ -796,9 +800,10 @@ func getDataByTemplate1(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
 // @return indexDataList []ImportManualIndexData
 // @return err error
 // @return errMsg string
-func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, err error, errMsg string) {
+func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexData, failDataList []*models.EdbdataImportFail, err error, errMsg string) {
 	fmt.Println("sheet name: ", sheet.Name)
 	indexDataList = make([]ImportManualIndexData, 0)
+	failDataList = make([]*models.EdbdataImportFail, 0)
 
 	//遍历行读取
 	maxRow := sheet.MaxRow
@@ -873,7 +878,7 @@ func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
 		// 数据处理
 		for k, v := range cells {
 			if k == 0 {
-				createDate, tmpErr := getExcelDate(v.Value)
+				tmpCurrDate, tmpErr := getExcelDate(v.Value)
 				if tmpErr != nil {
 					// TODO 错误数据记录
 					//failItem := new(models.EdbdataImportFail)
@@ -890,7 +895,7 @@ func getDataByTemplate2(sheet *xlsx.Sheet) (indexDataList []ImportManualIndexDat
 					dateErr = true
 				}
 
-				currDate = createDate
+				currDate = tmpCurrDate
 				continue
 			}