Bladeren bron

现货商品详细:查询关联交易商品

zou.yingbin 4 jaren geleden
bovenliggende
commit
8a7c3f27f2
6 gewijzigde bestanden met toevoegingen van 3499 en 4136 verwijderingen
  1. 6 6
      config/config.xml
  2. 5 3
      controllers/ermcp/qryWrstandard.go
  3. 480 741
      docs/docs.go
  4. 480 741
      docs/swagger.json
  5. 2470 2640
      docs/swagger.yaml
  6. 58 5
      models/ermcpWrstandard.go

+ 6 - 6
config/config.xml

@@ -13,11 +13,11 @@
     <DbAddress value="192.168.31.117"/>
     <DbName value="orcl"/>
     <DbPort value="1521"/>
-    <DbUser value="mtp2_test171"/>
+    <DbUser value="mtp2_test114"/>
     <DbPwd value="muchinfo"/>
   </DbSetting>
   <RedisSetting>
-    <Address value="192.168.31.171"/>
+    <Address value="192.168.31.114"/>
     <Port value="5007"/>
     <Timeout value="3"/>
     <ConnNum value="1"/>
@@ -25,11 +25,11 @@
     <Pwd value=""/>
   </RedisSetting>
   <MqSetting>
-    <Url value="amqp://guest:guest@192.168.31.171:5020/test"/>
+    <Url value="amqp://guest:guest@192.168.31.114:5020/test"/>
     <Exchange value="entry"/>
   </MqSetting>
   <MongoDBSetting>
-    <HostName value="192.168.31.171"/>
+    <HostName value="192.168.31.114"/>
     <Port value="5025"/>
     <DBName value="HistoryQuote"/>
     <Username value="quote_test01"/>
@@ -38,8 +38,8 @@
   <MySQLSetting>
     <Host value="192.168.30.140"/>
     <Port value="3306"/>
-    <DBName value="historyquote_test171"/>
-    <Username value="root"/>
+    <DBName value="historyquote_test114"/>
+    <Username value="quote_test114"/>
     <Password value="123456"/>
   </MySQLSetting>
 </Configuration>

+ 5 - 3
controllers/ermcp/qryWrstandard.go

@@ -17,7 +17,7 @@ import (
 
 //查询现货商品请求
 type QryWrStandardReq struct {
-	UserId int `form:"userid" binding:"required"` //用户ID
+	UserId int    `form:"userid" binding:"required"` //用户ID
 	Status *int32 `form:"status" binding:"required"` //状态
 }
 
@@ -56,8 +56,9 @@ func QueryWrStandard(c *gin.Context) {
 
 //查询现货商品请求
 type QryWrStandardDetailReq struct {
-	UserId       int `form:"userid" binding:"required"`       //用户ID
+	UserId       int `form:"userid" binding:"required"`       // 用户ID
 	Wrstandardid int `form:"wrstandardid" binding:"required"` // 现货商品ID
+	Goods        int `form:"goods"`                           // 是否查关联交易商品 1-查询
 }
 
 //查询现货商品响应
@@ -68,6 +69,7 @@ type QryWrStandardDetailRsp models.ErmcpWrstandDetail
 // @Security ApiKeyAuth
 // @Param userid query int true  "所属机构ID"
 // @Param wrstandardid query int true  "现货商品ID"
+// @Param goods query int false  "可不填, 1-查询关联交易商品"
 // @Success 200 {array} QryWrStandardDetailRsp
 // @Failure 500 {object} app.Response
 // @Router /Ermcp/QueryWrStandardDetail [get]
@@ -80,7 +82,7 @@ func QueryWrStandardDetail(c *gin.Context) {
 		return
 	}
 	m := models.ErmcpWrstandDetail{Wrd: models.ErmcpWrstandard{AREAUSERID: req.UserId,
-		WRSTANDARDID: int64(req.Wrstandardid)}}
+		WRSTANDARDID: int64(req.Wrstandardid)}, QueryGoods: req.Goods == 1}
 	if d, err := m.GetData(); err == nil {
 		appG.Response(http.StatusOK, e.SUCCESS, d)
 	} else {

File diff suppressed because it is too large
+ 480 - 741
docs/docs.go


File diff suppressed because it is too large
+ 480 - 741
docs/swagger.json


File diff suppressed because it is too large
+ 2470 - 2640
docs/swagger.yaml


+ 58 - 5
models/ermcpWrstandard.go

@@ -10,6 +10,7 @@ import (
 	"fmt"
 	"mtp2_if/db"
 	"mtp2_if/logger"
+	"mtp2_if/utils"
 )
 
 // 现货商品表
@@ -54,7 +55,7 @@ func (r *ErmcpWrstandard) buildSql() string {
 	if r.WRSTANDARDID > 0 {
 		sqlId = sqlId + fmt.Sprintf(" and WRSTANDARDID=%v", r.WRSTANDARDID)
 	}
-	if r.ISVALID >= 0{
+	if r.ISVALID >= 0 {
 		sqlId = sqlId + fmt.Sprintf(" and t.ISVALID=%v", r.ISVALID)
 	}
 	return sqlId
@@ -197,12 +198,52 @@ func (r *WRSConverTDetail) GetData() ([]WRSConverTDetail, error) {
 	return sData, nil
 }
 
+// 现货关联的交易商品
+type RelatedGoodsEx struct {
+	GoodsId   int    `json:"goodsid"  xorm:"'GoodsId'"`     // 商品id
+	GoodsCode string `json:"goodscode"  xorm:"'GoodsCode'"` // 商品代码
+	GoodsName string `json:"goodsname"  xorm:"'GoodsName'"` // 商品名称
+
+	WRSTANDARDID int64 `json:"-"  xorm:"'WRSTANDARDID'"` // 现货商品ID
+	AREAUSERID   int   `json:"-"  xorm:"'AREAUSERID'"`   // 所属机构
+}
+
+func (r *RelatedGoodsEx) buildSql() string {
+	var sqlId utils.SQLVal = "select distinct g.goodsid, g.goodscode, g.goodsname" +
+		"  from wrstandard t" +
+		" inner join ERMS2_WRSConvertDetail w" +
+		"    on t.wrstandardid = w.wrstandardid" +
+		" inner join erms_middlegoods m" +
+		"    on w.middlegoodsid = m.middlegoodsid" +
+		" inner join ERMCP_GGConvertConfig gc" +
+		"    on m.goodsgroupid = gc.destgoodsgroupid" +
+		" inner join goods g" +
+		"    on gc.srcgoodsgroupid = g.goodsgroupid" +
+		" where 1=1"
+	sqlId.And("t.areauserid", r.AREAUSERID)
+	sqlId.And("t.wrstandardid", r.WRSTANDARDID)
+	sqlId.Join(" order by g.goodsid")
+	return sqlId.String()
+}
+
+func (r *RelatedGoodsEx) GetData() ([]RelatedGoodsEx, error) {
+	sData := make([]RelatedGoodsEx, 0)
+	if err := db.GetEngine().SQL(r.buildSql()).Find(&sData); err != nil {
+		logger.GetLogger().Errorf("query RelatedGoodsEx fail, %v", err)
+		return nil, err
+	}
+	return sData, nil
+}
+
 // 现货商品详细
 type ErmcpWrstandDetail struct {
-	Wrd     ErmcpWrstandard    `json:"wrd"`     // 基本信息
-	GtList  []GoodsTypeModel   `json:"gtList"`  // 型号列表
-	GbList  []GoodsBrand       `json:"gbList"`  // 品牌列表
-	WrsList []WRSConverTDetail `json:"wrsList"` // 套保信息列表
+	Wrd       ErmcpWrstandard    `json:"wrd"`       // 基本信息
+	GtList    []GoodsTypeModel   `json:"gtList"`    // 型号列表
+	GbList    []GoodsBrand       `json:"gbList"`    // 品牌列表
+	WrsList   []WRSConverTDetail `json:"wrsList"`   // 套保信息列表
+	GoodsList []RelatedGoodsEx   `json:"goodsList"` // 关联交易商品列表
+
+	QueryGoods bool `json:"-"`
 }
 
 // 查询现货商品详细
@@ -218,6 +259,10 @@ func (r *ErmcpWrstandDetail) GetData() (ErmcpWrstandDetail, error) {
 	}
 	rsp := ErmcpWrstandDetail{}
 	rsp.Wrd = d[0]
+	rsp.GtList = make([]GoodsTypeModel, 0)
+	rsp.GbList = make([]GoodsBrand, 0)
+	rsp.WrsList = make([]WRSConverTDetail, 0)
+	rsp.GoodsList = make([]RelatedGoodsEx, 0)
 	// 获取型号信息
 	gt := GoodsTypeModel{AREAUSERID: rsp.Wrd.AREAUSERID, WRSTANDARDID: rsp.Wrd.WRSTANDARDID}
 	if val, err := gt.GetData(); err == nil {
@@ -236,5 +281,13 @@ func (r *ErmcpWrstandDetail) GetData() (ErmcpWrstandDetail, error) {
 		rsp.WrsList = val
 	}
 
+	// 获取关联交易商品
+	if r.QueryGoods {
+		goodsLst := RelatedGoodsEx{AREAUSERID: r.Wrd.AREAUSERID, WRSTANDARDID: r.Wrd.WRSTANDARDID}
+		if val, err := goodsLst.GetData(); err == nil {
+			rsp.GoodsList = val
+		}
+	}
+
 	return rsp, nil
 }

Some files were not shown because too many files changed in this diff