Commit Graph

701 Commits

Author SHA1 Message Date
유병철
0029988e6f feat: [approval] 전자결재 모듈 대폭 개선 + 회계 리팩토링
- 전자결재: 다양식 지원(11종), 완료함, 동적폼 렌더러, QA 보고서
- 회계: 계정과목 검색모달 리팩토링, 거래처/세금계산서 개선
- HR: 근태/휴가/직원 소소한 수정
- vehicle/quality/pricing 마이너 수정
- approval_backup_v1 백업 보관
2026-03-16 17:06:02 +09:00
1280c8d61a feat: [quotes] 견적 등록 개선
- 수주처 선택 시 담당자/연락처 자동 입력
- 현장명 직접 입력 가능 (creatable 옵션)
- SearchableSelect에 creatable 기능 추가
2026-03-14 08:29:30 +09:00
22a398024c fix: [inspection] 검사 문서 이미지 URL 생성 file_id 기반으로 변경
- getImageUrl 파라미터 순서 변경 (file_id 우선)
- 레거시 tenant path 직접 접근 제거, R2 프록시 사용
- SectionImage에 file_id prop 추가
2026-03-14 08:29:20 +09:00
31157122ca fix: [vendor] 거래처 관리 날짜 필터 기본값 변경
- 기본값을 당월 → 빈 값(전체 조회)으로 변경
- date-fns import 제거
- 날짜 필터 범위 조건 개선
2026-03-14 08:29:09 +09:00
ac3db01859 fix: [orders] revertProductionOrder 응답 타입 수정
- deletedCounts optional로 변경 (cancel 모드에서 미존재)
- cancelledCount, skippedCount 필드 추가 (운영 취소 모드 대응)
- RevertResponse 인터페이스 force/cancel 모드별 필드 분리
2026-03-14 08:29:03 +09:00
156a50fd73 fix: [build] 타입 오류 수정 (cancelledCount, lot_no)
- order-management-sales: revertProduction 결과 구조분해로 타입 추론 수정
- WorkerScreen/actions: lot_no 접근 타입 캐스트 추가
2026-03-14 08:28:11 +09:00
b87b94860b fix: [worker-screen] 프론트 가짜 LOT 제거, 백엔드 실제 LOT 사용
- actions.ts: 하드코딩 LOT(-01) 제거 → API 응답 lot_no 사용
- index.tsx: API 호출 후 실제 LOT으로 완료 다이얼로그 표시하도록 흐름 변경
2026-03-13 23:46:55 +09:00
c210ec1b5f feat: [shipment] 출하 상태변경 버튼에 can_ship 검증 UI 추가
- canShip=true일 때만 상태 변경 버튼 활성화
- canShip=false일 때 '출하 불가 (품질 검수 필요)' 비활성 버튼 표시
2026-03-13 22:46:18 +09:00
6bbc5867fe feat: [order] 수주 확정 모달에 품목 정보 테이블 추가
- 총금액 표시 제거
- 수주 품목 테이블 추가 (품목명, 층, 부호, 사이즈, 수량)
- nodes 기반 렌더링 우선, products fallback
- 모달 너비 max-w-md → max-w-lg 확장
2026-03-13 22:26:19 +09:00
유병철
c309ac479f feat: [vehicle] 법인차량 관리 모듈 + MES 분석 보고서 + 프론트엔드 문서
- 법인차량 관리 3개 페이지 (차량등록, 운행일지, 정비이력)
- MES 데이터 정합성 분석 보고서 v1/v2
- sam-docs 프론트엔드 기술문서 v1 (9개 챕터)
- claudedocs 가이드/테스트URL 업데이트
2026-03-13 17:52:57 +09:00
80164f722e fix: [build] 타입 오류 수정 (DepartmentDialog, PricingFormClient)
- PricingFormClient: mode prop에 'view' 타입 추가
- DepartmentDialog: Zod 스키마 .default() 제거 및 z.coerce.number→z.number 변경
2026-03-13 10:32:49 +09:00
742c0ba03e feat: [qms] 작업일지/제품검사 독립 모달 컴포넌트
- WorkLogModal: workOrderId로 공정별 작업일지 표시
- ProductInspectionViewModal: locationId로 FQC/레거시 검사 성적서 표시
- QMS 등 외부에서 재사용 가능한 독립 구조
2026-03-13 10:14:45 +09:00
8d33fafb48 fix: [storage] R2 테넌트 파일 경로 URL 변환 추가
- tenant path 패턴(숫자/) 감지하여 API URL 프리픽스 추가
- /storage/tenants/{path} R2 프록시 라우트와 연동
2026-03-13 10:14:37 +09:00
613d0c1069 fix: [work-order] 기타 탭 제거
- TAB_OTHER 상수 및 관련 로직 삭제
- 보조공정/미배정 작업은 API에서 필터링
2026-03-13 10:14:30 +09:00
13249384e2 feat: [부서관리] 기능 보완 - 필드 확장, 검색/필터, UI 개선
- Department 타입에 code, description, isActive, sortOrder 필드 추가
- DepartmentDialog: Zod + react-hook-form 폼 검증 (5개 필드)
- DepartmentToolbar: 상태 필터(전체/활성/비활성) + 검색 기능
- DepartmentTree: 트리 필터링 (검색어 + 상태)
- DepartmentTreeItem: 코드 Badge, 부서명 볼드, 설명 표시, 체크박스 크기 조정
- convertApiToLocal에서 누락 필드 매핑 복원
2026-03-13 00:30:09 +09:00
유병철
ca5a9325c6 feat: 급여관리 개선 + 설비관리 신규 + 팝업관리/카드관리/가격표 개선
- 급여관리: 상세/등록 다이얼로그 리팩토링, actions/types 확장
- 설비관리: 설비현황/점검/수리 4개 페이지 신규 추가
- 팝업관리: PopupDetail/PopupForm 개선
- 카드관리: CardForm 개선
- IntegratedListTemplateV2, SearchFilter, useColumnSettings 개선
- CLAUDE.md: 페이지 모드 라우팅 패턴 규칙 추가
- 공통 페이지 패턴 가이드 확장
2026-03-12 21:48:37 +09:00
945a371cdf sync: main 배포 동기화 2026-03-12 2026-03-12 15:23:13 +09:00
f7be78b6c5 fix: [qms] 빌드 타입 에러 수정
- Day1DocumentSection: onUpload prop optional 처리 및 guard 추가
- mockData: RouteItem 타입 필수 필드 client 누락 보완
2026-03-12 14:13:44 +09:00
bb1e4a25a1 fix: [QMS] 로트심사 UI 개선
- 수주루트 → 수주로트 명칭 통일
- 거래처(client) 필드 추가 (types, actions, RouteList)
- 문서번호 표시 개선 (로트: 접두어 제거)
- ReportList 레이아웃 개선 (분기 표시 위치)
- PlaceholderDocument 문서번호 라벨 수정
2026-03-12 14:01:13 +09:00
86383719ec fix: [QMS] 제품검사 성적서 렌더링 개선 (FQC + inspection_data fallback)
- InspectionModal: FQC 문서 없을 때 inspection_data JSON으로 레거시 리포트 렌더링
- InspectionReportDocument 컴포넌트 재활용 (기존 검사 페이지와 동일 포맷)
- mockData: convertJudgment, mapInspectionDataToItems export 추가
2026-03-12 11:16:40 +09:00
b7f7aad2fd feat: [생산/출하] 작업자 화면 step 서버 토글 + 출하 수주 조인 연동
- WorkerScreen: stepProgressId 있는 모든 step을 서버 토글 API 호출하도록 변경
  (기존: click_complete 타입만 서버 호출, 나머지 로컬 토글)
- ShipmentManagement actions: order_info에서 receiver/receiver_contact 우선 참조
  - OrderInfoApiData 타입 확장 (receiver, receiver_contact, delivery_address_detail, delivery_method)
  - 목록/상세 모두 수주 조인 데이터 우선, 출하 직접 필드 fallback
2026-03-12 11:16:40 +09:00
92b5a4a097 fix: [품질검사] LegacyPhotoUpload images undefined 에러 수정
images prop에 기본값 [] 추가하여 initialData에 productImages가 없을 때 TypeError 방지
2026-03-12 11:16:40 +09:00
7447e8a204 feat: [QMS] 점검표 템플릿 Mock→API 연동 + 버전 UI 제거
- actions.ts: 5개 Server Actions 추가 (조회/저장/문서CRUD)
- useChecklistTemplate: Mock→API 전환, loading/error 상태 추가
- ChecklistTemplateEditor: VersionSelectBox 제거, loading/error UI
- AuditSettingsPanel/page.tsx: 버전 관련 props 정리
- types.ts: ChecklistTemplateVersion 제거, ChecklistTemplate 수정
2026-03-12 11:16:40 +09:00
2692865b55 feat: [견적] 제어기 타입 변경 + 가이드레일 제품연동 + 수식보기 개선
- 제어기: 노출형/매립형(뒷박스포함)/매립형(뒷박스제외) 3가지로 변경
- 가이드레일: 제품코드 specification에서 벽면형/측면형/혼합형 자동 연동, Select 비활성
- FormulaViewModal: JSON 데이터를 범용 렌더러(GenericDataView)로 표시
- DevFill: 새 제어기 타입 + 제품 기반 가이드레일 적용
2026-03-12 11:16:40 +09:00
b768ac63c2 feat: [배포] Jenkinsfile 롤백 기능 추가
- parameters 블록 추가 (ACTION, ROLLBACK_TARGET, ROLLBACK_RELEASE)
- Jenkins 웹에서 Build with Parameters로 롤백 실행 가능
- 릴리스 목록 조회 + symlink 전환 + pm2 reload
- production/stage 환경 선택 가능
- 서버 IP를 PROD_SERVER 환경변수로 추출
- 롤백 시 Slack 알림 추가
2026-03-12 11:16:39 +09:00
유병철
ea6ca335f1 feat: CSP 다음/카카오 도메인 허용 + 입고 성적서 파일 백엔드 연동 + 팝업 이미지 중앙정렬
- middleware CSP: *.kakao.com, *.kakaocdn.net 추가 (다음 주소찾기 차단 해결)
- frame-src에 'self' 추가
- 공지 팝업 이미지 중앙정렬 ([&_img]:mx-auto)
- HR 사원관리, 결재, 품목, 생산 등 다수 개선
- API 에러 핸들링 및 JSON 파싱 안정화
2026-03-11 22:32:58 +09:00
유병철
e9ac2470e1 feat: QMS 체크리스트 템플릿 관리 및 견적/리스트 개선
- QMS 체크리스트 템플릿 에디터 추가 (ChecklistTemplateEditor)
- AuditSettingsPanel, Day1DocumentSection 기능 확장
- 견적 등록(QuoteRegistration) 개선
- IntegratedListTemplateV2 수정
- 건설 카테고리 actions 수정
2026-03-11 11:06:10 +09:00
유병철
81affdc441 feat: ESLint 정리 및 전체 코드 품질 개선
- eslint.config.mjs 규칙 강화 및 정리
- 전역 unused import/변수 제거 (312개 파일)
- next.config.ts, middleware, proxy route 개선
- CopyableCell molecule 추가
- 회계/결재/HR/생산/건설/품질/영업 등 전 도메인 lint 정리
- IntegratedListTemplateV2, DataTable, MobileCard 등 공통 컴포넌트 개선
- execute-server-action 에러 핸들링 보강
2026-03-11 10:27:10 +09:00
924726cba1 fix: middleware publicRoutes 타입 에러 수정 2026-03-11 02:15:06 +09:00
5b5a6bdf88 sync: main 배포 동기화 2026-03-11 2026-03-11 02:07:04 +09:00
44a82a7ed4 refactor: [작업자화면] 목업 데이터 제거, API 데이터만 표시
- MOCK_ITEMS, MOCK_SIDEBAR_ORDERS 등 목업 데이터 정의 삭제 (~200줄)
- 사이드바/작업목록에서 목업 병합 로직 제거
- 데이터 없을 때 빈 상태 메시지 표시
2026-03-11 01:11:26 +09:00
dc0c317d23 feat: [auth] MNG→SAM 자동 로그인 페이지 구현
- /auto-login?token=xxx 페이지 추가 (기존 세션 로그아웃 후 토큰 로그인)
- /api/auth/token-login 프록시 라우트 (HttpOnly 쿠키 설정)
- publicRoutes에 /auto-login 추가 (인증 없이 접근 허용)
2026-03-11 01:08:09 +09:00
d17b2a11a4 feat: [QMS] 프론트엔드 API 연동 준비 (Phase 3)
- actions.ts: 1일차/2일차 서버 액션 함수 (snake_case→camelCase 변환)
- hooks/useDay1Audit.ts: 기준/매뉴얼 심사 상태 관리 커스텀 훅
- hooks/useDay2LotAudit.ts: 로트 추적 심사 상태 관리 커스텀 훅
- page.tsx: 인라인 상태를 커스텀 훅으로 리팩토링
- USE_MOCK 플래그로 목업↔API 전환 지원
2026-03-10 17:11:56 +09:00
77c5bcde59 feat: [QMS] 목업 데이터 사용 컴포넌트에 Mock 배지 표시
- 6개 컴포넌트에 isMock prop 추가 (ReportList, RouteList, DocumentList, Day1ChecklistPanel, Day1DocumentSection, Day1DocumentViewer)
- 각 컴포넌트 헤더에 amber 톤 Mock 배지 표시
- API 연동 완료 시 isMock prop 제거로 자동 해제
2026-03-10 17:11:56 +09:00
유병철
397eb2c19c feat: 공지 팝업 시스템 구현 및 캘린더/어음/팝업관리 개선
- NoticePopupModal: 공지 팝업 컨테이너/actions 신규 구현
- AuthenticatedLayout에 공지 팝업 연동
- CalendarSection: 일정 타입 확장 및 UI 개선
- BillManagementClient: 기능 확장
- PopupManagement: popupDetailConfig 대폭 확장, 상세/폼 개선
- BoardForm/BoardManagement: 게시판 폼 개선
- LoginPage, logout, userStorage: 인증 관련 소폭 수정
- dashboard types 정비
- claudedocs: 공지팝업 구현, 캘린더 어음연동/일정타입, API changelog 문서 추가
2026-03-10 15:16:41 +09:00
7bd4bd38da feat: [quality] 수주처 선택 UI + client_id 연동 + 수정 저장 개선
- 수주처를 텍스트 입력에서 거래처 검색 선택으로 변경
- 수주 선택 시 거래처+모델 필터 연동 (양방향)
- ProductInspection/Api에 clientId 매핑 추가
- 수정 시 새 개소 locations 필터 (NaN ID 에러 해결)
- SupplierSearchModal 콜백에 id 반환 추가
2026-03-09 21:06:57 +09:00
유병철
68331be0ef feat: 회계/결재/생산/출하/대시보드 다수 개선 및 QA 수정
- BadDebtCollection, BillManagement, CardTransaction, TaxInvoice 회계 개선
- VendorManagement/VendorDetailClient 소폭 추가
- DocumentCreate/DraftBox 결재 기능 개선
- WorkOrder Create/Detail/Edit, ShipmentEdit 생산/출하 개선
- CEO 대시보드: PurchaseStatusSection, receivable/status-issue transformer 정비
- dashboard types/invalidation 확장
- LoginPage, Sidebar, HeaderFavoritesBar 레이아웃 수정
- QMS 페이지, StockStatusDetail, OrderRegistration 소폭 수정
- AttendanceManagement, VacationManagement HR 수정
- ConstructionDetailClient 건설 상세 개선
- claudedocs: 주간 구현내역, 대시보드 QA/수정계획, 결재/품질/생산/출하 문서 추가
2026-03-09 21:06:01 +09:00
유병철
7d369d1404 feat: 계정과목 공통화 및 회계 모듈 전반 개선
- 계정과목 관리를 accounting/common/으로 통합 (AccountSubjectSettingModal 이동)
- GeneralJournalEntry: 계정과목 actions/types 분리, 모달 import 경로 변경
- CardTransactionInquiry: JournalEntryModal/ManualInputModal 개선
- TaxInvoiceManagement: actions/types 리팩토링
- DepositManagement/WithdrawalManagement: 소폭 개선
- ExpectedExpenseManagement: UI 개선
- GiftCertificateManagement: 상세/목록 개선
- BillManagement: BillDetail/Client/index 소폭 추가
- PurchaseManagement/SalesManagement: 상세뷰 개선
- CEO 대시보드: dashboard-invalidation 유틸 추가, useCEODashboard 확장
- OrderRegistration/OrderSalesDetailView 소폭 수정
- claudedocs: 계정과목 통합 계획/분석/체크리스트, 대시보드 검증 문서 추가
2026-03-08 12:44:36 +09:00
74e0e2bf44 fix: InspectionManagement 타입 에러 일괄 수정
- ProductInspectionApi order_items에 document_id, inspection_data 속성 추가
- saveLocationInspection 파라미터를 ProductInspectionData 타입으로 변경
- inspection_data API→Frontend 변환 시 타입 캐스팅 수정
- 로컬 빌드 성공 확인
2026-03-07 02:05:17 +09:00
c94236e15c fix: ProductInspectionApi order_items에 누락된 속성 추가
- document_id, inspection_data 속성 추가
- 빌드 타입 에러 해결
2026-03-07 01:56:30 +09:00
3bade70c5f fix: ProductInspectionData 타입 에러 수정
- saveLocationInspection 파라미터를 Record<string, unknown>에서 ProductInspectionData로 변경
- interface는 index signature가 없어 Record<string, unknown>에 할당 불가
2026-03-07 01:49:38 +09:00
b7c2b99c68 fix: ApiBomItem에 없는 specification 속성 참조 제거
- item.specification fallback 제거 (ApiBomItem에 spec만 존재)
- 빌드 타입 에러 해결
2026-03-07 01:38:23 +09:00
563b240fbf feat: [품질검사] 검사 모달 개선 + 수주 선택 필터링
검사 모달:
- 기본값 null(미선택)으로 변경, 일괄합격/초기화 토글 버튼
- 시공 가로/세로, 변경사유 입력 필드 추가
- 검사 항목별 기준값 텍스트 표시
- 사진 첨부 기능 (최대 2장, base64)
- 이전/다음 개소 네비게이션 + 자동저장

뱃지/상태:
- legacy 검사 데이터 반영 (합격/불합격/진행중/미검사)
- 사진 없으면 진행중 처리, 뱃지 크기 통일
- Eye 아이콘 → "보기" 텍스트 뱃지
- 진행바 legacy+FQC 통합 inspectionStats

수주 선택:
- 같은 거래처(발주처) + 같은 모델만 선택 가능 필터링
- 수주 선택 시 개소별 자동 펼침 (floor, symbol, 규격 포함)
- 모달에 모델명 컬럼 추가, 필터 적용 시 제목에 안내 표시
- 변경사유 서버 저장 연동 수정
2026-03-07 01:19:17 +09:00
e75d8f9b25 fix: [제품검사 요청서] EAV 문서 없을 때 legacy fallback 적용
- useFqcMode && fqcDocument 조건으로 변경
- requestDocumentId 없는 기존 데이터에서 빈 양식 표시되던 문제 수정
2026-03-06 22:02:39 +09:00
4ea03922a3 feat: [제품검사 성적서] 8컬럼 동적 렌더링 + FQC 모드 기본값
- FqcDocumentContent: 8컬럼 시각 레이아웃 (No/검사항목/세부항목/검사기준/검사방법/검사주기/측정값/판정)
- rowSpan 병합: category 단독 + method+frequency 복합키 병합
- measurement_type: checkbox→양호/불량, numeric→숫자입력, none→비활성
- InspectionReportModal: FQC 모드 우선 (template 로드 실패 시 legacy fallback)
- Lazy Snapshot 준비 (contentWrapperRef 추가)
2026-03-06 21:47:33 +09:00
295585d8b6 feat: 제품검사 요청서 양식 기반 렌더링 + Lazy Snapshot
- FqcRequestDocumentContent: template 66 기반 동적 렌더링 컴포넌트
  - 결재라인, 기본정보, 입력사항(4섹션), 사전고지 테이블
  - group_name 기반 3단 헤더 (오픈사이즈 발주/시공 병합)
- InspectionRequestModal: FQC 모드 전환 + EAV 문서 로드 + Lazy Snapshot
- fqcActions: getFqcRequestTemplate, patchDocumentSnapshot, description/groupName 타입
- types/actions: requestDocumentId 필드 추가 및 매핑
- InspectionDetail: requestDocumentId prop 전달
2026-03-06 21:43:01 +09:00
e7263feecf feat: [품질관리] 수주 연결 동기화 + 개소별 데이터 저장
- transformApiToFrontend에 orderId, inspectionData 매핑 추가
- transformFormToApi에 order_ids 추가
- updateInspection에 order_ids 동기화 + locations 데이터 전송
2026-03-06 21:09:48 +09:00
8250eaf2b5 feat: [문서스냅샷] Lazy Snapshot - 중간검사/작업일지 조회 시 자동 스냅샷 캡처
- patchDocumentSnapshot() 서버 액션 추가
- InspectionReportModal: resolve 응답의 snapshot_document_id 기반 Lazy Snapshot
- WorkLogModal: getWorkLog으로 문서 확인 후 Lazy Snapshot
- 동작: rendered_html NULL → 500ms 후 innerHTML 캡처 → 백그라운드 PATCH
2026-03-06 20:59:25 +09:00
72a2a3e9a9 fix: [문서스냅샷] 캡처 방식 보정 - 오프스크린 성적서 렌더링, readOnly 자동 캡처 제거
- ImportInspectionInputModal: 입력폼 캡처 → 오프스크린 성적서 문서 렌더링으로 변경
- InspectionReportModal: readOnly 자동 캡처 useEffect 제거 (불필요 PUT 방지)
- capture-rendered-html.tsx: 오프스크린 렌더링 유틸리티 신규 추가
2026-03-06 20:35:30 +09:00
31f523c88f feat: [문서] 모든 문서 저장 경로에 rendered_html 스냅샷 캡처 추가
- InspectionReportModal: readOnly 모드에서도 콘텐츠 로드 후 자동 캡처
- ImportInspectionInputModal: 수입검사 저장 시 폼 HTML 캡처 전송
- ReceivingManagement/actions: saveInspectionData에 rendered_html 파라미터 추가
2026-03-06 20:04:11 +09:00