Forráskód Böngészése

增加接口:查商品信息/期货品种

zou.yingbin 4 éve
szülő
commit
2dda13e139

+ 33 - 0
controllers/ermcp/qryGGConvertconfig.go

@@ -0,0 +1,33 @@
+/**
+* @Author: zou.yingbin
+* @Create  : 2021/1/27 9:50
+* @Modify  : 2021/1/27 9:50
+ */
+
+package ermcp
+
+import (
+	"github.com/gin-gonic/gin"
+	"mtp2_if/global/app"
+	"mtp2_if/models"
+)
+
+// 查询期货品种配置请求
+type QryGGCovertCfgReq struct {
+}
+
+// 查询期货品种配置应答
+type QryGGCovertCfgRsp models.ErmcpGGConvertCfg
+
+// @Summary 查询期货品种配置(菜单:商品信息/期货品种)
+// @Produce json
+// @Security ApiKeyAuth
+// @Success 200 {array} QryGGCovertCfgRsp
+// @Failure 500 {object} app.Response
+// @Router /Ermcp/QueryGGConvertConfig [get]
+// @Tags 企业风险管理(app)
+func QueryGGConvertConfig(c *gin.Context) {
+	appG := app.GinUtils{Gin:app.Gin{C: c}}
+	m := models.ErmcpGGConvertCfg{}
+	appG.DoGetData(&m)
+}

+ 91 - 6
docs/docs.go

@@ -1147,6 +1147,39 @@ var doc = `{
                 }
             }
         },
+        "/Ermcp/QueryGGConvertConfig": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "企业风险管理(app)"
+                ],
+                "summary": "查询期货品种配置(菜单:商品信息/期货品种)",
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/ermcp.QryGGCovertCfgRsp"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ermcp/QueryHedgePlan": {
             "get": {
                 "security": [
@@ -6478,6 +6511,9 @@ var doc = `{
         "ermcp.QryErmcpRsp": {
             "$ref": "#/definitions/models.ErmcpModel"
         },
+        "ermcp.QryGGCovertCfgRsp": {
+            "$ref": "#/definitions/models.ErmcpGGConvertCfg"
+        },
         "ermcp.QryHedgePlanRsp": {
             "$ref": "#/definitions/models.ErmcpHedgePlan"
         },
@@ -8394,6 +8430,55 @@ var doc = `{
                 }
             }
         },
+        "models.ErmcpGGConvertCfg": {
+            "type": "object",
+            "properties": {
+                "convertratio": {
+                    "description": "折算系数",
+                    "type": "number"
+                },
+                "destgoodsgroupid": {
+                    "description": "目标品种ID",
+                    "type": "integer"
+                },
+                "dstcode": {
+                    "description": "目录品种代码",
+                    "type": "string"
+                },
+                "dstname": {
+                    "description": "目标品种名称",
+                    "type": "string"
+                },
+                "dstunitid": {
+                    "description": "目标品种单位ID",
+                    "type": "integer"
+                },
+                "dstunitidname": {
+                    "description": "目标品种单位名称",
+                    "type": "string"
+                },
+                "srccode": {
+                    "description": "源品种代码",
+                    "type": "string"
+                },
+                "srcgoodsgroupid": {
+                    "description": "源品种ID",
+                    "type": "integer"
+                },
+                "srcname": {
+                    "description": "源品种名称",
+                    "type": "string"
+                },
+                "srcunitid": {
+                    "description": "源品种单位ID",
+                    "type": "integer"
+                },
+                "srcunitidname": {
+                    "description": "源品种单位名称",
+                    "type": "string"
+                }
+            }
+        },
         "models.ErmcpHedgePlan": {
             "type": "object",
             "properties": {
@@ -9422,21 +9507,21 @@ var doc = `{
                     "description": "折算系数",
                     "type": "number"
                 },
-                "goodsgroupid": {
-                    "description": "期货品种ID",
+                "dstgoodsgroupid": {
+                    "description": "目标期货品种ID",
                     "type": "integer"
                 },
                 "goodsgroupname": {
                     "description": "期货品种名称",
                     "type": "string"
                 },
-                "middlegoodsid": {
-                    "description": "套保品种ID",
-                    "type": "integer"
-                },
                 "outergroupcode": {
                     "description": "期货品种代码",
                     "type": "string"
+                },
+                "srcgoodsgroupid": {
+                    "description": "源期货品种ID",
+                    "type": "integer"
                 }
             }
         },

+ 91 - 6
docs/swagger.json

@@ -1131,6 +1131,39 @@
                 }
             }
         },
+        "/Ermcp/QueryGGConvertConfig": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "企业风险管理(app)"
+                ],
+                "summary": "查询期货品种配置(菜单:商品信息/期货品种)",
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/ermcp.QryGGCovertCfgRsp"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ermcp/QueryHedgePlan": {
             "get": {
                 "security": [
@@ -6462,6 +6495,9 @@
         "ermcp.QryErmcpRsp": {
             "$ref": "#/definitions/models.ErmcpModel"
         },
+        "ermcp.QryGGCovertCfgRsp": {
+            "$ref": "#/definitions/models.ErmcpGGConvertCfg"
+        },
         "ermcp.QryHedgePlanRsp": {
             "$ref": "#/definitions/models.ErmcpHedgePlan"
         },
@@ -8378,6 +8414,55 @@
                 }
             }
         },
+        "models.ErmcpGGConvertCfg": {
+            "type": "object",
+            "properties": {
+                "convertratio": {
+                    "description": "折算系数",
+                    "type": "number"
+                },
+                "destgoodsgroupid": {
+                    "description": "目标品种ID",
+                    "type": "integer"
+                },
+                "dstcode": {
+                    "description": "目录品种代码",
+                    "type": "string"
+                },
+                "dstname": {
+                    "description": "目标品种名称",
+                    "type": "string"
+                },
+                "dstunitid": {
+                    "description": "目标品种单位ID",
+                    "type": "integer"
+                },
+                "dstunitidname": {
+                    "description": "目标品种单位名称",
+                    "type": "string"
+                },
+                "srccode": {
+                    "description": "源品种代码",
+                    "type": "string"
+                },
+                "srcgoodsgroupid": {
+                    "description": "源品种ID",
+                    "type": "integer"
+                },
+                "srcname": {
+                    "description": "源品种名称",
+                    "type": "string"
+                },
+                "srcunitid": {
+                    "description": "源品种单位ID",
+                    "type": "integer"
+                },
+                "srcunitidname": {
+                    "description": "源品种单位名称",
+                    "type": "string"
+                }
+            }
+        },
         "models.ErmcpHedgePlan": {
             "type": "object",
             "properties": {
@@ -9406,21 +9491,21 @@
                     "description": "折算系数",
                     "type": "number"
                 },
-                "goodsgroupid": {
-                    "description": "期货品种ID",
+                "dstgoodsgroupid": {
+                    "description": "目标期货品种ID",
                     "type": "integer"
                 },
                 "goodsgroupname": {
                     "description": "期货品种名称",
                     "type": "string"
                 },
-                "middlegoodsid": {
-                    "description": "套保品种ID",
-                    "type": "integer"
-                },
                 "outergroupcode": {
                     "description": "期货品种代码",
                     "type": "string"
+                },
+                "srcgoodsgroupid": {
+                    "description": "源期货品种ID",
+                    "type": "integer"
                 }
             }
         },

+ 63 - 5
docs/swagger.yaml

@@ -1142,6 +1142,8 @@ definitions:
     type: object
   ermcp.QryErmcpRsp:
     $ref: '#/definitions/models.ErmcpModel'
+  ermcp.QryGGCovertCfgRsp:
+    $ref: '#/definitions/models.ErmcpGGConvertCfg'
   ermcp.QryHedgePlanRsp:
     $ref: '#/definitions/models.ErmcpHedgePlan'
   ermcp.QryMiddleGoodsDetailRsp:
@@ -2559,6 +2561,42 @@ definitions:
         description: 现货商品名称
         type: string
     type: object
+  models.ErmcpGGConvertCfg:
+    properties:
+      convertratio:
+        description: 折算系数
+        type: number
+      destgoodsgroupid:
+        description: 目标品种ID
+        type: integer
+      dstcode:
+        description: 目录品种代码
+        type: string
+      dstname:
+        description: 目标品种名称
+        type: string
+      dstunitid:
+        description: 目标品种单位ID
+        type: integer
+      dstunitidname:
+        description: 目标品种单位名称
+        type: string
+      srccode:
+        description: 源品种代码
+        type: string
+      srcgoodsgroupid:
+        description: 源品种ID
+        type: integer
+      srcname:
+        description: 源品种名称
+        type: string
+      srcunitid:
+        description: 源品种单位ID
+        type: integer
+      srcunitidname:
+        description: 源品种单位名称
+        type: string
+    type: object
   models.ErmcpHedgePlan:
     properties:
       areauserid:
@@ -3320,18 +3358,18 @@ definitions:
       convertratio:
         description: 折算系数
         type: number
-      goodsgroupid:
-        description: 期货品种ID
+      dstgoodsgroupid:
+        description: 目标期货品种ID
         type: integer
       goodsgroupname:
         description: 期货品种名称
         type: string
-      middlegoodsid:
-        description: 套保品种ID
-        type: integer
       outergroupcode:
         description: 期货品种代码
         type: string
+      srcgoodsgroupid:
+        description: 源期货品种ID
+        type: integer
     type: object
   models.GoodsIDAndName:
     properties:
@@ -7687,6 +7725,26 @@ paths:
       summary: 查询敞口现货头寸明细(敞口/现货头寸/现货明细)
       tags:
       - 企业风险管理(app)
+  /Ermcp/QueryGGConvertConfig:
+    get:
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/ermcp.QryGGCovertCfgRsp'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 查询期货品种配置(菜单:商品信息/期货品种)
+      tags:
+      - 企业风险管理(app)
   /Ermcp/QueryHedgePlan:
     get:
       parameters:

+ 68 - 0
models/ermcpGGConvertconfig.go

@@ -0,0 +1,68 @@
+/**
+* @Author: zou.yingbin
+* @Create  : 2021/1/27 9:50
+* @Modify  : 2021/1/27 9:50
+ */
+
+package models
+
+import (
+	"fmt"
+	"mtp2_if/db"
+	"mtp2_if/mtpcache"
+)
+
+// 期货品种系数表
+type ErmcpGGConvertCfg struct {
+	Srcgoodsgroupid  int32   `json:"srcgoodsgroupid"  xorm:"'Srcgoodsgroupid'"`   // 源品种ID
+	Destgoodsgroupid int32   `json:"destgoodsgroupid"  xorm:"'Destgoodsgroupid'"` // 目标品种ID
+	Convertratio     float64 `json:"convertratio"  xorm:"'Convertratio'"`         // 折算系数
+	SrcName          string  `json:"srcname"  xorm:"'SrcName'"`                   // 源品种名称
+	SrcCode          string  `json:"srccode"  xorm:"'SrcCode'"`                   // 源品种代码
+	SrcUnitid        uint32  `json:"srcunitid"  xorm:"'SrcUnitid'"`               // 源品种单位ID
+	SrcUnitidName    string  `json:"srcunitidname"  xorm:"'-'"`                   // 源品种单位名称
+	DstName          string  `json:"dstname"  xorm:"'DstName'"`                   // 目标品种名称
+	DstCode          string  `json:"dstcode"  xorm:"'DstCode'"`                   // 目录品种代码
+	DstUnitid        uint32  `json:"dstunitid"  xorm:"'DstUnitid'"`               // 目标品种单位ID
+	DstUnitidName    string  `json:"dstunitidname"  xorm:"'-'"`                   // 目标品种单位名称
+}
+
+func (r *ErmcpGGConvertCfg) Calc() {
+	r.SrcUnitidName = mtpcache.GetEnumDicitemName(int32(r.SrcUnitid))
+	r.DstUnitidName = mtpcache.GetEnumDicitemName(int32(r.DstUnitid))
+}
+
+// 获取数据
+func (r *ErmcpGGConvertCfg) GetData() ([]interface{}, error) {
+	sData := make([]ErmcpGGConvertCfg, 0)
+	if err := db.GetEngine().SQL(r.buildSql()).Find(&sData); err != nil {
+		return nil, err
+	}
+	iData := make([]interface{}, 0)
+	for i := range sData {
+		iData = append(iData, &sData[i])
+	}
+	return iData, nil
+}
+
+func (r *ErmcpGGConvertCfg) buildSql() string {
+	sqlId := "select t.srcgoodsgroupid," +
+		"       t.destgoodsgroupid," +
+		"       t.convertratio," +
+		"       g1.goodsgroupname  srcName," +
+		"       g1.outergroupcode  srcCode," +
+		"       g1.goodunitid      srcUnitid," +
+		"       g2.goodsgroupname  dstName," +
+		"       g2.outergroupcode  dstCode," +
+		"       g2.goodunitid      dstUnitid" +
+		"  from ERMCP_GGConvertconfig t" +
+		"  left join goodsgroup g1" +
+		"    on t.srcgoodsgroupid = g1.goodsgroupid" +
+		"  left join goodsgroup g2" +
+		"    on t.destgoodsgroupid = g2.goodsgroupid" +
+		"   where 1 = 1 "
+	if r.Destgoodsgroupid > 0 {
+		sqlId = sqlId + fmt.Sprintf("and t.Destgoodsgroupid=%v", r.Destgoodsgroupid)
+	}
+	return sqlId
+}

+ 35 - 15
models/ermcpMiddleGoods.go

@@ -81,9 +81,12 @@ func (r *ErmcpMiddleGoodsModel) buildSql() string {
 	if r.AREAUSERID > 0 {
 		sqlId = sqlId + fmt.Sprintf(" and AREAUSERID = %v", r.AREAUSERID)
 	}
-	if r.ISVALID >= 0{
+	if r.ISVALID >= 0 {
 		sqlId = sqlId + fmt.Sprintf(" and ISVALID=%v", r.ISVALID)
 	}
+	if r.MIDDLEGOODSID > 0 {
+		sqlId = sqlId + fmt.Sprintf(" and MIDDLEGOODSID=%v", r.MIDDLEGOODSID)
+	}
 	return sqlId
 }
 
@@ -91,30 +94,30 @@ func (r *ErmcpMiddleGoodsModel) buildSql() string {
 
 // 期货品种折算配置表
 type GoodsGroupConvert struct {
-	Middlegoodsid  uint32  `json:"middlegoodsid"  xorm:"'Middlegoodsid'"`   // 套保品种ID
-	Convertratio   float64 `json:"convertratio"  xorm:"'Convertratio'"`     // 折算系数
-	Goodsgroupid   int32   `json:"goodsgroupid"  xorm:"'Goodsgroupid'"`     // 期货品种ID
-	Goodsgroupname string  `json:"goodsgroupname"  xorm:"'Goodsgroupname'"` // 期货品种名称
-	Outergroupcode string  `json:"outergroupcode"  xorm:"'Outergroupcode'"` // 期货品种代码
+	Convertratio    float64 `json:"convertratio"  xorm:"'Convertratio'"`       // 折算系数
+	SrcGoodsgroupid int32   `json:"srcgoodsgroupid"  xorm:"'SrcGoodsgroupid'"` // 源期货品种ID
+	DstGoodsgroupid int32   `json:"dstgoodsgroupid"  xorm:"'destgoodsgroupid'"` // 目标期货品种ID
+	Goodsgroupname  string  `json:"goodsgroupname"  xorm:"'Goodsgroupname'"`   // 期货品种名称
+	Outergroupcode  string  `json:"outergroupcode"  xorm:"'Outergroupcode'"`   // 期货品种代码
 }
 
 func (r *GoodsGroupConvert) buildSql() string {
-	sqlId := "select t.middlegoodsid," +
+	sqlId := "select t.srcgoodsgroupid," +
+		"       t.destgoodsgroupid," +
 		"       t.convertratio," +
-		"       t.goodsgroupid," +
 		"       g.goodsgroupname," +
 		"       g.outergroupcode" +
-		"  from erms_goodsgroupconvert t" +
+		"  from ERMCP_GGConvertconfig t" +
 		"  left join goodsgroup g" +
-		"    on t.goodsgroupid = g.goodsgroupid" +
-		" where 1=1"
-	if r.Middlegoodsid > 0 {
-		sqlId = sqlId + fmt.Sprintf(" and Middlegoodsid=%v", r.Middlegoodsid)
+		"    on t.srcgoodsgroupid = g.goodsgroupid" +
+		" where 1 = 1"
+	if r.DstGoodsgroupid >= 0 {
+		sqlId = sqlId + fmt.Sprintf(" and destgoodsgroupid=%v", r.DstGoodsgroupid)
 	}
 	return sqlId
 }
 
-// 获取期货品种配置详情
+// 获取期货品种折算列表
 func (r *GoodsGroupConvert) GetData() ([]GoodsGroupConvert, error) {
 	sData := make([]GoodsGroupConvert, 0)
 	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
@@ -137,9 +140,26 @@ func (r *ErmcpMiddleGoodsDetail) GetData() (ErmcpMiddleGoodsDetail, error) {
 	}
 	rsp := ErmcpMiddleGoodsDetail{Mg: d[0]}
 	// 查折算表
-	md := GoodsGroupConvert{Middlegoodsid: r.Mg.MIDDLEGOODSID}
+	md := GoodsGroupConvert{DstGoodsgroupid: rsp.Mg.GOODSGROUPID}
 	if val, err := md.GetData(); err == nil {
 		rsp.CvList = val
 	}
 	return rsp, nil
 }
+
+// 套保品种变更记录
+type ErmcpMiddleGoodsChangeLog struct {
+	LOGID         int64   `json:"logid"  xorm:"'LOGID'"`                 // 流水ID
+	MIDDLEGOODSID int     `json:"middlegoodsid"  xorm:"'MIDDLEGOODSID'"` // 套保品种ID
+	CHANGELOGTYPE int32   `json:"changelogtype"  xorm:"'CHANGELOGTYPE'"` // 变更流水类型 - 1:套保比率变更
+	BEFOREVALUE   float64 `json:"beforevalue"  xorm:"'BEFOREVALUE'"`     // 变更前
+	AFTERVALUE    float64 `json:"aftervalue"  xorm:"'AFTERVALUE'"`       // 变更后
+	LOGDATETIME   string  `json:"logdatetime"  xorm:"'LOGDATETIME'"`     // 流水日期
+	LOGREMARK     string  `json:"logremark"  xorm:"'LOGREMARK'"`         // 流水备注
+	HANDLESTATUS  int32   `json:"handlestatus"  xorm:"'HANDLESTATUS'"`   // 处理状态
+	TRADEDATE     string  `json:"tradedate"  xorm:"'TRADEDATE'"`         // 交易日(yyyyMMdd)
+	UPDATETIME    string  `json:"updatetime"  xorm:"'UPDATETIME'"`       // 更新时间
+	APPLYSRC      int32   `json:"applysrc"  xorm:"'APPLYSRC'"`           // 操作来源 - 1:管理端 2:终端
+	APPLYID       int64   `json:"applyid"  xorm:"'APPLYID'"`             // 操作人
+	APPLYNAME     string  `json:"applyname"  xorm:"'-'"`                 // 操作人名称
+}

+ 1 - 1
models/ermcpOPLog.go

@@ -66,7 +66,7 @@ func (r *ErmcpOPLogModel) GetData() ([]ErmcpOPLogModel, error) {
 	for i := range sData {
 		sData[i].decodeOperateLogType()
 		if id, err := strconv.ParseInt(sData[i].APPLYID, 10, 64); err == nil {
-			sData[i].APPLYNAME = mtpcache.GetUserNameByLoginId(id)
+			sData[i].APPLYNAME = mtpcache.GetUserNameByUserId(id)
 		}
 	}
 	return sData, nil

+ 1 - 0
routers/router.go

@@ -326,6 +326,7 @@ func InitRouter() *gin.Engine {
 		ermcpR.GET("/QueryHisExposure", ermcp.QueryHisExposure)
 		ermcpR.GET("/QueryMiddleGoods", ermcp.QueryMiddleGoods)
 		ermcpR.GET("/QueryMiddleGoodsDetail", ermcp.QueryMiddleGoodsDetail)
+		ermcpR.GET("/QueryGGConvertConfig", ermcp.QueryGGConvertConfig)
 	}
 
 	return r