|
|
@@ -0,0 +1,77 @@
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "mtp2_if/db"
|
|
|
+ "mtp2_if/utils"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// 上海铁合金项目
|
|
|
+
|
|
|
+// GErmcpspotgoodsprice 现货市价表
|
|
|
+type GErmcpspotgoodsprice struct {
|
|
|
+ DELIVERYGOODSID int32 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID(通用则为0)
|
|
|
+ SPOTGOODSBRANDID int32 `json:"spotgoodsbrandid" xorm:"SPOTGOODSBRANDID"` // 现货品牌ID(通用则为0, 不为0则须先有商品ID)
|
|
|
+ CURRENCYID int64 `json:"currencyid" xorm:"CURRENCYID"` // 报价货币ID
|
|
|
+ SPOTGOODSPRICE float64 `json:"spotgoodsprice" xorm:"SPOTGOODSPRICE"` // 【最新价】当前价格
|
|
|
+ TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 【日期】交易日
|
|
|
+ OPERATESRC int32 `json:"-" xorm:"OPERATESRC"` // 最后操作来源 - 1:管理端 2:终端
|
|
|
+ OPERATEID int64 `json:"-" xorm:"OPERATEID"` // 最后操作人
|
|
|
+ OPERATETIME time.Time `json:"-" xorm:"OPERATETIME"` // 最后操作时间
|
|
|
+ ISVALID int32 `json:"-" xorm:"ISVALID"` // 是否有效 - 0:无效 1:有效
|
|
|
+ YSTSPOTGOODSPRICE float64 `json:"ystspotgoodsprice" xorm:"YSTSPOTGOODSPRICE"` // 昨价
|
|
|
+ TODAYSPOTGOODSPRICE float64 `json:"todayspotgoodsprice" xorm:"TODAYSPOTGOODSPRICE"` // 今日指定价
|
|
|
+ TODAYPRICEDTOTALQTY float64 `json:"todaypricedtotalqty" xorm:"TODAYPRICEDTOTALQTY"` // 今日定价总量
|
|
|
+ TODAYPRICEDTOTALAMOUNT float64 `json:"todaypricedtotalamount" xorm:"TODAYPRICEDTOTALAMOUNT"` // 今日定价金额
|
|
|
+ SRCMARKETNAME string `json:"srcmarketname" xorm:"SRCMARKETNAME"` // 来源市场名称
|
|
|
+
|
|
|
+ WRSTANDARDCODE string `json:"wrstandardcode" xorm:"WRSTANDARDCODE"` // 现货商品代码
|
|
|
+ WRSTANDARDNAME string `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 【名称】现货商品名称
|
|
|
+
|
|
|
+ PageEx `xorm:"extends"` // 页码信息
|
|
|
+}
|
|
|
+
|
|
|
+func (r *GErmcpspotgoodsprice) calc() {
|
|
|
+ if len(r.TRADEDATE) == 8 {
|
|
|
+ r.TRADEDATE = fmt.Sprintf("%v-%v-%v\n", r.TRADEDATE[0:4], r.TRADEDATE[4:6], r.TRADEDATE[6:8])
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (r *GErmcpspotgoodsprice) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ t.DELIVERYGOODSID ,
|
|
|
+ t.WRSTANDARDID ,
|
|
|
+ t.SPOTGOODSBRANDID ,
|
|
|
+ t.CURRENCYID ,
|
|
|
+ t.SPOTGOODSPRICE ,
|
|
|
+ t.TRADEDATE ,
|
|
|
+ t.YSTSPOTGOODSPRICE ,
|
|
|
+ t.TODAYSPOTGOODSPRICE ,
|
|
|
+ t.TODAYPRICEDTOTALQTY ,
|
|
|
+ t.TODAYPRICEDTOTALAMOUNT,
|
|
|
+ t.SRCMARKETNAME,
|
|
|
+ w.WRSTANDARDCODE,
|
|
|
+ w.WRSTANDARDNAME
|
|
|
+ FROM ERMCP_SPOTGOODSPRICE t
|
|
|
+ LEFT JOIN WRStandard w ON t.WRSTANDARDID = w.WRSTANDARDID
|
|
|
+ WHERE t.SPOTGOODSBRANDID = 0 AND t.CURRENCYID = 1 AND t.ISVALID = 1
|
|
|
+ `
|
|
|
+ sqlId.OrderByDesc("w.WRSTANDARDNAME")
|
|
|
+
|
|
|
+ sqlId.Page(r.Page, r.PageSize)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+func (r *GErmcpspotgoodsprice) GetDataByPage() (interface{}, error, int, int, int) {
|
|
|
+ sData := make([]GErmcpspotgoodsprice, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ total := 0
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ total = sData[i].Total
|
|
|
+ }
|
|
|
+ return sData, err, r.Page, r.PageSize, total
|
|
|
+}
|