Commit Graph

4090 Commits

Author SHA1 Message Date
SeongHyun Kim
368090e9c6 fix: next-themes 패키지 설치 (ThemeProvider 의존성) 2026-04-02 13:20:46 +09:00
SeongHyun Kim
ac5b497afd merge: pop-screen → main (충돌 해결 - PC 코드 기준) 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
86926e18af refactor: 작업지시/생산실적 아이콘 홈에서 제거 (생산관리 메뉴 안으로 이동) 2026-04-02 11:44:32 +09:00
SeongHyun Kim
0f6f652bed feat: 생산관리 메인 메뉴 (입고/출고와 동일 패턴)
- /pop/production → ProductionMain (아이콘 메뉴: 공정실행/작업지시/생산현황/불량관리/실적조회)
- /pop/production/process → WorkOrderList (기존 공정 목록 이동)
- KPI 실데이터 연동 (작업지시 목록 API)
- amber gradient 테마, 최근 생산활동
- cmux 검증 완료
2026-04-02 11:28:55 +09:00
SeongHyun Kim
b644961c60 fix: cart_items DELETE → status 변경 (이력 보존)
- 확정: status "in_cart" → "confirmed" (이력 추적 가능)
- 취소: status "in_cart" → "cancelled"
- 조회: status="in_cart"만 표시 (confirmed/cancelled는 안 보임)
- DELETE 제거 → updateRecord로 변경 (3곳)
2026-04-02 11:03:03 +09:00
SeongHyun Kim
8776405a1b fix: 장바구니 확정 후 cart_items DELETE + 품목 이미지 지원
- useCartSync: 삭제 시 deleteRecord 사용 (cancelled 업데이트 대신)
- InboundCartPage: 확정 후 직접 DELETE 호출 (이중 안전장치)
- OutboundCartPage: 동일 수정
- 품목 카드: item_info.image 있으면 표시, 없으면 📦
- cmux 검증: 확정 후 cart_items 0건 확인
2026-04-02 10:59:23 +09:00
SeongHyun Kim
a322f9e596 feat: 장바구니 카드 = 발주/출하 카드 UI 통일
- InboundCartPage: 발주 카드와 동일 레이아웃 (이미지좌+정보중+수량우)
- OutboundCartPage: 출하 카드와 동일 레이아웃 (green 테마)
- 삭제 버튼: 텍스트 포함 빨간 버튼
- 포장/검사 정보 위치 통일
- cmux 검증 완료
2026-04-02 10:13:53 +09:00
SeongHyun Kim
19733df2da fix: outbound_mng id NOT NULL 버그 수정 (gen_random_uuid) 2026-04-02 10:08:47 +09:00
SeongHyun Kim
1747119345 fix: 출고 고객사-출하지시 매칭 (partner_id=customer_name 대응) 2026-04-02 09:47:17 +09:00
SeongHyun Kim
089f1e4b4c feat: MES 공정 화면 (작업지시목록 + 공정작업상세 + 타이머 + 실적 + 입고)
- WorkOrderList: 탭 필터(전체/접수가능/진행중/대기/완료), 공정카드, 접수
- ProcessWork: 타이머(시작/정지/재개/종료), 실적입력(양품/불량), 확정, 생산입고
- ProcessTimer: HH:MM:SS 실시간, 상태별 색상
- DefectTypeModal: 불량유형 선택 + 수량 + 처리방법
- AcceptProcessModal: 접수 수량 키패드
- cmux 검증: 화면 표시 OK, 탭 필터 OK, API 연동 OK
2026-04-02 09:33:53 +09:00
SeongHyun Kim
25d4a211d6 feat: 출고 화면 세트 (유형선택 + 판매출고 + 장바구니)
- OutboundTypeSelect: 외부 5종 + 내부 2종, KPI 실데이터, 최근출고
- SalesOutbound: 고객사 선택 + 출하지시 품목 + useCartSync 연동
- OutboundCartPage: 출고일자/창고/번호 + 확정 + 결과모달
- CustomerModal: customer_mng 실데이터 + 초성검색
- 입고와 동일 UI 통일감, green gradient
- cmux 검증: 화면 표시 OK, 고객사 모달 실데이터 OK
2026-04-02 09:23:32 +09:00
SeongHyun Kim
2a30ab33f6 fix: 미입고 수량 갱신 — 담기 후 remain_qty 차감 표시 2026-04-02 09:11:19 +09:00
SeongHyun Kim
6566b7fd84 feat: 입고 확정 결과 모달 (입고번호 + 처리 품목 표시)
- 확정 후 모달: 입고번호, 창고, 날짜, 처리된 품목 목록
- 확인 클릭 → 입고유형선택으로 이동
- cmux+psql로 전체 흐름 검증 완료:
  RCV-2026-0002 생성, 재고 +100, cart cancelled
2026-04-01 22:49:40 +09:00
SeongHyun Kim
3e268ca637 fix: useCartSync id 자동생성 + cart_items DB 저장 완전 해결
- useCartSync: createRecord 시 crypto.randomUUID()로 id 생성
- cart_items NOT NULL id 제약 해결
- cmux browser로 실제 검증 완료:
  - 담기 → DB 저장 확인 (in_cart status)
  - 장바구니 페이지 이동 + 품목 표시 확인
  - 배지 숫자 표시 + isDirty 애니메이션
  - 하단 큰 확정 버튼 제거 (우상단만)
2026-04-01 22:37:14 +09:00
SeongHyun Kim
4b5bccb86a fix: cart_items DB 저장 + 입고번호 확정시점 채번 + 장바구니 조회
- cart_items: id를 crypto.randomUUID()로 생성 (NOT NULL 대응)
- cart_items: row_data에 품목 정보 JSON 저장
- 입고번호: 장바구니에서 미리 표시 안 함 → 확정 시 생성
- 장바구니 조회: 올바른 API 파라미터로 수정
- 담기 취소 시 dbId로 정확한 cart_items DELETE
2026-04-01 22:03:37 +09:00
SeongHyun Kim
d20b65bd12 feat: 입고 장바구니 독립 페이지 (/pop/inbound/cart)
- InboundCartPage: cart_items DB 영속 저장, 탭 이동해도 유지
- 상단: 입고일자(날짜피커) + 창고(터치선택) + 입고번호(자동채번)
- 품목: 체크박스, 수량수정(키패드), 삭제, 포장정보
- 검사: 필수→완료필수, 비필수→패스버튼, 미완료시 확정차단
- 전량 입고 원칙: 불량 포함 전체 입고 (팀장 규칙)
- PurchaseInbound: 장바구니 아이콘→독립페이지 이동 (모달 제거)
2026-04-01 21:46:22 +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
4b9b26d957 fix: PC 프로필에 POP 모드 추가 (AppLayout.tsx — 실제 렌더링 위치) 2026-04-01 18:25:12 +09:00
SeongHyun Kim
f706556228 feat: PC 프로필에 POP 모드 전환 + PC전환 시 전체화면 해제
- PC UserDropdown에 "POP 모드" 메뉴 추가 (결재함↔로그아웃 사이)
- POP→PC 전환 시 전체화면 자동 해제
2026-04-01 18:17:10 +09:00
SeongHyun Kim
0232b1ed2c feat: 프로필 드롭다운 메뉴 (PC모드/앱모드/홈/로그아웃) 2026-04-01 18:03:03 +09:00
SeongHyun Kim
07db35c2e6 feat: 입고 KPI 실데이터 + 장바구니 헤더 이동 + 거래처 모달 복원
- 입고유형선택: KPI/최근입고 실데이터 연동 (더미 제거)
- 장바구니 아이콘: 본문 → 헤더 프로필 왼쪽으로 이동
- PopShell: headerRight prop 추가
- 거래처: 인라인 드롭다운 제거, 클릭→모달 방식 복원
2026-04-01 17:41:01 +09:00
SeongHyun Kim
f03f35e744 feat: 실데이터 연동 + UI 개선 + 바코드 스캔
- 홈 KPI: 실제 입고/출고 건수 API 연동
- 홈 최근활동: 실제 입고+출고 이벤트 표시
- 구매입고 cart_items DB 연동 (cart-save → data-save)
- 입고 확정: 입고번호 자동생성 + 창고 선택 + cart 정리
- 거래처: 클릭→모달 방식으로 변경
- QR/바코드 스캔: BarcodeScanModal 이식 + glossy v3 버튼
- 수량 입력: 단계별 흐름 (포장→개수→수량→확인)
- 발주품목: 거래처 미선택 시 빈 화면 안내
- 돋보기 아이콘 제거
2026-04-01 17:33:16 +09:00
SeongHyun Kim
ecf79c9e50 feat: POP v2 하드코딩 화면 — 홈 + 입고 프로세스
- 홈 화면: KPI 캐러셀, 메뉴 아이콘, 최근 활동, 공지 배너
- 입고유형선택: 외부 7개 + 내부 3개 아이콘, 금일 입고 KPI
- 구매입고: 거래처 선택, 발주 품목 카드, 담기/취소
- 장바구니: 체크박스, 포장 정보, 검사 상태, 확정
- 숫자 키패드: 터치 입력, MAX, 포장등록
- 포장 선택: 6종 단위 (박스/포대/팩/묶음/롤/통)
- 검사 모달: 마스터 기반 체크리스트, 측정값, 양품/불량
- 공통 PopShell: 헤더(시계+프로필), 배너, 푸터
- 반응형 4모드 (태블릿/핸드폰 가로세로)
2026-04-01 17:19:12 +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
802482f1de Merge pull request 'jskim-node' (#1) from jskim-node into main
Reviewed-on: jskim/vexplor_dev#1
2026-04-01 03:36:17 +00:00
kjs
8be4159f17 Remove outdated documents related to the approval system and WACE system analysis
- Deleted the following files as they are no longer relevant to the current project structure:
  - 결재 시스템 구현 현황
  - 결재 시스템 v2 사용 가이드
  - WACE 시스템 문제점 분석 및 개선 계획
  - Agent Pipeline 한계점 분석
  - AI 기반 화면 자동 생성 시스템 설계서
  - WACE ERP Backend - 분석 문서 인덱스

These deletions help streamline the documentation and remove obsolete information, ensuring that only current and relevant resources are maintained.
2026-04-01 12:35:40 +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
b1b10f5e27 Merge branch 'kwshin-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-31 11:20:49 +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
kjs
2bd99849b4 Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-31 10:34:10 +09:00
kjs
c903ace628 Update SalesOrderPage to include order_date in master form initialization
- Added order_date to the master form state in SalesOrderPage for both COMPANY_29 and COMPANY_7.
- The order_date is set to the current date in ISO format, enhancing the order management functionality by automatically capturing the order date upon form initialization.

This change improves the user experience by ensuring that the order date is readily available for new sales orders.
2026-03-31 10:34:09 +09:00
kjs
378b8e7e7a Merge branch 'main' into jskim-node 2026-03-30 18:29:48 +09:00
kjs
a9e496ce0b Enhance division filtering in sales pages for better data retrieval
- Updated the division filter logic in CustomerManagementPage, SalesOrderPage, and SalesItemPage to use 'contains' operator for multi-value matching.
- This change allows for more flexible filtering of sales items based on the division, improving the accuracy of displayed data.
- The division filter now consistently uses the same value across different components, ensuring uniformity in data handling.

This commit enhances the functionality of the sales management pages by refining the filtering process, leading to a better user experience in managing sales data.
2026-03-30 18:25:46 +09:00
kjs
b1d82a2384 Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 18:10:58 +09:00
kjs
767863b6d6 Merge pull request 'jskim-node' (#434) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 51s
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/434
2026-03-30 17:03:42 +09:00
kjs
078f6b921e Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 17:03:23 +09:00
kjs
615687328f Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 17:03:12 +09:00
kjs
d25a9ce898 Merge branch 'mhkim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 17:02:59 +09:00
kjs
5849074b9f Merge branch 'jskim-node' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node 2026-03-30 17:02:49 +09:00
kjs
f2f18db449 Refactor customer management page to improve price item handling
- Update the logic for retrieving and processing customer item prices.
- Replace the previous price mapping with a grouping mechanism based on item_id and today's date.
- Enhance the handling of customer item codes and names to ensure proper aggregation.
- Improve overall readability and maintainability of the code.

This commit enhances the functionality of the customer management page by ensuring accurate price data is displayed based on the current date, improving user experience in managing customer items.
2026-03-30 17:02:48 +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
45a92de60b Merge pull request 'Implement pagination for source data in Outbound, Receiving, and Shipping Order pages' (#433) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 49s
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/433
2026-03-30 12:15:05 +09:00
kjs
022ed64274 Merge branch 'main' into jskim-node 2026-03-30 12:14:58 +09:00
kjs
42bb3a18fb Implement pagination for source data in Outbound, Receiving, and Shipping Order pages
- Add pagination state management for source data in OutboundPage and ReceivingPage.
- Introduce pagination controls with navigation buttons for better user experience.
- Update data loading functions to accommodate pagination parameters.
- Enhance SalesItemPage to include isDefault property in category options.

This commit improves the usability of logistics and sales item management by allowing users to navigate through large sets of data more efficiently.
2026-03-30 12:14:46 +09:00
kjs
21c507d9f7 Merge pull request 'jskim-node' (#432) from jskim-node into main
Some checks failed
Build and Push Images / build-and-push (push) Failing after 50s
Reviewed-on: http://39.117.244.52:3000/kjs/ERP-node/pulls/432
2026-03-30 11:59:14 +09:00