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