zhou.xiaoning 3 лет назад
Родитель
Сommit
ee3b9ae39c
4 измененных файлов с 27 добавлено и 16 удалено
  1. 5 1
      docs/docs.go
  2. 5 1
      docs/swagger.json
  3. 4 1
      docs/swagger.yaml
  4. 13 13
      models/ermcp8.go

+ 5 - 1
docs/docs.go

@@ -21363,7 +21363,7 @@ var doc = `{
                     "type": "integer"
                 },
                 "createtime": {
-                    "description": "创建时间",
+                    "description": "[日期时间]创建时间",
                     "type": "string"
                 },
                 "customeruserid": {
@@ -21394,6 +21394,10 @@ var doc = `{
                     "description": "计划编号",
                     "type": "string"
                 },
+                "middlegoodschange": {
+                    "description": "套期商品变化量 = RELATEDQTY * 折算系数 * (1/(1+增值税))",
+                    "type": "number"
+                },
                 "oriavgprice": {
                     "description": "期初市场价[当初市场价]",
                     "type": "number"

+ 5 - 1
docs/swagger.json

@@ -21347,7 +21347,7 @@
                     "type": "integer"
                 },
                 "createtime": {
-                    "description": "创建时间",
+                    "description": "[日期时间]创建时间",
                     "type": "string"
                 },
                 "customeruserid": {
@@ -21378,6 +21378,10 @@
                     "description": "计划编号",
                     "type": "string"
                 },
+                "middlegoodschange": {
+                    "description": "套期商品变化量 = RELATEDQTY * 折算系数 * (1/(1+增值税))",
+                    "type": "number"
+                },
                 "oriavgprice": {
                     "description": "期初市场价[当初市场价]",
                     "type": "number"

+ 4 - 1
docs/swagger.yaml

@@ -4265,7 +4265,7 @@ definitions:
         description: 企业ID
         type: integer
       createtime:
-        description: 创建时间
+        description: '[日期时间]创建时间'
         type: string
       customeruserid:
         description: 对手方 【3:采购合同 4:销售合同】
@@ -4288,6 +4288,9 @@ definitions:
       hedgeplanno:
         description: 计划编号
         type: string
+      middlegoodschange:
+        description: 套期商品变化量 = RELATEDQTY * 折算系数 * (1/(1+增值税))
+        type: number
       oriavgprice:
         description: 期初市场价[当初市场价]
         type: number

+ 13 - 13
models/ermcp8.go

@@ -1768,15 +1768,16 @@ type Ermcp2hedgeditemsDetail struct {
 	RELATEDAMOUNT         float64 `json:"relatedamount"  xorm:"RELATEDAMOUNT"`                 // 市价总额 = 关联数量 * 期初市场价
 	SPOTPRICEDAMOUNT      float64 `json:"spotpricedamount"  xorm:"SPOTPRICEDAMOUNT"`           // 定价总额
 	SPOTPRICEDAVGPRICE    float64 `json:"spotpricedavgprice"  xorm:"SPOTPRICEDAVGPRICE"`       // 现货均价 = 定价总额 / 关联数量
-	CREATETIME            string  `json:"createtime"  xorm:"CREATETIME"`                       // 创建时间
+	CREATETIME            string  `json:"createtime"  xorm:"CREATETIME"`                       // [日期时间]创建时间
 	TRADEUSERID           int64   `json:"tradeuserid"  xorm:"TRADEUSERID"`                     // 交易用户ID
 	AREAUSERID            int64   `json:"areauserid"  xorm:"AREAUSERID"`                       // 企业ID
 
-	Wrstandardname string  `json:"wrstandardname" xorm:"WRSTANDARDNAME"` // 现货商品
-	EnumdicName    string  `json:"enumdicname"  xorm:"ENUMDICNAME"`      // 单位
-	Hedgeplanno    string  `json:"hedgeplanno"  xorm:"HEDGEPLANNO"`      // 计划编号
-	UNEXEQTY       float64 `json:"unexeqty"  xorm:"UNEXEQTY"`            // 未执行现货量 = 套期现货量 - 执行现货量
-	AccountName    string  `json:"accountname" xorm:"ACCOUNTNAME"`       // 套期主体
+	Wrstandardname    string  `json:"wrstandardname" xorm:"WRSTANDARDNAME"`       // 现货商品
+	EnumdicName       string  `json:"enumdicname"  xorm:"ENUMDICNAME"`            // 单位
+	Hedgeplanno       string  `json:"hedgeplanno"  xorm:"HEDGEPLANNO"`            // 计划编号
+	UNEXEQTY          float64 `json:"unexeqty"  xorm:"UNEXEQTY"`                  // 未执行现货量 = 套期现货量 - 执行现货量
+	AccountName       string  `json:"accountname" xorm:"ACCOUNTNAME"`             // 套期主体
+	MiddleGoodsChange float64 `json:"middlegoodschange" xorm:"MIDDLEGOODSCHANGE"` // 套期商品变化量 = RELATEDQTY * 折算系数 * (1/(1+增值税))
 
 	USERID        int64 `json:"-" form:"userid"`        // 用户ID
 	MIDDLEGOODSID int64 `json:"-" form:"middlegoodsid"` // 套保品种ID
@@ -1788,7 +1789,7 @@ func (r *Ermcp2hedgeditemsDetail) calc() {
 
 func (r *Ermcp2hedgeditemsDetail) buildSql() string {
 	var sqlId utils.SQLVal = `
-		SELECT 
+		SELECT DISTINCT
 			to_char(t.CREATETIME, 'yyyy-mm-dd hh24:mi:ss') CREATETIME,
 			t.SPOTTYPE,
 			wr.WRSTANDARDNAME,
@@ -1796,8 +1797,11 @@ func (r *Ermcp2hedgeditemsDetail) buildSql() string {
 			h.UNEXEQTY,
 			t.RELATEDQTY,
 			s.HEDGEPLANNO,
-			u.ACCOUNTNAME
+			u.ACCOUNTNAME,
+			(t.RELATEDQTY * c.CONVERTRATIO * (1/(1 + wr.VATRATE))) MIDDLEGOODSCHANGE
 		FROM ERMCP2_HEDGEDITEMSPOT t
+		LEFT JOIN ERMS2_WRSConvertDetail c ON c.WRStandardID = t.WRStandardID
+		LEFT JOIN ERMS_MiddleGoods mg ON mg.MiddleGoodsID = c.MiddleGoodsID
 		LEFT JOIN WRStandard wr ON wr.wrstandardid = t.wrstandardid
 		LEFT JOIN enumdicitem e on wr.unitid=e.enumitemname and e.enumdiccode='goodsunit'
 		LEFT JOIN ermcp_hedgeplan s ON s.HedgePlanID = t.RELATEDHEDGEPLANID
@@ -1805,11 +1809,7 @@ func (r *Ermcp2hedgeditemsDetail) buildSql() string {
 		LEFT JOIN useraccount u ON u.userid = t.TRADEUSERID
 		WHERE t.SpotType IN (1,2) 
 			AND t.areauserid = %v 
-			AND t.wrstandardid 
-				IN (SELECT 
-						wrc.wrstandardid 
-					FROM ERMS2_WRSConvertDetail wrc 
-					WHERE wrc.middlegoodsid = %v)
+			AND mg.MiddleGoodsID = %v
 	`
 	sqlId.FormatParam(r.USERID, r.MIDDLEGOODSID)