|
|
@@ -0,0 +1,168 @@
|
|
|
+/**
|
|
|
+* @Author: zou.yingbin
|
|
|
+* @Create : 2021/4/12 10:07
|
|
|
+* @Modify : 2021/4/12 10:07
|
|
|
+ */
|
|
|
+
|
|
|
+package models
|
|
|
+
|
|
|
+import (
|
|
|
+ "mtp2_if/db"
|
|
|
+ "mtp2_if/mtpcache"
|
|
|
+ "mtp2_if/utils"
|
|
|
+)
|
|
|
+
|
|
|
+// ErmcpSpotGoodsPrice 现货市价
|
|
|
+type ErmcpSpotGoodsPrice struct {
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"'WRSTANDARDID'"` // 现货商品ID
|
|
|
+ SPOTGOODSMODELID int32 `json:"spotgoodsmodelid" xorm:"'SPOTGOODSMODELID'"` // 现货品类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'"` // 交易日(yyyyMMdd)
|
|
|
+ OPERATESRC int32 `json:"operatesrc" xorm:"'OPERATESRC'"` // 最后操作来源 - 1:管理端 2:终端
|
|
|
+ OPERATEID int64 `json:"operateid" xorm:"'OPERATEID'"` // 最后操作人
|
|
|
+ OPERATETIME string `json:"operatetime" xorm:"'OPERATETIME'"` // 最后操作时间
|
|
|
+ ISVALID int32 `json:"isvalid" xorm:"'ISVALID'"` // 是否有效 - 0:无效 1:有效
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"'AREAUSERID'"` // 所属机构id
|
|
|
+ WRSTANDARDCODE string `json:"wrstandardcode" xorm:"'WRSTANDARDCODE'"` // 现货商品代码
|
|
|
+ WRSTANDARDNAME string `json:"wrstandardname" xorm:"'WRSTANDARDNAME'"` // 现货商品名称
|
|
|
+ UNITID int32 `json:"unitid" xorm:"'UNITID'"` // 现货商品单位id
|
|
|
+ BRANDNAME string `json:"brandname" xorm:"'BRANDNAME'"` // 品牌名称
|
|
|
+ MODELNAME string `json:"modelname" xorm:"'MODELNAME'"` // 品类名称
|
|
|
+ GMUNITID int32 `json:"gmunitid" xorm:"'GMUNITID'"` // 品类单位id
|
|
|
+
|
|
|
+ OPERATORNAME string // 操作人名称
|
|
|
+ ENUMDICNAME string `json:"enumdicname"` // 现货商品单位名称
|
|
|
+ GBENUMDICNAME string `json:"gbenumdicname"` // 品类单位名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpSpotGoodsPrice) calc() {
|
|
|
+ if r.OPERATESRC == 1 {
|
|
|
+ r.OPERATORNAME = mtpcache.GetSystemmangerLoginCode(r.OPERATEID)
|
|
|
+ } else {
|
|
|
+ r.OPERATORNAME = mtpcache.GetUserNameByLoginId(r.OPERATEID)
|
|
|
+ }
|
|
|
+ r.ENUMDICNAME = mtpcache.GetEnumDicitemName(r.UNITID)
|
|
|
+ r.GBENUMDICNAME = mtpcache.GetEnumDicitemName(r.GMUNITID)
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpSpotGoodsPrice) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSMODELID," +
|
|
|
+ " t.SPOTGOODSBRANDID," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.SPOTGOODSPRICE," +
|
|
|
+ " t.TRADEDATE," +
|
|
|
+ " t.OPERATESRC," +
|
|
|
+ " t.OPERATEID," +
|
|
|
+ " to_char(t.OPERATETIME, 'yyyy-mm-dd hh24:mi:ss') OPERATETIME," +
|
|
|
+ " t.ISVALID," +
|
|
|
+ " w.areauserid," +
|
|
|
+ " w.wrstandardcode," +
|
|
|
+ " w.wrstandardname," +
|
|
|
+ " w.unitid," +
|
|
|
+ " gb.brandname," +
|
|
|
+ " gm.modelname," +
|
|
|
+ " gm.unitid gmunitid" +
|
|
|
+ " FROM ERMCP_SPOTGOODSPRICE t" +
|
|
|
+ " left join wrstandard w" +
|
|
|
+ " on t.wrstandardid = w.wrstandardid" +
|
|
|
+ " left join spotgoodsbrand gb" +
|
|
|
+ " on t.spotgoodsbrandid = gb.brandid" +
|
|
|
+ " left join spotgoodsmodel gm" +
|
|
|
+ " on t.spotgoodsmodelid = gm.modelid" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ sqlId.And("w.areauserid", r.AREAUSERID)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取现货市价
|
|
|
+func (r *ErmcpSpotGoodsPrice) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]ErmcpSpotGoodsPrice, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ if err == nil {
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|
|
|
+
|
|
|
+// ErmcpSpotGoodsPriceLog 现货市价操作日志
|
|
|
+type ErmcpSpotGoodsPriceLog struct {
|
|
|
+ LOGID int64 `json:"logid" xorm:"'LOGID'"` // 日志id
|
|
|
+ WRSTANDARDID int64 `json:"wrstandardid" xorm:"'WRSTANDARDID'"` // 现货商品ID
|
|
|
+ SPOTGOODSMODELID int32 `json:"spotgoodsmodelid" xorm:"'SPOTGOODSMODELID'"` // 现货品类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'"` // 交易日(yyyyMMdd)
|
|
|
+ OPERATESRC int32 `json:"operatesrc" xorm:"'OPERATESRC'"` // 最后操作来源 - 1:管理端 2:终端
|
|
|
+ OPERATEID int64 `json:"operateid" xorm:"'OPERATEID'"` // 最后操作人
|
|
|
+ OPERATETIME string `json:"operatetime" xorm:"'OPERATETIME'"` // 最后操作时间
|
|
|
+ AREAUSERID int64 `json:"areauserid" xorm:"'AREAUSERID'"` // 所属机构id
|
|
|
+ WRSTANDARDCODE string `json:"wrstandardcode" xorm:"'WRSTANDARDCODE'"` // 现货商品代码
|
|
|
+ WRSTANDARDNAME string `json:"wrstandardname" xorm:"'WRSTANDARDNAME'"` // 现货商品名称
|
|
|
+ UNITID int32 `json:"unitid" xorm:"'UNITID'"` // 现货商品单位id
|
|
|
+ BRANDNAME string `json:"brandname" xorm:"'BRANDNAME'"` // 品牌名称
|
|
|
+ MODELNAME string `json:"modelname" xorm:"'MODELNAME'"` // 品类名称
|
|
|
+ GMUNITID int32 `json:"gmunitid" xorm:"'GMUNITID'"` // 品类单位id
|
|
|
+
|
|
|
+ OPERATORNAME string // 操作人名称
|
|
|
+ ENUMDICNAME string `json:"enumdicname"` // 现货商品单位名称
|
|
|
+ GBENUMDICNAME string `json:"gbenumdicname"` // 品类单位名称
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpSpotGoodsPriceLog) calc() {
|
|
|
+ if r.OPERATESRC == 1 {
|
|
|
+ r.OPERATORNAME = mtpcache.GetSystemmangerLoginCode(r.OPERATEID)
|
|
|
+ } else {
|
|
|
+ r.OPERATORNAME = mtpcache.GetUserNameByLoginId(r.OPERATEID)
|
|
|
+ }
|
|
|
+ r.ENUMDICNAME = mtpcache.GetEnumDicitemName(r.UNITID)
|
|
|
+ r.GBENUMDICNAME = mtpcache.GetEnumDicitemName(r.GMUNITID)
|
|
|
+}
|
|
|
+
|
|
|
+func (r *ErmcpSpotGoodsPriceLog) buildSql() string {
|
|
|
+ var sqlId utils.SQLVal = "SELECT t.WRSTANDARDID," +
|
|
|
+ " t.SPOTGOODSMODELID," +
|
|
|
+ " t.SPOTGOODSBRANDID," +
|
|
|
+ " t.CURRENCYID," +
|
|
|
+ " t.SPOTGOODSPRICE," +
|
|
|
+ " t.TRADEDATE," +
|
|
|
+ " t.OPERATESRC," +
|
|
|
+ " t.OPERATEID," +
|
|
|
+ " to_char(t.OPERATETIME, 'yyyy-mm-dd hh24:mi:ss') OPERATETIME," +
|
|
|
+ " t.LOGID," +
|
|
|
+ " w.areauserid," +
|
|
|
+ " w.wrstandardcode," +
|
|
|
+ " w.wrstandardname," +
|
|
|
+ " w.unitid," +
|
|
|
+ " gb.brandname," +
|
|
|
+ " gm.modelname," +
|
|
|
+ " gm.unitid gmunitid" +
|
|
|
+ " FROM ERMCP_SPOTGOODSPRICELOG t" +
|
|
|
+ " left join wrstandard w" +
|
|
|
+ " on t.wrstandardid = w.wrstandardid" +
|
|
|
+ " left join spotgoodsbrand gb" +
|
|
|
+ " on t.spotgoodsbrandid = gb.brandid" +
|
|
|
+ " left join spotgoodsmodel gm" +
|
|
|
+ " on t.spotgoodsmodelid = gm.modelid" +
|
|
|
+ " WHERE 1 = 1"
|
|
|
+ sqlId.And("w.areauserid", r.AREAUSERID)
|
|
|
+ sqlId.And("t.wrstandardid", r.WRSTANDARDID)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+// GetDataEx 获取现货市价信息日志
|
|
|
+func (r *ErmcpSpotGoodsPriceLog) GetDataEx() (interface{}, error) {
|
|
|
+ sData := make([]ErmcpSpotGoodsPrice, 0)
|
|
|
+ err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
|
|
|
+ if err == nil {
|
|
|
+ for i := range sData {
|
|
|
+ sData[i].calc()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sData, err
|
|
|
+}
|