Commit Graph

585 Commits

Author SHA1 Message Date
김보곤
27a7773d95 merge: develop를 main에 머지 (CLAUDE.md 충돌 해결) 2026-02-25 15:41:35 +09:00
김보곤
1675bcbedf fix: [quotes] BomCalculationResult 프로퍼티명 수정 (materials → items, snake_case) 2026-02-25 15:38:00 +09:00
김보곤
bf857b2820 fix: [quotes] QuoteCalculationReport items → locations 프로퍼티 매핑 수정
- QuoteFormDataV2에 맞춰 quote.items를 quote.locations로 전환
- bomMaterials를 locations[].bomResult.materials에서 추출하도록 변경
- 미사용 BomMaterial import 제거
2026-02-25 15:38:00 +09:00
김보곤
bc2b852f98 fix: [quotes] QuoteFormData → QuoteFormDataV2 타입명 변경 반영 2026-02-25 15:38:00 +09:00
김보곤
6c1f07da2c fix: [card] CardForm 수정 모드 setFormData에 누락된 필수 필드 추가 2026-02-25 15:38:00 +09:00
김보곤
8538256edf fix: [card] CardForm 초기값에 누락된 CardFormData 필수 필드 추가 2026-02-25 15:38:00 +09:00
김보곤
58f1b2fa78 fix: [dashboard] SalesStatusSection Tooltip formatter 타입 오류 수정 2026-02-25 15:38:00 +09:00
김보곤
0f97d53344 fix: [dashboard] PurchaseStatusSection Tooltip formatter 타입 오류 수정 2026-02-25 15:37:59 +09:00
김보곤
c44f10d1e1 chore: deploy.sh 추적 중지 및 .gitignore 추가 2026-02-25 15:37:59 +09:00
유병철
86dcd23df7 refactor: 로그인 테스트 계정을 환경변수로 분리
- 하드코딩 → process.env.NEXT_PUBLIC_DEV_USER_ID/PWD
- 개발 환경: .env.local에 설정 → 자동 입력
- 배포 환경: 환경변수 없음 → 빈 값
- develop/main 코드 동일, 환경변수로만 동작 구분

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 15:27:20 +09:00
유병철
0b41b9f813 feat: 순서변경 ▲/▼ 버튼 추가 (터치 지원) + 단가표 테이블 스크롤 수정
- ReorderButtons 공통 컴포넌트 신규 생성 (molecules)
- 패턴B(리스트): RankManagement, TitleManagement, CategoryManagement
- 패턴A(테이블): ProcessDetail, ProcessForm, ChecklistDetail
- 패턴C(컴포넌트): DraggableSection, DraggableField, HierarchyTab
- 모바일: GripVertical 숨김, ▲/▼ 버튼만 표시
- 데스크톱: GripVertical + ▲/▼ 버튼 모두 표시
- 단가표 단가정보 테이블 overflow-hidden → overflow-x-auto + min-w 적용
2026-02-25 14:28:49 +09:00
5a085459f8 chore: Slack 알림에 커밋 메시지 추가
- Checkout 단계에서 GIT_COMMIT_MSG 캡처 (git log -1 --pretty=format:'%s')
- 빌드 시작, 승인 대기, 성공, 실패 모든 Slack 메시지에 커밋 제목 포함
- 배포 내용을 Slack에서 바로 확인 가능
2026-02-25 12:52:23 +09:00
4dc0644f8d chore: Slack 알림에 커밋 메시지 추가
- Checkout 단계에서 GIT_COMMIT_MSG 캡처 (git log -1 --pretty=format:'%s')
- 빌드 시작, 승인 대기, 성공, 실패 모든 Slack 메시지에 커밋 제목 포함
- 배포 내용을 Slack에서 바로 확인 가능
2026-02-25 12:52:14 +09:00
6a0040d0a3 ci:동시 빌드 방지 + 운영 배포 승인 Slack 알림 (#product_deploy)
- disableConcurrentBuilds() 추가
- Production Approval 단계에 #product_deploy 채널 알림 추가
2026-02-25 11:30:56 +09:00
41b326eb3a ci:운영 배포 승인 대기 Slack 알림 추가 (#product_deploy) 2026-02-25 11:30:47 +09:00
f8294509e5 ci:Jenkinsfile 동시 빌드 방지 옵션 추가 2026-02-25 11:24:39 +09:00
유병철
1e5c341966 fix: 로그인 페이지 하드코딩된 테스트 계정 제거
- userId/password 초기값을 빈 문자열로 변경
- 개발용 TestUser5/password123! 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 10:57:21 +09:00
16a0a421c2 fix:Jenkinsfile 환경파일을 .env.local에서 .env.production으로 변경
- Next.js 우선순위 문제 해결 (.env.local이 .env.production을 덮어쓰는 문제)
- Prepare Env, Deploy Development/Stage/Production, Rebuild 5곳 수정
2026-02-25 10:20:07 +09:00
63f22e2538 fix:Jenkinsfile 환경파일을 .env.local에서 .env.production으로 변경
- Next.js 우선순위 문제 해결 (.env.local이 .env.production을 덮어쓰는 문제)
- Prepare Env, Deploy Development/Stage/Production, Rebuild 5곳 수정
2026-02-25 10:18:53 +09:00
b3e7ef63f6 fix: Checkout 단계 slackSend에 tokenCredentialId 추가 2026-02-24 22:18:22 +09:00
유병철
49d07914fd feat(WEB): CEO 대시보드 리팩토링, 캘린더 강화, validation 모듈 분리, Git Workflow 정립
- CEO 대시보드 전 섹션 공통 컴포넌트 기반 리팩토링 (SectionCard, StatItem 등)
- CalendarSection 일정 CRUD 기능 확장
- validation.ts → validation/ 모듈 분리 (item-schemas, form-schemas, common, utils)
- CLAUDE.md Git Workflow 섹션 추가 (develop/main 플로우 정의)
- Jenkinsfile CI/CD 파이프라인 정비 (Slack 알림 추가)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:55:15 +09:00
유병철
7809285b1d Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-react-prod into develop 2026-02-24 21:54:32 +09:00
유병철
0d4393fc34 feat(WEB): CEO 대시보드 전 섹션 공통 컴포넌트 기반 리팩토링
- EnhancedSections 공통 컴포넌트 추출 (SectionCard, StatItem, StatusBadge 등)
- 전 섹션(매출/매입/생산/출근/미출하/건설/캘린더/일보 등) 공통 패턴 적용
- components.tsx 공통 UI 컴포넌트 강화
- CLAUDE.md Git Workflow 섹션 추가 (develop/stage/main 플로우)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 21:54:21 +09:00
830567d6c9 fix:slackSend에 tokenCredentialId 추가 (credential null 에러 수정) 2026-02-24 21:53:46 +09:00
1a4a009543 ci:Jenkinsfile 빌드 시작 Slack 알림 추가 2026-02-24 21:00:04 +09:00
4681a2a6a4 ci:Jenkinsfile Slack 알림 추가 (slackSend #product_infra) 2026-02-24 20:45:49 +09:00
be3a6c0596 ci:Jenkinsfile 2-branch 전략으로 전환 (stage 브랜치 제거, main에서 Stage→승인→Production) 2026-02-24 17:42:34 +09:00
446243910f refactor: stage 브랜치 제거, main에서 Stage→승인→Production 배포 흐름으로 변경
- develop: 개발서버 자동 배포 (변경 없음)
- main: Stage 자동 배포 → Jenkins 승인 → Production 재빌드+배포
- stage 브랜치 더 이상 사용 안함
- Next.js는 빌드 시 env 바인딩되므로 Stage/Production 별도 빌드
2026-02-24 13:21:08 +09:00
bd7cb4c301 refactor: stage 브랜치 제거, main에서 Stage→승인→Production 배포 흐름으로 변경
- develop: 개발서버 자동 배포 (변경 없음)
- main: Stage 자동 배포 → Jenkins 승인 → Production 재빌드+배포
- stage 브랜치 더 이상 사용 안함
- Next.js는 빌드 시 env 바인딩되므로 Stage/Production 별도 빌드
2026-02-24 13:20:52 +09:00
유병철
b8dfa3d887 feat(WEB): CEO 대시보드 캘린더 강화 및 validation 모듈 분리
- CalendarSection 일정 CRUD 기능 확장 (상세 모달 연동)
- ScheduleDetailModal 개선
- CEO 대시보드 섹션별 API 키 통일
- validation.ts → validation/ 모듈 분리 (item-schemas, utils)
- formatters.ts 확장
- date.ts 유틸 추가
- SignupPage/EmployeeForm/AddCompanyDialog 등 소규모 개선
- PaymentHistory/PopupManagement utils 정리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 13:01:41 +09:00
e2988e91a1 fix(ci): rsync trailing slash 수정 및 PM2 프로세스명 수정
- rsync source 경로 trailing slash 제거 (.next/, node_modules/, public/ → .next, node_modules, public)
- trailing slash로 디렉토리 내용이 root에 풀리는 문제 해결
- dev deploy에 --exclude .git, .env*, ecosystem.config.* 추가
- PM2 프로세스명: sam-front → sam-react (개발서버)
2026-02-24 08:10:41 +09:00
7c588ee58c ci: fix npm ci → npm install (package-lock.json not tracked) 2026-02-24 08:10:41 +09:00
ee21fe9195 ci: add Jenkinsfile for CI/CD pipeline (develop/stage/main) 2026-02-24 08:10:41 +09:00
6a469181cd fix(ci): rsync trailing slash 수정 및 PM2 프로세스명 수정
- rsync source 경로 trailing slash 제거 (.next/, node_modules/, public/ → .next, node_modules, public)
- trailing slash로 디렉토리 내용이 root에 풀리는 문제 해결
- dev deploy에 --exclude .git, .env*, ecosystem.config.* 추가
- PM2 프로세스명: sam-front → sam-react (개발서버)
2026-02-24 02:22:36 +09:00
ec492e3829 ci: fix npm ci → npm install (package-lock.json not tracked) 2026-02-24 02:05:27 +09:00
3e4ad775a6 ci: add Jenkinsfile for CI/CD pipeline (develop/stage/main) 2026-02-24 01:58:32 +09:00
유병철
8f4a7ee842 refactor(WEB): CEO 대시보드 대규모 개선 및 문서/권한/스토어 리팩토링
- CEO 대시보드: 섹션별 API 연동 강화 (매출/매입/생산 실데이터 표시)
- DashboardSettingsDialog 드래그 정렬 및 설정 UX 개선
- dashboard transformers 모듈 분리 (파일 분할)
- DocumentTable/DocumentWrapper 공통 문서 컴포넌트 추출
- LineItemsTable organisms 컴포넌트 추가
- PurchaseOrderDocument/InspectionRequestDocument 문서 컴포넌트 리팩토링
- PermissionContext → permissionStore(Zustand) 전환
- useUIStore, stores/utils/userStorage 추가
- favoritesStore/useTableColumnStore 사용자별 저장 지원
- DepositDetail/WithdrawalDetail 삭제 (통합)
- PurchaseDetail/SalesDetail 간소화
- amount.ts/formatters.ts 유틸 확장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 20:59:25 +09:00
유병철
718be1cfdb Merge branch 'master' of http://114.203.209.83:3000/SamProject/sam-react-prod 2026-02-23 17:17:25 +09:00
유병철
07374c826c refactor(WEB): claudedocs 재정리 및 AuthContext/Zustand/유틸 코드 개선
- claudedocs 폴더 구조 재정리: archive/sessions, guides/migration·mobile·universal-list, refactoring 분류
- 오래된 세션 컨텍스트/체크리스트 문서 정리 (아카이브 이동 또는 삭제)
- AuthContext → authStore(Zustand) 전환 시작, RootProvider 간소화
- GenericCRUDDialog 공통 다이얼로그 컴포넌트 추가
- PermissionDialog 삭제 → GenericCRUDDialog로 대체
- RankDialog/TitleDialog GenericCRUDDialog 기반으로 리팩토링
- toast-utils.ts 삭제 (미사용)
- fileDownload.ts 개선, excel-download.ts 정리
- menuStore/themeStore Zustand 셀렉터 최적화
- useColumnSettings/useTableColumnStore 기능 보강
- 세금계산서/견적/작업자화면/결재 등 소규모 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:17:13 +09:00
55a3c597eb fix : 환경설정 복원 2026-02-23 16:46:08 +09:00
786065d758 Revert "chore: [deploy] standalone 모드 빌드/배포 전환"
This reverts commit 4a0fcf77e6.
2026-02-23 16:43:57 +09:00
6c3572e568 fix:작업자 화면 하단 플로팅 버튼 사이드바 겹침 수정 2026-02-23 14:57:28 +09:00
유병철
f5362e6887 feat(WEB): 회계/HR/생산/품질 탭 복원 및 대시보드·검색 개선
- 회계 모듈 탭 UI 복원 (대손/은행거래/청구/입금/예상경비/상품권/매입/매출/세금계산서/거래처원장/거래처/출금)
- HR 모듈 탭 복원 (근태/급여/휴가)
- 대시보드 type2/3/4 페이지 개선
- CEO 대시보드 섹션 로딩 최적화
- 품목 마스터데이터 관리 탭 기능 강화
- 생산 작업자화면/작업지시 개선
- 품질 검사 생성/상세 화면 보완
- 건설 견적/현장관리 상세 개선
- UniversalListPage 기능 확장
- E2E 잔여 버그 핸드오프 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 14:55:40 +09:00
유병철
6604695674 feat(WEB): CEO 대시보드 섹션 분리 및 캘린더/거래처 관리 기능 추가
- CEO 대시보드 섹션별 컴포넌트 분리 (건설/생산/매출/매입/미출하/출근)
- LazySection 지연 로딩 패턴 적용
- DashboardSettingsDialog 섹션 표시/순서 설정 확장
- 캘린더 관리 페이지 신규 추가 (settings/calendar-management)
- useCalendarScheduleStore Zustand 스토어 추가
- CalendarHeader 일정 추가/관리 기능 강화
- 거래처 관리 상세 화면 개선 (VendorDetail/VendorDetailClient)
- 카드 관리 상세 화면 리팩토링
- FormField 기능 확장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 13:38:20 +09:00
b4ceac9ad1 fix: 중간검사 성적서가 모든 공정에서 절곡 형태로 표시되는 버그 수정
- InspectionReportModal에 전달되던 stale templateData prop 제거
- 모달이 workOrderId 기반으로 해당 공정의 문서 템플릿을 항상 자체 로딩
- 원인: inspectionTemplateData가 탭 전환 시 초기화되지 않아 이전 공정 템플릿이 재사용됨
2026-02-22 04:19:41 +09:00
eb4a66329e fix(WEB): 입고 수정 시 제조사 필드 API 전송 추가
- transformFrontendToApi()에 manufacturer 필드 매핑 추가
2026-02-22 04:19:41 +09:00
9afb850a7b fix: 자재투입 모달 개소 대표 아이템 단일 조회로 변경
- 개소 내 5개 아이템 병렬 조회 → 대표 아이템 1개만 조회 (5배 중복 제거)
- submit 로직 단순화: 복수 그룹핑 병렬 등록 → 단일 아이템 등록
2026-02-22 04:19:41 +09:00
559af1334b feat: 자재투입 모달 복수 작업지시품목 병렬 조회 지원
- workOrderItemIds prop 추가 (절곡 등 복수 item 공정 대응)
- Promise.all로 복수 item 자재 병렬 조회 후 합치기
- 각 자재에 소스 workOrderItemId 태깅 (submit 시 올바른 item에 등록)
- 기존 단일 workOrderItemId 호환 유지
2026-02-22 04:19:41 +09:00
90ff585a2e feat: 절곡 검사 성적서 저장 데이터 복원 개선
- 검사 데이터가 있는 첫 번째 workItem 탐색 (workItems[0] 의존 제거)
- 저장된 products 배열 전체 복원 (bendingStatus, 측정값, 갭 포인트)
- 부적합 내용(inadequateContent) 복원 추가
- 개소별 bendingStatus 로드 폴백 유지
2026-02-22 04:19:41 +09:00
a19263334e feat(WEB): 절곡 자재투입 LOT 매핑 프론트엔드 연동
- actions.ts: MaterialForInput에 workOrderItemId/lotPrefix/partType/category 필드 추가
- MaterialInputModal: dynamic_bom 세부품목 단위 그룹핑 + category 배지 표시
- 작업일지 4개 섹션 lotNoMap prop 추가 (GuideRail/BottomBar/ShutterBox/SmokeBarrier)
- WorkLogModal: materialLots에서 BD-* 필터링 → lotNoMap 빌드 후 전달
- utils.ts: lengthToCode() 래퍼 함수 추가
2026-02-22 04:19:41 +09:00