| | |
| | | err = models.WithTransaction(func(db *gorm.DB) error { |
| | | search := models.NewFinenessRegisterSearch().SetOrm(db) |
| | | |
| | | if !isNew { |
| | | if !isNew { // id不为空 |
| | | if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(params.ID).Delete(); err != nil { |
| | | return err |
| | | } |
| | | return search.Save(¶ms) |
| | | } else { |
| | | return search.Create(¶ms) |
| | | } |
| | | return search.Create(¶ms) |
| | | }) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, "保存成功") |
| | | util.ResponseFormat(c, code.Success, params) |
| | | } |
| | | |
| | | func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { |
| | |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | |
| | | err := models.NewFinenessRegisterSearch().SetID(id).Delete() |
| | | err := models.WithTransaction(func(db *gorm.DB) error { |
| | | if err := models.NewFinenessItemSearch().SetOrm(db).SetFinenessRegisterID(id).Delete(); err != nil { |
| | | return err |
| | | } |
| | | return models.NewFinenessRegisterSearch().SetOrm(db).SetID(id).Delete() |
| | | }) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.UpdateSuccess, "删除成功") |
| | | } |
| | | |
| | |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验详情 |
| | | // @Produce application/json |
| | | // @Param id path string true "字典信息" |
| | | // @Param id path string true "纤度检验ID" |
| | | // @Success 200 {object} util.ResponseList{data=response.FinenessCheckInfo} "成功" |
| | | // @Router /api-jl/v1/fineness/check/{id} [get] |
| | | func (slf FinenessController) CheckInfo(c *gin.Context) { |
| | |
| | | resp.Items, err = models.NewFinenessCheckItemSearch().SetFinenessRegisterID(info.FinenessRegisterID).FindAll() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "查找失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.Success, resp) |
| | | } |
| | | |
| | | // CheckInfoByFinenessID |
| | | // @Tags 纤度检验 |
| | | // @Summary 根据纤度登记ID获取纤度检验详情 |
| | | // @Produce application/json |
| | | // @Param id path string true "纤度登记ID" |
| | | // @Success 200 {object} util.ResponseList{data=response.FinenessCheckInfo} "成功" |
| | | // @Router /api-jl/v1/fineness/checkFinenessID/{id} [get] |
| | | func (slf FinenessController) CheckInfoByFinenessID(c *gin.Context) { |
| | | idStr := c.Param("id") |
| | | if idStr == "0" || idStr == "" { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | |
| | | id := convertx.StringToUInt(idStr) |
| | | if id == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "空的记录id") |
| | | return |
| | | } |
| | | |
| | | info, err := models.NewFinenessCheckSearch().SetFinenessRegisterID(id).SetPreload().First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "检查表查找失败") |
| | | return |
| | | } |
| | | resp := new(response.FinenessCheckInfo) |
| | | resp.Info = info |
| | | resp.Items, err = models.NewFinenessCheckItemSearch().SetFinenessRegisterID(info.FinenessRegisterID).FindAll() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "检查详情表查找失败") |
| | | return |
| | | } |
| | | |
| | |
| | | // @Tags 纤度检验 |
| | | // @Summary 纤度检验修改 |
| | | // @Produce application/json |
| | | // @Param object body models.FinenessCheck true "字典信息" |
| | | // @Param object body response.FinenessCheckInfo true "参数" |
| | | // @Param Authorization header string true "token" |
| | | // @Success 200 {object} util.Response "成功" |
| | | // @Router /api-jl/v1/fineness/check [post] |
| | | // @Router /api-jl/v1/fineness/check [PUT] |
| | | func (slf FinenessController) CheckEdit(c *gin.Context) { |
| | | var params models.FinenessCheck |
| | | var params response.FinenessCheckInfo |
| | | if err := c.BindJSON(¶ms); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误") |
| | | return |
| | | } |
| | | |
| | | _, err := models.NewFinenessCheckSearch().SetID(params.ID).First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "检验记录不存在") |
| | | return |
| | | } |
| | | |
| | | if params.FinenessRegisterID == 0 { |
| | | if params.Info == nil || params.Info.FinenessRegisterID == 0 || len(params.Items) == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数缺失") |
| | | return |
| | | } |
| | | |
| | | err = service.FinenessReCheck(¶ms) |
| | | _, err := models.NewFinenessCheckSearch().SetID(params.Info.ID).First() |
| | | if err != nil { |
| | | logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params) |
| | | util.ResponseFormat(c, code.RequestParamError, "检验失败") |
| | | util.ResponseFormat(c, code.RequestParamError, "检验记录不存在") |
| | | return |
| | | } |
| | | check := params.Info |
| | | finenessRegister, err := models.NewFinenessRegisterSearch().SetID(check.FinenessRegisterID).First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "纤度登记不存在") |
| | | return |
| | | } |
| | | specArr := strings.Split(finenessRegister.Spec, "/") |
| | | start, _ := decimal.NewFromString(specArr[0]) |
| | | end, _ := decimal.NewFromString(specArr[1]) |
| | | standardMap, err := service.GetSilkRankStandard(start, end) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | return |
| | | } |
| | | check.FinenessGrade = service.CalcFinenessGrade(check.Deviation, check.TotalDeviation, check.Cleanliness, check.Purity, check.TwiceChange, standardMap) |
| | | |
| | | items := params.Items |
| | | |
| | | for _, item := range items { |
| | | if item.FinenessGrade != "" { |
| | | item.FinenessGrade = service.CalcFinenessGrade(item.Deviation, item.TotalDeviation, item.Cleanliness, item.Purity, item.TwiceChange, standardMap) |
| | | } |
| | | } |
| | | |
| | | err = models.WithTransaction(func(db *gorm.DB) error { |
| | | err = models.NewFinenessCheckSearch().SetOrm(db).Save(params.Info) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | |
| | | for _, item := range items { |
| | | if item.FinenessGrade == "" { |
| | | continue |
| | | } |
| | | err = models.NewFinenessCheckItemSearch().SetOrm(db).SetID(item.ID).UpdateByMap(map[string]interface{}{"fineness_grade": item.FinenessGrade}) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | } |
| | | return nil |
| | | }) |
| | | |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.SaveFail, "保存失败") |
| | | return |
| | | } |
| | | |
| | | err = models.NewFinenessCheckSearch().Save(¶ms) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | | return |
| | | } |
| | | util.ResponseFormat(c, code.Success, "保存成功") |
| | | } |