| | |
| | | return |
| | | } |
| | | params.LocationId = locationId |
| | | if err := models.NewWarehouseSearch().Create(¶ms); err != nil { |
| | | err = models.WithTransaction(func(tx *gorm.DB) error { |
| | | err := models.NewWarehouseSearch().SetOrm(tx).Create(¶ms) |
| | | if err != nil { |
| | | return err |
| | | } |
| | | //创建三个默认操作类型 |
| | | var types []*models.OperationType |
| | | inType := &models.OperationType{ |
| | | Name: params.Name + "-入库", |
| | | BaseOperationType: constvar.BaseOperationTypeIncoming, |
| | | WarehouseId: params.Id, |
| | | } |
| | | types = append(types, inType) |
| | | outType := &models.OperationType{ |
| | | Name: params.Name + "-出库", |
| | | BaseOperationType: constvar.BaseOperationTypeOutgoing, |
| | | WarehouseId: params.Id, |
| | | } |
| | | types = append(types, outType) |
| | | internalType := &models.OperationType{ |
| | | Name: params.Name + "-内部调拨", |
| | | BaseOperationType: constvar.BaseOperationTypeInternal, |
| | | WarehouseId: params.Id, |
| | | } |
| | | types = append(types, internalType) |
| | | err = models.NewOperationTypeSearch().SetOrm(tx).CreateBatch(types) |
| | | return err |
| | | }) |
| | | if err != nil { |
| | | _ = models.NewLocationSearch().SetID(locationId).Delete() |
| | | logx.Errorf("warehouse create err: %v", err) |
| | | util.ResponseFormat(c, code.SaveFail, "插入失败") |
| | | return |
| | |
| | | return |
| | | } |
| | | |
| | | //删除位置信息 |
| | | first, err := models.NewWarehouseSearch().SetID(id).First() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "获取仓库信息失败") |
| | | return |
| | | } |
| | | err = models.NewLocationSearch().SetID(first.LocationId).Delete() |
| | | err = models.WithTransaction(func(tx *gorm.DB) error { |
| | | //删除位置信息 |
| | | err = models.NewLocationSearch().SetOrm(tx).SetJointName(first.Code).Delete() |
| | | if err != nil { |
| | | return err |
| | | } |
| | | //删除操作类型 |
| | | err = models.NewOperationTypeSearch().SetOrm(tx).SetWarehouseId(first.Id).Delete() |
| | | if err != nil { |
| | | return err |
| | | } |
| | | //删除仓库 |
| | | err = models.NewWarehouseSearch().SetOrm(tx).SetID(id).Delete() |
| | | return err |
| | | }) |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除位置信息失败") |
| | | util.ResponseFormat(c, code.RequestParamError, "删除仓库失败") |
| | | return |
| | | } |
| | | err = models.NewWarehouseSearch().SetID(id).Delete() |
| | | if err != nil { |
| | | util.ResponseFormat(c, code.RequestParamError, "删除仓库信息失败") |
| | | return |
| | | } |
| | | |
| | | util.ResponseFormat(c, code.UpdateSuccess, "删除成功") |
| | | } |
| | | |