Pārlūkot izejas kodu

报告审批流, 报告列表微调

hsun 1 gadu atpakaļ
vecāks
revīzija
93eb9cd4b1

+ 3 - 3
controllers/english_report/report.go

@@ -306,7 +306,7 @@ func (this *EnglishReportController) Detail() {
 // @Description 获取报告列表
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   TimeType     query string true  "筛选的时间类别:publish_time(发布时间),modify_time(更新时间)"
+// @Param   TimeType     query string true  "筛选的时间类别:publish_time(发布时间),modify_time(更新时间);approve_time(审批时间)"
 // @Param   StartDate   query   string  true       "开始时间"
 // @Param   EndDate   query   string  true       "结束时间"
 // @Param   Frequency   query   string  true       "频度"
@@ -367,7 +367,7 @@ func (this *EnglishReportController) ListReport() {
 	if timeType == "" {
 		timeType = "publish_time"
 	}
-	if timeType != "publish_time" && timeType != "modify_time" {
+	if timeType != "publish_time" && timeType != "modify_time" && timeType != "approve_time" {
 		br.Msg = "请选择正确的时间"
 		br.ErrMsg = "请选择正确的时间"
 		return
@@ -489,7 +489,7 @@ func (this *EnglishReportController) ListReport() {
 		fieldArr := []string{
 			"id", "add_type", "classify_id_first", "classify_name_first", "classify_id_second", "classify_name_second", "title", "abstract", "author",
 			"frequency", "create_time", "modify_time", "state", "publish_time", "pre_publish_time", "stage", "msg_is_send", "report_code", "pv", "share_url",
-			"pv_email", "email_state", "from_report_id", "key_takeaways", "admin_id", "admin_real_name",
+			"pv_email", "email_state", "from_report_id", "key_takeaways", "admin_id", "admin_real_name", "approve_time",
 		}
 		items, e := models.GetEnglishReportList(condition, pars, companyType, startSize, pageSize, fieldArr)
 		if e != nil {

+ 9 - 2
controllers/report.go

@@ -40,7 +40,7 @@ type ReportUploadCommonController struct {
 // @Description 获取报告列表
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   TimeType     query string true  "筛选的时间类别:publish_time(发布时间),modify_time(更新时间)"
+// @Param   TimeType     query string true  "筛选的时间类别:publish_time(发布时间),modify_time(更新时间);approve_time(审批时间)"
 // @Param   StartDate   query   string  true       "开始时间"
 // @Param   EndDate   query   string  true       "结束时间"
 // @Param   Frequency   query   string  true       "频度"
@@ -84,7 +84,7 @@ func (this *ReportController) ListReport() {
 	if timeType == "" {
 		timeType = "publish_time"
 	}
-	if timeType != "publish_time" && timeType != "modify_time" {
+	if timeType != "publish_time" && timeType != "modify_time" && timeType != "approve_time" {
 		br.Msg = "请选择正确的时间"
 		br.ErrMsg = "请选择正确的时间"
 		return
@@ -264,6 +264,9 @@ func (this *ReportController) PublishReport() {
 		br.ErrMsg = "参数错误,报告id不可为空"
 		return
 	}
+
+	// TODO:根据审批开关及对应分类审批流判断当前报告初始状态
+
 	reportArr := strings.Split(reportIds, ",")
 	tips := ""
 	for _, v := range reportArr {
@@ -389,6 +392,8 @@ func (this *ReportController) PublishCancleReport() {
 		go services.UpdateReportEs(req.ReportIds, 1)
 	}
 
+	// TODO:根据审批开关及对应分类审批流判断当前报告初始状态
+
 	// 获取审批流设置
 	confKey := "approval_flow"
 	confTmp, e := company.GetConfigDetailByCode(confKey)
@@ -503,6 +508,8 @@ func (this *ReportController) Add() {
 		return
 	}
 
+	// TODO:根据审批开关及对应分类审批流判断当前报告初始状态
+
 	item := new(models.Report)
 	item.AddType = req.AddType
 	item.ClassifyIdFirst = req.ClassifyIdFirst

+ 4 - 4
controllers/smart_report/smart_report.go

@@ -453,7 +453,7 @@ func (this *SmartReportController) Publish() {
 	recordItem := &models.ReportStateRecord{
 		ReportId:   req.SmartReportId,
 		ReportType: 2,
-		State:     req.PublishState,
+		State:      req.PublishState,
 		AdminId:    this.SysUser.AdminId,
 		AdminName:  this.SysUser.AdminName,
 		CreateTime: time.Now(),
@@ -838,7 +838,7 @@ func (this *SmartReportController) MarkEditStatus() {
 // @Description 报告列表
 // @Param   PageSize			query	int		true	"每页数据条数"
 // @Param   CurrentIndex		query	int		true	"当前页页码"
-// @Param   TimeType			query	string	false	"筛选的时间类别: publish_time-发布时间, modify_time-更新时间"
+// @Param   TimeType			query	string	false	"筛选的时间类别: publish_time-发布时间, modify_time-更新时间, approve_time-审批时间"
 // @Param   StartDate			query   string  false	"开始时间"
 // @Param   EndDate				query   string  false	"结束时间"
 // @Param   Frequency			query   string  false	"频度"
@@ -885,7 +885,7 @@ func (this *SmartReportController) List() {
 	if params.TimeType == "" {
 		params.TimeType = "publish_time"
 	}
-	if params.TimeType != "publish_time" && params.TimeType != "modify_time" {
+	if params.TimeType != "publish_time" && params.TimeType != "modify_time" && params.TimeType != "approve_time" {
 		br.Msg = "请选择正确的时间类型"
 		return
 	}
@@ -961,7 +961,7 @@ func (this *SmartReportController) List() {
 		"smart_report_id", "report_code", "classify_id_first", "classify_name_first", "classify_id_second", "classify_name_second", "add_type",
 		"title", "abstract", "author", "frequency", "stage", "video_url", "video_name", "video_play_seconds", "video_size", "detail_img_url", "detail_pdf_url",
 		"admin_id", "admin_real_name", "state", "publish_time", "pre_publish_time", "pre_msg_send", "msg_is_send", "msg_send_time", "create_time", "modify_time",
-		"last_modify_admin_id", "last_modify_admin_name", "content_modify_time", "pv", "uv",
+		"last_modify_admin_id", "last_modify_admin_name", "content_modify_time", "pv", "uv", "approve_time",
 	}
 	list, e := reportOB.GetPageItemsByCondition(condition, pars, fields, "", startSize, params.PageSize)
 	if e != nil {

+ 4 - 2
models/english_report.go

@@ -23,7 +23,7 @@ type EnglishReport struct {
 	Frequency          string    `description:"频度"`
 	CreateTime         string    `description:"创建时间"`
 	ModifyTime         time.Time `description:"修改时间"`
-	State              int       `description:"1:未发布,2:已发布"`
+	State              int       `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	PublishTime        time.Time `description:"发布时间"`
 	PrePublishTime     time.Time `description:"预发布时间"`
 	Stage              int       `description:"期数"`
@@ -42,6 +42,7 @@ type EnglishReport struct {
 	FromReportId       int       `description:"继承的报告ID(英文策略报告ID)"`
 	AdminId            int       `description:"创建者账号"`
 	AdminRealName      string    `description:"创建者姓名"`
+	ApproveTime        time.Time `description:"审批时间"`
 }
 
 func GetEnglishReportStage(classifyIdFirst, classifyIdSecond int) (count int, err error) {
@@ -240,7 +241,7 @@ type EnglishReportList struct {
 	Frequency          string    `description:"频度"`
 	CreateTime         string    `description:"创建时间"`
 	ModifyTime         time.Time `description:"修改时间"`
-	State              int       `description:"1:未发布,2:已发布"`
+	State              int       `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	PublishTime        string    `description:"发布时间"`
 	PrePublishTime     string    `description:"预发布时间"`
 	Stage              int       `description:"期数"`
@@ -264,6 +265,7 @@ type EnglishReportList struct {
 	FullClassifyName   string    `description:"顶级分类名/父级分类名/当前分类名"`
 	ClassifyIdRoot     int       `description:"顶级分类id"`
 	ClassifyNameRoot   string    `description:"顶级分类名称"`
+	ApproveTime        string    `description:"审批时间"`
 }
 
 type EnglishReportListResp struct {

+ 4 - 2
models/report.go

@@ -31,7 +31,7 @@ type Report struct {
 	Frequency          string    `description:"频度"`
 	CreateTime         string    `description:"创建时间"`
 	ModifyTime         time.Time `description:"修改时间"`
-	State              int       `description:"1:未发布,2:已发布"`
+	State              int       `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	PublishTime        time.Time `description:"发布时间"`
 	Stage              int       `description:"期数"`
 	MsgIsSend          int       `description:"消息是否已发送,0:否,1:是"`
@@ -50,6 +50,7 @@ type Report struct {
 	MsgSendTime        time.Time `description:"模版消息发送时间"`
 	AdminId            int       `description:"创建者账号"`
 	AdminRealName      string    `description:"创建者姓名"`
+	ApproveTime        time.Time `description:"审批时间"`
 }
 
 type ReportList struct {
@@ -65,7 +66,7 @@ type ReportList struct {
 	Frequency          string                    `description:"频度"`
 	CreateTime         string                    `description:"创建时间"`
 	ModifyTime         time.Time                 `description:"修改时间"`
-	State              int                       `description:"1:未发布,2:已发布 3:已驳回 4:已审批"`
+	State              int                       `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	PublishTime        string                    `description:"发布时间"`
 	PrePublishTime     string                    `description:"预发布时间"`
 	Stage              int                       `description:"期数"`
@@ -90,6 +91,7 @@ type ReportList struct {
 	Editor             string                    `description:"编辑人"`
 	AdminId            int                       `description:"创建者账号"`
 	AdminRealName      string                    `description:"创建者姓名"`
+	ApproveTime        string                    `description:"审批时间"`
 }
 
 type ReportListResp struct {

+ 5 - 2
models/smart_report/smart_report.go

@@ -38,7 +38,7 @@ type SmartReport struct {
 	VideoSize           string    `description:"音频文件大小,单位M"`
 	AdminId             int       `description:"创建者ID"`
 	AdminRealName       string    `description:"创建者姓名"`
-	State               int       `description:"发布状态:1-待发布;2-已发布"`
+	State               int       `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	LastModifyAdminId   int       `description:"最后更新人ID"`
 	LastModifyAdminName string    `description:"最后更新人姓名"`
 	ContentModifyTime   time.Time `description:"内容更新时间"`
@@ -53,6 +53,7 @@ type SmartReport struct {
 	DetailPdfUrl        string    `description:"报告详情PDF地址"`
 	CreateTime          time.Time `description:"创建时间"`
 	ModifyTime          time.Time `description:"修改时间"`
+	ApproveTime         time.Time `description:"审批时间"`
 }
 
 func (m *SmartReport) TableName() string {
@@ -195,7 +196,7 @@ type SmartReportItem struct {
 	ContentModifyTime   string  `description:"内容更新时间"`
 	Pv                  int     `description:"pv"`
 	Uv                  int     `description:"uv"`
-	State               int     `description:"发布状态:1-待发布;2-已发布"`
+	State               int     `description:"1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过"`
 	PublishTime         string  `description:"发布时间"`
 	PrePublishTime      string  `description:"预发布时间"`
 	MsgIsSend           int     `description:"消息是否已发送:0-否;1-是"`
@@ -204,6 +205,7 @@ type SmartReportItem struct {
 	DetailPdfUrl        string  `description:"报告详情PDF地址"`
 	CreateTime          string  `description:"创建时间"`
 	ModifyTime          string  `description:"修改时间"`
+	ApproveTime         string  `description:"审批时间"`
 	CanEdit             bool    `description:"是否可编辑"`
 	Editor              string  `description:"当前编辑人"`
 }
@@ -249,6 +251,7 @@ func FormatSmartReport2Item(origin *SmartReport) (item *SmartReportItem) {
 	item.DetailPdfUrl = origin.DetailPdfUrl
 	item.CreateTime = utils.TimeTransferString(utils.FormatDateTime, origin.CreateTime)
 	item.ModifyTime = utils.TimeTransferString(utils.FormatDateTime, origin.ModifyTime)
+	item.ApproveTime = utils.TimeTransferString(utils.FormatDateTime, origin.ApproveTime)
 	return
 }
 

+ 1 - 1
services/report_approve.go

@@ -26,7 +26,7 @@ func GetReportClassifyTreeRecursive(list []*models.Classify, parentId int) []*re
 // CheckReportApproveFlowChange 校验是否可变更分类
 func CheckReportApproveFlowChange(reportType, classifyFirstId, classifySecondId int) (ok bool, err error) {
 	var count int
-	cond := ` AND classify_first_id = ? AND classify_second_id = ? AND state = ?`
+	cond := ` AND classify_id_first = ? AND classify_id_second = ? AND state = ?`
 	pars := make([]interface{}, 0)
 	pars = append(pars, classifyFirstId, classifySecondId, models.ReportStateWaitApprove)
 	switch reportType {