|
|
@@ -716,7 +716,7 @@ type Thjpurchasetradedetail struct {
|
|
|
POINTFLAG bool `json:"pointflag" xorm:"POINTFLAG"` // 是否已点价
|
|
|
POINTINCOME float64 `json:"pointincome" xorm:"POINTINCOME"` // 点价总收益
|
|
|
|
|
|
- TYPE int `json:"-" xorm:"-" form:"type"` // 类型 - 0:未完成 1:已完成
|
|
|
+ TYPE int `json:"-" xorm:"-" form:"type"` // 类型 - 0:未完成 1:已完成 2:可点订单 3:已点订单
|
|
|
|
|
|
PageEx `xorm:"extends"` // 页码信息
|
|
|
}
|
|
|
@@ -898,11 +898,192 @@ func (r *Thjpurchasetradedetail) buildSql2() string {
|
|
|
return sqlId.String()
|
|
|
}
|
|
|
|
|
|
+func (r *Thjpurchasetradedetail) buildSql3() string {
|
|
|
+ //可点订单: buyuserid = firstbuyuserid = [参数] && presalestatus = 2 && OrderStatus = 1 && availabletime > 0
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ select
|
|
|
+ wr.WRSTANDARDNAME,
|
|
|
+ wh.WAREHOUSENAME,
|
|
|
+ en1.enumdicname THJDELIVERYMODEDISPLAY,
|
|
|
+ en2.enumdicname THJORDERSTATUSDISPLAY,
|
|
|
+ to_char(t.WRTRADEDETAILID) WRTRADEDETAILID,
|
|
|
+ to_char(t.PRESALEAPPLYID) PRESALEAPPLYID,
|
|
|
+ t.TRADEDATE,
|
|
|
+ t.MARKETID,
|
|
|
+ to_char(t.WRFACTORTYPEID) WRFACTORTYPEID,
|
|
|
+ t.DELIVERYGOODSID,
|
|
|
+ t.WRSTANDARDID,
|
|
|
+ t.WAREHOUSEID,
|
|
|
+ t.BUYUSERID,
|
|
|
+ t.BUYACCOUNTID,
|
|
|
+ t.SELLUSERID,
|
|
|
+ t.SELLACCOUNTID,
|
|
|
+ to_char(t.TRADETIME,'yyyy-mm-dd hh24:mi:ss') TRADETIME,
|
|
|
+ t.TRADEPRICE,
|
|
|
+ t.TRADEQTY,
|
|
|
+ t.TRADEAMOUNT,
|
|
|
+ t.DEPOSITRATE,
|
|
|
+ t.DISCOUNTAMOUNT,
|
|
|
+ t.PAYEDDEPOSIT,
|
|
|
+ t.THJDELIVERYMODE,
|
|
|
+ t.CONTACTNAME,
|
|
|
+ t.CONTACTINFO,
|
|
|
+ t.DESADDRESS,
|
|
|
+ t.RECEIPTINFO,
|
|
|
+ t.ORDERSTATUS,
|
|
|
+ t.LASTPRICE,
|
|
|
+ t.LASTAMOUNT,
|
|
|
+ t.BUYCHARGEVALUE,
|
|
|
+ t.SELLCHARGEVALUE,
|
|
|
+ t.REMAINAMOUNT,
|
|
|
+ t.SELLCONFIRMREMARK,
|
|
|
+ t.SELLCONFIRMATTACH,
|
|
|
+ t.SELLCONFIRMTIME,
|
|
|
+ t.SELLCONFIRMTRADEDATE,
|
|
|
+ t.BUYCONFIRMREMARK,
|
|
|
+ t.BUYCONFIRMTIME,
|
|
|
+ t.HANDLESTATUS,
|
|
|
+ t.CONTRACTADDRBUY,
|
|
|
+ t.CONTRACTADDRSELL,
|
|
|
+ t.PAYEDTRADEDATE,
|
|
|
+ t.BUYFREEZECHARGE,
|
|
|
+ t.LASTPRICEDATE,
|
|
|
+ to_char(pi.TAKESTARTDATE, 'yyyy-MM') ENDDATEMONTH,
|
|
|
+ to_char(pi.ENDDATE, 'yyyy-MM-dd') ENDDATE,
|
|
|
+ wr.UNITID,
|
|
|
+ t.TRANSFERPRICE,
|
|
|
+ pi.PRESALESTATUS,
|
|
|
+ to_char(pi.CREATETIME, 'yyyy-MM-dd hh24:mi:ss') CREATETIME,
|
|
|
+ t.FIRSTBUYUSERID,
|
|
|
+ t.AVAILABLETIME,
|
|
|
+ t.POINTPRICE,
|
|
|
+ t.POINTFLAG,
|
|
|
+ t.POINTINCOME
|
|
|
+ from THJ_PurchaseTradeDetail t
|
|
|
+ inner join WR_PresaleInfo pi
|
|
|
+ on t.presaleapplyid = pi.presaleapplyid
|
|
|
+ left join wrstandard wr
|
|
|
+ on t.wrstandardid = wr.wrstandardid
|
|
|
+ left join warehouseinfo wh
|
|
|
+ on t.warehouseid = wh.autoid
|
|
|
+ left join enumdicitem en1
|
|
|
+ on en1.enumdiccode = 'THJDeliveryMode'
|
|
|
+ and t.thjdeliverymode = en1.enumitemname
|
|
|
+ left join enumdicitem en2
|
|
|
+ on en2.enumdiccode = 'THJOrderStatus'
|
|
|
+ and t.orderstatus = en2.enumitemname
|
|
|
+ where t.buyuserid = %v
|
|
|
+ and t.buyuserid = t.firstbuyuserid
|
|
|
+ and t.orderstatus = 1
|
|
|
+ and pi.presalestatus = 2
|
|
|
+ and t.availabletime > 0
|
|
|
+ order by t.tradetime desc
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.BUYUSERID)
|
|
|
+
|
|
|
+ sqlId.Page(r.Page, r.PageSize)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
+func (r *Thjpurchasetradedetail) buildSql4() string {
|
|
|
+ //已点订单: pointflag = 1 && firstbuyuserid = [参数]
|
|
|
+ var sqlId utils.SQLVal = `
|
|
|
+ select
|
|
|
+ wr.WRSTANDARDNAME,
|
|
|
+ wh.WAREHOUSENAME,
|
|
|
+ en1.enumdicname THJDELIVERYMODEDISPLAY,
|
|
|
+ en2.enumdicname THJORDERSTATUSDISPLAY,
|
|
|
+ to_char(t.WRTRADEDETAILID) WRTRADEDETAILID,
|
|
|
+ to_char(t.PRESALEAPPLYID) PRESALEAPPLYID,
|
|
|
+ t.TRADEDATE,
|
|
|
+ t.MARKETID,
|
|
|
+ to_char(t.WRFACTORTYPEID) WRFACTORTYPEID,
|
|
|
+ t.DELIVERYGOODSID,
|
|
|
+ t.WRSTANDARDID,
|
|
|
+ t.WAREHOUSEID,
|
|
|
+ t.BUYUSERID,
|
|
|
+ t.BUYACCOUNTID,
|
|
|
+ t.SELLUSERID,
|
|
|
+ t.SELLACCOUNTID,
|
|
|
+ to_char(t.TRADETIME,'yyyy-mm-dd hh24:mi:ss') TRADETIME,
|
|
|
+ t.TRADEPRICE,
|
|
|
+ t.TRADEQTY,
|
|
|
+ t.TRADEAMOUNT,
|
|
|
+ t.DEPOSITRATE,
|
|
|
+ t.DISCOUNTAMOUNT,
|
|
|
+ t.PAYEDDEPOSIT,
|
|
|
+ t.THJDELIVERYMODE,
|
|
|
+ t.CONTACTNAME,
|
|
|
+ t.CONTACTINFO,
|
|
|
+ t.DESADDRESS,
|
|
|
+ t.RECEIPTINFO,
|
|
|
+ t.ORDERSTATUS,
|
|
|
+ t.LASTPRICE,
|
|
|
+ t.LASTAMOUNT,
|
|
|
+ t.BUYCHARGEVALUE,
|
|
|
+ t.SELLCHARGEVALUE,
|
|
|
+ t.REMAINAMOUNT,
|
|
|
+ t.SELLCONFIRMREMARK,
|
|
|
+ t.SELLCONFIRMATTACH,
|
|
|
+ t.SELLCONFIRMTIME,
|
|
|
+ t.SELLCONFIRMTRADEDATE,
|
|
|
+ t.BUYCONFIRMREMARK,
|
|
|
+ t.BUYCONFIRMTIME,
|
|
|
+ t.HANDLESTATUS,
|
|
|
+ t.CONTRACTADDRBUY,
|
|
|
+ t.CONTRACTADDRSELL,
|
|
|
+ t.PAYEDTRADEDATE,
|
|
|
+ t.BUYFREEZECHARGE,
|
|
|
+ t.LASTPRICEDATE,
|
|
|
+ to_char(pi.TAKESTARTDATE, 'yyyy-MM') ENDDATEMONTH,
|
|
|
+ to_char(pi.ENDDATE, 'yyyy-MM-dd') ENDDATE,
|
|
|
+ wr.UNITID,
|
|
|
+ t.TRANSFERPRICE,
|
|
|
+ pi.PRESALESTATUS,
|
|
|
+ to_char(pi.CREATETIME, 'yyyy-MM-dd hh24:mi:ss') CREATETIME,
|
|
|
+ t.FIRSTBUYUSERID,
|
|
|
+ t.AVAILABLETIME,
|
|
|
+ t.POINTPRICE,
|
|
|
+ t.POINTFLAG,
|
|
|
+ t.POINTINCOME
|
|
|
+ from THJ_PurchaseTradeDetail t
|
|
|
+ inner join WR_PresaleInfo pi
|
|
|
+ on t.presaleapplyid = pi.presaleapplyid
|
|
|
+ left join wrstandard wr
|
|
|
+ on t.wrstandardid = wr.wrstandardid
|
|
|
+ left join warehouseinfo wh
|
|
|
+ on t.warehouseid = wh.autoid
|
|
|
+ left join enumdicitem en1
|
|
|
+ on en1.enumdiccode = 'THJDeliveryMode'
|
|
|
+ and t.thjdeliverymode = en1.enumitemname
|
|
|
+ left join enumdicitem en2
|
|
|
+ on en2.enumdiccode = 'THJOrderStatus'
|
|
|
+ and t.orderstatus = en2.enumitemname
|
|
|
+ where t.firstbuyuserid = %v
|
|
|
+ and t.pointflag = 1
|
|
|
+ order by t.tradetime desc
|
|
|
+ `
|
|
|
+ sqlId.FormatParam(r.BUYUSERID)
|
|
|
+
|
|
|
+ sqlId.Page(r.Page, r.PageSize)
|
|
|
+ return sqlId.String()
|
|
|
+}
|
|
|
+
|
|
|
func (r *Thjpurchasetradedetail) GetDataByPage() (interface{}, error, int, int, int) {
|
|
|
+ //未完成
|
|
|
sql := r.buildSql2()
|
|
|
+ //已完成
|
|
|
if r.TYPE == 1 {
|
|
|
sql = r.buildSql()
|
|
|
}
|
|
|
+ //可点价
|
|
|
+ if r.TYPE == 2 {
|
|
|
+ sql = r.buildSql3()
|
|
|
+ }
|
|
|
+ //已点价
|
|
|
+ if r.TYPE == 3 {
|
|
|
+ sql = r.buildSql4()
|
|
|
+ }
|
|
|
sData := make([]Thjpurchasetradedetail, 0)
|
|
|
err := db.GetEngine().SQL(sql).Find(&sData)
|
|
|
total := 0
|