❗ROLE NAME 정하기 ❗어느 허브소속인지? 어느 업체 소속인지? 구분할 수 있는 필드가 필요 ⇒ 테이블 생성

허브 대기중, 허브 이동중, 목적지 허브 도착, 배송중

생산업체 - 업체 담당 - 허브(수령업체) - 배송중 - 사용자

허브 이동 담당자 or 업체 배송 담당자

공통 허브 이동 담당자와 업체 배송 담당자로 나뉘며, 두 타입 간의 업무는 명확히 구분됩니다.

서울 (생산업체) - 부산 (수령업체) → 배송중 (배달 출발)

서울 - 허브 - 허브 - 허브 - 부산

업체 배송 담당자 - 업체 ↔ 허브 허브 대기중

허브 배송 담당자 - 허브 ↔ 허브 허브 이동중

발제를 보면 허브간 이동 정보는 출발 허브ID 와 도착 허브ID가 있음

그럼 업체간 이동 정보는 업체에서 업체 관리 허브 ID로 이동 그 시점부터 출발 허브 도착 허브가 되는 것

생산 업체를 생성하면서 관리 허브도 등록을 함 → 상품을 생산하고 주문이 들어오면 → 관리 허브로 보냄(이걸 업체 배송 담당자가 하는거 아님?) → 관리 허브에서 수령 업체 허브까지 허브간 이동을 함 그 정보를 출발,도착 허브 ID로 경로를 나타냄 → 마지막(목적지 허브)허브에서 수령 업체까지 이동 수령 업체도 생성할 때 관리 허브를 등록 이게 큰그림

생산업체 → 업체 담당자 → 소속된 허브(출발허브) → 허브(경기북부) → 허브(경기남부) → 업체 담당자 → 수령업체

회원 테이블 (p_users)

필드 이름 데이터 타입 설명 비고
id BIGINT 회원 ID PK
username VARCHAR(100) 회원 아이디 NOT NULL
password VARCHAR(255) 회원 비밀번호 NOT NULL
role ENUM 회원 역할 NOT NULL 마스터 관리자, 허브 관리자, 허브 업체 관리자, 배송 담당자
MASTER_MANGER, HUB_MANAGER, COMPANY_MANAGER, SHIPPER
slack_id VARCHAR(100) 슬랙 아이디
(알림용) NOT NULL
is_delete BOOLEAN 삭제 여부 NOT NULL
created_at DATETIME 레코드 생성 시간 NOT NULL
created_by VARCHAR(100) 레코드 생성자 NOT NULL
updated_at DATETIME 레코드 수정 시간 NULL
updated_by VARCHAR(100) 레코드 수정자 NULL
deleted_at DATETIME 레코드 삭제 시간 NULL
deleted_by VARCHAR(100) 레코드 삭제자 NULL

업체 테이블 (p_company)

필드 이름 데이터 타입 설명 비고
id UUID 업체 ID PK
hub_id UUID 업체 관리 허브 ID FK 특정 허브에 소속
name VARCHAR(100) 업체 이름 NOT NULL
type ENUM 업체 타입 NOT NULL 생산업체/수령업체
PRODUCTION_COMPANY
RECEIPT_COMPANY
address VARCHAR(255) 업체 주소 NOT NULL
is_delete BOOLEAN 삭제 여부 NOT NULL
created_at DATETIME 레코드 생성 시간 NOT NULL
created_by VARCHAR(100) 레코드 생성자 NOT NULL
updated_at DATETIME 레코드 수정 시간 NULL
updated_by VARCHAR(100) 레코드 수정자 NULL
deleted_at DATETIME 레코드 삭제 시간 NULL
deleted_by VARCHAR(100)UUID 레코드 삭제자 NULL