|
|
@@ -1633,3 +1633,342 @@ func (r *Ermcp2AreaExposure) GetDataEx(userID int) (interface{}, error) {
|
|
|
|
|
|
return sData, nil
|
|
|
}
|
|
|
+
|
|
|
+// Ermcp2stockspotchangelog 现货操作流水表
|
|
|
+type Ermcp2stockspotchangelog struct {
|
|
|
+ LOGID int64 `json:"logid" xorm:"LOGID"` // 流水ID(604+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ OPERATELOGTYPE int32 `json:"operatelogtype" xorm:"OPERATELOGTYPE"` // 操作流水类型 - 2:点价数量 21:正常完结(合同) 22:异常终止(合同) 24:采购入库 25:销售出库 26:生产入库 27:生产出库
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
|
|
|
+ SPOTGOODSBRANDID int32 `json:"spotgoodsbrandid" xorm:"SPOTGOODSBRANDID"` // 现货品牌ID
|
|
|
+ WRFACTORTYPEID int64 `json:"wrfactortypeid" xorm:"WRFACTORTYPEID"` // 仓单要素类型ID(212+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ WAREHOUSEINFOID int64 `json:"warehouseinfoid" xorm:"WAREHOUSEINFOID"` // 仓库ID
|
|
|
+ RELATEDID int64 `json:"relatedid" xorm:"RELATEDID"` // 现货合同ID
|
|
|
+ CONTRACTTYPE int32 `json:"contracttype" xorm:"CONTRACTTYPE"` // 现货合同类型 - 1:采购 -1:销售
|
|
|
+ EXETYPE int32 `json:"exetype" xorm:"EXETYPE"` // 执行类型 - 1:采购合同 2:销售合同 3:生产入库 4:生产出库
|
|
|
+ LOGVALUE float64 `json:"logvalue" xorm:"LOGVALUE"` // 现货量变更值
|
|
|
+ BEFOREVALUE float64 `json:"beforevalue" xorm:"BEFOREVALUE"` // 变更前现货量
|
|
|
+ AFTERVALUE float64 `json:"aftervalue" xorm:"AFTERVALUE"` // 现货量
|
|
|
+ TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
|
|
|
+ CREATETIME string `json:"createtime" xorm:"CREATETIME"` // 创建时间
|
|
|
+ USERID int64 `json:"userid" xorm:"USERID" form:"userid"` // 机构ID
|
|
|
+
|
|
|
+ CustomerUserName string `json:"customerusername" xorm:"CUSTOMERUSERNAME"` // 对手方
|
|
|
+ Wrstandardname string `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 商品名称 LogValue * 折算系数* (1/(1+增值税))
|
|
|
+ AccountName string `json:"accountname" xorm:"ACCOUNTNAME"` // 套期主体
|
|
|
+
|
|
|
+ MiddleGoodsChange float64 `json:"middlegoodschange" xorm:"MIDDLEGOODSCHANGE"` // 套期商品变化量 = LogValue * 折算系数* (1/(1+增值税))
|
|
|
+
|
|
|
+ MIDDLEGOODSID int64 `json:"-" form:"middlegoodsid"` // 套保品种ID
|
|
|
+}
|
|
|
+
|
|
|
+// TableName is ERMCP2_STOCKSPOTCHANGELOG
|
|
|
+func (r *Ermcp2stockspotchangelog) TableName() string {
|
|
|
+ return "ERMCP2_STOCKSPOTCHANGELOG"
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2stockspotchangelog) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2stockspotchangelog) buildSql() string {
|
|
|
+ // var sqlId utils.SQLVal = `
|
|
|
+ // WITH tmp AS
|
|
|
+ // (
|
|
|
+ // SELECT
|
|
|
+ // c.WRStandardID,
|
|
|
+ // ws.WRStandardCode,
|
|
|
+ // ws.WRStandardName,
|
|
|
+ // c.ConvertRatio,
|
|
|
+ // mg.MiddleGoodsID
|
|
|
+ // FROM ERMS2_WRSConvertDetail c
|
|
|
+ // LEFT JOIN ERMS_MiddleGoods mg ON mg.MiddleGoodsID = c.MiddleGoodsID
|
|
|
+ // LEFT JOIN WRStandard ws ON ws.WRStandardID = c.WRStandardID
|
|
|
+ // )
|
|
|
+ // SELECT
|
|
|
+ // to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
|
|
|
+ // t.EXETYPE,
|
|
|
+ // u.ACCOUNTNAME CUSTOMERUSERNAME,
|
|
|
+ // tmp.WRSTANDARDNAME,
|
|
|
+ // t.LOGVALUE,
|
|
|
+ // s.CONTRACTNO,
|
|
|
+ // u1.ACCOUNTNAME
|
|
|
+ // FROM ERMCP2_StockSpotChangeLog t
|
|
|
+ // LEFT JOIN ERMCP_SPOTCONTRACT s ON s.SPOTCONTRACTID = t.RELATEDID
|
|
|
+ // LEFT JOIN useraccount u ON u.userid = s.CUSTOMERUSERID
|
|
|
+ // LEFT JOIN useraccount u1 ON u.userid = s.RELATEDUSERID
|
|
|
+ // LEFT JOIN tmp ON t.WRSTANDARDID = tmp.WRStandardID
|
|
|
+ // WHERE t.userid = %v and tmp.MiddleGoodsID = %v
|
|
|
+ // `
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
|
|
|
+ t.EXETYPE,
|
|
|
+ u.ACCOUNTNAME CUSTOMERUSERNAME,
|
|
|
+ ws.WRSTANDARDNAME,
|
|
|
+ t.LOGVALUE,
|
|
|
+ s.CONTRACTNO,
|
|
|
+ u1.ACCOUNTNAME
|
|
|
+ FROM ERMCP2_StockSpotChangeLog t
|
|
|
+ LEFT JOIN ERMS2_WRSConvertDetail c ON c.WRStandardID = t.WRStandardID
|
|
|
+ LEFT JOIN ERMS_MiddleGoods mg ON mg.MiddleGoodsID = c.MiddleGoodsID
|
|
|
+ LEFT JOIN WRStandard ws ON ws.WRStandardID = t.WRStandardID
|
|
|
+ LEFT JOIN ERMCP_SPOTCONTRACT s ON s.SPOTCONTRACTID = t.RELATEDID
|
|
|
+ LEFT JOIN useraccount u ON u.userid = s.CUSTOMERUSERID
|
|
|
+ LEFT JOIN useraccount u1 ON u.userid = s.RELATEDUSERID
|
|
|
+ WHERE t.userid = %v AND mg.MiddleGoodsID = %v
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.USERID, r.MIDDLEGOODSID)
|
|
|
+
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 从数据库中查询数据
|
|
|
+func (r *Ermcp2stockspotchangelog) GetDataEx() (interface{}, error) {
|
|
|
+ e := db.GetEngine()
|
|
|
+ s := e.SQL(r.buildSql())
|
|
|
+ sData := make([]Ermcp2stockspotchangelog, 0)
|
|
|
+ if err := s.Find(&sData); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, nil
|
|
|
+}
|
|
|
+
|
|
|
+// Ermcp2hedgeditemspot 计划变动明细
|
|
|
+type Ermcp2hedgeditemsDetail struct {
|
|
|
+ HEDGEDITEMSPOTID string `json:"hedgeditemspotid" xorm:"HEDGEDITEMSPOTID"` // 现货明细ID(625+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ HEDGEDITEMID string `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"` // 关联合同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 - 存“DGFactoryItem”表"DGFactoryItemID" = 2
|
|
|
+ RELATEDQTY float64 `json:"relatedqty" xorm:"RELATEDQTY"` // [期间变化量]关联数量
|
|
|
+ ORIAVGPRICE float64 `json:"oriavgprice" xorm:"ORIAVGPRICE"` // 期初市场价[当初市场价]
|
|
|
+ RELATEDAMOUNT float64 `json:"relatedamount" xorm:"RELATEDAMOUNT"` // 市价总额 = 关联数量 * 期初市场价
|
|
|
+ SPOTPRICEDAMOUNT float64 `json:"spotpricedamount" xorm:"SPOTPRICEDAMOUNT"` // 定价总额
|
|
|
+ SPOTPRICEDAVGPRICE float64 `json:"spotpricedavgprice" xorm:"SPOTPRICEDAVGPRICE"` // 现货均价 = 定价总额 / 关联数量
|
|
|
+ CREATETIME string `json:"createtime" xorm:"CREATETIME"` // 创建时间
|
|
|
+ TRADEUSERID int64 `json:"tradeuserid" xorm:"TRADEUSERID"` // 交易用户ID
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID"` // 企业ID
|
|
|
+
|
|
|
+ Wrstandardname string `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 现货商品
|
|
|
+ EnumdicName string `json:"enumdicname" xorm:"ENUMDICNAME"` // 单位
|
|
|
+ Hedgeplanno string `json:"hedgeplanno" xorm:"HEDGEPLANNO"` // 计划编号
|
|
|
+ UNEXEQTY float64 `json:"unexeqty" xorm:"UNEXEQTY"` // 未执行现货量 = 套期现货量 - 执行现货量
|
|
|
+ AccountName string `json:"accountname" xorm:"ACCOUNTNAME"` // 套期主体
|
|
|
+
|
|
|
+ USERID int64 `json:"-" form:"userid"` // 用户ID
|
|
|
+ MIDDLEGOODSID int64 `json:"-" form:"middlegoodsid"` // 套保品种ID
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2hedgeditemsDetail) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Ermcp2hedgeditemsDetail) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
|
|
|
+ t.SPOTTYPE,
|
|
|
+ wr.WRSTANDARDNAME,
|
|
|
+ e.ENUMDICNAME,
|
|
|
+ h.UNEXEQTY,
|
|
|
+ t.RELATEDQTY,
|
|
|
+ s.HEDGEPLANNO,
|
|
|
+ u.ACCOUNTNAME
|
|
|
+ FROM ERMCP2_HEDGEDITEMSPOT t
|
|
|
+ LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
|
|
|
+ LEFT JOIN enumdicitem e on wr.unitid=e.enumitemname and e.enumdiccode='goodsunit'
|
|
|
+ LEFT JOIN ermcp_hedgeplan s ON s.HedgePlanID = t.RELATEDHEDGEPLANID
|
|
|
+ LEFT JOIN ERMCP2_HedgedItem h on h.HedgedItemID = t.HEDGEDITEMID
|
|
|
+ LEFT JOIN useraccount u ON u.userid = t.TRADEUSERID
|
|
|
+ WHERE t.SpotType IN (1,2)
|
|
|
+ AND t.areauserid = %v AND mg.MiddleGoodsID = %v
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.USERID, r.MIDDLEGOODSID)
|
|
|
+
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 从数据库中查询数据
|
|
|
+func (r *Ermcp2hedgeditemsDetail) GetDataEx() (interface{}, error) {
|
|
|
+ e := db.GetEngine()
|
|
|
+ s := e.SQL(r.buildSql())
|
|
|
+ sData := make([]Ermcp2hedgeditemsDetail, 0)
|
|
|
+ if err := s.Find(&sData); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, nil
|
|
|
+}
|
|
|
+
|
|
|
+// Patradelinkdetail 期货变动明细
|
|
|
+type Patradelinkdetail struct {
|
|
|
+ LINKDETAILID string `json:"linkdetailid" xorm:"LINKDETAILID"` // 期货明细ID(614+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ TRADEID string `json:"tradeid" xorm:"TRADEID"` // [成交单号]内部成交单ID
|
|
|
+ BUYORSELL int32 `json:"buyorsell" xorm:"BUYORSELL"` // 方向 - 0:买 1:卖
|
|
|
+ HEDGEFLAG int32 `json:"hedgeflag" xorm:"HEDGEFLAG"` // 投机套保标志 - 0:无 1:投机 2:套保 3:套利 4:套期保值(平安\合同) 5:单边(平安) 6:移仓(平安) 7:错单处理(平安) 8:跨期套利(平安) 9:套期保值(计划) 10:套利(合同) 11:换月(合同) 12:交割(金瑞) 13:被套期项目
|
|
|
+ SPOTCONTRACTID int64 `json:"hedgeditemid" xorm:"SPOTCONTRACTID"` // 现货ID[套期项目ID] [13 - 被套期项目ID] [4,10,11 - 现货合同ID] [9 - 套保计划ID]
|
|
|
+ RELATEDLOT float64 `json:"relatedlot" xorm:"RELATEDLOT"` // [数量]关联手数
|
|
|
+ GOODSID int32 `json:"goodsid" xorm:"GOODSID"` // 商品ID
|
|
|
+ GOODSGROUPID int32 `json:"goodsgroupid" xorm:"GOODSGROUPID"` // 对冲品种ID[期货合约商品组ID]
|
|
|
+ MIDDLEGOODSID int64 `json:"middlegoodsid" xorm:"MIDDLEGOODSID" form:"middlegoodsid"` // 套保品种ID
|
|
|
+ RELATEDQTY float64 `json:"relatedqty" xorm:"RELATEDQTY"` // 关联数量 = RelatedLot * AgreeUnit * ConvertRatio
|
|
|
+ TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 关联交易日(yyyyMMdd)
|
|
|
+ RELATEDMODE int32 `json:"relatedmode" xorm:"RELATEDMODE"` // 关联方式 - 1:自动关联 2:手动关联 3:解绑关联
|
|
|
+ TRADETRADEDATE string `json:"tradetradedate" xorm:"TRADETRADEDATE"` // 成交交易日(yyyyMMdd)
|
|
|
+ TRADEPRICE float64 `json:"tradeprice" xorm:"TRADEPRICE"` // [价格]成交价格
|
|
|
+ TRADELOT int64 `json:"tradelot" xorm:"TRADELOT"` // 成交手数
|
|
|
+ SALEUSERID int64 `json:"saleuserid" xorm:"SALEUSERID"` // 业务员ID
|
|
|
+ BIZSUBJECTID int64 `json:"bizsubjectid" xorm:"BIZSUBJECTID"` // 归属业务部门ID - SubjectID
|
|
|
+ AGREEUNIT float64 `json:"agreeunit" xorm:"AGREEUNIT"` // 合约乘数
|
|
|
+ CONVERTRATIO float64 `json:"convertratio" xorm:"CONVERTRATIO"` // 品种系数
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID"` // 所属机构
|
|
|
+ CREATORSRC int32 `json:"creatorsrc" xorm:"CREATORSRC"` // 创建人来源 - 1:管理端 2:终端 3:交易
|
|
|
+ CREATORID int64 `json:"creatorid" xorm:"CREATORID"` // 创建人ID
|
|
|
+ CREATETIME string `json:"createtime" xorm:"CREATETIME"` // 创建时间
|
|
|
+ LINKSTATUS int32 `json:"linkstatus" xorm:"LINKSTATUS"` // 关联状态 - 1:成功 2:失败 3:解绑
|
|
|
+ RETCODE int32 `json:"retcode" xorm:"RETCODE"` // 返回码
|
|
|
+
|
|
|
+ TRADETIME time.Time `json:"tradetime" xorm:"TRADETIME"` // 日期时间
|
|
|
+ ORDERTYPE int32 `json:"ordertype" xorm:"ORDERTYPE"` // 单据类型[套期工具] - 1:期货单 2:看涨期权单 3:看跌期权单
|
|
|
+ OPTIONCODE string `json:"optioncode" xorm:"OPTIONCODE"` // [期货合约]期权代码 [期权]
|
|
|
+ AMOUNT float64 `json:"amount" xorm:"AMOUNT"` // 金额 = RelatedLot * TradePrice * AgreeUnit
|
|
|
+ NAME string `json:"name" xorm:"NAME"` // 账户名/子账户
|
|
|
+ GOODSCODE string `json:"goodscode" xorm:"GOODSCODE"` // 商品代码(内部)
|
|
|
+ CONVERTRATIOCHANGE float64 `json:"convertratiochange" xorm:"CONVERTRATIOCHANGE"` // 套期商品变化量 = RelatedLot * AgreeUnit * ConvertRatio
|
|
|
+ AccountName string `json:"accountname" xorm:"ACCOUNTNAME"` // 套期主体
|
|
|
+
|
|
|
+ USERID int64 `json:"-" form:"userid"` // 用户ID
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Patradelinkdetail) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Patradelinkdetail) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
|
|
|
+ p.ORDERTYPE,
|
|
|
+ g.GOODSCODE,
|
|
|
+ t.BUYORSELL,
|
|
|
+ t.TRADEPRICE,
|
|
|
+ t.RELATEDLOT,
|
|
|
+ (t.RelatedLot * t.TradePrice * t.AgreeUnit) AMOUNT,
|
|
|
+ (t.RelatedLot * t.AgreeUnit * t.ConvertRatio) CONVERTRATIOCHANGE,
|
|
|
+ to_char(t.TRADEID) TRADEID,
|
|
|
+ u.ACCOUNTNAME
|
|
|
+ FROM ERMCP_PA_TradeLinkDetail t
|
|
|
+ LEFT JOIN ERMCP_PA_TradeLink p ON p.TradeID = t.TradeID AND p.BuyorSell = t.BuyorSell
|
|
|
+ LEFT JOIN USERACCOUNT u on u.userid = p.ACCOUNTID
|
|
|
+ LEFT JOIN GOODS g ON g.goodsid = t.goodsid
|
|
|
+ WHERE t.areauserid = %v AND t.middlegoodsid = %v
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.USERID, r.MIDDLEGOODSID)
|
|
|
+
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 从数据库中查询数据
|
|
|
+func (r *Patradelinkdetail) GetDataEx() (interface{}, error) {
|
|
|
+ e := db.GetEngine()
|
|
|
+ s := e.SQL(r.buildSql())
|
|
|
+ sData := make([]Patradelinkdetail, 0)
|
|
|
+ if err := s.Find(&sData); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, nil
|
|
|
+}
|
|
|
+
|
|
|
+// Unlinkermcphedgeplan 未关联购销计划
|
|
|
+type Unlinkermcphedgeplan struct {
|
|
|
+ HEDGEPLANID int64 `json:"hedgeplanid" xorm:"HEDGEPLANID"` // 套保计划ID(601+Unix秒时间戳(10位)+xxxxxx)
|
|
|
+ HEDGEPLANNO string `json:"hedgeplanno" xorm:"HEDGEPLANNO" form:"hedgeplanno"` // [计划编号]套保计划编号,模糊查询
|
|
|
+ CONTRACTTYPE int32 `json:"contracttype" xorm:"CONTRACTTYPE" form:"contracttype"` // 计划类型 - 1:采购 -1:销售
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"AREAUSERID" form:"areauserid" binding:"required"` // [企业ID]机构ID
|
|
|
+ DELIVERYGOODSID int64 `json:"deliverygoodsid" xorm:"DELIVERYGOODSID"` // 现货品种ID
|
|
|
+ PRODUCTTYPE int32 `json:"producttype" xorm:"PRODUCTTYPE"` // 产品类型 - 1:标准仓单 2:等标 3:非标
|
|
|
+ SPOTGOODSDESC string `json:"spotgoodsdesc" xorm:"SPOTGOODSDESC"` // 商品型号
|
|
|
+ PLANQTY float64 `json:"planqty" xorm:"PLANQTY"` // [计划量]计划数量
|
|
|
+ CONVERTFACTOR float64 `json:"convertfactor" xorm:"CONVERTFACTOR"` // 标仓系数 - 作废
|
|
|
+ PLANTIME time.Time `json:"plantime" xorm:"PLANTIME"` // 计划时间
|
|
|
+ TRADEDATE string `json:"tradedate" xorm:"TRADEDATE"` // 交易日(yyyyMMdd)
|
|
|
+ HEDGEPLANSTATUS int32 `json:"hedgeplanstatus" xorm:"HEDGEPLANSTATUS"` // [状态]套保计划状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
|
|
|
+ CREATETIME time.Time `json:"createtime" xorm:"CREATETIME"` // 创建时间
|
|
|
+ UPDATETIME time.Time `json:"updatetime" xorm:"UPDATETIME"` // 更新时间
|
|
|
+ APPLYSRC int32 `json:"applysrc" xorm:"APPLYSRC"` // 申请来源 - 1:管理端 2:终端
|
|
|
+ APPLYID int64 `json:"applyid" xorm:"APPLYID"` // 申请人
|
|
|
+ REMARK string `json:"remark" xorm:"REMARK"` // 备注
|
|
|
+ APPLYTIME time.Time `json:"applytime" xorm:"APPLYTIME"` // 申请时间
|
|
|
+ AUDITTRADEDATE string `json:"audittradedate" xorm:"AUDITTRADEDATE"` // 审核交易日(yyyyMMdd)
|
|
|
+ AUDITID int64 `json:"auditid" xorm:"AUDITID"` // 审核人
|
|
|
+ AUDITSRC int32 `json:"auditsrc" xorm:"AUDITSRC"` // 审核来源 - 1:管理端 2:终端
|
|
|
+ AUDITTIME time.Time `json:"audittime" xorm:"AUDITTIME"` // 审核时间
|
|
|
+ AUDITREMARK string `json:"auditremark" xorm:"AUDITREMARK"` // 审核备注
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"WRSTANDARDID"` // 现货商品ID
|
|
|
+ ACCOUNTID int64 `json:"accountid" xorm:"ACCOUNTID"` // 期货账户ID - 作废
|
|
|
+ TRADEUSERID int64 `json:"tradeuserid" xorm:"TRADEUSERID"` // 交易用户ID
|
|
|
+ CURRENCYID int64 `json:"currencyid" xorm:"CURRENCYID"` // 结算币种ID - 作废
|
|
|
+ BIZTYPE int32 `json:"biztype" xorm:"BIZTYPE"` // 业务类型 - 1:套保
|
|
|
+ ISRELATED int32 `json:"isrelated" xorm:"ISRELATED"` // 是否已关联计划项目 - 0:否 1:是
|
|
|
+
|
|
|
+ AccountName string `json:"accountname" xorm:"ACCOUNTNAME"` // 交易用户
|
|
|
+ EnumdicName string `json:"enumdicname" xorm:"ENUMDICNAME"` // 结算币种
|
|
|
+ Wrstandardname string `json:"wrstandardname" xorm:"WRSTANDARDNAME" form:"wrstandardname"` // 现货商品,模糊查询
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Unlinkermcphedgeplan) calc() {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Unlinkermcphedgeplan) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ SELECT
|
|
|
+ t.HEDGEPLANNO,
|
|
|
+ u.ACCOUNTNAME,
|
|
|
+ t.CONTRACTTYPE,
|
|
|
+ wr.WRSTANDARDNAME,
|
|
|
+ t.PLANQTY,
|
|
|
+ e.ENUMDICNAME,
|
|
|
+ t.HEDGEPLANSTATUS
|
|
|
+ FROM ERMCP_HedgePlan t
|
|
|
+ LEFT JOIN USERACCOUNT u on u.userid = t.tradeuserid
|
|
|
+ LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
|
|
|
+ LEFT JOIN ENUMDICITEM e ON e.ENUMITEMNAME = t.CURRENCYID and e.ENUMDICCODE = 'currency'
|
|
|
+ WHERE t.areauserid = %v
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.AREAUSERID)
|
|
|
+ sqlId.AndEx("t.contracttype", r.CONTRACTTYPE, r.CONTRACTTYPE > 0)
|
|
|
+ sqlId.AndLike("t.hedgeplanno", r.HEDGEPLANNO)
|
|
|
+ sqlId.AndLike("wr.WRSTANDARDNAME", r.HEDGEPLANNO)
|
|
|
+
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 从数据库中查询数据
|
|
|
+func (r *Unlinkermcphedgeplan) GetDataEx() (interface{}, error) {
|
|
|
+ e := db.GetEngine()
|
|
|
+ s := e.SQL(r.buildSql())
|
|
|
+ sData := make([]Unlinkermcphedgeplan, 0)
|
|
|
+ if err := s.Find(&sData); err != nil {
|
|
|
+ return nil, err
|
|
|
+ }
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ return sData, nil
|
|
|
+}
|