|
@@ -3,6 +3,7 @@ package controllers
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"eta/eta_api/models"
|
|
|
+ "eta/eta_api/services"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"html"
|
|
@@ -62,6 +63,9 @@ func (this *BusinessConfController) Save() {
|
|
|
confMap[c.ConfKey] = c
|
|
|
}
|
|
|
|
|
|
+ openApprove := ""
|
|
|
+ approveType := ""
|
|
|
+
|
|
|
// 根据配置类型取值
|
|
|
updates := make([]models.BusinessConfUpdate, 0)
|
|
|
for k, v := range req {
|
|
@@ -86,6 +90,14 @@ func (this *BusinessConfController) Save() {
|
|
|
ConfKey: k,
|
|
|
ConfVal: str,
|
|
|
})
|
|
|
+
|
|
|
+ // 取出审批参数
|
|
|
+ if k == models.BusinessConfIsReportApprove {
|
|
|
+ openApprove = str
|
|
|
+ }
|
|
|
+ if k == models.BusinessConfReportApproveType {
|
|
|
+ approveType = str
|
|
|
+ }
|
|
|
case 2: // 数值
|
|
|
num, ok := v.(float64)
|
|
|
if !ok {
|
|
@@ -138,6 +150,26 @@ func (this *BusinessConfController) Save() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 校验报告审批是否可以切换
|
|
|
+ confOpenApprove := confMap[models.BusinessConfIsReportApprove]
|
|
|
+ confApproveType := confMap[models.BusinessConfReportApproveType]
|
|
|
+ if confOpenApprove != nil && confApproveType != nil {
|
|
|
+ // 仅校验有审批->无审批, 或是有审批->切换审批方式的情况
|
|
|
+ if openApprove == "false" && confOpenApprove.ConfVal == "true" || (openApprove == "true" && openApprove == confOpenApprove.ConfVal && confApproveType.ConfVal != approveType) {
|
|
|
+ ok, e := services.CheckCloseReportApproveConf()
|
|
|
+ fmt.Println(ok)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ br.ErrMsg = "校验是否可以关闭报告审批失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "当前有未走完流程的报告,请走完流程后再做变更"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if len(updates) > 0 {
|
|
|
if e = models.UpdateBusinessConfMulti(updates); e != nil {
|
|
|
br.Msg = "保存失败"
|