P2-07~14 판매대행소/담당자/업체/무료대상자 CRUD 일괄 구현
- 4개 테이블 생성 (sales_agency, manager, company, free_recipient) - 4개 Model + 4개 Controller + 12개 View - 담당자: 소속(S)/직위(T) 코드 연동 - 업체: 협회/제작업체/회수업체 유형 분류 - 무료대상자: 무상지급구분(H)/동코드(D) 연동 - 모두 지자체별 멀티테넌시 적용 - 24개 라우트 추가 - E2E 테스트 9개 전체 통과 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
18
writable/database/company_tables.sql
Normal file
18
writable/database/company_tables.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
-- ============================================
|
||||
-- 업체 테이블 (P2-11, P2-12)
|
||||
-- ============================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `company` (
|
||||
`cp_idx` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`cp_lg_idx` INT UNSIGNED NOT NULL COMMENT '지자체 FK',
|
||||
`cp_type` VARCHAR(20) NOT NULL COMMENT '협회/제작업체/회수업체',
|
||||
`cp_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '업체명',
|
||||
`cp_biz_no` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '사업자번호',
|
||||
`cp_rep_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '대표자명',
|
||||
`cp_tel` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '전화번호',
|
||||
`cp_addr` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '주소',
|
||||
`cp_state` TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
||||
`cp_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`cp_idx`),
|
||||
KEY `idx_cp_lg_idx` (`cp_lg_idx`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='업체(협회/제작/회수)';
|
||||
19
writable/database/free_recipient_tables.sql
Normal file
19
writable/database/free_recipient_tables.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
-- ============================================
|
||||
-- 무료용 대상자 테이블 (P2-13, P2-14)
|
||||
-- ============================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `free_recipient` (
|
||||
`fr_idx` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`fr_lg_idx` INT UNSIGNED NOT NULL COMMENT '지자체 FK',
|
||||
`fr_type_code` VARCHAR(20) NOT NULL COMMENT '무상지급구분 code_detail(H)',
|
||||
`fr_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '대상자/기관명',
|
||||
`fr_phone` VARCHAR(20) NOT NULL DEFAULT '',
|
||||
`fr_addr` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`fr_dong_code` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '동코드 code_detail(D)',
|
||||
`fr_note` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '비고',
|
||||
`fr_end_date` DATE NULL DEFAULT NULL COMMENT '종료일자',
|
||||
`fr_state` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '1=정상, 0=삭제',
|
||||
`fr_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`fr_idx`),
|
||||
KEY `idx_fr_lg_idx` (`fr_lg_idx`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='무료용 대상자';
|
||||
18
writable/database/manager_tables.sql
Normal file
18
writable/database/manager_tables.sql
Normal file
@@ -0,0 +1,18 @@
|
||||
-- ============================================
|
||||
-- 담당자 테이블 (P2-09, P2-10)
|
||||
-- ============================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `manager` (
|
||||
`mg_idx` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`mg_lg_idx` INT UNSIGNED NOT NULL COMMENT '지자체 FK',
|
||||
`mg_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '담당자명',
|
||||
`mg_dept_code` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '소속 code_detail(S)',
|
||||
`mg_position_code` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '직위 code_detail(T)',
|
||||
`mg_tel` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '전화번호',
|
||||
`mg_phone` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '휴대전화',
|
||||
`mg_email` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '이메일',
|
||||
`mg_state` TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
||||
`mg_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`mg_idx`),
|
||||
KEY `idx_mg_lg_idx` (`mg_lg_idx`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='담당자';
|
||||
17
writable/database/sales_agency_tables.sql
Normal file
17
writable/database/sales_agency_tables.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- ============================================
|
||||
-- 판매 대행소 테이블 (P2-07, P2-08)
|
||||
-- ============================================
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sales_agency` (
|
||||
`sa_idx` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`sa_lg_idx` INT UNSIGNED NOT NULL COMMENT '지자체 FK',
|
||||
`sa_name` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '대행소명',
|
||||
`sa_biz_no` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '사업자번호',
|
||||
`sa_rep_name` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '대표자명',
|
||||
`sa_tel` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '전화번호',
|
||||
`sa_addr` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '주소',
|
||||
`sa_state` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '1=정상, 0=미사용',
|
||||
`sa_regdate` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`sa_idx`),
|
||||
KEY `idx_sa_lg_idx` (`sa_lg_idx`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='판매 대행소';
|
||||
Reference in New Issue
Block a user