liujiandao
2024-01-03 3f5aa5f14c56e55a05902c7e3b9b112eb23ee80d
采购类型修改
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
    })