first commit 2
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
-- 1. 견적서 마스터 테이블
|
||||
-- 고객의 견적 요청 기본 정보와 여분 필드를 저장합니다.
|
||||
CREATE TABLE IF NOT EXISTS `estimate` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`wr_id` int DEFAULT NULL COMMENT '원본 게시물 ID',
|
||||
`status` VARCHAR(20) NOT NULL DEFAULT 'requesting' COMMENT '견적 상태 (requesting:신청중, completed:작성완료, bidding:입찰중, selected:채택됨, closed:마감)',
|
||||
`bidding_deadline` DATETIME DEFAULT NULL COMMENT '입찰 마감일시',
|
||||
`consultant_id` VARCHAR(20) DEFAULT NULL COMMENT '배정된 상담가 ID',
|
||||
`consultant_assigned_at` DATETIME DEFAULT NULL COMMENT '상담가 배정일시',
|
||||
`company_name` varchar(100) DEFAULT NULL COMMENT '회사명',
|
||||
`site_name` varchar(100) DEFAULT NULL COMMENT '현장명',
|
||||
`estimate_date` varchar(30) DEFAULT NULL COMMENT '견적일자',
|
||||
`temp_1` varchar(255) DEFAULT NULL COMMENT '임시 필드 1',
|
||||
`temp_2` varchar(255) DEFAULT NULL COMMENT '임시 필드 2',
|
||||
`temp_3` varchar(255) DEFAULT NULL COMMENT '임시 필드 3',
|
||||
`temp_4` varchar(255) DEFAULT NULL COMMENT '임시 필드 4',
|
||||
`temp_5` varchar(255) DEFAULT NULL COMMENT '임시 필드 5',
|
||||
`extra_1` varchar(255) DEFAULT NULL COMMENT '여분 필드 1',
|
||||
`extra_2` varchar(255) DEFAULT NULL COMMENT '여분 필드 2',
|
||||
`extra_3` varchar(255) DEFAULT NULL COMMENT '여분 필드 3',
|
||||
`extra_4` varchar(255) DEFAULT NULL COMMENT '여분 필드 4',
|
||||
`extra_5` varchar(255) DEFAULT NULL COMMENT '여분 필드 5',
|
||||
`is_used` tinyint(1) NOT NULL DEFAULT '1' COMMENT '사용 여부 (1:사용, 0:미사용)',
|
||||
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '삭제 여부 (1:삭제, 0:정상)',
|
||||
`created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '생성일시',
|
||||
`created_by` varchar(20) DEFAULT NULL COMMENT '생성자',
|
||||
`updated_at` datetime DEFAULT NULL COMMENT '수정일시',
|
||||
`updated_by` varchar(20) DEFAULT NULL COMMENT '수정자',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `wr_id` (`wr_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='견적서 마스터 정보';
|
||||
|
||||
|
||||
|
||||
-- 2. 견적서 상세 항목 테이블
|
||||
-- 각 창의 상세 사양과 여분 필드를 저장합니다.
|
||||
CREATE TABLE IF NOT EXISTS `estimate_item` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`estimate_id` int DEFAULT NULL COMMENT '견적서 ID (estimate.id)',
|
||||
`no` int DEFAULT NULL COMMENT '항목 번호',
|
||||
`location` varchar(50) DEFAULT NULL COMMENT '위치',
|
||||
`product` varchar(50) DEFAULT NULL COMMENT '품명',
|
||||
`window_main_type` VARCHAR(255) NULL DEFAULT NULL COMMENT '창 종류',
|
||||
`windowRatio` varchar(20) DEFAULT NULL COMMENT '창비율',
|
||||
`windowType` varchar(20) DEFAULT NULL COMMENT '창호형태',
|
||||
`replacePart` varchar(20) DEFAULT NULL COMMENT '교체위치',
|
||||
`color` varchar(20) DEFAULT NULL COMMENT '색상',
|
||||
`spec_width` varchar(20) DEFAULT NULL COMMENT '규격(가로)',
|
||||
`spec_height` varchar(20) DEFAULT NULL COMMENT '규격(세로)',
|
||||
`glass_thickness` varchar(20) DEFAULT NULL COMMENT '유리두께',
|
||||
`glass_color` varchar(20) DEFAULT NULL COMMENT '유리색상',
|
||||
`screen` varchar(10) DEFAULT NULL COMMENT '방충망',
|
||||
`handle` varchar(20) DEFAULT NULL COMMENT '손잡이(시정장치)',
|
||||
`door_dir` varchar(20) DEFAULT NULL COMMENT '문방향',
|
||||
`qty` int DEFAULT NULL COMMENT '수량',
|
||||
`price` int DEFAULT NULL COMMENT '단가',
|
||||
`amount` int DEFAULT NULL COMMENT '금액',
|
||||
`install` varchar(5) DEFAULT NULL COMMENT '시공여부',
|
||||
`brand` varchar(30) DEFAULT NULL COMMENT '브랜드',
|
||||
`temp_1` varchar(255) DEFAULT NULL COMMENT '임시 필드 1',
|
||||
`temp_2` varchar(255) DEFAULT NULL COMMENT '임시 필드 2',
|
||||
`temp_3` varchar(255) DEFAULT NULL COMMENT '임시 필드 3',
|
||||
`temp_4` varchar(255) DEFAULT NULL COMMENT '임시 필드 4',
|
||||
`temp_5` varchar(255) DEFAULT NULL COMMENT '임시 필드 5',
|
||||
`extra_1` varchar(255) DEFAULT NULL COMMENT '여분 필드 1',
|
||||
`extra_2` varchar(255) DEFAULT NULL COMMENT '여분 필드 2',
|
||||
`extra_3` varchar(255) DEFAULT NULL COMMENT '여분 필드 3',
|
||||
`extra_4` varchar(255) DEFAULT NULL COMMENT '여분 필드 4',
|
||||
`extra_5` varchar(255) DEFAULT NULL COMMENT '여분 필드 5',
|
||||
`is_used` tinyint(1) NOT NULL DEFAULT '1' COMMENT '사용 여부 (1:사용, 0:미사용)',
|
||||
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '삭제 여부 (1:삭제, 0:정상)',
|
||||
`created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '생성일시',
|
||||
`created_by` varchar(20) DEFAULT NULL COMMENT '생성자',
|
||||
`updated_at` datetime DEFAULT NULL COMMENT '수정일시',
|
||||
`updated_by` varchar(20) DEFAULT NULL COMMENT '수정자',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `estimate_id` (`estimate_id`),
|
||||
CONSTRAINT `fk_item_to_estimate` FOREIGN KEY (`estimate_id`) REFERENCES `estimate` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='견적서 상세 항목';
|
||||
|
||||
|
||||
-- 3. 견적 및 항목 변경 이력 테이블
|
||||
-- 모든 데이터의 생성, 수정, 삭제 이력을 기록합니다.
|
||||
CREATE TABLE IF NOT EXISTS `estimate_history` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '이력 고유 ID',
|
||||
`estimate_id` int NOT NULL COMMENT '견적서 ID',
|
||||
`item_id` int DEFAULT NULL COMMENT '견적 항목 ID (항목 변경 시)',
|
||||
`action` varchar(20) NOT NULL COMMENT '작업 종류 (create, update, delete)',
|
||||
`change_details` longtext COMMENT '변경된 데이터 (JSON 형식)',
|
||||
`changed_by` varchar(20) NOT NULL COMMENT '변경자 ID',
|
||||
`changed_at` datetime NOT NULL COMMENT '변경일시',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `estimate_id` (`estimate_id`),
|
||||
KEY `item_id` (`item_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='견적 및 항목 변경 이력';
|
||||
|
||||
-- 4. 대리점 입찰 정보 테이블
|
||||
-- 대리점이 고객의 견적 요청에 대해 제출한 입찰(견적) 정보를 저장합니다.
|
||||
CREATE TABLE IF NOT EXISTS `estimate_bidding` (
|
||||
`id` int NOT NULL AUTO_INCREMENT,
|
||||
`estimate_id` int NOT NULL COMMENT '견적서 ID (estimate.id)',
|
||||
`dealer_id` varchar(20) NOT NULL COMMENT '입찰한 대리점 회원 ID',
|
||||
`bid_amount` int NOT NULL COMMENT '대리점 제시 금액',
|
||||
`bid_message` text COMMENT '대리점 메모',
|
||||
`status` varchar(20) NOT NULL DEFAULT 'bidding' COMMENT '입찰 상태 (bidding:입찰중, selected:채택됨, unselected:미채택)',
|
||||
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '삭제 여부 (1:삭제, 0:정상)',
|
||||
`created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '생성일시',
|
||||
`updated_at` datetime DEFAULT NULL COMMENT '수정일시',
|
||||
`updated_by` varchar(20) DEFAULT NULL COMMENT '수정자',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `estimate_id` (`estimate_id`),
|
||||
KEY `dealer_id` (`dealer_id`),
|
||||
CONSTRAINT `fk_bidding_to_estimate` FOREIGN KEY (`estimate_id`) REFERENCES `estimate` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='대리점 입찰 정보';
|
||||
Reference in New Issue
Block a user