drop view if exists dashboard_jual_beli;

--gopg:split

CREATE VIEW dashboard_jual_beli AS
SELECT
  order_details.inventory_barang_id AS id,
  'Penjualan' :: text AS jenis_transaksi,
  orders.toko_id,
  tokos.nama_toko,
  orders.anggota_id,
  anggota.nama_lengkap,
  inventory_barangs.nama_barang AS nama,
  inventory_barangs.jenis_barang_id,
  inventory_barangs.berat,
  orders.status_transaksi,
  orders.created_at
FROM
  orders
  LEFT JOIN order_details ON order_details.order_id = orders.id
  LEFT JOIN inventory_barangs ON inventory_barangs.id = order_details.inventory_barang_id
  LEFT JOIN tokos ON orders.toko_id = tokos.id
  LEFT JOIN anggota ON anggota.id = orders.anggota_id
WHERE
  orders.deleted_at IS NULL
  AND orders.deleted_by IS NULL
UNION
SELECT
  transaksi_pesanan_customs.id,
  'Penjualan' :: text AS jenis_transaksi,
  transaksi_pesanan_customs.toko_id,
  tokos.nama_toko,
  transaksi_pesanan_customs.anggota_id,
  anggota.nama_lengkap,
  transaksi_pesanan_customs.nama_produk AS nama,
  transaksi_pesanan_customs.jenis_barang_id,
  transaksi_pesanan_customs.berat,
  transaksi_pesanan_customs.status_transaksi,
  transaksi_pesanan_customs.created_at
FROM
  transaksi_pesanan_customs
  LEFT JOIN tokos ON transaksi_pesanan_customs.toko_id = tokos.id
  LEFT JOIN anggota ON anggota.id = transaksi_pesanan_customs.anggota_id
WHERE
  transaksi_pesanan_customs.deleted_at IS NULL
  AND transaksi_pesanan_customs.deleted_by IS NULL
UNION
SELECT
  transaksi_pembelians.id,
  'Pembelian' :: text AS jenis_transaksi,
  transaksi_pembelians.toko_id,
  tokos.nama_toko,
  transaksi_pembelians.anggota_id,
  anggota.nama_lengkap,
  transaksi_pembelians.nama_barang AS nama,
  inventory_barangs.jenis_barang_id,
  inventory_barangs.berat,
  transaksi_pembelians.status_faktur AS status_transaksi,
  transaksi_pembelians.created_at
FROM
  transaksi_pembelians
  LEFT JOIN inventory_barangs ON transaksi_pembelians.inventory_barang_id = inventory_barangs.id
  LEFT JOIN tokos ON transaksi_pembelians.toko_id = tokos.id
  LEFT JOIN anggota ON anggota.id = transaksi_pembelians.anggota_id
WHERE
  transaksi_pembelians.deleted_at IS NULL
  AND transaksi_pembelians.deleted_by IS NULL;