Feat[BE-261,265]: createing BOP and BOP realization(Unfinished)

This commit is contained in:
aguhh18
2025-11-19 16:05:11 +07:00
parent a57ef82ebb
commit 105b20c333
18 changed files with 1279 additions and 115 deletions
@@ -1,11 +1,11 @@
CREATE TABLE expenses (
id BIGSERIAL PRIMARY KEY,
reference_number VARCHAR, -- format => BOP-LTI-0001 = 0001 is increment
reference_number VARCHAR(50) UNIQUE NOT NULL,
supplier_id BIGINT NULL,
category VARCHAR(50) NOT NULL CHECK (
category IN ('BOP', 'NON-BOP')
),
po_number VARCHAR(50) UNIQUE NOT NULL,
po_number VARCHAR(50) NULL,
document_path JSON,
expense_date DATE NOT NULL,
grand_total NUMERIC(15, 3) DEFAULT 0,
@@ -16,6 +16,8 @@ CREATE TABLE expenses (
deleted_at TIMESTAMPTZ
);
CREATE SEQUENCE expenses_ref_seq INCREMENT BY 1 START WITH 1;
-- Tambahkan Foreign Key ke suppliers
DO $$
BEGIN
@@ -23,7 +25,9 @@ BEGIN
ALTER TABLE expenses
ADD CONSTRAINT fk_expenses_supplier_id
FOREIGN KEY (supplier_id) REFERENCES suppliers(id);
END IF;
END IF;
END $$;
-- Tambahkan Foreign Key ke users (created_by)
@@ -1 +1,3 @@
DROP TABLE IF EXISTS expense_nonstocks;
DROP TABLE IF EXISTS expense_nonstocks;
DROP SEQUENCE expenses_ref_seq;
@@ -1,7 +1,8 @@
CREATE TABLE expense_nonstocks (
id BIGSERIAL PRIMARY KEY,
expense_id BIGINT,
project_flock_kandang_id BIGINT,
expense_id BIGINT NOT NULL,
project_flock_kandang_id BIGINT NULL,
kandang_id BIGINT NULL,
nonstock_id BIGINT,
qty NUMERIC(15, 3) NOT NULL,
unit_price NUMERIC(15, 3) NOT NULL,
@@ -32,6 +33,16 @@ BEGIN
END IF;
END $$;
-- Tambahkan Foreign key ke kandang_id
DO $$
BEGIN
IF EXISTS (SELECT 1 FROM pg_tables WHERE tablename = 'kandangs') THEN
ALTER TABLE expense_nonstocks
ADD CONSTRAINT fk_expense_nonstocks_kandang_id_2
FOREIGN KEY (kandang_id) REFERENCES kandangs(id);
END IF;
END $$;
-- Tambahkan Foreign Key ke nonstocks
DO $$
BEGIN
@@ -1,6 +1,6 @@
CREATE TABLE expense_realizations (
id BIGSERIAL PRIMARY KEY,
expense_nonstock_id BIGINT,
expense_nonstock_id BIGINT UNIQUE,
realization_qty NUMERIC(15, 3) NOT NULL,
realization_unit_price NUMERIC(15, 3) NOT NULL,
realization_total_price NUMERIC(15, 3) NOT NULL,