|
@@ -78,6 +78,14 @@ func (this *SmartReportController) Add() {
|
|
}
|
|
}
|
|
stageMax += 1
|
|
stageMax += 1
|
|
|
|
|
|
|
|
+ // 根据审批开关及审批流判断当前报告状态
|
|
|
|
+ state, e := services.CheckReportCurrState(report_approve.FlowReportTypeSmart, req.ClassifyIdFirst, req.ClassifyIdSecond, models.ReportOperateAdd)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = "校验报告当前状态失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
item := new(smart_report.SmartReport)
|
|
item := new(smart_report.SmartReport)
|
|
item.AddType = req.AddType
|
|
item.AddType = req.AddType
|
|
item.ClassifyIdFirst = req.ClassifyIdFirst
|
|
item.ClassifyIdFirst = req.ClassifyIdFirst
|
|
@@ -93,7 +101,7 @@ func (this *SmartReportController) Add() {
|
|
item.AdminRealName = sysUser.RealName
|
|
item.AdminRealName = sysUser.RealName
|
|
item.LastModifyAdminId = sysUser.AdminId
|
|
item.LastModifyAdminId = sysUser.AdminId
|
|
item.LastModifyAdminName = sysUser.RealName
|
|
item.LastModifyAdminName = sysUser.RealName
|
|
- item.State = smart_report.SmartReportStateWaitPublish
|
|
|
|
|
|
+ item.State = state
|
|
item.CreateTime = time.Now().Local()
|
|
item.CreateTime = time.Now().Local()
|
|
item.ModifyTime = time.Now().Local()
|
|
item.ModifyTime = time.Now().Local()
|
|
// 继承报告
|
|
// 继承报告
|
|
@@ -131,7 +139,7 @@ func (this *SmartReportController) Add() {
|
|
recordItem := &models.ReportStateRecord{
|
|
recordItem := &models.ReportStateRecord{
|
|
ReportId: item.SmartReportId,
|
|
ReportId: item.SmartReportId,
|
|
ReportType: 2,
|
|
ReportType: 2,
|
|
- State: smart_report.SmartReportStateWaitPublish,
|
|
|
|
|
|
+ State: state,
|
|
AdminId: this.SysUser.AdminId,
|
|
AdminId: this.SysUser.AdminId,
|
|
AdminName: this.SysUser.AdminName,
|
|
AdminName: this.SysUser.AdminName,
|
|
CreateTime: time.Now(),
|
|
CreateTime: time.Now(),
|
|
@@ -414,6 +422,13 @@ func (this *SmartReportController) Publish() {
|
|
br.Msg = "参数有误"
|
|
br.Msg = "参数有误"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+ operate := 0
|
|
|
|
+ if req.PublishState == smart_report.SmartReportStateWaitPublish {
|
|
|
|
+ operate = models.ReportOperateCancelPublish
|
|
|
|
+ }
|
|
|
|
+ if req.PublishState == smart_report.SmartReportStatePublished {
|
|
|
|
+ operate = models.ReportOperatePublish
|
|
|
|
+ }
|
|
|
|
|
|
ob := new(smart_report.SmartReport)
|
|
ob := new(smart_report.SmartReport)
|
|
item, e := ob.GetItemById(req.SmartReportId)
|
|
item, e := ob.GetItemById(req.SmartReportId)
|
|
@@ -427,10 +442,18 @@ func (this *SmartReportController) Publish() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 根据审批开关及审批流判断当前报告状态
|
|
|
|
+ state, e := services.CheckReportCurrState(report_approve.FlowReportTypeSmart, item.ClassifyIdFirst, item.ClassifyIdSecond, operate)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = "校验报告当前状态失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
cols := []string{"State", "ModifyTime"}
|
|
cols := []string{"State", "ModifyTime"}
|
|
- item.State = req.PublishState
|
|
|
|
|
|
+ item.State = state
|
|
item.ModifyTime = time.Now().Local()
|
|
item.ModifyTime = time.Now().Local()
|
|
- if req.PublishState == smart_report.SmartReportStatePublished {
|
|
|
|
|
|
+ if state == smart_report.SmartReportStatePublished {
|
|
cols = append(cols, "PublishTime")
|
|
cols = append(cols, "PublishTime")
|
|
item.PublishTime = time.Now().Local()
|
|
item.PublishTime = time.Now().Local()
|
|
|
|
|
|
@@ -440,8 +463,9 @@ func (this *SmartReportController) Publish() {
|
|
queue.ReportCode = item.ReportCode
|
|
queue.ReportCode = item.ReportCode
|
|
_ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
_ = utils.Rc.LPush(utils.CACHE_CREATE_REPORT_IMGPDF_QUEUE, queue)
|
|
}
|
|
}
|
|
|
|
+
|
|
// 取消发布时同时清除掉Img和PDF的文件地址
|
|
// 取消发布时同时清除掉Img和PDF的文件地址
|
|
- if req.PublishState == smart_report.SmartReportStateWaitPublish {
|
|
|
|
|
|
+ if state == smart_report.SmartReportStateWaitPublish {
|
|
cols = append(cols, "DetailImgUrl", "DetailPdfUrl")
|
|
cols = append(cols, "DetailImgUrl", "DetailPdfUrl")
|
|
item.DetailImgUrl = ""
|
|
item.DetailImgUrl = ""
|
|
item.DetailPdfUrl = ""
|
|
item.DetailPdfUrl = ""
|
|
@@ -451,10 +475,11 @@ func (this *SmartReportController) Publish() {
|
|
br.ErrMsg = "更新研报失败, Err: " + e.Error()
|
|
br.ErrMsg = "更新研报失败, Err: " + e.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
recordItem := &models.ReportStateRecord{
|
|
recordItem := &models.ReportStateRecord{
|
|
ReportId: req.SmartReportId,
|
|
ReportId: req.SmartReportId,
|
|
ReportType: 2,
|
|
ReportType: 2,
|
|
- State: req.PublishState,
|
|
|
|
|
|
+ State: state,
|
|
AdminId: this.SysUser.AdminId,
|
|
AdminId: this.SysUser.AdminId,
|
|
AdminName: this.SysUser.AdminName,
|
|
AdminName: this.SysUser.AdminName,
|
|
CreateTime: time.Now(),
|
|
CreateTime: time.Now(),
|
|
@@ -556,6 +581,18 @@ func (this *SmartReportController) PrePublish() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 校验是否开启了审批流
|
|
|
|
+ opening, e := services.CheckReportOpenApprove(report_approve.FlowReportTypeSmart, item.ClassifyIdFirst, item.ClassifyIdSecond)
|
|
|
|
+ if e != nil {
|
|
|
|
+ br.Msg = "操作失败"
|
|
|
|
+ br.ErrMsg = "校验报告是否开启审批流失败, Err: " + e.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if opening {
|
|
|
|
+ br.Msg = "报告已开启审批流, 不可设置定时发布"
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
item.PrePublishTime = preTime
|
|
item.PrePublishTime = preTime
|
|
item.PreMsgSend = req.PreMsgSend
|
|
item.PreMsgSend = req.PreMsgSend
|
|
cols := []string{"PrePublishTime", "PreMsgSend"}
|
|
cols := []string{"PrePublishTime", "PreMsgSend"}
|