Quellcode durchsuchen

增加“套期项目报表查询”接口

zhou.xiaoning vor 3 Jahren
Ursprung
Commit
d053b81b44
5 geänderte Dateien mit 925 neuen und 1 gelöschten Zeilen
  1. 22 0
      controllers/ermcp8/qryErmcp8.go
  2. 226 0
      docs/docs.go
  3. 226 0
      docs/swagger.json
  4. 163 0
      docs/swagger.yaml
  5. 288 1
      models/ermcp8.go

+ 22 - 0
controllers/ermcp8/qryErmcp8.go

@@ -129,3 +129,25 @@ func QueryInternalEnableTradeDetail(c *gin.Context) {
 	a.DoBindReq(&m)
 	a.DoGetDataI(&m)
 }
+
+// QueryErmcp8HedgeditemReport
+// @Summary 套期项目报表查询
+// @Produce json
+// @Security ApiKeyAuth
+// @Param userid query int true "用户ID"
+// @Param cycletype query int true "周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】"
+// @Param cycletime query string true "周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】"
+// @Param hedgedtype query int false "套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目"
+// @Param hedgeditemstatus query int false "项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
+// @Param hedgeditemnum query string false "项目编号,模糊查询"
+// @Param wrstandardid query int false "现货商品ID"
+// @Success 200 {array} models.Ermcp8HedgeditemReport
+// @Failure 500 {object} app.Response
+// @Router /Ermcp8/QueryErmcp8HedgeditemReport [get]
+// @Tags 企业风险管理v8
+func QueryErmcp8HedgeditemReport(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.Ermcp8HedgeditemReport{}
+	a.DoBindReq(&m)
+	a.DoGetDataI(&m)
+}

+ 226 - 0
docs/docs.go

@@ -5808,6 +5808,86 @@ var doc = `{
                 }
             }
         },
+        "/Ermcp8/QueryErmcp8HedgeditemReport": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "企业风险管理v8"
+                ],
+                "summary": "套期项目报表查询",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "用户ID",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】",
+                        "name": "cycletype",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "string",
+                        "description": "周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】",
+                        "name": "cycletime",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
+                        "name": "hedgedtype",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
+                        "name": "hedgeditemstatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "项目编号,模糊查询",
+                        "name": "hedgeditemnum",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "现货商品ID",
+                        "name": "wrstandardid",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.Ermcp8HedgeditemReport"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ermcp8/QueryInternalEnableTradeDetail": {
             "get": {
                 "security": [
@@ -25280,6 +25360,152 @@ var doc = `{
                 }
             }
         },
+        "models.Ermcp8HedgeditemReport": {
+            "type": "object",
+            "required": [
+                "cycletime",
+                "cycletype",
+                "userid"
+            ],
+            "properties": {
+                "areauserid": {
+                    "description": "企业ID",
+                    "type": "integer"
+                },
+                "curprice": {
+                    "description": "[当日现货市场价]当前市场价",
+                    "type": "number"
+                },
+                "cycletime": {
+                    "description": "周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】",
+                    "type": "string"
+                },
+                "cycletype": {
+                    "description": "周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】",
+                    "type": "integer"
+                },
+                "enumdicname": {
+                    "description": "单位",
+                    "type": "string"
+                },
+                "exeamount": {
+                    "description": "[执行现货金额]执行市价总额",
+                    "type": "number"
+                },
+                "exeavgprice": {
+                    "description": "[执行价]执行市场均价= 执行市价总额 / 执行现货量",
+                    "type": "number"
+                },
+                "exeqty": {
+                    "description": "[执行数量]执行现货量",
+                    "type": "number"
+                },
+                "futurehedgepl": {
+                    "description": "期货实际损益",
+                    "type": "number"
+                },
+                "futurehedgeplchange": {
+                    "description": "期货实际变动 = 期货实际损益 - 期初期货实际损益",
+                    "type": "number"
+                },
+                "futurepl": {
+                    "description": "期货套期损益",
+                    "type": "number"
+                },
+                "futureplchange": {
+                    "description": "期货套期变动 = 期货套期损益 - 期初期货套期损益",
+                    "type": "number"
+                },
+                "hedgeamount": {
+                    "description": "[套期现货金额]套期市价总额",
+                    "type": "number"
+                },
+                "hedgeditemnum": {
+                    "description": "项目编号,模糊查询",
+                    "type": "string"
+                },
+                "hedgeditemstatus": {
+                    "description": "项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
+                    "type": "integer"
+                },
+                "hedgedtype": {
+                    "description": "套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
+                    "type": "integer"
+                },
+                "hedgeqty": {
+                    "description": "[套期数量]套期现货量",
+                    "type": "number"
+                },
+                "oriavgprice": {
+                    "description": "[期初价]期初市场均价 = 套期市价总额 / 套期现货量",
+                    "type": "number"
+                },
+                "orifuturehedgepl": {
+                    "description": "期初期货实际损益",
+                    "type": "number"
+                },
+                "orifuturepl": {
+                    "description": "期初期货套期损益",
+                    "type": "number"
+                },
+                "orispothedgepl": {
+                    "description": "期初现货实际损益",
+                    "type": "number"
+                },
+                "orispotpl": {
+                    "description": "期初现货套期损益",
+                    "type": "number"
+                },
+                "planenddate": {
+                    "description": "计划结束日期",
+                    "type": "string"
+                },
+                "planstartdate": {
+                    "description": "计划开始日期",
+                    "type": "string"
+                },
+                "spothedgepl": {
+                    "description": "现货实际损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)",
+                    "type": "number"
+                },
+                "spothedgeplchange": {
+                    "description": "现货实际变动 = 现货实际损益 - 期初现货实际损益",
+                    "type": "number"
+                },
+                "spotpl": {
+                    "description": "现货套期损益 = 现货实际损益 + 现货浮动损益",
+                    "type": "number"
+                },
+                "spotplchange": {
+                    "description": "现货套期变动 = 现货套期损益 - 期初现货套期损益",
+                    "type": "number"
+                },
+                "tradeuserid": {
+                    "description": "交易用户ID",
+                    "type": "integer"
+                },
+                "unexeqty": {
+                    "description": "未执行现货量 = 套期现货量 - 执行现货量",
+                    "type": "number"
+                },
+                "userid": {
+                    "description": "用户ID",
+                    "type": "integer"
+                },
+                "wrstandardcode": {
+                    "description": "现货品类代码",
+                    "type": "string"
+                },
+                "wrstandardid": {
+                    "description": "现货商品ID",
+                    "type": "integer"
+                },
+                "wrstandardname": {
+                    "description": "[现货商品]现货品类名称",
+                    "type": "string"
+                }
+            }
+        },
         "models.ErmcpBizGroupEx": {
             "type": "object",
             "properties": {

+ 226 - 0
docs/swagger.json

@@ -5792,6 +5792,86 @@
                 }
             }
         },
+        "/Ermcp8/QueryErmcp8HedgeditemReport": {
+            "get": {
+                "security": [
+                    {
+                        "ApiKeyAuth": []
+                    }
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "tags": [
+                    "企业风险管理v8"
+                ],
+                "summary": "套期项目报表查询",
+                "parameters": [
+                    {
+                        "type": "integer",
+                        "description": "用户ID",
+                        "name": "userid",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】",
+                        "name": "cycletype",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "string",
+                        "description": "周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】",
+                        "name": "cycletime",
+                        "in": "query",
+                        "required": true
+                    },
+                    {
+                        "type": "integer",
+                        "description": "套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
+                        "name": "hedgedtype",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
+                        "name": "hedgeditemstatus",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "项目编号,模糊查询",
+                        "name": "hedgeditemnum",
+                        "in": "query"
+                    },
+                    {
+                        "type": "integer",
+                        "description": "现货商品ID",
+                        "name": "wrstandardid",
+                        "in": "query"
+                    }
+                ],
+                "responses": {
+                    "200": {
+                        "description": "OK",
+                        "schema": {
+                            "type": "array",
+                            "items": {
+                                "$ref": "#/definitions/models.Ermcp8HedgeditemReport"
+                            }
+                        }
+                    },
+                    "500": {
+                        "description": "Internal Server Error",
+                        "schema": {
+                            "$ref": "#/definitions/app.Response"
+                        }
+                    }
+                }
+            }
+        },
         "/Ermcp8/QueryInternalEnableTradeDetail": {
             "get": {
                 "security": [
@@ -25264,6 +25344,152 @@
                 }
             }
         },
+        "models.Ermcp8HedgeditemReport": {
+            "type": "object",
+            "required": [
+                "cycletime",
+                "cycletype",
+                "userid"
+            ],
+            "properties": {
+                "areauserid": {
+                    "description": "企业ID",
+                    "type": "integer"
+                },
+                "curprice": {
+                    "description": "[当日现货市场价]当前市场价",
+                    "type": "number"
+                },
+                "cycletime": {
+                    "description": "周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】",
+                    "type": "string"
+                },
+                "cycletype": {
+                    "description": "周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】",
+                    "type": "integer"
+                },
+                "enumdicname": {
+                    "description": "单位",
+                    "type": "string"
+                },
+                "exeamount": {
+                    "description": "[执行现货金额]执行市价总额",
+                    "type": "number"
+                },
+                "exeavgprice": {
+                    "description": "[执行价]执行市场均价= 执行市价总额 / 执行现货量",
+                    "type": "number"
+                },
+                "exeqty": {
+                    "description": "[执行数量]执行现货量",
+                    "type": "number"
+                },
+                "futurehedgepl": {
+                    "description": "期货实际损益",
+                    "type": "number"
+                },
+                "futurehedgeplchange": {
+                    "description": "期货实际变动 = 期货实际损益 - 期初期货实际损益",
+                    "type": "number"
+                },
+                "futurepl": {
+                    "description": "期货套期损益",
+                    "type": "number"
+                },
+                "futureplchange": {
+                    "description": "期货套期变动 = 期货套期损益 - 期初期货套期损益",
+                    "type": "number"
+                },
+                "hedgeamount": {
+                    "description": "[套期现货金额]套期市价总额",
+                    "type": "number"
+                },
+                "hedgeditemnum": {
+                    "description": "项目编号,模糊查询",
+                    "type": "string"
+                },
+                "hedgeditemstatus": {
+                    "description": "项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回",
+                    "type": "integer"
+                },
+                "hedgedtype": {
+                    "description": "套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目",
+                    "type": "integer"
+                },
+                "hedgeqty": {
+                    "description": "[套期数量]套期现货量",
+                    "type": "number"
+                },
+                "oriavgprice": {
+                    "description": "[期初价]期初市场均价 = 套期市价总额 / 套期现货量",
+                    "type": "number"
+                },
+                "orifuturehedgepl": {
+                    "description": "期初期货实际损益",
+                    "type": "number"
+                },
+                "orifuturepl": {
+                    "description": "期初期货套期损益",
+                    "type": "number"
+                },
+                "orispothedgepl": {
+                    "description": "期初现货实际损益",
+                    "type": "number"
+                },
+                "orispotpl": {
+                    "description": "期初现货套期损益",
+                    "type": "number"
+                },
+                "planenddate": {
+                    "description": "计划结束日期",
+                    "type": "string"
+                },
+                "planstartdate": {
+                    "description": "计划开始日期",
+                    "type": "string"
+                },
+                "spothedgepl": {
+                    "description": "现货实际损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)",
+                    "type": "number"
+                },
+                "spothedgeplchange": {
+                    "description": "现货实际变动 = 现货实际损益 - 期初现货实际损益",
+                    "type": "number"
+                },
+                "spotpl": {
+                    "description": "现货套期损益 = 现货实际损益 + 现货浮动损益",
+                    "type": "number"
+                },
+                "spotplchange": {
+                    "description": "现货套期变动 = 现货套期损益 - 期初现货套期损益",
+                    "type": "number"
+                },
+                "tradeuserid": {
+                    "description": "交易用户ID",
+                    "type": "integer"
+                },
+                "unexeqty": {
+                    "description": "未执行现货量 = 套期现货量 - 执行现货量",
+                    "type": "number"
+                },
+                "userid": {
+                    "description": "用户ID",
+                    "type": "integer"
+                },
+                "wrstandardcode": {
+                    "description": "现货品类代码",
+                    "type": "string"
+                },
+                "wrstandardid": {
+                    "description": "现货商品ID",
+                    "type": "integer"
+                },
+                "wrstandardname": {
+                    "description": "[现货商品]现货品类名称",
+                    "type": "string"
+                }
+            }
+        },
         "models.ErmcpBizGroupEx": {
             "type": "object",
             "properties": {

+ 163 - 0
docs/swagger.yaml

@@ -7539,6 +7539,116 @@ definitions:
         description: 品类名称
         type: string
     type: object
+  models.Ermcp8HedgeditemReport:
+    properties:
+      areauserid:
+        description: 企业ID
+        type: integer
+      curprice:
+        description: '[当日现货市场价]当前市场价'
+        type: number
+      cycletime:
+        description: 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
+        type: string
+      cycletype:
+        description: 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
+        type: integer
+      enumdicname:
+        description: 单位
+        type: string
+      exeamount:
+        description: '[执行现货金额]执行市价总额'
+        type: number
+      exeavgprice:
+        description: '[执行价]执行市场均价= 执行市价总额 / 执行现货量'
+        type: number
+      exeqty:
+        description: '[执行数量]执行现货量'
+        type: number
+      futurehedgepl:
+        description: 期货实际损益
+        type: number
+      futurehedgeplchange:
+        description: 期货实际变动 = 期货实际损益 - 期初期货实际损益
+        type: number
+      futurepl:
+        description: 期货套期损益
+        type: number
+      futureplchange:
+        description: 期货套期变动 = 期货套期损益 - 期初期货套期损益
+        type: number
+      hedgeamount:
+        description: '[套期现货金额]套期市价总额'
+        type: number
+      hedgeditemnum:
+        description: 项目编号,模糊查询
+        type: string
+      hedgeditemstatus:
+        description: 项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+        type: integer
+      hedgedtype:
+        description: 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+        type: integer
+      hedgeqty:
+        description: '[套期数量]套期现货量'
+        type: number
+      oriavgprice:
+        description: '[期初价]期初市场均价 = 套期市价总额 / 套期现货量'
+        type: number
+      orifuturehedgepl:
+        description: 期初期货实际损益
+        type: number
+      orifuturepl:
+        description: 期初期货套期损益
+        type: number
+      orispothedgepl:
+        description: 期初现货实际损益
+        type: number
+      orispotpl:
+        description: 期初现货套期损益
+        type: number
+      planenddate:
+        description: 计划结束日期
+        type: string
+      planstartdate:
+        description: 计划开始日期
+        type: string
+      spothedgepl:
+        description: 现货实际损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
+        type: number
+      spothedgeplchange:
+        description: 现货实际变动 = 现货实际损益 - 期初现货实际损益
+        type: number
+      spotpl:
+        description: 现货套期损益 = 现货实际损益 + 现货浮动损益
+        type: number
+      spotplchange:
+        description: 现货套期变动 = 现货套期损益 - 期初现货套期损益
+        type: number
+      tradeuserid:
+        description: 交易用户ID
+        type: integer
+      unexeqty:
+        description: 未执行现货量 = 套期现货量 - 执行现货量
+        type: number
+      userid:
+        description: 用户ID
+        type: integer
+      wrstandardcode:
+        description: 现货品类代码
+        type: string
+      wrstandardid:
+        description: 现货商品ID
+        type: integer
+      wrstandardname:
+        description: '[现货商品]现货品类名称'
+        type: string
+    required:
+    - cycletime
+    - cycletype
+    - userid
+    type: object
   models.ErmcpBizGroupEx:
     properties:
       acclist:
@@ -24413,6 +24523,59 @@ paths:
       summary: 查询被套期项目信息
       tags:
       - 企业风险管理v8
+  /Ermcp8/QueryErmcp8HedgeditemReport:
+    get:
+      parameters:
+      - description: 用户ID
+        in: query
+        name: userid
+        required: true
+        type: integer
+      - description: 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
+        in: query
+        name: cycletype
+        required: true
+        type: integer
+      - description: 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天)
+          全(0)【原值】
+        in: query
+        name: cycletime
+        required: true
+        type: string
+      - description: 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+        in: query
+        name: hedgedtype
+        type: integer
+      - description: 项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+        in: query
+        name: hedgeditemstatus
+        type: integer
+      - description: 项目编号,模糊查询
+        in: query
+        name: hedgeditemnum
+        type: string
+      - description: 现货商品ID
+        in: query
+        name: wrstandardid
+        type: integer
+      produces:
+      - application/json
+      responses:
+        "200":
+          description: OK
+          schema:
+            items:
+              $ref: '#/definitions/models.Ermcp8HedgeditemReport'
+            type: array
+        "500":
+          description: Internal Server Error
+          schema:
+            $ref: '#/definitions/app.Response'
+      security:
+      - ApiKeyAuth: []
+      summary: 套期项目报表查询
+      tags:
+      - 企业风险管理v8
   /Ermcp8/QueryInternalEnableTradeDetail:
     get:
       parameters:

+ 288 - 1
models/ermcp8.go

@@ -91,6 +91,133 @@ func (r *Ermcp2hedgeditemOrc) TableName() string {
 	return "ERMCP2_HEDGEDITEM"
 }
 
+// Reckonermcp2hedgeditem 被套期项目日照表
+type Reckonermcp2hedgeditem struct {
+	RECKONDATE          string    `json:"reckondate"  xorm:"RECKONDATE"`                   // 日照时期(yyyyMMdd)
+	HEDGEDITEMID        int64     `json:"hedgeditemid"  xorm:"HEDGEDITEMID"`               // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
+	HEDGEDITEMNUM       string    `json:"hedgeditemnum"  xorm:"HEDGEDITEMNUM"`             // 项目编号
+	HEDGEDITEMNAME      string    `json:"hedgeditemname"  xorm:"HEDGEDITEMNAME"`           // 项目名称
+	HEDGEDTYPE          int32     `json:"hedgedtype"  xorm:"HEDGEDTYPE"`                   // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+	PLANSTARTDATE       time.Time `json:"planstartdate"  xorm:"PLANSTARTDATE"`             // 计划开始日期
+	PLANENDDATE         time.Time `json:"planenddate"  xorm:"PLANENDDATE"`                 // 计划结束日期
+	HEDGERATE           float64   `json:"hedgerate"  xorm:"HEDGERATE"`                     // 套期比率
+	TRADEUSERID         int64     `json:"tradeuserid"  xorm:"TRADEUSERID"`                 // 交易用户ID
+	AREAUSERID          int64     `json:"areauserid"  xorm:"AREAUSERID"`                   // 企业ID
+	HEDGEDITEMSTATUS    int32     `json:"hedgeditemstatus"  xorm:"HEDGEDITEMSTATUS"`       // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+	APPLYSRC            int32     `json:"applysrc"  xorm:"APPLYSRC"`                       // 申请来源 - 1:管理端 2:终端
+	APPLYID             int64     `json:"applyid"  xorm:"APPLYID"`                         // 申请人
+	REMARK              string    `json:"remark"  xorm:"REMARK"`                           // 备注
+	CREATETIME          time.Time `json:"createtime"  xorm:"CREATETIME"`                   // 申请时间
+	AUDITTRADEDATE      string    `json:"audittradedate"  xorm:"AUDITTRADEDATE"`           // 审核交易日(yyyyMMdd)
+	AUDITID             int64     `json:"auditid"  xorm:"AUDITID"`                         // 审核人
+	AUDITSRC            int32     `json:"auditsrc"  xorm:"AUDITSRC"`                       // 审核来源 - 1:管理端 2:终端
+	AUDITTIME           time.Time `json:"audittime"  xorm:"AUDITTIME"`                     // 审核时间
+	AUDITREMARK         string    `json:"auditremark"  xorm:"AUDITREMARK"`                 // 审核备注
+	DELIVERYGOODSID     int64     `json:"deliverygoodsid"  xorm:"DELIVERYGOODSID"`         // 现货品种ID
+	WRSTANDARDID        int64     `json:"wrstandardid"  xorm:"WRSTANDARDID"`               // 现货商品ID
+	VATRATE             float64   `json:"vatrate"  xorm:"VATRATE"`                         // 增值税
+	HEDGEQTY            float64   `json:"hedgeqty"  xorm:"HEDGEQTY"`                       // 套期现货量
+	HEDGEAMOUNT         float64   `json:"hedgeamount"  xorm:"HEDGEAMOUNT"`                 // 套期市价总额
+	HEDGERESTAMOUNT     float64   `json:"hedgerestamount"  xorm:"HEDGERESTAMOUNT"`         // 套期剩余市价总额【现货贸易】
+	HEDGECONTRACTAMOUNT float64   `json:"hedgecontractamount"  xorm:"HEDGECONTRACTAMOUNT"` // 套期定价总额 【定价采购合同】【现货贸易】
+	ORIAVGPRICE         float64   `json:"oriavgprice"  xorm:"ORIAVGPRICE"`                 // 期初市场均价 = 套期市价总额 / 套期现货量
+	EXEQTY              float64   `json:"exeqty"  xorm:"EXEQTY"`                           // 执行现货量
+	EXEAMOUNT           float64   `json:"exeamount"  xorm:"EXEAMOUNT"`                     // 执行市价总额
+	EXERESTAMOUNT       float64   `json:"exerestamount"  xorm:"EXERESTAMOUNT"`             // 执行剩余市价总额【现货贸易】
+	EXEAVGPRICE         float64   `json:"exeavgprice"  xorm:"EXEAVGPRICE"`                 // 执行市场均价= 执行市价总额 / 执行现货量
+	EXECONTRACTAMOUNT   float64   `json:"execontractamount"  xorm:"EXECONTRACTAMOUNT"`     // 执行定价总额
+	CURPRICE            float64   `json:"curprice"  xorm:"CURPRICE"`                       // 当前市场价
+	UNEXEQTY            float64   `json:"unexeqty"  xorm:"UNEXEQTY"`                       // 未执行现货量 = 套期现货量 - 执行现货量
+	SPOTHEDGEPL         float64   `json:"spothedgepl"  xorm:"SPOTHEDGEPL"`                 // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
+	SPOTPL              float64   `json:"spotpl"  xorm:"SPOTPL"`                           // 现货套期损益 = 现货实际损益 + 现货浮动损益
+	FUTUREHEDGEPL       float64   `json:"futurehedgepl"  xorm:"FUTUREHEDGEPL"`             // 期货实际损益
+	FUTUREPL            float64   `json:"futurepl"  xorm:"FUTUREPL"`                       // 期货套期损益
+	HEDGESUMPL          float64   `json:"hedgesumpl"  xorm:"HEDGESUMPL"`                   // 套期汇总损益 = 期货汇总损益 + 现货汇总损益
+	SPOTTRADEPL         float64   `json:"spottradepl"  xorm:"SPOTTRADEPL"`                 // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额
+	VATPL               float64   `json:"vatpl"  xorm:"VATPL"`                             // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率))
+	SUMOBSPL            float64   `json:"sumobspl"  xorm:"SUMOBSPL"`                       // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益
+	SPOTBOOKAMOUNT      float64   `json:"spotbookamount"  xorm:"SPOTBOOKAMOUNT"`           // 现货账面总额
+	CURSTOCK            float64   `json:"curstock"  xorm:"CURSTOCK"`                       // 期末库存量 = 采购总量 - 销售总量
+	ENDDATE             time.Time `json:"enddate"  xorm:"ENDDATE"`                         // 完成日期
+	ENDTRADEDATE        string    `json:"endtradedate"  xorm:"ENDTRADEDATE"`               // 完成交易日
+	UPDATETIME          time.Time `json:"updatetime"  xorm:"UPDATETIME"`                   // 更新时间
+	ORISPOTHEDGEPL      float64   `json:"orispothedgepl"  xorm:"ORISPOTHEDGEPL"`           // 期初现货实际损益
+	ORIFUTUREHEDGEPL    float64   `json:"orifuturehedgepl"  xorm:"ORIFUTUREHEDGEPL"`       // 期初期货实际损益
+	ORISPOTPL           float64   `json:"orispotpl"  xorm:"ORISPOTPL"`                     // 期初现货套期损益
+	ORIFUTUREPL         float64   `json:"orifuturepl"  xorm:"ORIFUTUREPL"`                 // 期初期货套期损益
+	SPOTFLOATPL         float64   `json:"spotfloatpl"  xorm:"SPOTFLOATPL"`                 // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1)
+	FUTUREFLOATPL       float64   `json:"futurefloatpl"  xorm:"FUTUREFLOATPL"`             // 期货浮动损益
+}
+
+// TableName is RECKON_ERMCP2_HEDGEDITEM
+func (r *Reckonermcp2hedgeditem) TableName() string {
+	return "RECKON_ERMCP2_HEDGEDITEM"
+}
+
+// Reportermcp2hedgeditem 被套期项目报表表
+type Reportermcp2hedgeditem struct {
+	CYCLETIME           string    `json:"cycletime"  xorm:"CYCLETIME"`                     // 周期时间 月(YYYYMM)  季(YYYYQ) 年(YYYY) 周(YYYYIW) 全(0)【原值】
+	CYCLETYPE           int32     `json:"cycletype"  xorm:"CYCLETYPE"`                     // 周期类型 - 1:月 2:季 3:年 4:周 5:全报表【原值】
+	HEDGEDITEMID        int64     `json:"hedgeditemid"  xorm:"HEDGEDITEMID"`               // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
+	HEDGEDITEMNUM       string    `json:"hedgeditemnum"  xorm:"HEDGEDITEMNUM"`             // 项目编号
+	HEDGEDITEMNAME      string    `json:"hedgeditemname"  xorm:"HEDGEDITEMNAME"`           // 项目名称
+	HEDGEDTYPE          int32     `json:"hedgedtype"  xorm:"HEDGEDTYPE"`                   // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+	PLANSTARTDATE       time.Time `json:"planstartdate"  xorm:"PLANSTARTDATE"`             // 计划开始日期
+	PLANENDDATE         time.Time `json:"planenddate"  xorm:"PLANENDDATE"`                 // 计划结束日期
+	HEDGERATE           float64   `json:"hedgerate"  xorm:"HEDGERATE"`                     // 套期比率
+	TRADEUSERID         int64     `json:"tradeuserid"  xorm:"TRADEUSERID"`                 // 交易用户ID
+	AREAUSERID          int64     `json:"areauserid"  xorm:"AREAUSERID"`                   // 企业ID
+	HEDGEDITEMSTATUS    int32     `json:"hedgeditemstatus"  xorm:"HEDGEDITEMSTATUS"`       // 项目状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+	APPLYSRC            int32     `json:"applysrc"  xorm:"APPLYSRC"`                       // 申请来源 - 1:管理端 2:终端
+	APPLYID             int64     `json:"applyid"  xorm:"APPLYID"`                         // 申请人
+	REMARK              string    `json:"remark"  xorm:"REMARK"`                           // 备注
+	CREATETIME          time.Time `json:"createtime"  xorm:"CREATETIME"`                   // 申请时间
+	AUDITTRADEDATE      string    `json:"audittradedate"  xorm:"AUDITTRADEDATE"`           // 审核交易日(yyyyMMdd)
+	AUDITID             int64     `json:"auditid"  xorm:"AUDITID"`                         // 审核人
+	AUDITSRC            int32     `json:"auditsrc"  xorm:"AUDITSRC"`                       // 审核来源 - 1:管理端 2:终端
+	AUDITTIME           time.Time `json:"audittime"  xorm:"AUDITTIME"`                     // 审核时间
+	AUDITREMARK         string    `json:"auditremark"  xorm:"AUDITREMARK"`                 // 审核备注
+	DELIVERYGOODSID     int64     `json:"deliverygoodsid"  xorm:"DELIVERYGOODSID"`         // 现货品种ID
+	WRSTANDARDID        int64     `json:"wrstandardid"  xorm:"WRSTANDARDID"`               // 现货商品ID
+	VATRATE             float64   `json:"vatrate"  xorm:"VATRATE"`                         // 增值税
+	HEDGEQTY            float64   `json:"hedgeqty"  xorm:"HEDGEQTY"`                       // 套期现货量
+	HEDGEAMOUNT         float64   `json:"hedgeamount"  xorm:"HEDGEAMOUNT"`                 // 套期市价总额
+	HEDGERESTAMOUNT     float64   `json:"hedgerestamount"  xorm:"HEDGERESTAMOUNT"`         // 套期剩余市价总额【现货贸易】
+	HEDGECONTRACTAMOUNT float64   `json:"hedgecontractamount"  xorm:"HEDGECONTRACTAMOUNT"` // 套期定价总额 【定价采购合同】【现货贸易】
+	ORIAVGPRICE         float64   `json:"oriavgprice"  xorm:"ORIAVGPRICE"`                 // 期初市场均价 = 套期市价总额 / 套期现货量
+	EXEQTY              float64   `json:"exeqty"  xorm:"EXEQTY"`                           // 执行现货量
+	EXEAMOUNT           float64   `json:"exeamount"  xorm:"EXEAMOUNT"`                     // 执行市价总额
+	EXERESTAMOUNT       float64   `json:"exerestamount"  xorm:"EXERESTAMOUNT"`             // 执行剩余市价总额【现货贸易】
+	EXEAVGPRICE         float64   `json:"exeavgprice"  xorm:"EXEAVGPRICE"`                 // 执行市场均价= 执行市价总额 / 执行现货量
+	EXECONTRACTAMOUNT   float64   `json:"execontractamount"  xorm:"EXECONTRACTAMOUNT"`     // 执行定价总额
+	CURPRICE            float64   `json:"curprice"  xorm:"CURPRICE"`                       // 当前市场价
+	UNEXEQTY            float64   `json:"unexeqty"  xorm:"UNEXEQTY"`                       // 未执行现货量 = 套期现货量 - 执行现货量
+	SPOTHEDGEPL         float64   `json:"spothedgepl"  xorm:"SPOTHEDGEPL"`                 // 现货套期损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
+	SPOTPL              float64   `json:"spotpl"  xorm:"SPOTPL"`                           // 现货套期损益 = 现货实际损益 + 现货浮动损益
+	FUTUREHEDGEPL       float64   `json:"futurehedgepl"  xorm:"FUTUREHEDGEPL"`             // 期货实际损益
+	FUTUREPL            float64   `json:"futurepl"  xorm:"FUTUREPL"`                       // 期货套期损益
+	HEDGESUMPL          float64   `json:"hedgesumpl"  xorm:"HEDGESUMPL"`                   // 套期汇总损益 = 期货汇总损益 + 现货汇总损益
+	SPOTTRADEPL         float64   `json:"spottradepl"  xorm:"SPOTTRADEPL"`                 // 现货贸易损益【现货贸易】= 执行合同定价总额 - 套期合同定价总额
+	VATPL               float64   `json:"vatpl"  xorm:"VATPL"`                             // 增值税损益【现货贸易】= 现货贸易损益 * (增值税率 /(1+增值税率))
+	SUMOBSPL            float64   `json:"sumobspl"  xorm:"SUMOBSPL"`                       // 汇总绝对损益【现货贸易】=现货贸易损益+增值税损益+期货套期损益
+	SPOTBOOKAMOUNT      float64   `json:"spotbookamount"  xorm:"SPOTBOOKAMOUNT"`           // 现货账面总额
+	CURSTOCK            float64   `json:"curstock"  xorm:"CURSTOCK"`                       // 期末库存量 = 采购总量 - 销售总量
+	ENDDATE             time.Time `json:"enddate"  xorm:"ENDDATE"`                         // 完成日期
+	ENDTRADEDATE        string    `json:"endtradedate"  xorm:"ENDTRADEDATE"`               // 完成交易日
+	UPDATETIME          time.Time `json:"updatetime"  xorm:"UPDATETIME"`                   // 更新时间
+	ORISPOTHEDGEPL      float64   `json:"orispothedgepl"  xorm:"ORISPOTHEDGEPL"`           // 期初现货实际损益
+	ORIFUTUREHEDGEPL    float64   `json:"orifuturehedgepl"  xorm:"ORIFUTUREHEDGEPL"`       // 期初期货实际损益
+	ORISPOTPL           float64   `json:"orispotpl"  xorm:"ORISPOTPL"`                     // 期初现货套期损益
+	ORIFUTUREPL         float64   `json:"orifuturepl"  xorm:"ORIFUTUREPL"`                 // 期初期货套期损益
+	SPOTFLOATPL         float64   `json:"spotfloatpl"  xorm:"SPOTFLOATPL"`                 // 现货浮动损益 =(当前市场价 - 期初市场价)*未执行现货量 * 方向(销售计划 为 -1, 其它为1)
+	FUTUREFLOATPL       float64   `json:"futurefloatpl"  xorm:"FUTUREFLOATPL"`             // 期货浮动损益
+}
+
+// TableName is REPORT_ERMCP2_HEDGEDITEM
+func (r *Reportermcp2hedgeditem) TableName() string {
+	return "REPORT_ERMCP2_HEDGEDITEM"
+}
+
 // Ermcp2hedgeditem 被套期项目表
 type Ermcp2hedgeditem struct {
 	Hedgeditemid        string    `json:"hedgeditemid"  xorm:"HEDGEDITEMID"`                                 // 被套期项目ID(624+Unix秒时间戳(10位)+xxxxxx)
@@ -785,7 +912,7 @@ func (r *InternalEnableTradeDetail) buildSql() string {
 	LEFT JOIN ERMCP2_HedgedItem hi ON hi.HEDGEDITEMID = t.HEDGEDITEMID
 	LEFT JOIN DeliveryGoods dg ON dg.DELIVERYGOODSID = t.DELIVERYGOODSID
 	LEFT JOIN WRStandard wr ON wr.WRStandardID = t.WRStandardID
-	LEFT JOIN ERMS_MiddleGoods ON mg.MIDDLEGOODSID = t.MIDDLEGOODSID
+	LEFT JOIN ERMS_MiddleGoods mg ON mg.MIDDLEGOODSID = t.MIDDLEGOODSID
 	LEFT JOIN ERMCP_GGConvertConfig gc ON gc.destgoodsgroupid = mg.goodsgroupid
 	LEFT JOIN Goods g ON g.GOODSGROUPID = gc.SRCGOODSGROUPID
 	WHERE 1 = 1
@@ -809,3 +936,163 @@ func (r *InternalEnableTradeDetail) GetDataEx() (interface{}, error) {
 	}
 	return sData, nil
 }
+
+// Ermcp8HedgeditemReport 套期项目报表
+type Ermcp8HedgeditemReport struct {
+	HEDGEDTYPE          int32     `json:"hedgedtype"  xorm:"HEDGEDTYPE" form:"hedgedtype"`                   // 套期类型 - 1:采购计划项目 2:销售计划项目 3:现货贸易项目 4:库存存货项目 5:定价采购合同项目
+	TRADEUSERID         int64     `json:"tradeuserid"  xorm:"TRADEUSERID"`                                   // 交易用户ID
+	AREAUSERID          int64     `json:"areauserid"  xorm:"AREAUSERID"`                                     // 企业ID
+	HEDGEDITEMSTATUS    int32     `json:"hedgeditemstatus"  xorm:"HEDGEDITEMSTATUS" form:"hedgeditemstatus"` // 项目状态 - 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+	HEDGEDITEMNUM       string    `json:"hedgeditemnum"  xorm:"HEDGEDITEMNUM" form:"hedgeditemnum"`          // 项目编号,模糊查询
+	WRSTANDARDID        int64     `json:"wrstandardid"  xorm:"WRSTANDARDID" form:"wrstandardid"`             // 现货商品ID
+	Wrstandardcode      string    `json:"wrstandardcode"  xorm:"'WRSTANDARDCODE'"`                           // 现货品类代码
+	Wrstandardname      string    `json:"wrstandardname"  xorm:"'WRSTANDARDNAME'"`                           // [现货商品]现货品类名称
+	HEDGEQTY            float64   `json:"hedgeqty"  xorm:"HEDGEQTY"`                                         // [套期数量]套期现货量
+	ORIAVGPRICE         float64   `json:"oriavgprice"  xorm:"ORIAVGPRICE"`                                   // [期初价]期初市场均价 = 套期市价总额 / 套期现货量
+	HEDGEAMOUNT         float64   `json:"hedgeamount"  xorm:"HEDGEAMOUNT"`                                   // [套期现货金额]套期市价总额
+	EXEQTY              float64   `json:"exeqty"  xorm:"EXEQTY"`                                             // [执行数量]执行现货量
+	EXEAVGPRICE         float64   `json:"exeavgprice"  xorm:"EXEAVGPRICE"`                                   // [执行价]执行市场均价= 执行市价总额 / 执行现货量
+	EXEAMOUNT           float64   `json:"exeamount"  xorm:"EXEAMOUNT"`                                       // [执行现货金额]执行市价总额
+	FUTUREHEDGEPL       float64   `json:"futurehedgepl"  xorm:"FUTUREHEDGEPL"`                               // 期货实际损益
+	FUTUREHEDGEPLCHANGE float64   `json:"futurehedgeplchange"  xorm:"FUTUREHEDGEPLCHANGE"`                   // 期货实际变动 = 期货实际损益 - 期初期货实际损益
+	FUTUREPL            float64   `json:"futurepl"  xorm:"FUTUREPL"`                                         // 期货套期损益
+	FUTUREPLCHANGE      float64   `json:"futureplchange"  xorm:"FUTUREPLCHANGE"`                             // 期货套期变动 = 期货套期损益 - 期初期货套期损益
+	SPOTHEDGEPL         float64   `json:"spothedgepl"  xorm:"SPOTHEDGEPL"`                                   // 现货实际损益 =(执行市场均价-期初市场均价)*执行现货量 * 方向(销售计划 为 -1, 其它为1)
+	SPOTHEDGEPLCHANGE   float64   `json:"spothedgeplchange"  xorm:"SPOTHEDGEPLCHANGE"`                       // 现货实际变动 = 现货实际损益 - 期初现货实际损益
+	SPOTPL              float64   `json:"spotpl"  xorm:"SPOTPL"`                                             // 现货套期损益 = 现货实际损益 + 现货浮动损益
+	SPOTPLCHANGE        float64   `json:"spotplchange"  xorm:"SPOTPLCHANGE"`                                 // 现货套期变动 = 现货套期损益 - 期初现货套期损益
+	UNEXEQTY            float64   `json:"unexeqty"  xorm:"UNEXEQTY"`                                         // 未执行现货量 = 套期现货量 - 执行现货量
+	CURPRICE            float64   `json:"curprice"  xorm:"CURPRICE"`                                         // [当日现货市场价]当前市场价
+	PLANSTARTDATE       time.Time `json:"planstartdate"  xorm:"PLANSTARTDATE"`                               // 计划开始日期
+	PLANENDDATE         time.Time `json:"planenddate"  xorm:"PLANENDDATE"`                                   // 计划结束日期
+	ORISPOTHEDGEPL      float64   `json:"orispothedgepl"  xorm:"ORISPOTHEDGEPL"`                             // 期初现货实际损益
+	ORIFUTUREHEDGEPL    float64   `json:"orifuturehedgepl"  xorm:"ORIFUTUREHEDGEPL"`                         // 期初期货实际损益
+	ORISPOTPL           float64   `json:"orispotpl"  xorm:"ORISPOTPL"`                                       // 期初现货套期损益
+	ORIFUTUREPL         float64   `json:"orifuturepl"  xorm:"ORIFUTUREPL"`                                   // 期初期货套期损益
+
+	EnumdicName string `json:"enumdicname"  xorm:"'ENUMDICNAME'"` // 单位
+
+	USERID    int64  `form:"userid" binding:"required"`    // 用户ID
+	CYCLETYPE int32  `form:"cycletype" binding:"required"` // 周期类型 - 0:日 1:月 2:季 3:年 4:周 5:全报表【原值】
+	CYCLETIME string `form:"cycletime" binding:"required"` // 周期时间 日(YYYYMMDD) 月(YYYYMM) 季(YYYYQ) 年(YYYY) 周(YYYYMMDD周内任意一天) 全(0)【原值】
+}
+
+func (r *Ermcp8HedgeditemReport) calc() {
+
+}
+
+func (r *Ermcp8HedgeditemReport) buildSql() string {
+	if r.CYCLETYPE == 0 {
+		// 日
+		return r.buildReckonSql()
+	} else {
+		// 周、月
+		return r.buildReportSql()
+	}
+}
+
+func (r *Ermcp8HedgeditemReport) buildReckonSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT
+		t.HEDGEDTYPE,
+		t.TRADEUSERID,
+		t.AREAUSERID,
+		t.HEDGEDITEMSTATUS,
+		t.HEDGEDITEMNUM,
+		wr.WRSTANDARDID,
+		wr.WRSTANDARDCODE,
+		wr.WRSTANDARDNAME,
+		t.HEDGEQTY,
+		t.ORIAVGPRICE,
+		t.HEDGEAMOUNT,
+		t.EXEQTY,
+		t.EXEAVGPRICE,
+		t.EXEAMOUNT,
+		t.FUTUREHEDGEPL,
+		(t.FUTUREHEDGEPL - t.ORIFUTUREHEDGEPL) FUTUREHEDGEPLCHANGE,
+		t.FUTUREPL,
+		(t.FUTUREPL - t.ORIFUTUREPL) FUTUREPLCHANGE,
+		t.SPOTHEDGEPL,
+		(t.SPOTHEDGEPL - t.ORISPOTHEDGEPL) SPOTHEDGEPLCHANGE,
+		t.SPOTPL,
+		(t.SPOTPL - t.ORISPOTPL) SPOTPLCHANGE,
+		t.UNEXEQTY,
+		t.CURPRICE,
+		t.PLANSTARTDATE,
+		t.PLANENDDATE,
+		e.ENUMDICNAME
+	FROM Reckon_ERMCP2_HedgedItem t
+	LEFT JOIN WRStandard wr ON wr.WRStandardID = t.WRStandardID
+	LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
+	LEFT JOIN enumdicitem e on wr.unitid=e.enumitemname and e.enumdiccode='goodsunit'
+	WHERE (t.TRADEUSERID = %v OR t.AREAUSERID = %v)
+	`
+	sqlId.FormatParam(r.USERID, r.USERID)
+	sqlId.And("t.RECKONDATE", r.CYCLETIME)
+	sqlId.AndEx("t.HEDGEDTYPE", r.HEDGEDTYPE, r.HEDGEDTYPE > 0)
+	sqlId.AndEx("t.HEDGEDITEMSTATUS", r.HEDGEDITEMSTATUS, r.HEDGEDITEMSTATUS > 0)
+	sqlId.AndLike("t.HEDGEDITEMNUM", r.HEDGEDITEMNUM)
+	sqlId.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
+
+	return sqlId.String()
+}
+
+func (r *Ermcp8HedgeditemReport) buildReportSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT
+		t.HEDGEDTYPE,
+		t.TRADEUSERID,
+		t.AREAUSERID,
+		t.HEDGEDITEMSTATUS,
+		t.HEDGEDITEMNUM,
+		wr.WRSTANDARDID,
+		wr.WRSTANDARDCODE,
+		wr.WRSTANDARDNAME,
+		t.HEDGEQTY,
+		t.ORIAVGPRICE,
+		t.HEDGEAMOUNT,
+		t.EXEQTY,
+		t.EXEAVGPRICE,
+		t.EXEAMOUNT,
+		t.FUTUREHEDGEPL,
+		(t.FUTUREHEDGEPL - t.ORIFUTUREHEDGEPL) FUTUREHEDGEPLCHANGE,
+		t.FUTUREPL,
+		(t.FUTUREPL - t.ORIFUTUREPL) FUTUREPLCHANGE,
+		t.SPOTHEDGEPL,
+		(t.SPOTHEDGEPL - t.ORISPOTHEDGEPL) SPOTHEDGEPLCHANGE,
+		t.SPOTPL,
+		(t.SPOTPL - t.ORISPOTPL) SPOTPLCHANGE,
+		t.UNEXEQTY,
+		t.CURPRICE,
+		t.PLANSTARTDATE,
+		t.PLANENDDATE,
+		e.ENUMDICNAME
+	FROM REPORT_ERMCP2_HEDGEDITEM t
+	LEFT JOIN WRStandard wr ON wr.WRStandardID = t.WRStandardID
+	LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
+	LEFT JOIN enumdicitem e on wr.unitid=e.enumitemname and e.enumdiccode='goodsunit'
+	`
+	sqlId.And("t.RECKONDATE", r.CYCLETIME)
+	sqlId.And("t.TRADEUSERID", r.USERID)
+	sqlId.And("t.AREAUSERID", r.USERID)
+	sqlId.AndEx("t.HEDGEDTYPE", r.HEDGEDTYPE, r.HEDGEDTYPE > 0)
+	sqlId.AndEx("t.HEDGEDITEMSTATUS", r.HEDGEDITEMSTATUS, r.HEDGEDITEMSTATUS > 0)
+	sqlId.AndLike("t.HEDGEDITEMNUM", r.HEDGEDITEMNUM)
+	sqlId.AndEx("t.WRSTANDARDID", r.WRSTANDARDID, r.WRSTANDARDID > 0)
+
+	return sqlId.String()
+}
+
+// GetDataEx 从数据库中查询数据
+func (r *Ermcp8HedgeditemReport) GetDataEx() (interface{}, error) {
+	e := db.GetEngine()
+	s := e.SQL(r.buildSql())
+	sData := make([]InternalEnableTradeDetail, 0)
+	if err := s.Find(&sData); err != nil {
+		return nil, err
+	}
+	for i := range sData {
+		sData[i].calc()
+	}
+	return sData, nil
+}