hsun 2 年之前
父节点
当前提交
0398dab012
共有 1 个文件被更改,包括 51 次插入33 次删除
  1. 51 33
      services/national_data/national_data.go

+ 51 - 33
services/national_data/national_data.go

@@ -203,28 +203,34 @@ func SyncXDateYQuotaData(classifyId int, dbCode, classifyCode string) (err error
 
 	// 指标编码去重, 指标编码+日期数据去重
 	indexOB := new(models.BaseFromNationalStatisticsIndex)
-	indexCond := ``
+	indexCond := ` AND dbcode = ?`
 	indexPars := make([]interface{}, 0)
+	indexPars = append(indexPars, dbCode)
 	indexList, e := indexOB.GetItemsByCondition(indexCond, indexPars, []string{"index_code"}, "")
 	if e != nil {
 		err = fmt.Errorf("获取指标列表失败, Err: %s", e.Error())
 		return
 	}
 	indexExistMap := make(map[string]bool)
+	indexCodeArr := make([]string, 0)
 	for _, v := range indexList {
 		indexExistMap[v.IndexCode] = true
-	}
-	dataOB := new(models.BaseFromNationalStatisticsData)
-	dataCond := ``
-	dataPars := make([]interface{}, 0)
-	dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
-	if e != nil {
-		err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
-		return
+		indexCodeArr = append(indexCodeArr, v.IndexCode)
 	}
 	dataExistMap := make(map[string]bool)
-	for _, v := range dataList {
-		dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+	if len(indexCodeArr) > 0 {
+		dataOB := new(models.BaseFromNationalStatisticsData)
+		dataCond := ` AND index_code IN (` + utils.GetOrmInReplace(len(indexCodeArr)) + `)`
+		dataPars := make([]interface{}, 0)
+		dataPars = append(dataPars, indexCodeArr)
+		dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
+		if e != nil {
+			err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
+			return
+		}
+		for _, v := range dataList {
+			dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+		}
 	}
 
 	// 遍历XY轴
@@ -420,28 +426,34 @@ func SyncXDateYQuotaZRegData(classifyId int, dbCode, classifyCode string, regLis
 
 		// 指标编码去重, 指标编码+日期数据去重
 		indexOB := new(models.BaseFromNationalStatisticsIndex)
-		indexCond := ``
+		indexCond := ` AND dbcode = ?`
 		indexPars := make([]interface{}, 0)
+		indexPars = append(indexPars, dbCode)
 		indexList, e := indexOB.GetItemsByCondition(indexCond, indexPars, []string{"index_code"}, "")
 		if e != nil {
 			err = fmt.Errorf("获取指标列表失败, Err: %s", e.Error())
 			return
 		}
 		indexExistMap := make(map[string]bool)
+		indexCodeArr := make([]string, 0)
 		for _, v := range indexList {
 			indexExistMap[v.IndexCode] = true
-		}
-		dataOB := new(models.BaseFromNationalStatisticsData)
-		dataCond := ``
-		dataPars := make([]interface{}, 0)
-		dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
-		if e != nil {
-			err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
-			return
+			indexCodeArr = append(indexCodeArr, v.IndexCode)
 		}
 		dataExistMap := make(map[string]bool)
-		for _, v := range dataList {
-			dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+		if len(indexCodeArr) > 0 {
+			dataOB := new(models.BaseFromNationalStatisticsData)
+			dataCond := ` AND index_code IN (` + utils.GetOrmInReplace(len(indexCodeArr)) + `)`
+			dataPars := make([]interface{}, 0)
+			dataPars = append(dataPars, indexCodeArr)
+			dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
+			if e != nil {
+				err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
+				return
+			}
+			for _, v := range dataList {
+				dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+			}
 		}
 
 		// 遍历XY轴
@@ -671,28 +683,34 @@ func SyncXRegYDateZQuotaDbData(classifyId int, dbCode, classifyCode string) (err
 
 		// 指标编码去重, 指标编码+日期数据去重
 		indexOB := new(models.BaseFromNationalStatisticsIndex)
-		indexCond := ``
+		indexCond := ` AND dbcode = ?`
 		indexPars := make([]interface{}, 0)
+		indexPars = append(indexPars, dbCode)
 		indexList, e := indexOB.GetItemsByCondition(indexCond, indexPars, []string{"index_code"}, "")
 		if e != nil {
 			err = fmt.Errorf("获取指标列表失败, Err: %s", e.Error())
 			return
 		}
 		indexExistMap := make(map[string]bool)
+		indexCodeArr := make([]string, 0)
 		for _, v := range indexList {
 			indexExistMap[v.IndexCode] = true
-		}
-		dataOB := new(models.BaseFromNationalStatisticsData)
-		dataCond := ``
-		dataPars := make([]interface{}, 0)
-		dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
-		if e != nil {
-			err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
-			return
+			indexCodeArr = append(indexCodeArr, v.IndexCode)
 		}
 		dataExistMap := make(map[string]bool)
-		for _, v := range dataList {
-			dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+		if len(indexCodeArr) > 0 {
+			dataOB := new(models.BaseFromNationalStatisticsData)
+			dataCond := ` AND index_code IN (` + utils.GetOrmInReplace(len(indexCodeArr)) + `)`
+			dataPars := make([]interface{}, 0)
+			dataPars = append(dataPars, indexCodeArr)
+			dataList, e := dataOB.GetItemsByCondition(dataCond, dataPars, []string{"index_code", "data_time"}, "")
+			if e != nil {
+				err = fmt.Errorf("获取指标数据列表失败, Err: %s", e.Error())
+				return
+			}
+			for _, v := range dataList {
+				dataExistMap[fmt.Sprintf("%s%s", v.IndexCode, v.DataTime.Format(utils.FormatDate))] = true
+			}
 		}
 
 		// 遍历XY轴