|
|
@@ -95,44 +95,11 @@ func (r *ErmcpMiddleGoodsModel) buildSql() string {
|
|
|
return sqlId
|
|
|
}
|
|
|
|
|
|
-///////////////////////////////
|
|
|
-
|
|
|
-// GoodsGroupConvert 期货品种折算配置表
|
|
|
-type GoodsGroupConvert struct {
|
|
|
- Convertratio float64 `json:"convertratio" xorm:"'Convertratio'"` // 折算系数
|
|
|
- SrcGoodsgroupid int32 `json:"srcgoodsgroupid" xorm:"'SrcGoodsgroupid'"` // 源期货品种ID
|
|
|
- DstGoodsgroupid int32 `json:"dstgoodsgroupid" xorm:"'destgoodsgroupid'"` // 目标期货品种ID
|
|
|
- Goodsgroupname string `json:"goodsgroupname" xorm:"'Goodsgroupname'"` // 期货品种名称
|
|
|
- Outergroupcode string `json:"outergroupcode" xorm:"'Outergroupcode'"` // 期货品种代码
|
|
|
-}
|
|
|
-
|
|
|
-func (r *GoodsGroupConvert) buildSql() string {
|
|
|
- sqlId := "select t.srcgoodsgroupid," +
|
|
|
- " t.destgoodsgroupid," +
|
|
|
- " t.convertratio," +
|
|
|
- " g.goodsgroupname," +
|
|
|
- " g.outergroupcode" +
|
|
|
- " from ERMCP_GGConvertconfig t" +
|
|
|
- " left join goodsgroup g" +
|
|
|
- " on t.srcgoodsgroupid = g.goodsgroupid" +
|
|
|
- " where 1 = 1"
|
|
|
- if r.DstGoodsgroupid > 0 {
|
|
|
- sqlId = sqlId + fmt.Sprintf(" and destgoodsgroupid=%v", r.DstGoodsgroupid)
|
|
|
- }
|
|
|
- return sqlId
|
|
|
-}
|
|
|
-
|
|
|
-// GetData 获取期货品种折算列表
|
|
|
-func (r *GoodsGroupConvert) GetData() ([]GoodsGroupConvert, error) {
|
|
|
- sData := make([]GoodsGroupConvert, 0)
|
|
|
- err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
- return sData, err
|
|
|
-}
|
|
|
-
|
|
|
// ErmcpMiddleGoodsDetail 套保品种详情
|
|
|
type ErmcpMiddleGoodsDetail struct {
|
|
|
- Mg ErmcpMiddleGoodsModel // 套保品种基本信息
|
|
|
- CvList []GoodsGroupConvert // 期货品种折算列表
|
|
|
+ Mg ErmcpMiddleGoodsModel // 套保品种基本信息
|
|
|
+ CvList []ErmcpGGConvertCfg // 期货品种折算列表
|
|
|
+ WrcList []WRSConverTDetail // 现货品种列表(现货商品折算配置)
|
|
|
}
|
|
|
|
|
|
// GetData 获取套保品种详情
|
|
|
@@ -145,21 +112,36 @@ func (r *ErmcpMiddleGoodsDetail) GetData() ([]ErmcpMiddleGoodsDetail, error) {
|
|
|
return rsp, fmt.Errorf("no record")
|
|
|
}
|
|
|
for i := range d {
|
|
|
- val := ErmcpMiddleGoodsDetail{Mg: d[i], CvList: make([]GoodsGroupConvert, 0)}
|
|
|
+ val := ErmcpMiddleGoodsDetail{Mg: d[i],
|
|
|
+ CvList: make([]ErmcpGGConvertCfg, 0),
|
|
|
+ WrcList: make([]WRSConverTDetail, 0),
|
|
|
+ }
|
|
|
rsp = append(rsp, val)
|
|
|
}
|
|
|
// 查折算表
|
|
|
- md := GoodsGroupConvert{}
|
|
|
- if ggc, err := md.GetData(); err == nil {
|
|
|
+ md := ErmcpGGConvertCfg{}
|
|
|
+ if ggc, err := md.GetData2(); err == nil {
|
|
|
for i := range rsp {
|
|
|
for k := range ggc {
|
|
|
- if rsp[i].Mg.GOODSGROUPID == ggc[k].DstGoodsgroupid {
|
|
|
+ if rsp[i].Mg.GOODSGROUPID == ggc[k].Destgoodsgroupid {
|
|
|
rsp[i].CvList = append(rsp[i].CvList, ggc[k])
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 查现货商品折算配置明细表
|
|
|
+ mWc := WRSConverTDetail{}
|
|
|
+ if wc, err := mWc.GetData(); err == nil {
|
|
|
+ for i := range rsp {
|
|
|
+ for k := range wc {
|
|
|
+ if int64(rsp[i].Mg.MIDDLEGOODSID) == wc[k].MIDDLEGOODSID {
|
|
|
+ rsp[i].WrcList = append(rsp[i].WrcList, wc[k])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return rsp, nil
|
|
|
}
|
|
|
|