Browse Source

系统日期变换

xyxie 1 year ago
parent
commit
2172ec983e

+ 45 - 1
controllers/data_manage/excel/mixed_table.go

@@ -33,7 +33,6 @@ func (c *ExcelInfoController) GetSystemDate() {
 		br.Ret = 408
 		return
 	}
-
 	var req request.MixedTableCellDataReq
 	err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
 	if err != nil {
@@ -42,6 +41,13 @@ func (c *ExcelInfoController) GetSystemDate() {
 		return
 	}
 
+	var config request.EdbDateConf
+	err = json.Unmarshal([]byte(req.Value), &config)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
 	date, _, err, errMsg := excel2.HandleDate(req.DataTimeType, req.Value)
 	if err != nil {
 		br.Msg = "获取系统日期失败"
@@ -51,6 +57,44 @@ func (c *ExcelInfoController) GetSystemDate() {
 		br.ErrMsg = "获取系统日期失败,Err:" + err.Error()
 		return
 	}
+	if req.DataTimeType == request.EdbDateDT {
+		edbInfo, err := data_manage.GetEdbInfoById(config.EdbInfoId)
+		if err != nil {
+			br.Msg = "获取指标信息失败!"
+			br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
+			return
+		}
+
+		dataList := make([]*data_manage.EdbDataList, 0)
+		switch edbInfo.EdbInfoType {
+		case 0:
+			dataList, _ = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.SubSource, edbInfo.EdbInfoId, ``, ``)
+		case 1:
+			_, dataList, _, _, _, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
+		default:
+			br.Msg = "指标类型异常!"
+			br.ErrMsg = "指标类型异常,Err:" + strconv.Itoa(edbInfo.EdbInfoType)
+			return
+		}
+
+		if req.DataTime == `` { //选择前移几期数
+			date, err = excel2.GetEdbDateByMoveForward(req.Value, dataList)
+			if err != nil {
+				br.Msg = "查询指标前移日期失败!"
+				br.ErrMsg = "查询指标前移日期失败,Err:" + err.Error()
+				return
+			}
+		} else {
+			date = req.DataTime //选择表格中的日期
+		}
+		// 开始做日期变换
+		date, err = excel2.HandleMixTableDateChange(date, req.Value)
+		if err != nil {
+			br.Msg = "日期变换失败!"
+			br.ErrMsg = "日期变换失败,Err:" + err.Error()
+			return
+		}
+	}
 
 	type resp struct {
 		Date string

+ 0 - 1
models/data_manage/excel/request/mixed_table.go

@@ -79,7 +79,6 @@ type SystemDateConf struct {
 type EdbDateConf struct {
 	EdbInfoId int `description:"指标id"`
 	EdbDateChangeConf
-	CustomerDate string `description:"自定义日期"`
 }
 
 // EdbDateExtraConf

+ 1 - 17
services/data/excel/mixed_table.go

@@ -687,10 +687,7 @@ func HandleMixTableDateChange(date, conf string) (newDate string, err error) {
 		err = fmt.Errorf("日期变换配置json解析失败失败: %s, Err:%s", conf, err.Error())
 		return
 	}
-	if newDate == "" {
-		// 用户写死的固定日期
-		newDate = edbDateConf.CustomerDate
-	}
+
 	if newDate == "" {
 		err = fmt.Errorf("日期配置失败: %s", conf)
 		return
@@ -722,19 +719,6 @@ func HandleMixTableDateChange(date, conf string) (newDate string, err error) {
 	return
 }
 
-func handleOldCustomerDateT(confStr string) (newConf string, err error, errMsg string) {
-	date := confStr
-	dateConf := new(request.EdbDateConf)
-	dateConf.CustomerDate = date
-	newConfByte, e := json.Marshal(dateConf)
-	if e != nil {
-		err = fmt.Errorf("日期计算额外配置,json序列化失败: %s", e.Error())
-		return
-	}
-	newConf = string(newConfByte)
-	return
-}
-
 // handleOldSystemDateT
 // @Description: 历史数据中的导入系统日期
 // @author: Roc