drop view if exists view_history_transaksi_relasi;

--gopg:split

CREATE VIEW view_history_transaksi_relasi AS
SELECT
  'Penjualan' :: text AS jenis_transaksi,
  orders.anggota_id,
  orders.toko_id,
  tokos.nama_toko,
  orders.relasi_id,
  relasis.nama_lengkap,
  relasis.no_hp,
  relasis.type_relasi,
  orders.no_invoice,
  orders.total_harga,
  orders.pembayaran,
  orders.created_at
FROM
  orders
  LEFT JOIN relasis ON relasis.id = orders.relasi_id
  LEFT JOIN tokos ON tokos.id = orders.toko_id
WHERE
  orders.deleted_at IS NULL
  AND orders.deleted_by IS NULL
UNION
SELECT
  'Pembelian' :: text AS jenis_transaksi,
  transaksi_pembelians.anggota_id,
  transaksi_pembelians.toko_id,
  tokos.nama_toko,
  transaksi_pembelians.relasi_id,
  relasis.nama_lengkap,
  relasis.no_hp,
  relasis.type_relasi,
  transaksi_pembelians.no_invoice,
  transaksi_pembelians.harga_produk AS total_harga,
  transaksi_pembelians.pembayaran,
  transaksi_pembelians.created_at
FROM
  transaksi_pembelians
  LEFT JOIN relasis ON relasis.id = transaksi_pembelians.relasi_id
  LEFT JOIN tokos ON tokos.id = transaksi_pembelians.toko_id
WHERE
  transaksi_pembelians.deleted_at IS NULL
  AND transaksi_pembelians.deleted_by IS NULL
UNION
SELECT
  'Penjualan Jasa' :: text AS jenis_transaksi,
  transaksi_jasas.anggota_id,
  transaksi_jasas.toko_id,
  tokos.nama_toko,
  transaksi_jasas.relasi_id,
  relasis.nama_lengkap,
  relasis.no_hp,
  relasis.type_relasi,
  transaksi_jasas.no_invoice,
  transaksi_jasas.total_harga,
  transaksi_jasas.jenis_pembayaran AS pembayaran,
  transaksi_jasas.created_at
FROM
  transaksi_jasas
  LEFT JOIN relasis ON relasis.id = transaksi_jasas.relasi_id
  LEFT JOIN tokos ON tokos.id = transaksi_jasas.toko_id
WHERE
  transaksi_jasas.deleted_at IS NULL
  AND transaksi_jasas.deleted_by IS NULL
UNION
SELECT
  'Penjualan Kustom' :: text AS jenis_transaksi,
  transaksi_pesanan_customs.anggota_id,
  transaksi_pesanan_customs.toko_id,
  tokos.nama_toko,
  transaksi_pesanan_customs.relasi_id,
  relasis.nama_lengkap,
  relasis.no_hp,
  relasis.type_relasi,
  transaksi_pesanan_customs.no_invoice,
  transaksi_pesanan_customs.harga_produk AS total_harga,
  transaksi_pesanan_customs.status_transaksi AS pembayaran,
  transaksi_pesanan_customs.created_at
FROM
  transaksi_pesanan_customs
  LEFT JOIN relasis ON relasis.id = transaksi_pesanan_customs.relasi_id
  LEFT JOIN tokos ON tokos.id = transaksi_pesanan_customs.toko_id
WHERE
  transaksi_pesanan_customs.deleted_at IS NULL
  AND transaksi_pesanan_customs.deleted_by IS NULL;