Explorar o código

“查询价格走势”接口增加今日价格数据

zhou.xiaoning %!s(int64=3) %!d(string=hai) anos
pai
achega
563efddbf2
Modificáronse 5 ficheiros con 48 adicións e 10 borrados
  1. 3 3
      controllers/ermcp8/qryErmcp8.go
  2. 2 2
      docs/docs.go
  3. 2 2
      docs/swagger.json
  4. 2 2
      docs/swagger.yaml
  5. 39 1
      models/wrTrade2.go

+ 3 - 3
controllers/ermcp8/qryErmcp8.go

@@ -9,12 +9,12 @@ import (
 
 // QueryErmcp2HedgedItem
 // @Summary 查询被套期项目信息
-// @description 已完成项目查询: 项目状态 = 3:正常完结 or 5:异常完结
+// @description 已完成项目查询 -> 项目状态 = 3:正常完结 or 5:异常完结
 // @Produce json
 // @Security ApiKeyAuth
 // @Param userid query string true "用户ID"
-// @Param HedgedType query int false "套期类型 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目"
-// @Param HedgedItemStatus query int false "项目状态 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
+// @Param hedgedtype query int false "套期类型 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目"
+// @Param hedgeditemstatus query int false "项目状态 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
 // @Success 200 {array} models.Ermcp2hedgeditem
 // @Failure 500 {object} app.Response
 // @Router /Ermcp8/QueryErmcp2HedgedItem [get]

+ 2 - 2
docs/docs.go

@@ -5611,13 +5611,13 @@ var doc = `{
                     {
                         "type": "integer",
                         "description": "套期类型 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
-                        "name": "HedgedType",
+                        "name": "hedgedtype",
                         "in": "query"
                     },
                     {
                         "type": "integer",
                         "description": "项目状态 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
-                        "name": "HedgedItemStatus",
+                        "name": "hedgeditemstatus",
                         "in": "query"
                     }
                 ],

+ 2 - 2
docs/swagger.json

@@ -5595,13 +5595,13 @@
                     {
                         "type": "integer",
                         "description": "套期类型 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
-                        "name": "HedgedType",
+                        "name": "hedgedtype",
                         "in": "query"
                     },
                     {
                         "type": "integer",
                         "description": "项目状态 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
-                        "name": "HedgedItemStatus",
+                        "name": "hedgeditemstatus",
                         "in": "query"
                     }
                 ],

+ 2 - 2
docs/swagger.yaml

@@ -23729,11 +23729,11 @@ paths:
         type: string
       - description: 套期类型 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
         in: query
-        name: HedgedType
+        name: hedgedtype
         type: integer
       - description: 项目状态 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
         in: query
-        name: HedgedItemStatus
+        name: hedgeditemstatus
         type: integer
       produces:
       - application/json

+ 39 - 1
models/wrTrade2.go

@@ -4700,10 +4700,48 @@ select t.reckondate,
 	return sqlId.String()
 }
 
+// buildSqlByToday 今日走势数据
+func (r *WrReckonSpotGoodsTradeSum) buildSqlByToday(today string) string {
+	var sqlId utils.SQLVal = utils.SQLVal(fmt.Sprintf(`
+	with tmp as 
+	(select 
+		to_char(t.TradeTime, 'HH24:MI:SS') RECKONDATE,
+		to_char(t.TradeTime, 'yyyymmdd') TRADEDATE,
+		t.marketid,
+		w.wrstandardid,
+		t.tradeqty,
+		t.tradeamount
+	from WRTrade_TradeDetail t
+	left join WRFactorType w on w.WRFactorTypeID = t.WRFactorTypeID
+	where t.marketid = %v and w.wrstandardid = %v 
+	order by t.TradeTime desc)
+	select distinct 
+		t.RECKONDATE, 
+		t.marketid, 
+		t.wrstandardid,
+		t.tradeqty,
+		t.tradeamount
+	from tmp t where t.TRADEDATE = '%v'
+	`, r.MARKETID, r.WRSTANDARDID, today))
+
+	sqlId.Page(1, r.LastNum)
+	return sqlId.String()
+}
+
 // GetDataEx 获取价格走势
 func (r *WrReckonSpotGoodsTradeSum) GetDataEx() (interface{}, error) {
+	sql := r.buildSql()
+	// 判断是否获取今日走势
+	if r.MARKETID > 0 && r.ENDDATE != "" {
+		if marketRun, err := GetMarketRun(r.MARKETID); err == nil {
+			if marketRun.Tradedate == r.ENDDATE {
+				sql = r.buildSqlByToday(marketRun.Tradedate)
+			}
+		}
+	}
+
 	sData := make([]WrReckonSpotGoodsTradeSum, 0)
-	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	err := db.GetEngine().SQL(sql).Find(&sData)
 	for i := range sData {
 		sData[i].calc()
 		sData[i].BEGINDATE = r.BEGINDATE