Create master table and master data at schema ERP_ONEWEB with below SQL. (PostgreSQL)
CREATE TABLE wf_ms_employee (
employee_id CHARACTER VARYING(15) NOT NULL,
employee_name CHARACTER VARYING(60),
employee_fname CHARACTER VARYING(30),
employee_lname CHARACTER VARYING(30),
position_id CHARACTER VARYING(30),
email CHARACTER VARYING(50),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (employee_id)
);
INSERT INTO wf_ms_employee (employee_id, employee_name, employee_fname, employee_lname, position_id, email, create_by, create_date, update_by, update_date)
VALUES ('rm2', 'rm2', 'ja', null, null, 'rm2@avalant.co.th', null, null, null, null);
CREATE TABLE wf_ms_hardware (
hardware_id CHARACTER VARYING(10) NOT NULL,
hardware_name CHARACTER VARYING(30),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (hardware_id)
);
INSERT INTO wf_ms_hardware (hardware_id, hardware_name, create_by, create_date, update_by, update_date)
VALUES ('01', 'Personal Computer', null, null, null, null); INSERT INTO wf_ms_hardware (hardware_id, hardware_name, create_by, create_date, update_by, update_date) VALUES ('02', 'Notebook', null, null, null, null); INSERT INTO wf_ms_hardware (hardware_id, hardware_name, create_by, create_date, update_by, update_date) VALUES ('03', 'Projector', null, null, null, null);
CREATE TABLE wf_ms_list_box (
list_box_id CHARACTER VARYING(10) NOT NULL,
display_code CHARACTER VARYING(10),
display_name CHARACTER VARYING(50),
category_code CHARACTER VARYING(50),
status CHARACTER VARYING(5),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (list_box_id)
);
INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date)
VALUES ('LB00000001', '01', 'Approve', 'BACK_OFFICE_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000002', '02', 'Reject', 'BACK_OFFICE_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000004', '02', 'Reject', 'ADMIN_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000003', '01', 'Approve', 'ADMIN_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000005', '01', 'Approve', 'AUTHORIZE_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000006', '02', 'Reject', 'AUTHORIZE_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000007', '01', 'Approve', 'SUP_PM_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000008', '02', 'Reject', 'SUP_PM_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000009', '01', 'Approve', 'HEAD_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000010', '02', 'Reject', 'HEAD_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000011', '01', 'Approve', 'AUTHORIZE_DECISION', 'A', null, null, null, null); INSERT INTO wf_ms_list_box (list_box_id, display_code, display_name, category_code, status, create_by, create_date, update_by, update_date) VALUES ('LB00000012', '02', 'Reject', 'AUTHORIZE_DECISION', 'A', null, null, null, null);
CREATE TABLE wf_ms_phase (
phase_id CHARACTER VARYING(10) NOT NULL,
phase_name CHARACTER VARYING(50),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (phase_id)
);
INSERT INTO wf_ms_phase (phase_id, phase_name, create_by, create_date, update_by, update_date)
VALUES ('01', 'Development', null, null, null, null); INSERT INTO wf_ms_phase (phase_id, phase_name, create_by, create_date, update_by, update_date) VALUES ('02', 'UAT', null, null, null, null); INSERT INTO wf_ms_phase (phase_id, phase_name, create_by, create_date, update_by, update_date) VALUES ('03', 'Production', null, null, null, null);
CREATE TABLE wf_ms_project (
project_id CHARACTER VARYING(10) NOT NULL,
project_name CHARACTER VARYING(50),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
project_manager CHARACTER VARYING(15),
project_status CHARACTER VARYING(20),
PRIMARY KEY (project_id)
);
INSERT INTO wf_ms_project (project_id, project_name, create_by, create_date, update_by, update_date, project_manager, project_status)
VALUES ('01', 'Internal Project', null, null, null, null, 'admin', 'A'); INSERT INTO wf_ms_project (project_id, project_name, create_by, create_date, update_by, update_date, project_manager, project_status) VALUES ('02', 'MSIG - Digital Project', null, null, null, null, 'admin', 'A');
CREATE TABLE wf_ms_status (
status_id CHARACTER VARYING(10) NOT NULL,
status_name CHARACTER VARYING(100),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (status_id)
);
CREATE TABLE wf_ms_sub_request_type (
sub_req_type_id CHARACTER VARYING(10) NOT NULL,
sub_req_name CHARACTER VARYING(30),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
request_type CHARACTER VARYING(10),
PRIMARY KEY (sub_req_type_id)
);
Create transaction table at schema ERP_ONEWEB with below SQL. (PostgreSQL)
CREATE TABLE wf_service_request (
request_id CHARACTER VARYING(10) NOT NULL,
requester CHARACTER VARYING(50),
request_type CHARACTER VARYING(10),
project CHARACTER VARYING(10),
phase CHARACTER VARYING(10),
sub_request_type CHARACTER VARYING(10),
description CHARACTER VARYING(200),
status CHARACTER VARYING(200) DEFAULT 'New'::character varying,
decision CHARACTER VARYING(2),
decision_remark CHARACTER VARYING(200),
decision_role CHARACTER VARYING(10),
contact_info CHARACTER VARYING(200),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
total_amt NUMERIC(24,2),
decision_sup_pm_remark CHARACTER VARYING(200),
decision_sup_pm CHARACTER VARYING(2),
decision_head CHARACTER VARYING(2),
decision_head_remark CHARACTER VARYING(200),
decision_hr CHARACTER VARYING(2),
decision_hr_remark CHARACTER VARYING(200),
decision_auth CHARACTER VARYING(2),
decision_auth_remark CHARACTER VARYING(200),
PRIMARY KEY (request_id)
);
CREATE TABLE wf_order_req_item (
order_item_id CHARACTER VARYING(20) NOT NULL,
request_id CHARACTER VARYING(10) NOT NULL,
hardwareid CHARACTER VARYING(12) NOT NULL,
spec CHARACTER VARYING(500) NOT NULL,
remark CHARACTER VARYING(500) NOT NULL,
unit INTEGER, summary_unit INTEGER,
summary_price NUMERIC(24,2),
create_by CHARACTER VARYING(50),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(50),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (order_item_id)
);
CREATE TABLE wf_order_req_item_supplier (
order_item_supplier_id CHARACTER VARYING(20) NOT NULL,
order_item_id CHARACTER VARYING(20) NOT NULL,
remark CHARACTER VARYING(50),
supplier_name CHARACTER VARYING(50),
spec CHARACTER VARYING(500),
unit_price NUMERIC(24,2),
in_stock INTEGER,
remain_order_unit INTEGER,
unit_by_back_office INTEGER,
back_office_remark CHARACTER VARYING(200),
unit_by_approval INTEGER,
approval_remark CHARACTER VARYING(200),
total_price NUMERIC(24,2),
create_by CHARACTER VARYING(20),
create_date TIMESTAMP(6) WITHOUT TIME ZONE,
update_by CHARACTER VARYING(20),
update_date TIMESTAMP(6) WITHOUT TIME ZONE,
PRIMARY KEY (order_item_supplier_id)
);
Create database sequence lists below. REQUEST_ID_SEQ ORDER_ITEM_ID_SEQ ORDER_ITEM_SUPPLIER_ID_SEQ