|
|
@@ -0,0 +1,72 @@
|
|
|
+/**
|
|
|
+* @Author: zou.yingbin
|
|
|
+* @Create : 2021/1/26 13:42
|
|
|
+* @Modify : 2021/1/26 13:42
|
|
|
+ */
|
|
|
+
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "mtp2_if/db"
|
|
|
+ "mtp2_if/logger"
|
|
|
+ "mtp2_if/mtpcache"
|
|
|
+)
|
|
|
+
|
|
|
+// 套保品种
|
|
|
+type ErmcpMiddleGoodsModel struct {
|
|
|
+ MIDDLEGOODSID uint32 `json:"middlegoodsid" xorm:"'MIDDLEGOODSID'"` // 套保品种ID(SEQ_ERMS_MIDDLEGOODS)
|
|
|
+ MIDDLEGOODSNAME string `json:"middlegoodsname" xorm:"'MIDDLEGOODSNAME'"` // 套保品种名称
|
|
|
+ MIDDLEGOODSCODE string `json:"middlegoodscode" xorm:"'MIDDLEGOODSCODE'"` // 套保品种代码
|
|
|
+ GOODSUNITID int32 `json:"-" xorm:"'GOODSUNITID'"` // 单位ID
|
|
|
+ RELATEDGOODSID int32 `json:"relatedgoodsid" xorm:"'RELATEDGOODSID'"` // 关联交易商品ID
|
|
|
+ EVALUATERATIO float64 `json:"evaluateratio" xorm:"'EVALUATERATIO'"` // 估价系数
|
|
|
+ QTYDECIMALPLACE int32 `json:"qtydecimalplace" xorm:"'QTYDECIMALPLACE'"` // 数量小数位
|
|
|
+ RELATEDGOODSTYPE int32 `json:"relatedgoodstype" xorm:"'RELATEDGOODSTYPE'"` // 关联商品类型 - 1:期货合约 2:现货品种
|
|
|
+ NEEDHEDGERATIO float64 `json:"needhedgeratio" xorm:"'NEEDHEDGERATIO'"` // 套保比率
|
|
|
+ AREAUSERID uint32 `json:"areauserid" xorm:"'AREAUSERID'"` // 机构用户ID
|
|
|
+ GOODSGROUPID int32 `json:"goodsgroupid" xorm:"'GOODSGROUPID'"` // 关联期货品种ID
|
|
|
+ ISVALID int32 `json:"isvalid" xorm:"'ISVALID'"` // 状态 0-无效(停用) 1-有效(正常)
|
|
|
+ MODIFYTIME string `json:"modifytime" xorm:"'MODIFYTIME'"` // 修改时间
|
|
|
+ ENUMDICNAME string `json:"enumdicname"` // 单位名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpMiddleGoodsModel) Calc() {
|
|
|
+ r.ENUMDICNAME = mtpcache.GetEnumDicitemName(r.GOODSUNITID)
|
|
|
+}
|
|
|
+
|
|
|
+// 获取套保品种数据
|
|
|
+func (r *ErmcpMiddleGoodsModel) GetData() ([]interface{}, error) {
|
|
|
+ sData := make([]ErmcpMiddleGoodsModel, 0)
|
|
|
+ if err := db.GetEngine().SQL(r.buildSql()).Find(&sData); err != nil{
|
|
|
+ logger.GetLogger().Error(err)
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ iData := make([]interface{}, 0)
|
|
|
+ for i := range sData {
|
|
|
+ iData = append(iData, &sData[i])
|
|
|
+ }
|
|
|
+ return iData, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpMiddleGoodsModel) buildSql() string {
|
|
|
+ sqlId := "select MIDDLEGOODSID," +
|
|
|
+ " MIDDLEGOODSNAME," +
|
|
|
+ " MIDDLEGOODSCODE," +
|
|
|
+ " GOODSUNITID," +
|
|
|
+ " RELATEDGOODSID," +
|
|
|
+ " EVALUATERATIO," +
|
|
|
+ " QTYDECIMALPLACE," +
|
|
|
+ " RELATEDGOODSTYPE," +
|
|
|
+ " NEEDHEDGERATIO," +
|
|
|
+ " AREAUSERID," +
|
|
|
+ " GOODSGROUPID," +
|
|
|
+ " to_char(MODIFYTIME, 'yyyy-mm-dd hh24:mi:ss') MODIFYTIME," +
|
|
|
+ " ISVALID" +
|
|
|
+ " from erms_middlegoods t" +
|
|
|
+ " where 1=1 "
|
|
|
+ if r.AREAUSERID > 0{
|
|
|
+ sqlId = sqlId + fmt.Sprintf(" and AREAUSERID = %v", r.AREAUSERID)
|
|
|
+ }
|
|
|
+ return sqlId
|
|
|
+}
|