ganti format table
This commit is contained in:
@@ -1,65 +1,258 @@
|
||||
-- Tabel Pelanggan
|
||||
CREATE TABLE customers (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
customer_code VARCHAR(20) UNIQUE,
|
||||
company_name VARCHAR(100),
|
||||
customer_type ENUM('internal', 'external'),
|
||||
address TEXT,
|
||||
city VARCHAR(50),
|
||||
postal_code VARCHAR(10),
|
||||
phone VARCHAR(20),
|
||||
email VARCHAR(100),
|
||||
pic_name VARCHAR(100),
|
||||
pic_phone VARCHAR(20),
|
||||
pic_email VARCHAR(100),
|
||||
registration_date DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
status ENUM('active', 'inactive') DEFAULT 'active',
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP
|
||||
CustomerID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerCode VARCHAR(20) UNIQUE,
|
||||
CustomerCompanyName VARCHAR(100),
|
||||
CustomerType ENUM('internal', 'external'),
|
||||
CustomerAddress TEXT,
|
||||
CustomerCity VARCHAR(50),
|
||||
CustomerPostalCode VARCHAR(10),
|
||||
CustomerPhone VARCHAR(20),
|
||||
CustomerEmail VARCHAR(100),
|
||||
CustomerPICName VARCHAR(100),
|
||||
CustomerPICPhone VARCHAR(20),
|
||||
CustomerPICEmail VARCHAR(100),
|
||||
CustomerRegistrationDate DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerStatus ENUM('active', 'inactive') DEFAULT 'active',
|
||||
CustomerCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerCreatedUserID INT,
|
||||
CustomerUpdatedAt DATETIME,
|
||||
CustomerUpdatedUserID INT,
|
||||
CustomerDeletedAt DATETIME,
|
||||
CustomerDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Riwayat Permintaan Analisis
|
||||
CREATE TABLE analysis_requests (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
request_code VARCHAR(20) UNIQUE,
|
||||
customer_id INT,
|
||||
request_date DATETIME,
|
||||
status ENUM('new', 'process', 'completed', 'cancelled'),
|
||||
total_amount DECIMAL(10,2),
|
||||
notes TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (customer_id) REFERENCES customers(id)
|
||||
AnalysisRequestID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
AnalysisRequestCode VARCHAR(20) UNIQUE,
|
||||
CustomerID INT,
|
||||
AnalysisRequestDate DATETIME,
|
||||
AnalysisRequestStatus ENUM('new', 'process', 'completed', 'cancelled'),
|
||||
AnalysisRequestTotalAmount DECIMAL(10,2),
|
||||
AnalysisRequestNotes TEXT,
|
||||
AnalysisRequestCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
AnalysisRequestCreatedUserID INT,
|
||||
AnalysisRequestUpdatedAt DATETIME,
|
||||
AnalysisRequestUpdatedUserID INT,
|
||||
AnalysisRequestDeletedAt DATETIME,
|
||||
AnalysisRequestDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Riwayat Pembayaran
|
||||
CREATE TABLE payments (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT,
|
||||
request_id INT,
|
||||
payment_code VARCHAR(20) UNIQUE,
|
||||
payment_date DATETIME,
|
||||
amount DECIMAL(10,2),
|
||||
payment_method ENUM('cash', 'transfer', 'credit_card'),
|
||||
payment_status ENUM('pending', 'completed', 'failed'),
|
||||
proof_of_payment VARCHAR(255),
|
||||
notes TEXT,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (request_id) REFERENCES analysis_requests(id)
|
||||
PaymentID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
AnalysisRequestID INT,
|
||||
PaymentCode VARCHAR(20) UNIQUE,
|
||||
PaymentDate DATETIME,
|
||||
PaymentAmount DECIMAL(10,2),
|
||||
PaymentMethod ENUM('cash', 'transfer', 'credit_card'),
|
||||
PaymentStatus ENUM('pending', 'completed', 'failed'),
|
||||
PaymentProofPath VARCHAR(255),
|
||||
PaymentNotes TEXT,
|
||||
PaymentCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
PaymentCreatedUserID INT,
|
||||
PaymentUpdatedAt DATETIME,
|
||||
PaymentUpdatedUserID INT,
|
||||
PaymentDeletedAt DATETIME,
|
||||
PaymentDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Kategori Pelanggan
|
||||
CREATE TABLE customer_categories (
|
||||
CustomerCategoryID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerCategoryCode VARCHAR(20) UNIQUE,
|
||||
CustomerCategoryName VARCHAR(100),
|
||||
CustomerCategoryDescription TEXT,
|
||||
CustomerCategoryIsActive BOOLEAN DEFAULT TRUE,
|
||||
CustomerCategoryCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerCategoryCreatedUserID INT,
|
||||
CustomerCategoryUpdatedAt DATETIME,
|
||||
CustomerCategoryUpdatedUserID INT,
|
||||
CustomerCategoryDeletedAt DATETIME,
|
||||
CustomerCategoryDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Kontak Tambahan Pelanggan
|
||||
CREATE TABLE customer_contacts (
|
||||
CustomerContactID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerID INT,
|
||||
CustomerContactName VARCHAR(100),
|
||||
CustomerContactPosition VARCHAR(100),
|
||||
CustomerContactDepartment VARCHAR(100),
|
||||
CustomerContactPhone VARCHAR(20),
|
||||
CustomerContactEmail VARCHAR(100),
|
||||
CustomerContactIsMainContact BOOLEAN DEFAULT FALSE,
|
||||
CustomerContactIsActive BOOLEAN DEFAULT TRUE,
|
||||
CustomerContactCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerContactCreatedUserID INT,
|
||||
CustomerContactUpdatedAt DATETIME,
|
||||
CustomerContactUpdatedUserID INT,
|
||||
CustomerContactDeletedAt DATETIME,
|
||||
CustomerContactDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Dokumen Pelanggan
|
||||
CREATE TABLE customer_documents (
|
||||
CustomerDocumentID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerID INT,
|
||||
CustomerDocumentType VARCHAR(50),
|
||||
CustomerDocumentNumber VARCHAR(100),
|
||||
CustomerDocumentName VARCHAR(255),
|
||||
CustomerDocumentPath VARCHAR(255),
|
||||
CustomerDocumentIssuedDate DATE,
|
||||
CustomerDocumentExpiredDate DATE,
|
||||
CustomerDocumentIsActive BOOLEAN DEFAULT TRUE,
|
||||
CustomerDocumentCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerDocumentCreatedUserID INT,
|
||||
CustomerDocumentUpdatedAt DATETIME,
|
||||
CustomerDocumentUpdatedUserID INT,
|
||||
CustomerDocumentDeletedAt DATETIME,
|
||||
CustomerDocumentDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Riwayat Aktivitas Pelanggan
|
||||
CREATE TABLE customer_activities (
|
||||
CustomerActivityID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerID INT,
|
||||
CustomerActivityType VARCHAR(50),
|
||||
CustomerActivityDescription TEXT,
|
||||
CustomerActivityDate DATETIME,
|
||||
CustomerActivityStatus VARCHAR(50),
|
||||
CustomerActivityNotes TEXT,
|
||||
CustomerActivityCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerActivityCreatedUserID INT,
|
||||
CustomerActivityUpdatedAt DATETIME,
|
||||
CustomerActivityUpdatedUserID INT,
|
||||
CustomerActivityDeletedAt DATETIME,
|
||||
CustomerActivityDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Tabel Riwayat Komunikasi Pelanggan
|
||||
CREATE TABLE customer_communications (
|
||||
CustomerCommunicationID INT PRIMARY KEY AUTO_INCREMENT,
|
||||
CustomerID INT,
|
||||
CustomerContactID INT,
|
||||
CustomerCommunicationType VARCHAR(50),
|
||||
CustomerCommunicationSubject VARCHAR(255),
|
||||
CustomerCommunicationContent TEXT,
|
||||
CustomerCommunicationDate DATETIME,
|
||||
CustomerCommunicationStatus VARCHAR(50),
|
||||
CustomerCommunicationFollowUpDate DATETIME,
|
||||
CustomerCommunicationNotes TEXT,
|
||||
CustomerCommunicationCreatedAt DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
CustomerCommunicationCreatedUserID INT,
|
||||
CustomerCommunicationUpdatedAt DATETIME,
|
||||
CustomerCommunicationUpdatedUserID INT,
|
||||
CustomerCommunicationDeletedAt DATETIME,
|
||||
CustomerCommunicationDeletedUserID INT
|
||||
);
|
||||
|
||||
-- Contoh data pelanggan
|
||||
INSERT INTO customers (customer_code, company_name, customer_type, address, city, postal_code, phone, email, pic_name, pic_phone, pic_email) VALUES
|
||||
INSERT INTO customers (
|
||||
CustomerCode,
|
||||
CustomerCompanyName,
|
||||
CustomerType,
|
||||
CustomerAddress,
|
||||
CustomerCity,
|
||||
CustomerPostalCode,
|
||||
CustomerPhone,
|
||||
CustomerEmail,
|
||||
CustomerPICName,
|
||||
CustomerPICPhone,
|
||||
CustomerPICEmail
|
||||
) VALUES
|
||||
('CUST001', 'PT Lingkungan Hijau', 'external', 'Jl. Raya Utama No. 123', 'Jakarta', '12345', '021-5551234', 'info@lingkunganhijau.com', 'Budi Santoso', '081234567890', 'budi@lingkunganhijau.com'),
|
||||
('CUST002', 'Dinas Lingkungan Hidup', 'internal', 'Jl. Pemda No. 45', 'Bandung', '40111', '022-7891234', 'dlh@bandung.go.id', 'Siti Aminah', '087812345678', 'siti@bandung.go.id'),
|
||||
('CUST003', 'CV Alam Lestari', 'external', 'Jl. Industri Blok A2', 'Surabaya', '60111', '031-8765432', 'contact@alamlestari.com', 'Rudi Hartono', '085678901234', 'rudi@alamlestari.com');
|
||||
|
||||
-- Contoh data permintaan analisis
|
||||
INSERT INTO analysis_requests (request_code, customer_id, request_date, status, total_amount, notes) VALUES
|
||||
INSERT INTO analysis_requests (
|
||||
AnalysisRequestCode,
|
||||
CustomerID,
|
||||
AnalysisRequestDate,
|
||||
AnalysisRequestStatus,
|
||||
AnalysisRequestTotalAmount,
|
||||
AnalysisRequestNotes
|
||||
) VALUES
|
||||
('REQ001', 1, '2024-03-15 09:00:00', 'completed', 2500000, 'Analisis air limbah'),
|
||||
('REQ002', 1, '2024-03-16 10:30:00', 'process', 1750000, 'Analisis kualitas udara'),
|
||||
('REQ003', 2, '2024-03-17 13:15:00', 'new', 3000000, 'Analisis tanah');
|
||||
|
||||
-- Contoh data pembayaran
|
||||
INSERT INTO payments (request_id, payment_code, payment_date, amount, payment_method, payment_status, notes) VALUES
|
||||
INSERT INTO payments (
|
||||
AnalysisRequestID,
|
||||
PaymentCode,
|
||||
PaymentDate,
|
||||
PaymentAmount,
|
||||
PaymentMethod,
|
||||
PaymentStatus,
|
||||
PaymentNotes
|
||||
) VALUES
|
||||
(1, 'PAY001', '2024-03-15 14:30:00', 2500000, 'transfer', 'completed', 'Pembayaran lunas'),
|
||||
(2, 'PAY002', '2024-03-16 11:00:00', 875000, 'transfer', 'completed', 'Pembayaran DP 50%'),
|
||||
(3, 'PAY003', '2024-03-17 14:00:00', 1500000, 'transfer', 'pending', 'Menunggu konfirmasi transfer');
|
||||
(3, 'PAY003', '2024-03-17 14:00:00', 1500000, 'transfer', 'pending', 'Menunggu konfirmasi transfer');
|
||||
|
||||
-- Contoh data kategori pelanggan
|
||||
INSERT INTO customer_categories (
|
||||
CustomerCategoryCode,
|
||||
CustomerCategoryName,
|
||||
CustomerCategoryDescription
|
||||
) VALUES
|
||||
('CAT001', 'Industri', 'Pelanggan dari sektor industri manufaktur'),
|
||||
('CAT002', 'Pemerintahan', 'Instansi pemerintah dan BUMN'),
|
||||
('CAT003', 'Komersial', 'Pelanggan komersial non-industri');
|
||||
|
||||
-- Contoh data kontak tambahan
|
||||
INSERT INTO customer_contacts (
|
||||
CustomerID,
|
||||
CustomerContactName,
|
||||
CustomerContactPosition,
|
||||
CustomerContactDepartment,
|
||||
CustomerContactPhone,
|
||||
CustomerContactEmail,
|
||||
CustomerContactIsMainContact
|
||||
) VALUES
|
||||
(1, 'Andi Wijaya', 'HSE Manager', 'HSE', '081234567891', 'andi@lingkunganhijau.com', TRUE),
|
||||
(1, 'Diana Putri', 'Lab Coordinator', 'Quality Control', '081234567892', 'diana@lingkunganhijau.com', FALSE),
|
||||
(2, 'Bambang Kusuma', 'Kepala Seksi', 'Pengawasan', '087812345679', 'bambang@bandung.go.id', TRUE);
|
||||
|
||||
-- Contoh data dokumen
|
||||
INSERT INTO customer_documents (
|
||||
CustomerID,
|
||||
CustomerDocumentType,
|
||||
CustomerDocumentNumber,
|
||||
CustomerDocumentName,
|
||||
CustomerDocumentPath,
|
||||
CustomerDocumentIssuedDate,
|
||||
CustomerDocumentExpiredDate
|
||||
) VALUES
|
||||
(1, 'SIUP', '123/SIUP/2024', 'SIUP PT Lingkungan Hijau', '/documents/siup/123.pdf', '2024-01-01', '2029-01-01'),
|
||||
(1, 'NPWP', '01.234.567.8-123.000', 'NPWP PT Lingkungan Hijau', '/documents/npwp/123.pdf', '2024-01-01', NULL),
|
||||
(2, 'SK', 'SK-123/DLH/2024', 'SK Penunjukan', '/documents/sk/123.pdf', '2024-01-01', '2024-12-31');
|
||||
|
||||
-- Contoh data aktivitas
|
||||
INSERT INTO customer_activities (
|
||||
CustomerID,
|
||||
CustomerActivityType,
|
||||
CustomerActivityDescription,
|
||||
CustomerActivityDate,
|
||||
CustomerActivityStatus
|
||||
) VALUES
|
||||
(1, 'Visit', 'Kunjungan teknis untuk sampling rutin', '2024-03-15 10:00:00', 'Completed'),
|
||||
(1, 'Meeting', 'Pembahasan hasil analisis', '2024-03-16 13:00:00', 'Scheduled'),
|
||||
(2, 'Training', 'Pelatihan pengambilan sampel', '2024-03-17 09:00:00', 'Scheduled');
|
||||
|
||||
-- Contoh data komunikasi
|
||||
INSERT INTO customer_communications (
|
||||
CustomerID,
|
||||
CustomerContactID,
|
||||
CustomerCommunicationType,
|
||||
CustomerCommunicationSubject,
|
||||
CustomerCommunicationContent,
|
||||
CustomerCommunicationDate,
|
||||
CustomerCommunicationStatus
|
||||
) VALUES
|
||||
(1, 1, 'Email', 'Konfirmasi Jadwal Sampling', 'Konfirmasi jadwal sampling minggu depan', '2024-03-14 09:00:00', 'Sent'),
|
||||
(1, 2, 'Phone', 'Diskusi Hasil Analisis', 'Diskusi tentang hasil analisis yang melebihi baku mutu', '2024-03-15 14:00:00', 'Completed'),
|
||||
(2, 3, 'Meeting', 'Rapat Koordinasi', 'Rapat koordinasi program pemantauan lingkungan', '2024-03-16 10:00:00', 'Scheduled');
|
||||
Reference in New Issue
Block a user