664 Commits

Author SHA1 Message Date
유병철
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
a1fb0d4f9b feat: [문서] 검사성적서/작업일지 저장 시 HTML 스냅샷 캡처 전송
- InspectionReportModal: contentWrapperRef로 DOM 캡처, handleSave에서 rendered_html 포함
- WorkLogModal: contentWrapperRef로 DOM 캡처, handleSave에서 rendered_html 포함
- saveInspectionDocument/saveWorkLog 타입에 rendered_html 추가
- MNG에서 스냅샷 기반 문서 출력을 위한 프론트 파이프라인 완성
2026-03-06 17:46:06 +09:00
fe930b5831 feat: [품질관리] 수주선택 모달 발주처별 비활성화 제약 추가
- SearchableSelectionModal에 isItemDisabled 콜백 prop 추가 (공통)
  - renderItem에 isDisabled 3번째 파라미터 전달 (하위호환)
  - disabled 아이템 클릭 차단 + opacity/cursor 스타일 적용
  - 전체선택 시 disabled 아이템 제외
- OrderSelectModal: 선택된 발주처와 다른 발주처의 수주 비활성화
  - 이미 선택된 아이템은 해제 가능 (disabled 예외)
2026-03-05 23:15:17 +09:00
899493a74d feat: [품질관리] 수주선택 모달에 발주처 컬럼 추가
- OrderSelectItem 타입에 clientName 필드 추가
- actions.ts API 응답 매핑에 client_name → clientName 추가
- OrderSelectModal 테이블 헤더/바디에 발주처 컬럼 추가
- 모달 너비 sm:max-w-2xl → sm:max-w-3xl 확장
2026-03-05 23:09:05 +09:00
45ad99cb38 fix: [공통] SearchableSelectionModal 테이블 HTML 유효성 에러 수정
- renderItem이 <tr>을 반환할 때 <div>로 래핑하여 발생하던 hydration 에러 해결
- cloneElement로 key/onClick을 직접 주입하여 <tbody><div><tr> 구조 방지
- 영향범위: OrderSelectModal, SalesOrderSelectModal, TaxInvoiceIssuance
2026-03-05 21:59:44 +09:00
10c6e20db4 fix: [품질관리] 실적신고 API 응답 snake_case → camelCase 변환 추가
- transformReport: 실적신고 목록 데이터 변환
- transformStats: 통계 데이터 변환
- transformMissedReport: 누락체크 데이터 변환
- 백엔드 snake_case 응답을 프론트 camelCase 타입에 매핑
2026-03-05 21:26:01 +09:00
50e4c72c8a feat: [품질관리] 프론트엔드 API 연동 (Mock → 실제 API 전환)
- InspectionManagement/actions.ts: API 경로 /quality/documents로 변경, transformFormToApi options JSON 구조 매핑
- PerformanceReportManagement/actions.ts: API 경로 /quality/performance-reports로 변경, /missed→/missing
- InspectionManagement/types.ts: InspectionFormData에 clientId/inspectorId/receptionDate 추가
- USE_MOCK_FALLBACK = false 설정
2026-03-05 21:26:01 +09:00
eb18a3facb fix: [생산지시] BOM 공정 분류 UI 수정 + 접이식 카드
- BOM types/actions: 필드 매핑 수정 (unit, quantity, unitPrice, totalPrice, nodeName)
- BOM UI: 접이식(collapsible) Card + ChevronDown 토글
- 테이블 컬럼 변경: 품목코드, 품목명, 규격, 단위, 수량, 단가, 금액, 개소
- 중복 key 수정: `${item.id}-${idx}` 패턴 적용
2026-03-05 21:26:01 +09:00
9fc979e135 fix: [생산지시] 날짜포맷·수량→개소수·중복key 수정
- actions.ts: formatDateOnly 정규식 보강 (공백/T 구분자 모두 처리)
- actions.ts: nodeCount 매핑 추가 (node_count/nodes_count)
- types.ts: nodeCount, node_count, nodes_count 필드 추가
- page.tsx: 수량→개소 컬럼 변경, nodeCount 표시
- [id]/page.tsx: 수량→개소 표시, BOM 테이블 중복 key 수정
2026-03-05 21:26:01 +09:00
fa7efb7b24 feat: [생산지시] 목록/상세 페이지 API 연동
- types.ts: API/프론트 타입 정의 (ProductionOrder, Detail, BOM 타입)
- actions.ts: Server Actions (getProductionOrders, getProductionOrderStats, getProductionOrderDetail)
  - executePaginatedAction + buildApiUrl 패턴 적용
  - snake_case → camelCase 변환 함수
- 목록 page.tsx: 샘플데이터 → API 연동
  - 서버사이드 페이지네이션 (clientSideFiltering: false)
  - stats API로 탭 카운트 동적 반영
  - ProgressSteps 동적화 (statusCode 기반)
  - 생산지시번호 → 수주번호로 변경 (별도 PO 번호 없음)
- 상세 page.tsx: 샘플데이터 → API 연동
  - getProductionOrderDetail() API 호출
  - createProductionOrder() orders/actions.ts에서 재사용
  - BOM null 처리 (빈 상태 표시)
  - WorkOrder 상태 배지 확장 (6종: unassigned~shipped)
2026-03-05 21:26:01 +09:00
유병철
bec933b3b4 refactor: CEO 대시보드 mockData/modalConfigs 정리 및 BillManagement 간소화
- mockData 불필요 데이터 대폭 제거
- modalConfigs (cardManagement, entertainment, monthlyExpense, vat, welfare) 정리
- CEODashboard 컴포넌트 개선
- BillManagementClient 간소화
2026-03-05 21:22:17 +09:00
유병철
1675f3edcf feat: 어음관리 리팩토링 및 CEO 대시보드 SummaryNavBar 추가
- BillManagement: BillDetail 리팩토링, sections/hooks 분리, constants 추가
- BillManagement types 대폭 확장, actions 개선
- GiftCertificateManagement: actions/types 확장
- CEO 대시보드: SummaryNavBar 컴포넌트 추가, useSectionSummary 훅
- bill-prototype 개발 페이지 업데이트
2026-03-05 20:47:43 +09:00
유병철
2fe47c86d3 refactor: VehicleDispatch actions 불필요 코드 제거 2026-03-05 13:38:16 +09:00
유병철
00a6209347 feat: 레이아웃/출하/생산/회계/대시보드 전반 개선
- HeaderFavoritesBar 대폭 개선
- Sidebar/AuthenticatedLayout 소폭 수정
- ShipmentCreate, VehicleDispatch 출하 관련 개선
- WorkOrderCreate/Edit, WorkerScreen 생산 관련 개선
- InspectionCreate 자재 입고검사 개선
- DailyReport, VendorDetail 회계 수정
- CEO 대시보드: CardManagement/DailyProduction/DailyAttendance 섹션 개선
- useCEODashboard, expense transformer 정비
- DocumentViewer, PDF generate route 소폭 수정
- bill-prototype 개발 페이지 추가
- mockData 불필요 데이터 제거
2026-03-05 13:35:48 +09:00
c18c68b6b7 chore: [infra] Slack 알림 채널 분리 — product_infra → deploy_react 2026-03-05 11:32:17 +09:00
03d129c32c fix: [outbound] 출하관리 캘린더 기본 뷰 week-time으로 변경 2026-03-05 11:01:27 +09:00
d6e3131c6a fix: [production] 절곡 중간검사 데이터 새로고침 시 초기화 버그 수정
- InspectionInputModal: 이전 형식 데이터(products 배열 없음) 로드 시 judgment 기반 제품별 상태 추론
- InspectionInputModal: skipAutoJudgmentRef로 이전 형식 로드 시 auto-judgment 덮어쓰기 방지
- BendingInspectionContent: products/bendingStatus 없을 때 judgment 기반 fallback 추가
2026-03-05 10:39:45 +09:00
1d3805781c feat: [outbound] 배차차량관리 목업→API 연동 전환
- mockData 제거, executePaginatedAction/executeServerAction 사용
- buildApiUrl로 쿼리 파라미터 빌드
- API 응답(snake_case) → 프론트 타입(camelCase) 변환 함수 추가
2026-03-04 23:36:20 +09:00
b45c35a5e8 fix: [production] 절곡 중간검사 수주 단위 데이터 공유 모델 적용
- 로드 경로: 절곡 공정 시 어떤 item이든 inspection_data 있으면 모든 개소에 공유
- 저장 경로: 절곡 검사 완료 시 inspectionDataMap에 모든 workItem 동기화
- TemplateInspectionContent: products 배열 우선 복원 (EAV 문서 데이터보다 우선)
- workOrderId prop 추가 (절곡 gap_points API 동적 로딩)
2026-03-04 23:27:12 +09:00
b05e19e9f8 fix: [quality] QMS mockData에 productCode 필드 누락 수정
WorkOrder 타입 필수 필드 productCode 추가하여 빌드 오류 해결
2026-03-04 22:40:23 +09:00
4331b84a63 feat: [production] 절곡 중간검사 입력 모달 — 7개 제품 항목 통합 및 성적서 데이터 연동
- InspectionInputModal: 절곡 전용 7개 제품별 입력 폼 (절곡상태/길이/너비/간격)
- TemplateInspectionContent: products 배열 → bending cellValues 자동 매핑
- 제품 ID 3단계 매칭 (정규화→키워드→인덱스 폴백)
- 절곡 작업지시서 bending 섹션 개선
2026-03-04 22:28:16 +09:00
0b81e9c1dd feat: [process] 공정 단계에 검사범위(InspectionScope) 설정 추가
- 전수검사/샘플링/그룹 유형 선택 UI
- 샘플링 시 샘플 크기(n) 입력
- options JSON으로 API 저장/복원
2026-03-04 22:28:16 +09:00
f653960a30 fix: [shipment] 배차 상세/수정 기본정보 그리드 레이아웃 개선 (1열→2x4열) 2026-03-04 22:28:16 +09:00
888fae119f chore: next dev에서 --turbo 플래그 제거 2026-03-04 22:28:16 +09:00
f503e20030 fix: [production] 작업자 화면 하드코딩 도면 이미지 영역 제거
- BendingExtraInfo, WipExtraInfo에서 drawingUrl 도면 이미지 div 제거
- types.ts에서 drawingUrl 필드 제거
- actions.ts, index.tsx에서 drawing_url 매핑 제거
2026-03-04 22:28:16 +09:00
0166601be8 fix: [production] 자재투입 모달 — 동일 자재 다중 BOM 그룹 LOT 독립 관리
- getLotKey에 groupKey 포함하여 그룹별 LOT 선택/배정 독립 처리
- physicalUsed 맵으로 물리LOT 교차그룹 가용량 추적
- handleAutoFill FIFO 자동입력 (교차그룹 가용량 고려)
- handleSubmit 그룹별 개별 엔트리 전송 (bom_group_key 포함, replace 모드)
- 기투입 LOT 자동 선택 및 배지 표시, 수량 수동 편집 input
- allGroupsFulfilled 조건으로 투입 버튼 활성화 제어
- actions.ts: lotInputtedQty 필드 + bom_group_key/replace 파라미터 추가
2026-03-04 22:28:16 +09:00
83a23701a7 feat: [shipment] 배차정보 다중 행 API 연동 — actions.ts transform 함수 수정
- ShipmentApiData에 vehicle_dispatches 타입 추가
- transformApiToDetail: vehicle_dispatches 배열 매핑 (레거시 단일필드 fallback 유지)
- transformCreateFormToApi/transformEditFormToApi: vehicleDispatches → vehicle_dispatches 변환 추가
- transformApiToListItem: 첫 번째 배차의 arrival_datetime 반영
2026-03-04 22:28:16 +09:00
bedfd1f559 fix: [production] 작업자 화면 제품명 표시 간소화 — productCode만 표시
작업목록, 상세카드, 자재투입, 중간검사 모달에서 부품 목록까지 길게
표시되던 제품명을 productCode만 표시하도록 변경
2026-03-04 22:28:16 +09:00
8bcabafd08 fix: [production] 자재투입 모달 — bomGroupKey 그룹핑, 카테고리 순서 정렬, 번호 표시
- bomGroupKey 기반 그룹핑 (같은 item_id라도 category+partType별 분리)
- 카테고리 순서 정렬 (가이드레일→하단마감재→셔터박스→연기차단재)
- 카테고리 내 원형번호(①②③) 표시
- partType 배지 추가
- MaterialForItemInput에 bomGroupKey 필드 추가
2026-03-04 22:28:16 +09:00
5ff5093d7b fix: [출고관리] 목록 테이블 수신자/수신주소/수신처/작성자/출고일 API 매핑 연동
- OrderInfoApiData에 writer_name, writer_id, delivery_date 필드 추가
- transformApiToListItem에서 5개 필드 매핑 누락 수정
2026-03-04 22:28:16 +09:00
유병철
23fa9c0ea2 feat: CEO 대시보드 접대비/복리후생비/매출채권/캘린더 섹션 개선 및 회계 페이지 확장
- 접대비/복리후생비 섹션: 리스크감지형 구조로 변경
- 매출채권 섹션: transformer/타입 정비
- 캘린더 섹션: ScheduleDetailModal 개선
- 카드관리 모달 transformer 확장
- useCEODashboard 훅 리팩토링 및 정리
- dashboard endpoints/types/transformers (expense, receivable, tax-benefits) 대폭 확장
- 회계 5개 페이지(은행거래, 카드거래, 매출채권, 세금계산서, 거래처원장) 기능 개선
- ApprovalBox 소폭 수정
- CLAUDE.md 업데이트
2026-03-04 22:19:10 +09:00
유병철
cde9333652 feat: CEO 대시보드 API 연동 강화 및 회계/결재/HR 개선
- CEO 대시보드: 예상비용, 현황이슈, 일별매출/매입 등 모달 API 연동 확대
- dashboard transformers 리팩토링 (hr, sales-purchase, production-logistics 분리)
- useCEODashboard 훅 대폭 확장 (모달 데이터 fetching 로직)
- DailyReport: USD 섹션 추가 및 레이아웃 개선
- VendorManagement/ApprovalBox: 소폭 개선
- VacationManagement: 소폭 수정
- component-registry previews 업데이트
- claudedocs: 대시보드 API 스펙, 분석 문서 추가
2026-03-03 22:18:48 +09:00
유병철
7bb8699403 Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-react-prod into develop 2026-03-01 12:17:47 +09:00
유병철
1bccaffe27 feat: CEO 대시보드 리팩토링 및 회계 관리 개선
- CEO 대시보드: 컴포넌트 분리(DashboardSettingsSections, DetailModalSections), 모달/섹션 개선, useCEODashboard 최적화
- 회계: 부실채권/매출/매입/일일보고 UI 및 타입 개선
- 공통: Sidebar, useDashboardFetch 훅 추가, amount/status-config 유틸 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 12:17:40 +09:00
7a8d946960 merge: main의 검사문서/생산/결재 커밋을 develop으로 이동 2026-02-27 23:22:32 +09:00
d1c530fdc1 feat: [결재] 결재함에서 검사성적서 템플릿 기반 렌더링 + 결재 상신 기능
- 결재함에서 work_order 연결 문서 클릭 시 InspectionReportModal(readOnly)로 표시
  - 기존 LinkedDocumentContent(key-value)가 아닌 템플릿 기반 검사성적서 형태로 표시
  - getDocumentApprovalById에서 document.linkable_type/linkable_id로 workOrderId 추출
  - field_value 컬럼명 매칭 수정 (d.value → d.field_value ?? d.value)
- InspectionReportModal에 결재 상신 버튼 추가 (DRAFT 상태에서만 표시)
- submitDocumentForApproval 서버 액션 추가
- LinkedDocumentContent 컴포넌트 신규 (일반 문서용 폴백)
- DocumentType에 'document' 타입 추가, LinkedDocumentData 인터페이스 신규
2026-02-27 23:18:02 +09:00
0f53b407db feat: [inspection] InspectionConfigData에 finishing_type 필드 추가
- API 응답의 마감유형(S1/S2/S3) 정보를 타입에 반영
2026-02-27 23:18:02 +09:00
0da6586bb6 feat: [inspection] Phase 3 TemplateInspectionContent API 연동
- getInspectionConfig Server Action 추가
  - InspectionConfigData/Item/GapPoint 타입 정의
- TemplateInspectionContent API 연동
  - inspectionConfig state + useEffect로 API 호출
  - bendingProducts: API 우선 → buildBendingProducts fallback
  - bending_info에서 dimension 보조 데이터 추출
2026-02-27 23:18:02 +09:00