| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * @Author: zou.yingbin
- * @Create : 2021/1/27 9:50
- * @Modify : 2021/1/27 9:50
- */
- package models
- import (
- "fmt"
- "mtp2_if/db"
- "mtp2_if/mtpcache"
- )
- // 期货品种系数表
- type ErmcpGGConvertCfg struct {
- Srcgoodsgroupid int32 `json:"srcgoodsgroupid" xorm:"'Srcgoodsgroupid'"` // 源品种ID
- Destgoodsgroupid int32 `json:"destgoodsgroupid" xorm:"'Destgoodsgroupid'"` // 目标品种ID
- Convertratio float64 `json:"convertratio" xorm:"'Convertratio'"` // 折算系数
- SrcName string `json:"srcname" xorm:"'SrcName'"` // 源品种名称
- SrcCode string `json:"srccode" xorm:"'SrcCode'"` // 源品种代码
- SrcUnitid uint32 `json:"srcunitid" xorm:"'SrcUnitid'"` // 源品种单位ID
- SrcUnitidName string `json:"srcunitidname" xorm:"'-'"` // 源品种单位名称
- DstName string `json:"dstname" xorm:"'DstName'"` // 目标品种名称
- DstCode string `json:"dstcode" xorm:"'DstCode'"` // 目录品种代码
- DstUnitid uint32 `json:"dstunitid" xorm:"'DstUnitid'"` // 目标品种单位ID
- DstUnitidName string `json:"dstunitidname" xorm:"'-'"` // 目标品种单位名称
- }
- func (r *ErmcpGGConvertCfg) Calc() {
- r.SrcUnitidName = mtpcache.GetEnumDicitemName(int32(r.SrcUnitid))
- r.DstUnitidName = mtpcache.GetEnumDicitemName(int32(r.DstUnitid))
- }
- // 获取数据
- func (r *ErmcpGGConvertCfg) GetData() ([]interface{}, error) {
- sData := make([]ErmcpGGConvertCfg, 0)
- if err := db.GetEngine().SQL(r.buildSql()).Find(&sData); err != nil {
- return nil, err
- }
- iData := make([]interface{}, 0)
- for i := range sData {
- iData = append(iData, &sData[i])
- }
- return iData, nil
- }
- func (r *ErmcpGGConvertCfg) buildSql() string {
- sqlId := "select t.srcgoodsgroupid," +
- " t.destgoodsgroupid," +
- " t.convertratio," +
- " g1.goodsgroupname srcName," +
- " g1.outergroupcode srcCode," +
- " g1.goodunitid srcUnitid," +
- " g2.goodsgroupname dstName," +
- " g2.outergroupcode dstCode," +
- " g2.goodunitid dstUnitid" +
- " from ERMCP_GGConvertconfig t" +
- " left join goodsgroup g1" +
- " on t.srcgoodsgroupid = g1.goodsgroupid" +
- " left join goodsgroup g2" +
- " on t.destgoodsgroupid = g2.goodsgroupid" +
- " where 1 = 1 "
- if r.Destgoodsgroupid > 0 {
- sqlId = sqlId + fmt.Sprintf("and t.Destgoodsgroupid=%v", r.Destgoodsgroupid)
- }
- return sqlId
- }
|