feat: 기본코드 bag 목록과 관리자 CRUD 분리

- /bag/code-kinds, /bag/code-details/{ck_idx} 조회 (LoginAuthFilter, Roles::canManageCodeMaster)
- admin에서는 종류·세부 목록 제거, 등록·수정·삭제만 유지 후 bag으로 리다이렉트
- 사이트 메뉴·기본코드 링크 SQL, CSV 동기화 스크립트·README 보강
- 관리자 대시보드: 발주·판매 테이블 미존재 시 통계 비활성화
- 회원 로그인 잠금(mb_login_fail_count, mb_locked_until) 및 관리자 잠금 해제

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-03-30 15:07:09 +09:00
parent de8f631ca8
commit ab40a90f69
32 changed files with 1026 additions and 704 deletions

View File

@@ -56,3 +56,21 @@ INSERT INTO `menu` (`mt_idx`, `lg_idx`, `mm_name`, `mm_link`, `mm_pidx`, `mm_dep
(2, 1, '통계 분석 관리', 'bag/analytics', 0, 0, 7, 0, '', 'Y'),
(2, 1, '', 'bag/window', 0, 0, 8, 0, '', 'Y'),
(2, 1, '도움말', 'bag/help', 0, 0, 9, 0, '', 'Y');
-- site: 기본정보관리 하위 "기본코드관리" (기존 DB 중복 방지: bag/code-kinds 없을 때만 추가)
INSERT INTO `menu` (`mt_idx`, `lg_idx`, `mm_name`, `mm_link`, `mm_pidx`, `mm_dep`, `mm_num`, `mm_cnode`, `mm_level`, `mm_is_view`)
SELECT m.mt_idx, m.lg_idx, '기본코드관리', 'bag/code-kinds', m.mm_idx, 1, 0, 0, '', 'Y'
FROM `menu` m
JOIN `menu_type` t ON t.mt_idx = m.mt_idx AND t.mt_code = 'site'
WHERE m.lg_idx = 1 AND m.mm_link = 'bag/basic-info' AND m.mm_pidx = 0
AND NOT EXISTS (
SELECT 1 FROM `menu` c WHERE c.mt_idx = m.mt_idx AND c.lg_idx = m.lg_idx AND c.mm_link = 'bag/code-kinds'
)
LIMIT 1;
UPDATE `menu` m
JOIN `menu_type` t ON t.mt_idx = m.mt_idx AND t.mt_code = 'site'
SET m.mm_cnode = (
SELECT COUNT(*) FROM `menu` c WHERE c.mm_pidx = m.mm_idx AND c.mt_idx = m.mt_idx AND c.lg_idx = m.lg_idx
)
WHERE m.lg_idx = 1 AND m.mm_link = 'bag/basic-info' AND m.mm_pidx = 0;