# Update fitur multi Cabang - POS WEB ## Redesign schema ### auth - table **auth_tenant**: - jika `is_multi_store=TRUE` = multi_cabang - table **auth_user**: - tambahkan kolom `cabang_id` reference m_cabang(id) - jika auth_tenant.is_multi_store = true, maka setiap user harus mempunyai `cabang_id` - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL - table **m_gudang** - menambahkan kolom `cabang_id` - jika auth_tenant.is_multi_store = true, maka setiap gudang harus mempunyai `cabang_id` - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL ### master data - menambahkan table baru **m_item_harga_cabang**: ``` tenant_id character(36) NOT NULL references auth_tenant(id), cabang_id character(36) COLLATE references m_cabang(id), id character varying(36) NOT NULL primary key, item_id character varying(36) COLLATE pg_catalog."default" NOT NULL, satuan_id character varying(36) COLLATE pg_catalog."default" NOT NULL, qty_max bigint DEFAULT 999999999, harga1 numeric(18,2) DEFAULT 0, created_by character varying(100) COLLATE pg_catalog."default", created_at timestamp with time zone DEFAULT now(), updated_by character varying(100) COLLATE pg_catalog."default", updated_at timestamp with time zone, is_deleted boolean DEFAULT false, harga2 numeric(18,2) DEFAULT 0, harga3 numeric(18,2) DEFAULT 0, harga4 numeric(18,2) DEFAULT 0, ``` - m_item_harga_promo - ### penjualan - table **ar_inv** - menambahkan kolom `cabang_id` - jika auth_tenant.is_multi_store = true, maka setiap penjualan harus mempunyai `cabang_id` - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL - table **billing** - menambahkan kolom `cabang_id` - jika auth_tenant.is_multi_store = true, maka setiap billing harus mempunyai `cabang_id` - jika auth_tenant.is_multi_store = false, maka cabang_id diisi NULL - table ### pembelian - table **ap_inv** - menambahkan kolom `cabang_id` - jika `auth_tenant.is_multi_store = true`, maka setiap pembelian harus mempunyai `cabang_id` - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL - table **ap_payment** - menambahkan kolom `cabang_id` - jika `auth_tenant.is_multi_store = true`, maka setiap pembelian harus mempunyai `cabang_id` - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL ### persediaan - table **mutasi_item** - menambahkan kolom `cabang_id` - jika `auth_tenant.is_multi_store = true`, maka setiap mutasi harus mempunyai `cabang_id` - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL - table **transfer** - menambahkan kolom `cabang_id` - jika `auth_tenant.is_multi_store = true`, maka setiap transfer harus mempunyai `cabang_id` - jika `auth_tenant.is_multi_store = false`, maka cabang_id diisi NULL