Browse Source

查实时敞口增加今日变动量(现货)、今日变动量(期货)

zou.yingbin 4 years ago
parent
commit
e330e99641
4 changed files with 42 additions and 16 deletions
  1. 11 3
      docs/docs.go
  2. 11 3
      docs/swagger.json
  3. 9 3
      docs/swagger.yaml
  4. 11 7
      models/ermcpExposure.go

+ 11 - 3
docs/docs.go

@@ -9193,6 +9193,14 @@ var doc = `{
                     "description": "采购合同已定价数量",
                     "type": "number"
                 },
+                "diffFutuQty": {
+                    "description": "今日变动量(期货) = (买入 - 买入期初) - (卖出 - 卖出期初)",
+                    "type": "number"
+                },
+                "diffSpotQty": {
+                    "description": "今日变动量(现货) = 现货数量 - 期初现货数量",
+                    "type": "number"
+                },
                 "middleGoodsCode": {
                     "description": "套保品种代码",
                     "type": "string"
@@ -9219,7 +9227,7 @@ var doc = `{
                 },
                 "oriBuyFutureQty": {
                     "description": "期初买入期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriBuyPlanQty": {
                     "description": "期初采购计划数量",
@@ -9231,7 +9239,7 @@ var doc = `{
                 },
                 "oriSellFutureQty": {
                     "description": "期初卖出期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriSellPlanQty": {
                     "description": "期初销售计划数量",
@@ -9243,7 +9251,7 @@ var doc = `{
                 },
                 "oriTotalFutuQty": {
                     "description": "期初期货数量=期初买入期货数量-期初卖出期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriTotalSpotQty": {
                     "description": "期初现货数量=(期初销售计划数量-期初销售合同已定价数量)-(期初采购计划数量-期初采购合同已定价数量)",

+ 11 - 3
docs/swagger.json

@@ -9177,6 +9177,14 @@
                     "description": "采购合同已定价数量",
                     "type": "number"
                 },
+                "diffFutuQty": {
+                    "description": "今日变动量(期货) = (买入 - 买入期初) - (卖出 - 卖出期初)",
+                    "type": "number"
+                },
+                "diffSpotQty": {
+                    "description": "今日变动量(现货) = 现货数量 - 期初现货数量",
+                    "type": "number"
+                },
                 "middleGoodsCode": {
                     "description": "套保品种代码",
                     "type": "string"
@@ -9203,7 +9211,7 @@
                 },
                 "oriBuyFutureQty": {
                     "description": "期初买入期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriBuyPlanQty": {
                     "description": "期初采购计划数量",
@@ -9215,7 +9223,7 @@
                 },
                 "oriSellFutureQty": {
                     "description": "期初卖出期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriSellPlanQty": {
                     "description": "期初销售计划数量",
@@ -9227,7 +9235,7 @@
                 },
                 "oriTotalFutuQty": {
                     "description": "期初期货数量=期初买入期货数量-期初卖出期货数量",
-                    "type": "integer"
+                    "type": "number"
                 },
                 "oriTotalSpotQty": {
                     "description": "期初现货数量=(期初销售计划数量-期初销售合同已定价数量)-(期初采购计划数量-期初采购合同已定价数量)",

+ 9 - 3
docs/swagger.yaml

@@ -3013,6 +3013,12 @@ definitions:
       buyPricedQty:
         description: 采购合同已定价数量
         type: number
+      diffFutuQty:
+        description: 今日变动量(期货) = (买入 - 买入期初) - (卖出 - 卖出期初)
+        type: number
+      diffSpotQty:
+        description: 今日变动量(现货) = 现货数量 - 期初现货数量
+        type: number
       middleGoodsCode:
         description: 套保品种代码
         type: string
@@ -3033,7 +3039,7 @@ definitions:
         type: number
       oriBuyFutureQty:
         description: 期初买入期货数量
-        type: integer
+        type: number
       oriBuyPlanQty:
         description: 期初采购计划数量
         type: number
@@ -3042,7 +3048,7 @@ definitions:
         type: number
       oriSellFutureQty:
         description: 期初卖出期货数量
-        type: integer
+        type: number
       oriSellPlanQty:
         description: 期初销售计划数量
         type: number
@@ -3051,7 +3057,7 @@ definitions:
         type: number
       oriTotalFutuQty:
         description: 期初期货数量=期初买入期货数量-期初卖出期货数量
-        type: integer
+        type: number
       oriTotalSpotQty:
         description: 期初现货数量=(期初销售计划数量-期初销售合同已定价数量)-(期初采购计划数量-期初采购合同已定价数量)
         type: number

+ 11 - 7
models/ermcpExposure.go

@@ -23,8 +23,8 @@ type ErmcpRealExposureModel struct {
 	OriBuyPricedQty    float64 // 期初采购合同已定价数量
 	OriSellPlanQty     float64 // 期初销售计划数量
 	OriSellPricedQty   float64 // 期初销售合同已定价数量
-	OriBuyFutureQty    uint64  // 期初买入期货数量
-	OriSellFutureQty   uint64  // 期初卖出期货数量
+	OriBuyFutureQty    float64 // 期初买入期货数量
+	OriSellFutureQty   float64 // 期初卖出期货数量
 	BuyPlanQty         float64 // 采购计划数量
 	BuyPricedQty       float64 // 采购合同已定价数量
 	SellPlanQty        float64 // 销售计划数量
@@ -43,13 +43,17 @@ type ErmcpRealExposureModel struct {
 	MiddleGoodsCode       string  // 套保品种代码
 	MiddleGoodsHedgeRatio float64 // 应套保比例
 	OriTotalSpotQty       float64 // 期初现货数量=(期初销售计划数量-期初销售合同已定价数量)-(期初采购计划数量-期初采购合同已定价数量)
-	OriTotalFutuQty       uint64  // 期初期货数量=期初买入期货数量-期初卖出期货数量
+	OriTotalFutuQty       float64 // 期初期货数量=期初买入期货数量-期初卖出期货数量
+	DiffSpotQty           float64 // 今日变动量(现货) = 现货数量 - 期初现货数量
+	DiffFutuQty           float64 // 今日变动量(期货) = (买入 - 买入期初) - (卖出 - 卖出期初)
 }
 
 // 计算相关字段
 func (r *ErmcpRealExposureModel) calc() {
 	r.OriTotalSpotQty = (r.OriSellPlanQty - r.OriSellPricedQty) - (r.OriBuyPlanQty - r.OriBuyPricedQty)
 	r.OriTotalFutuQty = r.OriBuyFutureQty - r.OriSellFutureQty
+	r.DiffSpotQty = r.TotalSpotQty - r.OriTotalSpotQty
+	r.DiffFutuQty = (r.BuyFutureQty - r.OriBuyFutureQty) - (r.SellFutureQty - r.OriSellFutureQty)
 }
 
 func (r *ErmcpRealExposureModel) ParseFromProto(v *pb.ErmcpAreaExposure) {
@@ -59,8 +63,8 @@ func (r *ErmcpRealExposureModel) ParseFromProto(v *pb.ErmcpAreaExposure) {
 	r.OriBuyPricedQty = *v.OriBuyPricedQty
 	r.OriSellPlanQty = *v.OriSellPlanQty
 	r.OriSellPricedQty = *v.OriSellPricedQty
-	r.OriBuyFutureQty = *v.OriBuyFutureQty
-	r.OriSellFutureQty = *v.OriSellFutureQty
+	r.OriBuyFutureQty = float64(*v.OriBuyFutureQty)
+	r.OriSellFutureQty = float64(*v.OriSellFutureQty)
 	r.BuyPlanQty = *v.BuyPlanQty
 	r.BuyPricedQty = *v.BuyPricedQty
 	r.SellPlanQty = *v.SellPlanQty
@@ -395,13 +399,13 @@ func (r *ErmcpHisExposure) GetData() ([]ErmcpHisExposure, error) {
 
 // 套保品种关联交易商品
 type ErmcpTradeGoods struct {
-	MIDDLEGOODSID    int32   `json:"middlegoodsid"  xorm:"'MIDDLEGOODSID'"`    // 套保商品id
+	MIDDLEGOODSID    int32   `json:"middlegoodsid"  xorm:"'MIDDLEGOODSID'"`       // 套保商品id
 	MIDDLEGOODSNAME  string  `json:"middlegoodsname"  xorm:"'MIDDLEGOODSNAME'"`   // 套保商品名称
 	MIDDLEGOODSCODE  string  `json:"middlegoodscode"  xorm:"'MIDDLEGOODSCODE'"`   // 套保商品代码
 	SRCGOODSGROUPID  int32   `json:"srcgoodsgroupid"  xorm:"'SRCGOODSGROUPID'"`   // 源期货品种id
 	DESTGOODSGROUPID int32   `json:"destgoodsgroupid"  xorm:"'DESTGOODSGROUPID'"` // 目标期货品种id
 	CONVERTRATIO     float64 `json:"convertratio"  xorm:"'CONVERTRATIO'"`         // 折算系数
-	GOODSID          int32   `json:"goodsid"  xorm:"pk 'GOODSID'"`                   // 商品id
+	GOODSID          int32   `json:"goodsid"  xorm:"pk 'GOODSID'"`                // 商品id
 	GOODSCODE        string  `json:"goodscode"  xorm:"'GOODSCODE'"`               // 商品代码
 	GOODSNAME        string  `json:"goodsname"  xorm:"'GOODSNAME'"`               // 商品名称
 	GOODSGROUPID     int32   `json:"goodsgroupid"  xorm:"'GOODSGROUPID'"`         // 商品组id