liujiandao
2024-01-03 3f5aa5f14c56e55a05902c7e3b9b112eb23ee80d
service/purchase/purchase.go
@@ -258,33 +258,21 @@
func (slf *PurchaseService) SavePurchaseType(list []*purchase.PurchaseType) (err error) {
   ids := make([]uint, 0)
   newRecords := make([]*purchase.PurchaseType, 0)
   for _, item := range list {
      if item.ID != 0 {
         ids = append(ids, item.ID)
      } else {
         newRecords = append(newRecords, item)
         item.ID = 0
      }
   }
   err = global.GVA_DB.Transaction(func(tx *gorm.DB) error {
      err = tx.Where("id not in ?", ids).Delete(&purchase.PurchaseType{}).Error
      err = tx.Where("id in (?)", ids).Delete(&purchase.PurchaseType{}).Error
      if err != nil {
         return err
      }
      if len(newRecords) > 0 {
         err = tx.Create(newRecords).Error
         if err != nil {
            return err
         }
      }
      for _, item := range list {
         if item.ID != 0 {
            err = tx.Where("id = ?", item.ID).Updates(item).Error
            if err != nil {
               return err
            }
         }
      err = tx.Create(list).Error
      if err != nil {
         return err
      }
      return nil
   })
@@ -297,3 +285,9 @@
   err = db.Order("pin desc, sort desc, id asc").Find(&list).Error
   return list, err
}
func (slf *PurchaseService) MaxAutoIncr() (int, error) {
   var total int64
   err := global.GVA_DB.Model(&purchase.Purchase{}).Count(&total).Error
   return int(total), err
}