zhangqian
2024-01-12 5f521ff775bb10e4aad58eb5e11beca33bab5540
Merge branch 'master' of http://192.168.5.5:10010/r/aps/SRM
1个文件已修改
22 ■■■■ 已修改文件
service/purchase/purchase.go 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
    })