xingzai 3 yıl önce
ebeveyn
işleme
ebc221aeab
2 değiştirilmiş dosya ile 61 ekleme ve 11 silme
  1. 30 11
      controllers/report.go
  2. 31 0
      models/industrial_management.go

+ 30 - 11
controllers/report.go

@@ -711,7 +711,6 @@ func (this *ReportController) IndustryListByDepartment() {
 			} else {
 				artList[k2].IndustryName = "【纪要】" + artList[k2].IndustryName
 			}
-
 		}
 		list[k].List = artList
 		if v.FollowNum > 0 {
@@ -724,24 +723,44 @@ func (this *ReportController) IndustryListByDepartment() {
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		return
 	}
-
 	if len(listnNew) > 0 {
 		for _, v := range listnNew {
+			total, err := models.GetIndustrialManagementSubjectCount(v.IndustrialManagementId)
+			if err != nil {
+				br.Msg = "获取信息失败"
+				br.ErrMsg = "获取关联标的总数失败,Err:" + err.Error()
+				return
+			}
 			Management := new(models.IndustrialManagementIdInt)
-			//fmt.Println(v)
-			if v.SubjectNames != "" {
+			if total == 0 {
+				Management.IndustryName = v.IndustryName
+			} else {
+				listSub, err := models.GetIndustrialManagementSubjectList(v.IndustrialManagementId)
+				if err != nil {
+					br.Msg = "获取信息失败"
+					br.ErrMsg = "获取关联标的列表失败,Err:" + err.Error()
+					return
+				}
 				var subjectNamesNew string
-				slice := strings.Split(v.SubjectNames, ",")
-				for k1, v1 := range slice {
-					if k1 < 4 && k1 < len(slice)-1 {
-						subjectNamesNew += v1 + "/"
-					}
+				for _, v1 := range listSub {
+					subjectNamesNew += v1.SubjectName + "/"
 				}
 				subjectNamesNew = strings.TrimRight(subjectNamesNew, "/")
 				Management.IndustryName = subjectNamesNew
-			} else {
-				Management.IndustryName = v.IndustryName
 			}
+			//if v.SubjectNames != "" {
+			//	var subjectNamesNew string
+			//	slice := strings.Split(v.SubjectNames, ",")
+			//	for k1, v1 := range slice {
+			//		if k1 < 4 && k1 < len(slice)-1 {
+			//			subjectNamesNew += v1 + "/"
+			//		}
+			//	}
+			//	subjectNamesNew = strings.TrimRight(subjectNamesNew, "/")
+			//	Management.IndustryName = subjectNamesNew
+			//} else {
+			//	Management.IndustryName = v.IndustryName
+			//}
 			Management.IndustrialManagementId = v.IndustrialManagementId
 			resp.ListnNew = append(resp.ListnNew, Management)
 		}

+ 31 - 0
models/industrial_management.go

@@ -298,3 +298,34 @@ func GetIndustrialManagementHot3(chartPermissionId int) (item *IndustrialManagem
 	err = o.Raw(sql, chartPermissionId).QueryRow(&item)
 	return
 }
+
+//获取产业关联标的的数量
+func GetIndustrialManagementSubjectCount(industrialManagementId int) (count int, err error) {
+	sqlCount := ` SELECT COUNT(1) AS count FROM
+				cygx_industrial_subject AS s 
+				INNER JOIN cygx_industrial_article_group_subject as sg ON sg.industrial_subject_id = s.industrial_subject_id
+				INNER JOIN cygx_article as a ON a.article_id = sg.article_id
+				WHERE a.industrial_management_id = ?
+				AND a.publish_status = 1`
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, industrialManagementId).QueryRow(&count)
+	return
+}
+
+//获取产业关联标的列表
+func GetIndustrialManagementSubjectList(industrialManagementId int) (items []*IndustrialSubject, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+			s.subject_name 
+		    FROM
+			cygx_industrial_subject AS s 
+			INNER JOIN cygx_industrial_article_group_subject as sg ON sg.industrial_subject_id = s.industrial_subject_id
+			INNER JOIN cygx_article as a ON a.article_id = sg.article_id
+			WHERE a.industrial_management_id = ?
+			AND a.publish_status = 1
+			GROUP BY s.industrial_subject_id
+			ORDER BY sg.create_time DESC 
+			LIMIT 4`
+	_, err = o.Raw(sql, industrialManagementId).QueryRows(&items)
+	return
+}