tambah folder modul

This commit is contained in:
sas.fajri
2025-04-24 11:26:20 +07:00
parent 81801931da
commit 7ad92e4551
5 changed files with 752 additions and 0 deletions

View File

@@ -0,0 +1,182 @@
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Permintaan Layanan - Lab Lingkungan</title>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: Arial, sans-serif;
line-height: 1.6;
background-color: #f4f4f4;
padding: 20px;
}
.container {
max-width: 1000px;
margin: 0 auto;
background: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.form-header {
text-align: center;
margin-bottom: 30px;
}
.form-section {
margin-bottom: 30px;
padding: 20px;
border: 1px solid #ddd;
border-radius: 4px;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input[type="text"],
input[type="date"],
input[type="number"],
select,
textarea {
width: 100%;
padding: 8px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
.parameter-list {
margin-top: 20px;
}
.parameter-item {
display: flex;
align-items: center;
padding: 10px;
border: 1px solid #ddd;
margin-bottom: 10px;
border-radius: 4px;
}
.parameter-item label {
margin: 0;
margin-left: 10px;
}
.price-summary {
background: #f8f9fa;
padding: 20px;
border-radius: 4px;
margin-top: 20px;
}
.btn {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
}
.btn:hover {
background-color: #45a049;
}
.btn-secondary {
background-color: #6c757d;
}
.actions {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="form-header">
<h1>Form Permintaan Layanan Analisis</h1>
<p>Silakan lengkapi informasi di bawah ini</p>
</div>
<form id="serviceRequestForm">
<div class="form-section">
<h3>Informasi Umum</h3>
<div class="form-group">
<label for="requestType">Jenis Layanan</label>
<select id="requestType" name="requestType" required>
<option value="">Pilih Jenis Layanan</option>
<option value="sampling_analysis">Sampling & Analisis</option>
<option value="analysis_only">Analisis Saja</option>
</select>
</div>
<div class="form-group">
<label for="samplingDate">Tanggal Sampling</label>
<input type="date" id="samplingDate" name="samplingDate">
</div>
<div class="form-group">
<label for="samplingLocation">Lokasi Sampling</label>
<textarea id="samplingLocation" name="samplingLocation" rows="3"></textarea>
</div>
</div>
<div class="form-section">
<h3>Parameter Analisis</h3>
<div class="parameter-list">
<div class="parameter-item">
<input type="checkbox" id="param1" name="parameters[]" value="1">
<label for="param1">BOD (Biochemical Oxygen Demand) - Rp 250.000</label>
</div>
<div class="parameter-item">
<input type="checkbox" id="param2" name="parameters[]" value="2">
<label for="param2">COD (Chemical Oxygen Demand) - Rp 200.000</label>
</div>
<div class="parameter-item">
<input type="checkbox" id="param3" name="parameters[]" value="3">
<label for="param3">TSS (Total Suspended Solid) - Rp 150.000</label>
</div>
<div class="parameter-item">
<input type="checkbox" id="param4" name="parameters[]" value="4">
<label for="param4">pH - Rp 100.000</label>
</div>
</div>
</div>
<div class="form-section">
<h3>Ringkasan Biaya</h3>
<div class="price-summary">
<p>Subtotal: Rp 0</p>
<p>PPN (11%): Rp 0</p>
<p><strong>Total: Rp 0</strong></p>
</div>
</div>
<div class="actions">
<button type="button" class="btn btn-secondary">Simpan Draft</button>
<button type="submit" class="btn">Kirim Permintaan</button>
</div>
</form>
</div>
</body>
</html>

View File

@@ -0,0 +1,95 @@
-- Tabel Template Sampling
CREATE TABLE sampling_templates (
id INT PRIMARY KEY AUTO_INCREMENT,
template_name VARCHAR(100),
description TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Tabel Parameter Analisis
CREATE TABLE analysis_parameters (
id INT PRIMARY KEY AUTO_INCREMENT,
parameter_code VARCHAR(20),
parameter_name VARCHAR(100),
unit VARCHAR(20),
price DECIMAL(10,2),
method VARCHAR(100),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Tabel Permintaan Layanan
CREATE TABLE service_requests (
id INT PRIMARY KEY AUTO_INCREMENT,
request_code VARCHAR(20) UNIQUE,
customer_id INT,
request_type ENUM('sampling_analysis', 'analysis_only'),
sampling_date DATE,
sampling_location TEXT,
status ENUM('draft', 'submitted', 'approved', 'rejected', 'in_progress', 'completed'),
total_amount DECIMAL(10,2),
dp_amount DECIMAL(10,2),
dp_status ENUM('unpaid', 'paid') DEFAULT 'unpaid',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
-- Tabel Detail Parameter yang Diminta
CREATE TABLE request_parameters (
id INT PRIMARY KEY AUTO_INCREMENT,
request_id INT,
parameter_id INT,
price DECIMAL(10,2),
notes TEXT,
FOREIGN KEY (request_id) REFERENCES service_requests(id),
FOREIGN KEY (parameter_id) REFERENCES analysis_parameters(id)
);
-- Tabel Quotation
CREATE TABLE quotations (
id INT PRIMARY KEY AUTO_INCREMENT,
quotation_code VARCHAR(20) UNIQUE,
request_id INT,
issue_date DATE,
valid_until DATE,
status ENUM('draft', 'sent', 'approved', 'rejected'),
total_amount DECIMAL(10,2),
notes TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (request_id) REFERENCES service_requests(id)
);
-- Contoh data template sampling
INSERT INTO sampling_templates (template_name, description) VALUES
('Air Limbah Industri', 'Template untuk sampling air limbah industri'),
('Kualitas Udara Ambien', 'Template untuk sampling kualitas udara'),
('Air Permukaan', 'Template untuk sampling air sungai/danau');
-- Contoh data parameter analisis
INSERT INTO analysis_parameters (parameter_code, parameter_name, unit, price, method) VALUES
('BOD5', 'Biochemical Oxygen Demand', 'mg/L', 250000, 'SNI 6989.72:2009'),
('COD', 'Chemical Oxygen Demand', 'mg/L', 200000, 'SNI 6989.2:2009'),
('TSS', 'Total Suspended Solid', 'mg/L', 150000, 'SNI 06-6989.3-2004'),
('PH', 'Derajat Keasaman', '-', 100000, 'SNI 06-6989.11-2004');
-- Contoh data permintaan layanan
INSERT INTO service_requests (request_code, customer_id, request_type, sampling_date, sampling_location, status, total_amount) VALUES
('REQ001', 1, 'sampling_analysis', '2024-03-20', 'Plant A - Outlet IPAL', 'approved', 700000),
('REQ002', 2, 'analysis_only', '2024-03-21', 'Lab Internal', 'submitted', 450000),
('REQ003', 3, 'sampling_analysis', '2024-03-22', 'Intake Water Treatment', 'draft', 550000);
-- Contoh data parameter yang diminta
INSERT INTO request_parameters (request_id, parameter_id, price) VALUES
(1, 1, 250000),
(1, 2, 200000),
(1, 3, 150000),
(1, 4, 100000),
(2, 1, 250000),
(2, 2, 200000),
(3, 3, 150000),
(3, 4, 100000);
-- Contoh data quotation
INSERT INTO quotations (quotation_code, request_id, issue_date, valid_until, status, total_amount) VALUES
('QUO001', 1, '2024-03-15', '2024-04-15', 'approved', 700000),
('QUO002', 2, '2024-03-16', '2024-04-16', 'sent', 450000),
('QUO003', 3, '2024-03-17', '2024-04-17', 'draft', 550000);