zhangqian
2024-04-08 2555d29866a25b8ea13a3003ea4833b5fd464d91
纤度检验接口完善
6个文件已修改
310 ■■■■ 已修改文件
controllers/fineness.go 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/docs.go 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.json 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
docs/swagger.yaml 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/fineness_check_item.go 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/fineness.go 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/fineness.go
@@ -194,7 +194,7 @@
// @Summary   纤度检验详情
// @Produce   application/json
// @Param     id  path string true  "字典信息"
// @Success   200 {object} util.ResponseList{data=models.FinenessCheck} "成功"
// @Success   200 {object} util.ResponseList{data=response.FinenessCheckInfo} "成功"
// @Router    /api-jl/v1/fineness/check/{id} [get]
func (slf FinenessController) CheckInfo(c *gin.Context) {
    idStr := c.Param("id")
@@ -222,7 +222,7 @@
        return
    }
    util.ResponseFormat(c, code.Success, info)
    util.ResponseFormat(c, code.Success, resp)
}
// CheckDelete
@@ -270,54 +270,33 @@
// @Tags      纤度检验
// @Summary   纤度检验修改
// @Produce   application/json
// @Param     object  body  request.AddFinenessRegister true  "字典信息"
// @Param     object  body   models.FinenessCheck true  "字典信息"
// @Success   200 {object} util.Response "成功"
// @Router    /api-jl/v1/fineness/check [post]
func (slf FinenessController) CheckEdit(c *gin.Context) {
    var reqParams request.AddFinenessRegister
    var params models.FinenessRegister
    if err := c.BindJSON(&reqParams); err != nil {
    var params models.FinenessCheck
    if err := c.BindJSON(&params); err != nil {
        util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
        return
    }
    if err := structx.AssignTo(reqParams, &params); err != nil {
        util.ResponseFormat(c, code.RequestParamError, "数据转换错误")
        return
    }
    if err := slf.ParamsCheck(params); err != nil {
        util.ResponseFormat(c, code.RequestParamError, err.Error())
        return
    }
    check, err := models.NewFinenessCheckSearch().SetID(params.ID).First()
    _, err := models.NewFinenessCheckSearch().SetID(params.ID).First()
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "检验记录不存在")
        return
    }
    err = models.WithTransaction(func(db *gorm.DB) error {
        search := models.NewFinenessRegisterSearch().SetOrm(db)
        if params.ID != 0 {
            if err := models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(check.FinenessRegisterID).Delete(); err != nil {
                return err
            }
            return search.Save(&params)
        } else {
            return search.Create(&params)
        }
    })
    err = service.FinenessReCheck(&params)
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "保存失败")
    }
    err = service.FinenessCheck(&params)
    if err != nil {
        logx.Errorf("service.FinenessCheck err:%v, finenessRegister:%+v", err, params)
        util.ResponseFormat(c, code.RequestParamError, "生成检验表失败")
        logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params)
        util.ResponseFormat(c, code.RequestParamError, "检验失败")
        return
    }
    err = models.NewFinenessCheckSearch().Save(&params)
    if err != nil {
        util.ResponseFormat(c, code.RequestParamError, "保存失败")
        return
    }
    util.ResponseFormat(c, code.Success, "保存成功")
}
docs/docs.go
@@ -83,7 +83,7 @@
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddFinenessRegister"
                            "$ref": "#/definitions/models.FinenessCheck"
                        }
                    }
                ],
@@ -127,7 +127,7 @@
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/models.FinenessCheck"
                                            "$ref": "#/definitions/response.FinenessCheckInfo"
                                        }
                                    }
                                }
@@ -956,6 +956,66 @@
                }
            }
        },
        "models.FinenessCheckItem": {
            "type": "object",
            "properties": {
                "cleanliness": {
                    "description": "清洁度",
                    "type": "number"
                },
                "createdAt": {
                    "type": "string"
                },
                "deletedAt": {
                    "$ref": "#/definitions/gorm.DeletedAt"
                },
                "deviation": {
                    "description": "偏差",
                    "type": "number"
                },
                "finenessGrade": {
                    "description": "纤度等级",
                    "type": "string"
                },
                "finenessRegisterID": {
                    "description": "纤度登记表ID",
                    "type": "integer"
                },
                "finenessRoundingItems": {
                    "description": "纤度列表",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.FinenessRoundingItem"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "position": {
                    "description": "FinenessCheckID       uint                    ` + "`" + `gorm:\"not null;comment:纤度检验表ID\" json:\"finenessCheckID\"` + "`" + `    //纤度检验表ID",
                    "type": "integer"
                },
                "purity": {
                    "description": "洁净度",
                    "type": "number"
                },
                "remark": {
                    "description": "备注",
                    "type": "string"
                },
                "totalDeviation": {
                    "description": "总差",
                    "type": "number"
                },
                "twiceChange": {
                    "description": "二度变化",
                    "type": "number"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "models.FinenessItem": {
            "type": "object",
            "properties": {
@@ -1049,6 +1109,19 @@
                },
                "workshopGroup": {
                    "description": "车组",
                    "type": "integer"
                }
            }
        },
        "models.FinenessRoundingItem": {
            "type": "object",
            "properties": {
                "fineness": {
                    "description": "纤度",
                    "type": "number"
                },
                "quantity": {
                    "description": "数量",
                    "type": "integer"
                }
            }
@@ -1338,6 +1411,20 @@
                }
            }
        },
        "response.FinenessCheckInfo": {
            "type": "object",
            "properties": {
                "info": {
                    "$ref": "#/definitions/models.FinenessCheck"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.FinenessCheckItem"
                    }
                }
            }
        },
        "response.RankStandard": {
            "type": "object",
            "properties": {
docs/swagger.json
@@ -71,7 +71,7 @@
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AddFinenessRegister"
                            "$ref": "#/definitions/models.FinenessCheck"
                        }
                    }
                ],
@@ -115,7 +115,7 @@
                                    "type": "object",
                                    "properties": {
                                        "data": {
                                            "$ref": "#/definitions/models.FinenessCheck"
                                            "$ref": "#/definitions/response.FinenessCheckInfo"
                                        }
                                    }
                                }
@@ -944,6 +944,66 @@
                }
            }
        },
        "models.FinenessCheckItem": {
            "type": "object",
            "properties": {
                "cleanliness": {
                    "description": "清洁度",
                    "type": "number"
                },
                "createdAt": {
                    "type": "string"
                },
                "deletedAt": {
                    "$ref": "#/definitions/gorm.DeletedAt"
                },
                "deviation": {
                    "description": "偏差",
                    "type": "number"
                },
                "finenessGrade": {
                    "description": "纤度等级",
                    "type": "string"
                },
                "finenessRegisterID": {
                    "description": "纤度登记表ID",
                    "type": "integer"
                },
                "finenessRoundingItems": {
                    "description": "纤度列表",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.FinenessRoundingItem"
                    }
                },
                "id": {
                    "type": "integer"
                },
                "position": {
                    "description": "FinenessCheckID       uint                    `gorm:\"not null;comment:纤度检验表ID\" json:\"finenessCheckID\"`    //纤度检验表ID",
                    "type": "integer"
                },
                "purity": {
                    "description": "洁净度",
                    "type": "number"
                },
                "remark": {
                    "description": "备注",
                    "type": "string"
                },
                "totalDeviation": {
                    "description": "总差",
                    "type": "number"
                },
                "twiceChange": {
                    "description": "二度变化",
                    "type": "number"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "models.FinenessItem": {
            "type": "object",
            "properties": {
@@ -1037,6 +1097,19 @@
                },
                "workshopGroup": {
                    "description": "车组",
                    "type": "integer"
                }
            }
        },
        "models.FinenessRoundingItem": {
            "type": "object",
            "properties": {
                "fineness": {
                    "description": "纤度",
                    "type": "number"
                },
                "quantity": {
                    "description": "数量",
                    "type": "integer"
                }
            }
@@ -1326,6 +1399,20 @@
                }
            }
        },
        "response.FinenessCheckInfo": {
            "type": "object",
            "properties": {
                "info": {
                    "$ref": "#/definitions/models.FinenessCheck"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/models.FinenessCheckItem"
                    }
                }
            }
        },
        "response.RankStandard": {
            "type": "object",
            "properties": {
docs/swagger.yaml
@@ -130,6 +130,50 @@
      updatedAt:
        type: string
    type: object
  models.FinenessCheckItem:
    properties:
      cleanliness:
        description: 清洁度
        type: number
      createdAt:
        type: string
      deletedAt:
        $ref: '#/definitions/gorm.DeletedAt'
      deviation:
        description: 偏差
        type: number
      finenessGrade:
        description: 纤度等级
        type: string
      finenessRegisterID:
        description: 纤度登记表ID
        type: integer
      finenessRoundingItems:
        description: 纤度列表
        items:
          $ref: '#/definitions/models.FinenessRoundingItem'
        type: array
      id:
        type: integer
      position:
        description: FinenessCheckID       uint                    `gorm:"not null;comment:纤度检验表ID"
          json:"finenessCheckID"`    //纤度检验表ID
        type: integer
      purity:
        description: 洁净度
        type: number
      remark:
        description: 备注
        type: string
      totalDeviation:
        description: 总差
        type: number
      twiceChange:
        description: 二度变化
        type: number
      updatedAt:
        type: string
    type: object
  models.FinenessItem:
    properties:
      createdAt:
@@ -196,6 +240,15 @@
        type: string
      workshopGroup:
        description: 车组
        type: integer
    type: object
  models.FinenessRoundingItem:
    properties:
      fineness:
        description: 纤度
        type: number
      quantity:
        description: 数量
        type: integer
    type: object
  models.RawSilkPriceStandard:
@@ -392,6 +445,15 @@
        description: 等级值
        type: number
    type: object
  response.FinenessCheckInfo:
    properties:
      info:
        $ref: '#/definitions/models.FinenessCheck'
      items:
        items:
          $ref: '#/definitions/models.FinenessCheckItem'
        type: array
    type: object
  response.RankStandard:
    properties:
      checkItem:
@@ -483,7 +545,7 @@
        name: object
        required: true
        schema:
          $ref: '#/definitions/request.AddFinenessRegister'
          $ref: '#/definitions/models.FinenessCheck'
      produces:
      - application/json
      responses:
@@ -529,7 +591,7 @@
            - $ref: '#/definitions/util.ResponseList'
            - properties:
                data:
                  $ref: '#/definitions/models.FinenessCheck'
                  $ref: '#/definitions/response.FinenessCheckInfo'
              type: object
      summary: 纤度检验详情
      tags:
models/fineness_check_item.go
@@ -14,8 +14,8 @@
        gorm.Model
        FinenessRegisterID uint `gorm:"not null;comment:纤度登记表ID" json:"finenessRegisterID"` //纤度登记表ID
        //FinenessCheckID       uint                    `gorm:"not null;comment:纤度检验表ID" json:"finenessCheckID"`    //纤度检验表ID
        Position              int                     `json:"position"` //车号
        FinenessRoundingItems []*FinenessRoundingItem `json:"finenessRoundingItems" gorm:"-"`
        Position              int                     `json:"position"`                       //车号
        FinenessRoundingItems []*FinenessRoundingItem `json:"finenessRoundingItems" gorm:"-"` //纤度列表
        FinenessRounding      string                  `json:"-"`
        Deviation             decimal.Decimal         `gorm:"type:decimal(12,2);not null;comment:偏差" json:"deviation"`        //偏差
        TotalDeviation        decimal.Decimal         `gorm:"type:decimal(12,2);not null;comment:总差" json:"totalDeviation"`   //总差
service/fineness.go
@@ -202,3 +202,12 @@
    result = float32(math.Round(float64(result)*10) / 10)
    return result
}
func FinenessReCheck(finenessCheck *models.FinenessCheck) (err error) {
    standardMap, err := GetSilkRankStandard()
    if err != nil {
        return err
    }
    finenessCheck.FinenessGrade = CalcFinenessGrade(finenessCheck.Deviation, finenessCheck.TotalDeviation, finenessCheck.Cleanliness, finenessCheck.Purity, finenessCheck.TwiceChange, standardMap)
    return
}