Commit Graph

1186 Commits

Author SHA1 Message Date
SeongHyun Kim
1bb8caf6ac fix: 다음공정 활성화 버그 — 병렬그룹 체크를 같은 seq_no로 한정
is_fixed_order='Y' 병렬 그룹 체크가 연속된 모든 seq를 하나의 그룹으로
묶어서 교착 상태를 유발하던 문제 수정.
같은 seq_no 내에서만 병렬 그룹을 형성하도록 변경.

테스트 검증: seq1→seq2→seq3 순차 활성화 + 마지막공정 재고입고 정상
2026-04-05 02:36:24 +09:00
SeongHyun Kim
6b88a4fb34 feat: POP 설정 시스템 + 버그 4건 수정 + 설정 연동
POP 화면 설정:
- PC 관리자 페이지 (iframe+오버레이 클릭존+설정패널)
- PopSettings 인터페이스 확장 (20+개 신규 옵션: PLC, 홈커스텀, 검사판정 등)
- 홈/입고/출고 화면에 usePopSettings 조건부 렌더링 연동

버그 수정:
- inventory-inbound ON CONFLICT → upsertInventoryStock 헬퍼 (PC 패턴 준수)
- split 체크리스트 미복제 → 전략A 실패 시 전략B fallthrough
- material-input 0건 → 파라미터명 fallback 추가
- master good_qty/defect_qty 합산 → saveResult/confirmResult에 집계 로직 추가
- cancelAccept 재고 원복 로직 추가
2026-04-05 01:11:07 +09:00
SeongHyun Kim
a96a9430e8 fix: 6건 일괄 수정
1. 카드 높이 통일 — height:100% + grid stretch
2. 전체 탭 제거 — 접수가능/진행중/대기/완료만
3. 기본 탭 → 접수가능
4. 공정 미선택 시 "공정을 선택하세요" 안내
5. BOM 조회 item_id fallback 추가 (item_code 비어있어도 조회)
6. bomBase도 item_id fallback
2026-04-03 15:47:28 +09:00
SeongHyun Kim
34adbb7bef fix: 불필요한 닫는 괄호 제거 (서버 크래시 원인) 2026-04-03 15:18:22 +09:00
SeongHyun Kim
e4fc2a04df fix: key 중복 에러 + 다중공정 활성화 순서 버그
1. WorkOrderList: card key를 id+status+parent로 유니크화
2. saveResult: 분할행 완료+마스터 캐스케이드를 다음공정 활성화보다 먼저 실행
   - 기존: 다음공정 활성화 → 분할행 완료 (마스터가 아직 미완료)
   - 수정: 분할행 완료 → 마스터 완료 → 다음공정 활성화 (정확한 상태 기반)
2026-04-03 15:08:24 +09:00
SeongHyun Kim
e4b31999f9 feat: 다중공정(병렬) 지원
1. 공정 생성: is_fixed_order='Y'인 공정은 생성 시 acceptable (대기 아님)
2. 다음 공정 활성화: Y 연속 그룹 전체 완료 확인 후 다음 활성화
   - 그룹 내 미완료 공정이 있으면 다음으로 안 넘어감
   - 그룹 전체 완료 시 다음 seq 활성화
3. 작업지시 완료 판정: 기존 로직 유지 (마지막 seq 기준)
2026-04-03 14:52:20 +09:00
SeongHyun Kim
69afe91fa6 feat: BOM 자재 투입 기능 구현
백엔드:
- GET /pop/production/bom-materials/:processId — BOM 조회 + 소요량 계산
- POST /pop/production/material-input — 투입 기록 + 재고 차감
- GET /pop/production/material-inputs/:processId — 투입 현황 조회

프론트:
- 사이드바 "자재 투입" 메뉴 추가
- MaterialInputSection: BOM 목록 + 투입량 입력 + 투입 이력
- 유동 투입 허용 (BOM 기준과 다른 수량 입력 가능)
2026-04-03 14:43:55 +09:00
SeongHyun Kim
939529e28b feat: 오차범위 알림 + 재작업 이력 API + 사진 업로드
1. 오차범위 자동 판정: 상한/하한 초과 시 경고 알림
2. 재작업 이력 조회 API: GET /pop/production/rework-history/:woId
   - 체인 추적 (source → rework1 → rework2)
   - 총 재작업 횟수, 공정별 불량/양품 수량
3. 사진 업로드: 체크리스트 항목에 카메라 버튼
   - attach_file_info 연동 (target_table=process_work_result)
   - 카메라 캡처(capture=environment) 지원
2026-04-03 14:01:50 +09:00
SeongHyun Kim
2a2c244d4a fix: 공정실행 워크플로우 대칭성 버그 4건 수정
1. cancelAccept: 마스터 input_qty 재계산 (취소 시 수량 복원)
2. cancelAccept: 체크리스트(process_work_result) 같이 삭제
3. cancelAccept: 트랜잭션 적용 (BEGIN/COMMIT/ROLLBACK)
4. acceptProcess: 트랜잭션+FOR UPDATE 추가 (동시 접수 초과 방지)
5. ProcessWork: 접수취소 버튼 UI 추가 (실적 없을 때만 표시)
2026-04-03 00:07:03 +09:00
SeongHyun Kim
87c9f09c7f fix: 접수 시 마스터 행 input_qty 갱신 (접수가능 수량 반영)
- acceptProcess에서 분할 행 생성 후 마스터의 input_qty를 누적 합계로 UPDATE
- 프론트 availableQty = planQty - inputQty 계산이 정확해짐
- 100개 중 50개 접수 → 접수가능 탭에서 잔여 50개 표시
2026-04-02 18:40:33 +09:00
SeongHyun Kim
ac5b497afd merge: pop-screen → main (충돌 해결 - PC 코드 기준)
Some checks failed
Build and Push Images / build-and-push (push) Failing after 1m30s
2026-04-02 13:15:24 +09:00
SeongHyun Kim
70b555b5bd fix: work_order_process + process_work_result id NOT NULL 수정
feat: MES 공정실행 구버전 기반 재구현 (타임라인+체크리스트+실적)

- popProductionController: INSERT 3곳 gen_random_uuid() 추가
- WorkOrderList: 공정 타임라인, 탭 카운트, 그룹핑
- ProcessWork: 사이드바+체크리스트+실적+생산입고 (PopWorkDetail 참고)
- 공정 3건 + 체크리스트 3건 생성 성공 (cmux+psql 검증)
2026-04-02 12:04:37 +09:00
SeongHyun Kim
19733df2da fix: outbound_mng id NOT NULL 버그 수정 (gen_random_uuid) 2026-04-02 10:08:47 +09:00
SeongHyun Kim
b6c1b08049 fix: 구매입고 전체 프로세스 완성 (E2E 16/16 통과)
- backend: inventory_stock INSERT 시 id 누락 버그 수정
- frontend: 거래처 API supplier_mng으로 수정
- frontend: cart_items 실제 컬럼 구조 맞춤
- frontend: InboundCart 확정 로직 PC와 동일하게 정렬
- 검증: 발주→장바구니→입고등록→재고증가→발주상태변경 전체 확인
2026-04-01 18:53:32 +09:00
SeongHyun Kim
603df15946 feat: ERP-node POP/MES 백엔드 API 이전
ERP-node에서 개발한 POP/MES 관련 백엔드 API를 vexplor_dev로 이전.
컨트롤러 16개, 라우트 16개, 서비스 2개 복사 + app.ts 라우트 등록 + cheerio 의존성 추가.

이전 대상:
- POP 생산관리 (popProduction, inspectionResult)
- 작업지시, 공정정보, 생산계획
- 입고, 출고, 출하지시, 출하계획
- 분석리포트, 영업리포트, 설계모듈
- 자재현황, 포장/적재, 크롤링, 시스템공지

tsc 검증: 기존 에러 1건 외 신규 에러 없음
2026-04-01 14:16:17 +09:00
kjs
ccb0c8df4c Add environment variable example and update .gitignore
- Created a new .env.example file to provide a template for environment variables, including database connection details, JWT settings, encryption keys, and external API keys.
- Updated .gitignore to include additional test output directories and archive files, ensuring that unnecessary files are not tracked by Git.
- Removed outdated approval test reports and scripts that are no longer needed, streamlining the project structure.

These changes improve the clarity of environment configuration and maintain a cleaner repository.
2026-04-01 12:12:15 +09:00
kjs
250a83b581 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-31 14:37:07 +09:00
kjs
18f78a6702 Enhance receiving and sales management functionality
- Updated the getItems function in receivingController to include a division filter, allowing for more refined item retrieval based on division.
- Added state management for continuous input in EquipmentInfoPage, enabling users to clear forms after saving or keep them open for further entries.
- Implemented deletion functionality for selected customer mappings in SalesItemPage, improving data management capabilities.
- Enhanced ShippingOrderPage to visually indicate selected orders, improving user interaction and experience.

These changes collectively improve the efficiency and usability of the receiving and sales management features.
2026-03-31 14:34:43 +09:00
kmh
0aec60f3d9 fix: 입고 생성 시 balance_qty(잔량) 자동 계산 추가
- 발주 수량에서 기존 입고수량과 신규 입고수량을 차감하여 잔량 업데이트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 13:37:33 +09:00
kjs
2d8d78b0b9 Merge branch 'kwshin-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-31 11:19:55 +09:00
kjs
efed63a6cb Enhance dynamic form service error handling and add pagination to DataGrid component
- Added error handling in DynamicFormService to throw an error if the record to be updated is not found, improving robustness.
- Enhanced DataGrid component with pagination features, including page size input and navigation buttons, to improve data management and user experience.
- Introduced state management for current page and page size, ensuring that data is displayed in a paginated format, making it easier for users to navigate through large datasets.
2026-03-31 11:18:41 +09:00
kmh
4e4088eb71 feat: 입고/자재현황/분석리포트 컨트롤러 및 프론트엔드 개선
- receivingController: 헤더-디테일 JOIN 구조로 변경, 검색/조회 로직 개선
- materialStatusController: work_instruction 테이블 기반으로 쿼리 수정
- analyticsReportController: 구매 리포트 company_code 필터링 로직 개선
- material-status 페이지: COMPANY_29/COMPANY_7 프론트엔드 업데이트

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 17:01:26 +09:00
kjs
f980bffed4 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 11:58:19 +09:00
kmh
b97ca1a1c5 Enhance backend controllers, frontend pages, and V2 components
- Fix department, receiving, shippingOrder, shippingPlan controllers
- Update admin pages (company management, disk usage)
- Improve sales/logistics pages (order, shipping, outbound, receiving)
- Enhance V2 components (file-upload, split-panel-layout, table-list)
- Add SmartSelect common component
- Update DataGrid, FullscreenDialog common components
- Add gitignore rules for personal pipeline tools

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 11:52:03 +09:00
kjs
3c25466c3e Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 11:51:45 +09:00
kjs
08a095a8e5 feat: COMPANY_29 및 COMPANY_7 고객 관리 및 부서 관리 페이지 개선
- 부서 등록 시 부서코드 자동 생성 로직 수정
- 고객 관리 페이지에서 거래처 담당자 및 사내 담당자 컬럼 추가
- 고객 관리 페이지에서 사원 목록 로드 기능 추가
- 다중 선택 기능을 위한 포털 구현 및 외부 클릭 시 저장 기능 추가
- 테이블 컴포넌트에서 다중 선택 컬럼 자동 감지 기능 추가

이 커밋은 부서 및 고객 관리 기능을 개선하고, 사용자 경험을 향상시키기 위한 여러 변경 사항을 포함합니다.
2026-03-30 11:51:12 +09:00
SeongHyun Kim
768219046b Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node 2026-03-30 10:27:41 +09:00
SeongHyun Kim
1532184065 feat: field-only INSERT + pop-field key 수정 + 모달 접근성 개선
- popActionRoutes.ts: 카드리스트 없이 필드만으로 INSERT 가능 (field-only 분기)
- PopFieldComponent.tsx: React duplicate key 에러 수정 (staticOptions 문자열 변환 + key fallback)
- pop-field/index.tsx: preview nested map key fallback
- PopViewerWithModals.tsx: 모달 제목 없을 때 sr-only 접근성 처리
- PopWorkDetailComponent.tsx: 모달 내부 헤더 중복 제거 + isInModal 자동 감지
2026-03-30 10:16:27 +09:00
kjs
ac5292f9b0 feat: COMPANY_29 부서 등록 및 사용자 관리 페이지 개선
- 부서 등록 시 자동 생성 부서코드 기능 추가
- 사용자 관리에서 부서 필수 입력 검증 추가
- 품목 정보 페이지에서 입력 필드에 placeholder 추가
- 고객 관리 페이지에서 원본 카테고리 코드 보관 및 빈 문자열을 null로 변환하는 로직 추가
- 판매 주문 페이지에서 품목 검색 필터에 관리품목 선택 기능 추가

이 커밋은 부서 및 사용자 관리 기능을 개선하고, 사용자 경험을 향상시키기 위한 여러 변경 사항을 포함합니다.
2026-03-29 20:04:52 +09:00
kjs
de440f8d42 Merge pull request 'feat: COMPANY_9 수주관리 페이지 추가 및 생산계획/공정 개선' (#430) from jskim-node into main 2026-03-27 22:35:16 +09:00
kjs
2e9b67a509 feat: COMPANY_9 수주관리 페이지 추가 및 생산계획/공정 개선
- COMPANY_9 수주관리(sales/order) 하드코딩 페이지 추가
- 생산계획 서비스 로직 정리 및 공정 컨트롤러 수정
- COMPANY_7 생산계획관리 페이지 개선
- AdminPageRenderer 기능 확장
2026-03-27 22:32:18 +09:00
SeongHyun Kim
eacfe60f89 WIP: preset + inspection (임시, 나중에 squash) 2026-03-27 17:05:36 +09:00
SeongHyun Kim
f10946ae5b fix: screen_layouts_pop 이중 감싸기(double-wrap) 자동 해제
getLayoutPop/saveLayoutPop에서 layout_data가 이중으로 감싸진 경우
(layout_data.layout_data.components) 자동 감지하여 내부 데이터를 추출.
13개 신규 POP 화면이 빈 화면으로 표시되던 문제 해결.
2026-03-27 13:44:45 +09:00
SeongHyun Kim
0aef19578a Merge remote-tracking branch 'origin/main' 2026-03-27 10:56:31 +09:00
kjs
5da134f016 feat: add web crawling management functionality
- Introduced a new crawling management feature allowing users to configure, execute, and log web crawls.
- Added CRUD operations for crawl configurations, including URL analysis and preview capabilities.
- Implemented a new service for handling crawling logic and scheduling tasks.
- Integrated cheerio for HTML parsing and axios for HTTP requests.
- Created a sample HTML page for testing crawling functionality.

This commit enhances the application's data collection capabilities from external websites.
2026-03-26 16:30:53 +09:00
kjs
1bf91bf043 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-26 09:30:17 +09:00
kjs
70e040db39 Enhance user management and token invalidation features
- Added comprehensive validation for user data during registration and updates, including email format, company code existence, user type validation, and password length checks.
- Implemented JWT token invalidation for users when their status changes or when roles are updated, ensuring security and compliance with the latest policies.
- Introduced a new TokenInvalidationService to manage token versioning and invalidation processes efficiently.
- Updated the admin controller to provide detailed error messages and success responses for user status changes and validations.
- Enhanced the authentication middleware to check token versions against the database, ensuring that invalidated tokens cannot be used.

This commit improves the overall security and user management experience within the application.
2026-03-25 18:47:50 +09:00
kjs
782ebb1b33 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 15:18:40 +09:00
kjs
df6c479589 Update project memory and enhance table settings functionality
- Updated project memory configuration to reflect recent access counts and timestamps for various components.
- Modified SQL queries in the processInfoController to utilize the correct equipment management table for improved data retrieval.
- Enhanced the TableManagementService to automatically fill display columns for entity types during both creation and update processes.
- Introduced new TableSettingsModal components across multiple pages for better user control over table configurations.
- Improved the DynamicSearchFilter component to accept external filter configurations, enhancing the filtering capabilities for various data grids.
2026-03-25 15:18:38 +09:00
kjs
bc186111ef Merge branch 'main' into jskim-node 2026-03-25 11:45:27 +09:00
kjs
69c5a78753 Enhance packaging and department management features
- Updated SQL queries in the packaging controller to include item details and packaging unit information through LEFT JOINs for improved data retrieval.
- Enhanced the packaging page with a new search input for real-time item matching, allowing users to search by item code or name dynamically.
- Refactored department management to use a more consistent state management approach, including renaming state variables for clarity and updating the user modal functionality for better user experience.
- Improved the overall layout and responsiveness of the packaging and department pages, ensuring a more user-friendly interface.
2026-03-25 11:44:49 +09:00
kjs
d5650c5797 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-25 11:03:41 +09:00
kjs
e2f18b19bc Implement outbound management features with new routes and controller
- Added outbound management routes for listing, creating, updating, and deleting outbound records.
- Introduced a new outbound controller to handle business logic for outbound operations, including inventory updates and source data retrieval.
- Enhanced the application by integrating outbound management functionalities into the existing logistics module.
- Improved user experience with responsive design and real-time data handling for outbound operations.
2026-03-25 10:48:47 +09:00
wace
7c5e9b0c46 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into mhkim-node 2026-03-25 10:08:37 +09:00
wace
0fd0a43370 feat: enhance v2 components and entity join functionality
- Add entity join controller/routes enhancements
- Improve table management and category value services
- Update v2 table list, card display, search widget components
- Improve split panel layout responsiveness

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 09:54:18 +09:00
SeongHyun Kim
cbe3242f3a fix: Docker 환경 health check package.json 경로 오류 수정
require("../../package.json")이 Docker 컨테이너(/app/src/)에서
모듈을 찾지 못해 서버가 크래시하는 문제를 try-catch로 해결한다.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 11:59:45 +09:00
SeongHyun Kim
d061240498 feat: add version info to health check endpoint
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 11:37:54 +09:00
kjs
074626426b Enhance production plan service by adding lead time handling. Implemented checks for lead time column in item_info and adjusted scheduling logic accordingly. Updated frontend to reflect lead time in production plan management and shipping order pages, including Excel upload functionality for batch processing. 2026-03-23 20:39:07 +09:00
kjs
aa48d40048 Implement production plan listing feature with API and frontend integration 2026-03-23 11:11:44 +09:00
SeongHyun Kim
678e5fa368 Merge branch 'ksh-v2-work' into main
POP MES 전용 카드 + 디자인 감사 + 장바구니 분리 + 체크리스트/실적 관리 기능을 main에 통합한다.
주요 병합 내용:
- mes-process-card 전용 카드 + batch_done 워크플로우 + 실적 관리 강화
- MES 불량 처분 체계(disposition 3종) + 공정 흐름 스트립 필/칩 UI 개편
- MES 다중작업자 분할접수 4대 연쇄 버그 근본 해결
- MES 체크리스트 자동 복사 + 구조적 버그 3건 수정
- MES 카드 산업용 태블릿 UI 리디자인 (10인치 터치 최적화)
- MES 상태 탭 카드 내장 + pop-search 레거시 정리 + 하위 테이블 자동 판단
- pop-card-list-v2 설정 패널 MES 간소화 + 내 작업 표시 3모드
- BLOCK DETAIL Phase 4: 그룹별 타이머, 터치 최적화 UI, DB 저장 버그 수정
- POP 디자인 감사 + WYSIWYG 정렬 + MES/장바구니 분리
- POP 장바구니 입고 워크플로우 수정 및 접근성/UX 개선
- POP 뷰어 헤더 제거 + 디자이너-뷰어 그리드 칸 수 불일치 수정
- PopFieldConfig JsonKeySelect 개선
충돌 해결: 1건 (.gitignore - 양쪽 추가 항목 통합)
2026-03-23 10:31:45 +09:00