zhangqian
2024-04-09 4f9f21d3c72d724f3cf41939e4d48a46de0848d8
service/fineness.go
@@ -10,7 +10,7 @@
   "sort"
)
func FinenessCheck(finenessRegister *models.FinenessRegister) (err error) {
func FinenessCheck(finenessRegister *models.FinenessRegister, isNew bool) (err error) {
   standardMap, err := GetSilkRankStandard()
   if err != nil {
      return err
@@ -88,11 +88,28 @@
   finenessCheck.FinenessGrade = CalcFinenessGrade(finenessCheck.Deviation, finenessCheck.TotalDeviation, finenessCheck.Cleanliness, finenessCheck.Purity, finenessCheck.TwiceChange, standardMap)
   err = models.WithTransaction(func(db *gorm.DB) error {
      if !isNew {
         err = models.NewFinenessCheckSearch().SetOrm(db).SetFinenessRegisterID(finenessRegister.ID).Delete()
         if err != nil {
            return err
         }
         err = models.NewFinenessCheckItemSearch().SetOrm(db).SetFinenessRegisterID(finenessRegister.ID).Delete()
         if err != nil {
            return err
         }
      }
      err := models.NewFinenessCheckSearch().SetOrm(db).Create(&finenessCheck)
      if err != nil {
         return err
      }
      return models.NewFinenessCheckItemSearch().SetOrm(db).CreateBatch(finenessCheckItems)
      for _, v := range finenessCheckItems {
         v.FinenessCheckID = finenessCheck.ID
      }
      err = models.NewFinenessCheckItemSearch().SetOrm(db).CreateBatch(finenessCheckItems)
      if err != nil {
         return err
      }
      return models.NewFinenessRegisterSearch().SetOrm(db).SetID(finenessRegister.ID).UpdateByMap(map[string]interface{}{"fineness_check_id": finenessCheck.ID})
   })
   return err
}