Browse Source

add: 添加批量修改日志, 修改部分参数名称

zqbao 1 year ago
parent
commit
56ee0eea4c
3 changed files with 69 additions and 21 deletions
  1. 2 2
      controllers/base_from_calculate.go
  2. 19 19
      models/base_from_calculate.go
  3. 48 0
      services/base_from_calculate.go

+ 2 - 2
controllers/base_from_calculate.go

@@ -1257,8 +1257,8 @@ func (this *CalculateController) BatchEdit() {
 	newEdbInfoRecord.EdbName = req.EdbName
 	newEdbInfoRecord.Frequency = req.Frequency
 	newEdbInfoRecord.Unit = req.Unit
-	newEdbInfoRecord.OperateUserId = req.OperateUserId
-	newEdbInfoRecord.OperateUserRealName = req.OperateUserRealName
+	newEdbInfoRecord.OperateUserId = req.AdminId
+	newEdbInfoRecord.OperateUserRealName = req.AdminName
 	err = services.AddEditEdbInfoRcord(oldEdbInfo, newEdbInfoRecord)
 	if err != nil {
 		br.Msg = "保存失败"

+ 19 - 19
models/base_from_calculate.go

@@ -683,25 +683,25 @@ type EdbInfoCalculateEdbInfoIdReq struct {
 
 // EdbInfoCalculateBatchEditReq 编辑计算指标的请求参数
 type EdbInfoCalculateBatchEditReq struct {
-	EdbName             string                         `description:"指标名称"`
-	Frequency           string                         `description:"频度"`
-	Unit                string                         `description:"单位"`
-	ClassifyId          int                            `description:"分类id"`
-	OperateUserId       int                            `description:"操作人id"`
-	OperateUserRealName string                         `description:"操作人姓名"`
-	Formula             string                         `description:"N值"`
-	EdbInfoId           int                            `description:"编辑指标id"`
-	FromEdbInfoId       int                            `description:"计算来源指标id"`
-	Source              int                            `description:"来源:1:同花顺,2:wind,3:彭博,4:指标运算,5:累计值转月,6:同比值,7:同差值,8:N数值移动平均计算,12:环比值,13:环差值,14:升频"`
-	MoveType            int                            `description:"移动方式:1:领先(默认),2:滞后"`
-	MoveFrequency       string                         `description:"移动频度:天/周/月/季/年"`
-	EdbInfoIdArr        []EdbInfoCalculateEdbInfoIdReq `description:"关联指标列表"`
-	Calendar            string                         `description:"公历/农历" orm:"default(公历)"`
-	Extra               string                         `description:"指标的额外配置"`
-	Data                interface{}                    `description:"数据"`
-	EmptyType           int                            `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
-	MaxEmptyType        int                            `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
-	CalculateFormula    string                         `description:"计算公式"`
+	EdbName          string                         `description:"指标名称"`
+	Frequency        string                         `description:"频度"`
+	Unit             string                         `description:"单位"`
+	ClassifyId       int                            `description:"分类id"`
+	AdminId          int                            `description:"操作人id"`
+	AdminName        string                         `description:"操作人姓名"`
+	Formula          string                         `description:"N值"`
+	EdbInfoId        int                            `description:"编辑指标id"`
+	FromEdbInfoId    int                            `description:"计算来源指标id"`
+	Source           int                            `description:"来源:1:同花顺,2:wind,3:彭博,4:指标运算,5:累计值转月,6:同比值,7:同差值,8:N数值移动平均计算,12:环比值,13:环差值,14:升频"`
+	MoveType         int                            `description:"移动方式:1:领先(默认),2:滞后"`
+	MoveFrequency    string                         `description:"移动频度:天/周/月/季/年"`
+	EdbInfoIdArr     []EdbInfoCalculateEdbInfoIdReq `description:"关联指标列表"`
+	Calendar         string                         `description:"公历/农历" orm:"default(公历)"`
+	Extra            string                         `description:"指标的额外配置"`
+	Data             interface{}                    `description:"数据"`
+	EmptyType        int                            `description:"空值处理类型(0查找前后35天,1不计算,2前值填充,3后值填充,4等于0)"`
+	MaxEmptyType     int                            `description:"MAX、MIN公式空值处理类型(1、等于0;2、跳过空值)"`
+	CalculateFormula string                         `description:"计算公式"`
 }
 
 // CheckFormula2 校验公式是否正常(比如说除法的分母不能为0之类的,实际上就是用预设的字段数据做一次计算)

+ 48 - 0
services/base_from_calculate.go

@@ -159,6 +159,11 @@ func EdbCalculateBatchSave(req models.EdbInfoCalculateBatchSaveReq) (edbInfo *mo
 		}
 	}
 
+	// 记录旧的指标信息
+	oldEdbName := fromEdbInfo.EdbName
+	oldFrequency := fromEdbInfo.Frequency
+	oldUnit := fromEdbInfo.Unit
+
 	//生成指标编码
 	randStr := utils.GetRandDigit(4)
 	edbCode := `C` + time.Now().Format("060102") + randStr
@@ -453,6 +458,24 @@ func EdbCalculateBatchSave(req models.EdbInfoCalculateBatchSaveReq) (edbInfo *mo
 		return
 	}
 
+	// 记录基础信息操作变更日志
+	oldEdbInfo := new(models.EdbInfo)
+	oldEdbInfo.EdbInfoId = fromEdbInfoId
+	oldEdbInfo.EdbName = oldEdbName
+	oldEdbInfo.Frequency = oldFrequency
+	oldEdbInfo.Unit = oldUnit
+	newEdbInfoEditRecord := new(models.EdbInfoEditRecord)
+	newEdbInfoEditRecord.EdbName = req.EdbName
+	newEdbInfoEditRecord.Frequency = req.Frequency
+	newEdbInfoEditRecord.Unit = req.Unit
+	newEdbInfoEditRecord.OperateUserId = req.AdminId
+	newEdbInfoEditRecord.OperateUserRealName = req.AdminName
+	err = AddEditEdbInfoRcord(oldEdbInfo, newEdbInfoEditRecord)
+	if err != nil {
+		errMsg = "记录基础信息操作变更日志失败,Err:" + err.Error()
+		err = fmt.Errorf("操作记录保存失败")
+		return
+	}
 	// 更新ES
 	go logic.UpdateEs(edbInfo.EdbInfoId)
 	return
@@ -533,6 +556,12 @@ func EdbCalculateBatchEdit(req models.EdbInfoCalculateBatchEditReq) (edbInfo *mo
 
 		return
 	}
+
+	// 记录旧的指标基本信息
+	oldEdbName := edbInfo.EdbName
+	oldFrequency := edbInfo.Frequency
+	oldUnit := edbInfo.Unit
+
 	// 基础指标id
 	fromEdbInfoId := req.FromEdbInfoId
 
@@ -859,6 +888,25 @@ func EdbCalculateBatchEdit(req models.EdbInfoCalculateBatchEditReq) (edbInfo *mo
 		return
 	}
 
+	// 记录基础信息操作变更日志
+	oldEdbInfo := new(models.EdbInfo)
+	oldEdbInfo.EdbInfoId = edbInfoId
+	oldEdbInfo.EdbName = oldEdbName
+	oldEdbInfo.Frequency = oldFrequency
+	oldEdbInfo.Unit = oldUnit
+	newEdbInfoEditRecord := new(models.EdbInfoEditRecord)
+	newEdbInfoEditRecord.EdbName = req.EdbName
+	newEdbInfoEditRecord.Frequency = req.Frequency
+	newEdbInfoEditRecord.Unit = req.Unit
+	newEdbInfoEditRecord.OperateUserId = req.AdminId
+	newEdbInfoEditRecord.OperateUserRealName = req.AdminName
+	err = AddEditEdbInfoRcord(oldEdbInfo, newEdbInfoEditRecord)
+	if err != nil {
+		errMsg = "记录基础信息操作变更日志失败,Err:" + err.Error()
+		err = fmt.Errorf("操作记录保存失败")
+		return
+	}
+
 	// 更新ES
 	go logic.UpdateEs(edbInfo.EdbInfoId)
 	return