zhangqian
2024-04-29 8b6e1e99dfbfe9c5324ba161cfbd742cd5dd5499
controllers/fineness.go
@@ -3,6 +3,7 @@
import (
   "errors"
   "github.com/gin-gonic/gin"
   "github.com/shopspring/decimal"
   "gorm.io/gorm"
   "silkserver/controllers/request"
   "silkserver/controllers/response"
@@ -13,6 +14,7 @@
   "silkserver/pkg/logx"
   "silkserver/pkg/structx"
   "silkserver/service"
   "strings"
)
type FinenessController struct{}
@@ -39,7 +41,15 @@
      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
@@ -47,12 +57,7 @@
   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
   }
@@ -72,6 +77,7 @@
   })
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "保存失败")
      return
   }
   err = service.FinenessCheck(&params, silkStandard, endCarMap, isNew)
@@ -85,6 +91,29 @@
}
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 {
@@ -301,6 +330,11 @@
      return
   }
   if params.FinenessRegisterID == 0 {
      util.ResponseFormat(c, code.RequestParamError, "参数缺失")
      return
   }
   err = service.FinenessReCheck(&params)
   if err != nil {
      logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params)