Ver código fonte

QueryTHJPurchaseTradeDetail:
type 添加 2:可点订单 3:已点订单

deng.yinping 2 anos atrás
pai
commit
95d24b0d49
5 arquivos alterados com 197 adições e 5 exclusões
  1. 1 1
      controllers/ferroalloy/trade.go
  2. 5 1
      docs/docs.go
  3. 5 1
      docs/swagger.json
  4. 4 1
      docs/swagger.yaml
  5. 182 1
      models/ferroalloy.go

+ 1 - 1
controllers/ferroalloy/trade.go

@@ -12,7 +12,7 @@ import (
 // @Produce  json
 // @Security ApiKeyAuth
 // @Param    userid      query    int     true  "用户ID"
-// @Param    type     query    int false "类型 - 0:未完成 1:已完成"
+// @Param    type     query    int false "类型 - 0:未完成 1:已完成 2:可点订单 3:已点订单"
 // @Param    page        query    int     false "页码"
 // @Param    pagesize    query    int     false "每页条数"
 // @Success  200      {array}  models.Thjpurchasetradedetail

+ 5 - 1
docs/docs.go

@@ -8405,7 +8405,7 @@ const docTemplate = `{
                     },
                     {
                         "type": "integer",
-                        "description": "类型 - 0:未完成 1:已完成",
+                        "description": "类型 - 0:未完成 1:已完成 2:可点订单 3:已点订单",
                         "name": "type",
                         "in": "query"
                     },
@@ -47688,6 +47688,10 @@ const docTemplate = `{
                     "description": "交收月份(提货日期)",
                     "type": "string"
                 },
+                "firstbuyuserid": {
+                    "description": "预售采购用户ID",
+                    "type": "integer"
+                },
                 "lastprice": {
                     "description": "[实际价]到期价格",
                     "type": "number"

+ 5 - 1
docs/swagger.json

@@ -8396,7 +8396,7 @@
                     },
                     {
                         "type": "integer",
-                        "description": "类型 - 0:未完成 1:已完成",
+                        "description": "类型 - 0:未完成 1:已完成 2:可点订单 3:已点订单",
                         "name": "type",
                         "in": "query"
                     },
@@ -47679,6 +47679,10 @@
                     "description": "交收月份(提货日期)",
                     "type": "string"
                 },
+                "firstbuyuserid": {
+                    "description": "预售采购用户ID",
+                    "type": "integer"
+                },
                 "lastprice": {
                     "description": "[实际价]到期价格",
                     "type": "number"

+ 4 - 1
docs/swagger.yaml

@@ -20359,6 +20359,9 @@ definitions:
       enddatemonth:
         description: 交收月份(提货日期)
         type: string
+      firstbuyuserid:
+        description: 预售采购用户ID
+        type: integer
       lastprice:
         description: '[实际价]到期价格'
         type: number
@@ -32329,7 +32332,7 @@ paths:
         name: userid
         required: true
         type: integer
-      - description: 类型 - 0:未完成 1:已完成
+      - description: 类型 - 0:未完成 1:已完成 2:可点订单 3:已点订单
         in: query
         name: type
         type: integer

+ 182 - 1
models/ferroalloy.go

@@ -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