| | |
| | | import ( |
| | | "errors" |
| | | "github.com/gin-gonic/gin" |
| | | "github.com/shopspring/decimal" |
| | | "gorm.io/gorm" |
| | | "silkserver/controllers/request" |
| | | "silkserver/controllers/response" |
| | |
| | | "silkserver/pkg/logx" |
| | | "silkserver/pkg/structx" |
| | | "silkserver/service" |
| | | "strings" |
| | | ) |
| | | |
| | | type FinenessController struct{} |
| | |
| | | return |
| | | } |
| | | |
| | | silkStandard, err := service.GetSilkRankStandard() |
| | | if err := slf.ParamsCheck(params); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | return |
| | | } |
| | | |
| | | specArr := strings.Split(params.Spec, "/") |
| | | start, _ := decimal.NewFromString(specArr[0]) |
| | | end, _ := decimal.NewFromString(specArr[1]) |
| | | silkStandard, err := service.GetSilkRankStandard(start, end) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | return |
| | |
| | | |
| | | endCarMap, err := service.GetWorkshopEndCarMap(params.WorkshopNumber, params.WorkshopGroup) |
| | | if len(endCarMap) == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "请对该车间和车组进行车号设置") |
| | | return |
| | | } |
| | | |
| | | if err := slf.ParamsCheck(params); err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, err.Error()) |
| | | util.ResponseFormat(c, code.RequestParamError, "该车间未配置车号,请在车间管理中配置!") |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "保存失败") |
| | | return |
| | | } |
| | | |
| | | err = service.FinenessCheck(¶ms, silkStandard, endCarMap, isNew) |
| | |
| | | } |
| | | |
| | | func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) { |
| | | if params.Spec == "" || !strings.Contains(params.Spec, "/") { |
| | | return errors.New("规格格式不正确") |
| | | } |
| | | |
| | | specArr := strings.Split(params.Spec, "/") |
| | | |
| | | _, err = decimal.NewFromString(specArr[0]) |
| | | if err != nil { |
| | | return errors.New("规格格式不正确") |
| | | } |
| | | _, err = decimal.NewFromString(specArr[1]) |
| | | if err != nil { |
| | | return errors.New("规格格式不正确") |
| | | } |
| | | |
| | | if params.WorkshopNumber == "" || params.WorkshopGroup == 0 { |
| | | return errors.New("车间车组参数缺失") |
| | | } |
| | | |
| | | if len(params.FinenessList) == 0 { |
| | | return errors.New("纤度列表缺失") |
| | | } |
| | | |
| | | if params.ID == 0 { |
| | | _, err = models.NewFinenessRegisterSearch().SetNumber(params.Number).First() |
| | | if err != gorm.ErrRecordNotFound { |
| | |
| | | return |
| | | } |
| | | |
| | | if params.FinenessRegisterID == 0 { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数缺失") |
| | | return |
| | | } |
| | | |
| | | err = service.FinenessReCheck(¶ms) |
| | | if err != nil { |
| | | logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params) |