|
|
@@ -2020,3 +2020,74 @@ func (r *Unlinkermcphedgeplan) GetDataEx() (interface{}, error) {
|
|
|
}
|
|
|
return sData, nil
|
|
|
}
|
|
|
+
|
|
|
+// Ermcp2hedgeditemlink 项目现货关联表
|
|
|
+type Ermcp2hedgeditemlink struct {
|
|
|
+ HEDGEDITEMLINKID int64 `json:"hedgeditemlinkid" xorm:"HEDGEDITEMLINKID"` // 现货关联表ID(626+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ HEDGEDITEMID int64 `json:"hedgeditemid" xorm:"HEDGEDITEMID"` // 被套期项目ID
|
|
|
+ HEDGEDTYPE int32 `json:"hedgedtype" xorm:"HEDGEDTYPE"` // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
|
|
|
+ SPOTTYPE int32 `json:"spottype" xorm:"SPOTTYPE"` // 现货类型 - 1:采购计划 2:销售计划 3:采购合同 4:销售合同 5:库存存货
|
|
|
+ RELATEDTYPE int32 `json:"relatedtype" xorm:"RELATEDTYPE"` // 关联类型 - 1:套期关联 2:执行关联
|
|
|
+ RELATEDHEDGEPLANID int64 `json:"relatedhedgeplanid" xorm:"RELATEDHEDGEPLANID"` // 关联计划ID 【1:采购计划 2:销售计划】
|
|
|
+ RELATEDSPOTCONTRACTID int64 `json:"relatedspotcontractid" xorm:"RELATEDSPOTCONTRACTID" form:"spotcontractid" binding:"required"` // 关联合同ID 【3:采购合同 4:销售合同】
|
|
|
+ CUSTOMERUSERID int64 `json:"customeruserid" xorm:"CUSTOMERUSERID"` // 对手方 【3:采购合同 4:销售合同】
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
|
|
|
+ SPOTGOODSBRANDID int32 `json:"spotgoodsbrandid" xorm:"SPOTGOODSBRANDID"` // 现货品牌ID
|
|
|
+ TRADEUSERID int64 `json:"tradeuserid" xorm:"TRADEUSERID"` // 交易用户ID
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID"` // 企业ID
|
|
|
+ RELATEDQTY float64 `json:"relatedqty" xorm:"RELATEDQTY"` // 关联数量
|
|
|
+ RELATEDAMOUNT float64 `json:"relatedamount" xorm:"RELATEDAMOUNT"` // 市价总额 = 关联数量 * 期初市场价
|
|
|
+ SPOTPRICEDAMOUNT float64 `json:"spotpricedamount" xorm:"SPOTPRICEDAMOUNT"` // [关联定价总额]定价总额
|
|
|
+ SPOTPRICEDAVGPRICE float64 `json:"spotpricedavgprice" xorm:"SPOTPRICEDAVGPRICE"` // [关联现货均价]现货均价 = 定价总额 / 关联数量
|
|
|
+ UNEXEQTY float64 `json:"unexeqty" xorm:"UNEXEQTY"` // 未执行现货量【项目关联时值】
|
|
|
+ CREATETIME string `json:"createtime" xorm:"CREATETIME"` // [关联时间]创建时间
|
|
|
+
|
|
|
+ HEDGEDITEMNUM string `json:"hedgeditemnum" xorm:"HEDGEDITEMNUM"` // 项目编号
|
|
|
+ Wrstandardname string `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 现货商品
|
|
|
+ EnumdicName string `json:"enumdicname" xorm:"ENUMDICNAME"` // 单位
|
|
|
+}
|
|
|
+
|
|
|
+// TableName is ERMCP2_HEDGEDITEMLINK
|
|
|
+func (r *Ermcp2hedgeditemlink) TableName() string {
|
|
|
+ return "ERMCP2_HEDGEDITEMLINK"
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2hedgeditemlink) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2hedgeditemlink) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
|
|
|
+ h.HEDGEDITEMNUM,
|
|
|
+ wr.WRSTANDARDNAME,
|
|
|
+ e.ENUMDICNAME,
|
|
|
+ t.RELATEDQTY,
|
|
|
+ t.SPOTPRICEDAMOUNT,
|
|
|
+ t.SPOTPRICEDAVGPRICE
|
|
|
+ FROM ERMCP2_HEDGEDITEMLINK t
|
|
|
+ LEFT JOIN ERMCP2_HedgedItem h ON h.HEDGEDITEMID = t.HEDGEDITEMID
|
|
|
+ LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
|
|
|
+ LEFT JOIN enumdicitem e on wr.unitid=e.enumitemname and e.enumdiccode='goodsunit'
|
|
|
+ WHERE t.RELATEDSPOTCONTRACTID = %v
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.RELATEDSPOTCONTRACTID)
|
|
|
+
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 从数据库中查询数据
|
|
|
+func (r *Ermcp2hedgeditemlink) GetDataEx() (interface{}, error) {
|
|
|
+ e := db.GetEngine()
|
|
|
+ s := e.SQL(r.buildSql())
|
|
|
+ sData := make([]Ermcp2hedgeditemlink, 0)
|
|
|
+ if err := s.Find(&sData); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, nil
|
|
|
+}
|