Browse Source

fix:编辑指标的时候,需要根据情况插入一条或多条操作记录

Roc 7 months ago
parent
commit
0cbd15b8cf
3 changed files with 36 additions and 6 deletions
  1. 20 6
      controllers/data_manage/manual_edb.go
  2. 14 0
      models/manual_edb.go
  3. 2 0
      services/data/edb_info.go

+ 20 - 6
controllers/data_manage/manual_edb.go

@@ -506,7 +506,7 @@ func (c *ManualEdbController) EditExcelData() {
 
 	//操作指标,新增指标及数据等
 	{
-		var isUpdate bool
+		var isUpdateEdb, isUpdateData bool
 
 		secName := strings.TrimSpace(req.EdbName)
 		frequency := strings.TrimSpace(req.Frequency)
@@ -555,7 +555,7 @@ func (c *ManualEdbController) EditExcelData() {
 			}
 
 			if len(updateCols) > 0 {
-				isUpdate = true
+				isUpdateEdb = true
 				manualEdbInfo.ModifyTime = time.Now().Format(utils.FormatDateTime)
 				updateCols = append(updateCols, "ModifyTime")
 				err = manualEdbInfo.Update(updateCols)
@@ -615,7 +615,7 @@ func (c *ManualEdbController) EditExcelData() {
 				continue
 			}
 			if !tmpValDecimal.Equal(closeValDecimal) {
-				isUpdate = true
+				isUpdateData = true
 				fmt.Println("更新数值")
 				err = models.ModifyTargetsDataByImport(manualEdbInfo.TradeCode, createDate, closeVal)
 				if err != nil {
@@ -628,7 +628,7 @@ func (c *ManualEdbController) EditExcelData() {
 
 		// 新增指标
 		if len(addDataList) > 0 {
-			isUpdate = true
+			isUpdateData = true
 			err = models.OnlyMultiAddEdbdata(addDataList)
 			if err != nil {
 				fmt.Println("MultiAddEdbdata err:", err.Error())
@@ -639,7 +639,7 @@ func (c *ManualEdbController) EditExcelData() {
 		// 删除不需要的日期数据
 		num := len(deleteDataMap)
 		if num > 0 {
-			isUpdate = true
+			isUpdateData = true
 			deleteDateList := make([]string, 0)
 			for date := range deleteDataMap {
 				deleteDateList = append(deleteDateList, date)
@@ -653,7 +653,7 @@ func (c *ManualEdbController) EditExcelData() {
 		}
 
 		// 添加记录
-		if isUpdate {
+		if isUpdateEdb {
 			record := &models.EdbinfoOpRecord{
 				TradeCode:  manualEdbInfo.TradeCode,
 				Remark:     "编辑指标",
@@ -661,6 +661,20 @@ func (c *ManualEdbController) EditExcelData() {
 				UserName:   sysUser.RealName,
 				CreateTime: time.Now(),
 			}
+			go func() {
+				_ = record.Create()
+			}()
+		}
+
+		// 更新数据
+		if isUpdateData {
+			record := &models.EdbinfoOpRecord{
+				TradeCode:  manualEdbInfo.TradeCode,
+				Remark:     "更新数据",
+				UserId:     sysUser.AdminId,
+				UserName:   sysUser.RealName,
+				CreateTime: time.Now(),
+			}
 			go func() {
 				data.ModifyManualEdbMaxMinDate(manualEdbInfo.TradeCode)
 				_ = record.Create()

+ 14 - 0
models/manual_edb.go

@@ -376,3 +376,17 @@ func GetManualEdbCountByCondition(condition string, pars []interface{}) (count i
 	err = o.Raw(sql, pars).QueryRow(&count)
 	return
 }
+
+// DelEdbinfoOpRecordByTradeCode
+// @Description: 根据指标编码删除操作日志
+// @author: Roc
+// @datetime 2024-08-05 10:27:29
+// @param tradeCode string
+// @return err error
+func DelEdbinfoOpRecordByTradeCode(tradeCode string) (err error) {
+	o := orm.NewOrmUsingDB("edb")
+	sql := ` DELETE FROM edbinfo_op_record WHERE TRADE_CODE = ? `
+	_, err = o.Raw(sql, tradeCode).Exec()
+
+	return
+}

+ 2 - 0
services/data/edb_info.go

@@ -747,6 +747,8 @@ func AddEdbInfo(secName, unit, frequency, noticeTime, mobile string, classifyId,
 	}
 	// 先删除该指标编码的历史数据(避免上海删除指标时,没有删除该指标数据)
 	_ = models.DeleteAllEdbData(maxTradeCode)
+	// 先删除历史的操作日志
+	_ = models.DelEdbinfoOpRecordByTradeCode(maxTradeCode)
 	// 再次新增指标
 	err = models.AddEdbinfo(maxTradeCode, secName, unit, "手动", frequency, noticeTime, classifyId, userId, userName)
 	if err != nil {