Explorar el Código

多包字段格式兼容处理

jianghan hace 1 mes
padre
commit
412122e819
Se han modificado 1 ficheros con 25 adiciones y 21 borrados
  1. 25 21
      src/front/group.go

+ 25 - 21
src/front/group.go

@@ -994,14 +994,18 @@ func (f *Front) GroupExportData() {
 		for _, l := range *list {
 			baseinfo := l["v_baseinfo"].(map[string]interface{})
 			if baseinfo["package"] != nil {
-				pkg := baseinfo["package"].(map[string]interface{})
+				var pkg []map[string]interface{} // 字段兼容处理
+				if m, ok := baseinfo["package"].(map[string]interface{}); ok {
+					pkg = []map[string]interface{}{m}
+				} else if slice, o1 := baseinfo["package"].([]map[string]interface{}); o1 {
+					pkg = slice
+				}
 				for _, p := range pkg {
 					row := sheet.AddRow()
-					p1 := p.(map[string]interface{})
 					winner := []string{}
 					bidamount := float64(0)
-					if p1["winner_all"] != nil {
-						if all := p1["winner_all"].([]interface{}); all != nil {
+					if p["winner_all"] != nil {
+						if all := p["winner_all"].([]interface{}); all != nil {
 							if len(all) > 0 {
 								for _, a := range all {
 									a1 := a.(map[string]interface{})
@@ -1086,15 +1090,15 @@ func (f *Front) GroupExportData() {
 }
 
 var FieldsMap = map[string]string{
-	"最早优选":    "earliestDay",
-	"是否重复":    "is_repeat",
-	"是否优选":    "is_push",
+	"最早优选":       "earliestDay",
+	"是否重复":       "is_repeat",
+	"是否优选":       "is_push",
 	"运营商中标标签": "tagname",
-	"主体公司":    "tagname2",
-	"中标人":     "s_winner",
-	"招标人":     "buyer",
-	"中标金额":    "bidamount",
-	"多包标识":    "multipackage",
+	"主体公司":       "tagname2",
+	"中标人":         "s_winner",
+	"招标人":         "buyer",
+	"中标金额":       "bidamount",
+	"多包标识":       "multipackage",
 }
 
 func (f *Front) GroupImportData() {
@@ -1238,11 +1242,11 @@ func (f *Front) StatsTasData() {
 		f.T["s_sourceinfo"] = sourceinfo
 		if f.GetString("stype") == "user" {
 			f.T["user"] = "user"
-			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "b_istag": true})               //已标注数量
-			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid})                                  //数据总量
+			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "b_istag": true})                //已标注数量
+			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid})                                   //数据总量
 			effNum1 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "v_baseinfo.is_efficient": "是"}) // 有效数据 是
 			effNum2 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "v_baseinfo.is_efficient": "否"}) // 有效数据 否
-			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "v_baseinfo.is_efficient": nil}) // 有效数据 空
+			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_usertaskid": tid, "v_baseinfo.is_efficient": nil})  // 有效数据 空
 			qu.Debug("数据总量:", allNum, "已标注量:", isTagNum)
 			f.T["allNum"] = allNum
 			f.T["isTagNum"] = isTagNum
@@ -1252,11 +1256,11 @@ func (f *Front) StatsTasData() {
 		} else if f.GetString("stype") == "group" {
 			f.T["group"] = "group"
 			//统计数据量
-			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "b_istag": true})               //已标注数量
-			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid})                                  //数据总量``
+			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "b_istag": true})                //已标注数量
+			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid})                                   //数据总量``
 			effNum1 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": "是"}) // 有效数据 是
 			effNum2 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": "否"}) // 有效数据 否
-			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": nil}) // 有效数据 空
+			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": nil})  // 有效数据 空
 			qu.Debug("数据总量:", allNum, "已标注量:", isTagNum)
 			f.T["allNum"] = allNum
 			f.T["isTagNum"] = isTagNum
@@ -1266,11 +1270,11 @@ func (f *Front) StatsTasData() {
 		} else {
 			f.T["project"] = "project"
 			//统计数据量
-			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "b_istag": true})               //已标注数量
-			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid})                                  //数据总量
+			isTagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "b_istag": true})                //已标注数量
+			allNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid})                                   //数据总量
 			effNum1 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": "是"}) // 有效数据 是
 			effNum2 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": "否"}) // 有效数据 否
-			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": nil}) // 有效数据 空
+			effNum3 := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": tid, "v_baseinfo.is_efficient": nil})  // 有效数据 空
 			qu.Debug("数据总量:", allNum, "已标注量:", isTagNum)
 			f.T["allNum"] = allNum
 			f.T["isTagNum"] = isTagNum