Quellcode durchsuchen

fix:研报审批列表筛选

zqbao vor 4 Monaten
Ursprung
Commit
c28a162a59

+ 73 - 15
controllers/report_approve/report_approve.go

@@ -8,11 +8,12 @@ import (
 	"eta/eta_api/services"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"sort"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // ReportApproveController 报告审批
@@ -29,6 +30,7 @@ type ReportApproveController struct {
 // @Param   ReportType			query   int     false	"报告类型:1-中文研报;2-英文研报;3-智能研报"
 // @Param   ClassifyIdFirst		query	int		false	"一级分类ID"
 // @Param   ClassifyIdSecond	query	int		false	"二级分类ID"
+// @Param   ClassifyIdThird		query	int		false	"三级级分类ID"
 // @Param   Keyword				query	string	false	"搜索关键词"
 // @Param   ApproveState		query	int		false	"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"
 // @Param   TimeType			query	int		false	"时间类型:1-提交时间;2-处理时间;3-审批时间"
@@ -114,9 +116,21 @@ func (this *ReportApproveController) List() {
 		order := ""
 
 		// 筛选条件
-		if params.ReportType > 0 && params.ClassifySecondId > 0 {
-			cond += fmt.Sprintf(` AND b.%s = ? AND b.%s = ?`, report_approve.ReportApproveCols.ReportType, report_approve.ReportApproveCols.ClassifySecondId)
-			pars = append(pars, params.ReportType, params.ClassifySecondId)
+		if params.ReportType > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ReportType)
+			pars = append(pars, params.ReportType)
+		}
+		if params.ClassifyFirstId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifyFirstId)
+			pars = append(pars, params.ClassifyFirstId)
+		}
+		if params.ClassifySecondId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifySecondId)
+			pars = append(pars, params.ClassifySecondId)
+		}
+		if params.ClassifyThirdId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifyThirdId)
+			pars = append(pars, params.ClassifyThirdId)
 		}
 		if params.TimeType <= 0 {
 			params.TimeType = 1
@@ -180,9 +194,21 @@ func (this *ReportApproveController) List() {
 		order := ""
 
 		// 筛选条件
-		if params.ReportType > 0 && params.ClassifySecondId > 0 {
-			cond += fmt.Sprintf(` AND b.%s = ? AND b.%s = ?`, report_approve.ReportApproveCols.ReportType, report_approve.ReportApproveCols.ClassifySecondId)
-			pars = append(pars, params.ReportType, params.ClassifySecondId)
+		if params.ReportType > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ReportType)
+			pars = append(pars, params.ReportType)
+		}
+		if params.ClassifyFirstId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifyFirstId)
+			pars = append(pars, params.ClassifyFirstId)
+		}
+		if params.ClassifySecondId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifySecondId)
+			pars = append(pars, params.ClassifySecondId)
+		}
+		if params.ClassifyThirdId > 0 {
+			cond += fmt.Sprintf(` AND b.%s = ?`, report_approve.ReportApproveCols.ClassifyThirdId)
+			pars = append(pars, params.ClassifyThirdId)
 		}
 		if params.TimeType > 0 && params.StartTime != "" && params.EndTime != "" {
 			_, e := time.Parse(utils.FormatDate, params.StartTime)
@@ -253,10 +279,23 @@ func (this *ReportApproveController) List() {
 		order := ""
 
 		// 筛选条件
-		if params.ReportType > 0 && params.ClassifySecondId > 0 {
-			cond += fmt.Sprintf(` AND a.%s = ? AND a.%s = ?`, report_approve.ReportApproveCols.ReportType, report_approve.ReportApproveCols.ClassifySecondId)
-			pars = append(pars, params.ReportType, params.ClassifySecondId)
+		if params.ReportType > 0 {
+			cond += fmt.Sprintf(` AND a.%s = ?`, report_approve.ReportApproveCols.ReportType)
+			pars = append(pars, params.ReportType)
+		}
+		if params.ClassifyFirstId > 0 {
+			cond += fmt.Sprintf(` AND a.%s = ?`, report_approve.ReportApproveCols.ClassifyFirstId)
+			pars = append(pars, params.ClassifyFirstId)
+		}
+		if params.ClassifySecondId > 0 {
+			cond += fmt.Sprintf(` AND a.%s = ?`, report_approve.ReportApproveCols.ClassifySecondId)
+			pars = append(pars, params.ClassifySecondId)
 		}
+		if params.ClassifyThirdId > 0 {
+			cond += fmt.Sprintf(` AND a.%s = ?`, report_approve.ReportApproveCols.ClassifyThirdId)
+			pars = append(pars, params.ClassifyThirdId)
+		}
+
 		if params.TimeType > 0 && params.StartTime != "" && params.EndTime != "" {
 			_, e := time.Parse(utils.FormatDate, params.StartTime)
 			if e != nil {
@@ -365,17 +404,36 @@ func (this *ReportApproveController) List() {
 	for _, v := range ormList {
 		t := report_approve.FormatReportApproveOrm2Item(v)
 		if v.ReportType == report_approve.FlowReportTypeEnglish {
-			t.ReportClassify = fmt.Sprintf("%s/%s/%s/%s", report_approve.FlowReportTypeMap[v.ReportType], enClassifyIdName[enRootIdMap[v.ClassifySecondId]], enClassifyIdName[v.ClassifyFirstId], enClassifyIdName[v.ClassifySecondId])
+			var classifyPath []string
+			if v.ReportType > 0 {
+				classifyPath = append(classifyPath, report_approve.FlowReportTypeMap[v.ReportType])
+			}
+			if v.ClassifyFirstId > 0 {
+				classifyPath = append(classifyPath, enClassifyIdName[v.ClassifyFirstId])
+			}
+			if v.ClassifySecondId > 0 {
+				classifyPath = append(classifyPath, enClassifyIdName[v.ClassifySecondId])
+			}
+			if v.ClassifyThirdId > 0 {
+				classifyPath = append(classifyPath, enClassifyIdName[v.ClassifyThirdId])
+			}
+			t.ReportClassify = strings.Join(classifyPath, "/")
 		} else {
 			//t.ReportClassify = fmt.Sprintf("%s/%s/%s", report_approve.FlowReportTypeMap[v.ReportType], cnClassifyIdName[v.ClassifyFirstId], cnClassifyIdName[v.ClassifySecondId])
-			reportClassify := fmt.Sprintf("%s/%s", report_approve.FlowReportTypeMap[v.ReportType], cnClassifyIdName[v.ClassifyFirstId])
+			var classifyPath []string
+			if v.ReportType > 0 {
+				classifyPath = append(classifyPath, report_approve.FlowReportTypeMap[v.ReportType])
+			}
+			if v.ClassifyFirstId > 0 {
+				classifyPath = append(classifyPath, cnClassifyIdName[v.ClassifyFirstId])
+			}
 			if v.ClassifySecondId > 0 {
-				reportClassify = fmt.Sprintf("%s/%s", reportClassify, cnClassifyIdName[v.ClassifySecondId])
+				classifyPath = append(classifyPath, cnClassifyIdName[v.ClassifySecondId])
 			}
 			if v.ClassifyThirdId > 0 {
-				reportClassify = fmt.Sprintf("%s/%s", reportClassify, cnClassifyIdName[v.ClassifyThirdId])
+				classifyPath = append(classifyPath, cnClassifyIdName[v.ClassifyThirdId])
 			}
-			t.ReportClassify = reportClassify
+			t.ReportClassify = strings.Join(classifyPath, "/")
 		}
 
 		k := fmt.Sprintf("%d-%d", t.ReportType, t.ReportId)

+ 7 - 3
models/report_approve/report_approve.go

@@ -3,10 +3,11 @@ package report_approve
 import (
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strings"
 	"time"
+
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // ReportApprove 报告审批表
@@ -186,6 +187,7 @@ type ReportApproveItem struct {
 	ReportClassify        string `description:"报告分类"`
 	ClassifyFirstId       int    `description:"一级分类ID"`
 	ClassifySecondId      int    `description:"二级分类ID"`
+	ClassifyThirdId       int    `description:"三级分类ID"`
 	State                 int    `description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
 	RecordState           int    `description:"审批记录状态:1-待审批;2-已通过;3-已驳回"`
 	FlowId                int    `description:"审批流ID"`
@@ -216,6 +218,7 @@ func FormatReportApproveOrm2Item(origin *ReportApproveItemOrm) (item *ReportAppr
 	item.ReportTitle = origin.ReportTitle
 	item.ClassifyFirstId = origin.ClassifyFirstId
 	item.ClassifySecondId = origin.ClassifySecondId
+	item.ClassifyThirdId = origin.ClassifyThirdId
 	item.State = origin.State
 	item.RecordState = origin.RecordState
 	item.FlowId = origin.FlowId
@@ -240,6 +243,7 @@ type ReportApproveListReq struct {
 	ReportType       int    `form:"ReportType" description:"报告类型:1-中文研报;2-英文研报;3-智能研报"`
 	ClassifyFirstId  int    `form:"ClassifyFirstId" description:"一级分类ID"`
 	ClassifySecondId int    `form:"ClassifySecondId" description:"二级分类ID"`
+	ClassifyThirdId  int    `form:"ClassifyThirdId" description:"三级级分类ID"`
 	Keyword          string `form:"Keyword" description:"关键词:报告标题"`
 	ApproveState     int    `form:"ApproveState" description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
 	TimeType         int    `form:"TimeType" description:"时间类型:1-提交时间;2-处理时间;3-审批时间"`
@@ -263,7 +267,7 @@ type ReportApproveItemOrm struct {
 	ReportTitle           string    `description:"报告标题"`
 	ClassifyFirstId       int       `description:"一级分类ID"`
 	ClassifySecondId      int       `description:"二级分类ID"`
-	ClassifyThirdId       int       `description:"级分类ID"`
+	ClassifyThirdId       int       `description:"级分类ID"`
 	State                 int       `description:"审批状态:1-待审批;2-已审批;3-已驳回;4-已撤回"`
 	RecordState           int       `description:"审批记录状态:1-待审批;2-已通过;3-已驳回"`
 	FlowId                int       `description:"审批流ID"`