251119:1200 set backend
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
-- ==========================================================
|
||||
-- DMS v1.4.0 Document Management System Database
|
||||
-- DMS v1.4.2 Document Management System Database
|
||||
-- Deploy Script Schema
|
||||
-- Server: Container Station on QNAPQNAP TS-473A
|
||||
-- Database service: MariaDB 10.11
|
||||
@@ -2007,54 +2007,6 @@ CREATE INDEX idx_audit_request_id ON audit_logs(request_id);
|
||||
-- =====================================================
|
||||
-- 11. 📊 Views & Procedures (วิว และ โปรซีเดอร์)
|
||||
-- =====================================================
|
||||
-- Stored Procedure ดึงเลขที่เอกสารถัดไป
|
||||
DELIMITER // CREATE PROCEDURE sp_get_next_document_number(
|
||||
IN p_project_id INT,
|
||||
IN p_originator_organization_id INT,
|
||||
IN p_correspondence_type_id INT,
|
||||
IN p_current_year INT,
|
||||
OUT p_next_number INT
|
||||
) BEGIN
|
||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN -- หากเกิดข้อผิดพลาด ให้ยกเลิก Transaction และส่ง Error กลับไป
|
||||
ROLLBACK;
|
||||
END;
|
||||
START TRANSACTION;
|
||||
-- ล็อกแถวเพื่อป้องกัน Race Condition
|
||||
SELECT last_number INTO p_next_number
|
||||
FROM document_number_counters
|
||||
WHERE project_id = p_project_id
|
||||
AND originator_organization_id = p_originator_organization_id
|
||||
AND correspondence_type_id = p_correspondence_type_id
|
||||
AND current_year = p_current_year FOR
|
||||
UPDATE;
|
||||
-- ถ้าไม่พบ record ให้สร้างใหม่
|
||||
IF p_next_number IS NULL THEN
|
||||
SET p_next_number = 1;
|
||||
INSERT INTO document_number_counters (
|
||||
project_id,
|
||||
originator_organization_id,
|
||||
correspondence_type_id,
|
||||
current_year,
|
||||
last_number
|
||||
)
|
||||
VALUES (
|
||||
p_project_id,
|
||||
p_originator_organization_id,
|
||||
p_correspondence_type_id,
|
||||
p_current_year,
|
||||
p_next_number
|
||||
);
|
||||
ELSE -- อัพเดทเลขที่ล่าสุด
|
||||
SET p_next_number = p_next_number + 1;
|
||||
UPDATE document_number_counters
|
||||
SET last_number = p_next_number
|
||||
WHERE project_id = p_project_id
|
||||
AND originator_organization_id = p_originator_organization_id
|
||||
AND correspondence_type_id = p_correspondence_type_id
|
||||
AND current_year = p_current_year;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END // DELIMITER;
|
||||
-- View แสดง Revision "ปัจจุบัน" ของ correspondences ทั้งหมด (ที่ไม่ใช่ RFA)
|
||||
CREATE VIEW v_current_correspondences AS
|
||||
SELECT c.id AS correspondence_id,
|
||||
|
||||
Reference in New Issue
Block a user