| | |
| | | // @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") |
| | |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, info) |
| | | util.ResponseFormat(c, code.Success, resp) |
| | | } |
| | | |
| | | // CheckDelete |
| | |
| | | // @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(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | if err := structx.AssignTo(reqParams, ¶ms); 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(¶ms) |
| | | } else { |
| | | return search.Create(¶ms) |
| | | } |
| | | }) |
| | | err = service.FinenessReCheck(¶ms) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | | } |
| | | |
| | | err = service.FinenessCheck(¶ms) |
| | | 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(¶ms) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.Success, "保存成功") |
| | | } |
| | |
| | | "in": "body", |
| | | "required": true, |
| | | "schema": { |
| | | "$ref": "#/definitions/request.AddFinenessRegister" |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | } |
| | | } |
| | | ], |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | "$ref": "#/definitions/response.FinenessCheckInfo" |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessRoundingItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "fineness": { |
| | | "description": "纤度", |
| | | "type": "number" |
| | | }, |
| | | "quantity": { |
| | | "description": "数量", |
| | | "type": "integer" |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | "response.FinenessCheckInfo": { |
| | | "type": "object", |
| | | "properties": { |
| | | "info": { |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | }, |
| | | "items": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessCheckItem" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response.RankStandard": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | "in": "body", |
| | | "required": true, |
| | | "schema": { |
| | | "$ref": "#/definitions/request.AddFinenessRegister" |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | } |
| | | } |
| | | ], |
| | |
| | | "type": "object", |
| | | "properties": { |
| | | "data": { |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | "$ref": "#/definitions/response.FinenessCheckInfo" |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | "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": { |
| | |
| | | }, |
| | | "workshopGroup": { |
| | | "description": "车组", |
| | | "type": "integer" |
| | | } |
| | | } |
| | | }, |
| | | "models.FinenessRoundingItem": { |
| | | "type": "object", |
| | | "properties": { |
| | | "fineness": { |
| | | "description": "纤度", |
| | | "type": "number" |
| | | }, |
| | | "quantity": { |
| | | "description": "数量", |
| | | "type": "integer" |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | "response.FinenessCheckInfo": { |
| | | "type": "object", |
| | | "properties": { |
| | | "info": { |
| | | "$ref": "#/definitions/models.FinenessCheck" |
| | | }, |
| | | "items": { |
| | | "type": "array", |
| | | "items": { |
| | | "$ref": "#/definitions/models.FinenessCheckItem" |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | "response.RankStandard": { |
| | | "type": "object", |
| | | "properties": { |
| | |
| | | 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: |
| | |
| | | type: string |
| | | workshopGroup: |
| | | description: 车组 |
| | | type: integer |
| | | type: object |
| | | models.FinenessRoundingItem: |
| | | properties: |
| | | fineness: |
| | | description: 纤度 |
| | | type: number |
| | | quantity: |
| | | description: 数量 |
| | | type: integer |
| | | type: object |
| | | models.RawSilkPriceStandard: |
| | |
| | | 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: |
| | |
| | | name: object |
| | | required: true |
| | | schema: |
| | | $ref: '#/definitions/request.AddFinenessRegister' |
| | | $ref: '#/definitions/models.FinenessCheck' |
| | | produces: |
| | | - application/json |
| | | responses: |
| | |
| | | - $ref: '#/definitions/util.ResponseList' |
| | | - properties: |
| | | data: |
| | | $ref: '#/definitions/models.FinenessCheck' |
| | | $ref: '#/definitions/response.FinenessCheckInfo' |
| | | type: object |
| | | summary: 纤度检验详情 |
| | | tags: |
| | |
| | | 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"` //总差 |
| | |
| | | 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 |
| | | } |