Commit Graph

4147 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
4dce218c16 feat: POP 설정 적용 — 자재투입/사진/PLC를 설정으로 표시/숨김
- usePopSettings 훅: DB 또는 localStorage에서 설정 로드 + 캐시
- ProcessWork: peSettings 기반으로 자재투입 탭, 사진 첨부, 그룹사진 제어
- ChecklistRow: showPhoto prop으로 그룹별 사진 on/off
- Material Input 콘텐츠도 설정 연동
2026-04-03 17:23:35 +09:00
SeongHyun Kim
d91911910d feat: POP 설정 관리 페이지 (/pop/admin)
- 공정실행: 자재투입/사진/PLC/BOM유동/포장옵션/불량유형/재작업지정
- 입고: 검사필수/사진/바코드
- 출고: 사진/바코드
- 홈: KPI캐러셀/최근활동
- 회사별(company_code) 저장
- 토글 스위치 + 태그 편집기
- 나중에 회사 간 복사(카피 시스템) 대응 구조
2026-04-03 17:14:41 +09:00
SeongHyun Kim
60878358a6 feat: 마지막 공정 포장/사진 + PLC 구조 준비
1. 마지막 공정 입고: 포장 단위 선택(낱개/박스/파렛트) + 사진 첨부
2. PLC: input_type='plc' 항목에 자동연동 안내 + 수동 입력 fallback
3. PLC 설정은 POP 관리 설정 화면에서 매핑 예정
2026-04-03 16:52:47 +09:00
SeongHyun Kim
19ed1b5109 feat: 재작업 공정 지정 — 불량 처리 시 특정 공정 선택 or 모든 공정 표시 2026-04-03 16:36:03 +09:00
SeongHyun Kim
78cc6820b3 feat: 실적 입력 개선
- 양품 수량 자동 표시 (생산수량 - 불량)
- 버튼: 누적 < 접수수량 → "분할 완료", 달성 시 → "작업 완료"
- 누적 현황 표시 (N/접수수량 N%)
- 사진 첨부 선택사항 추가
- 기존 양품 미리보기 중복 제거
2026-04-03 16:33:34 +09:00
SeongHyun Kim
7655de9001 fix: 공정순서 모달 반응형 — max-h-90vh + 스크롤 + 닫기 버튼 항상 보임 2026-04-03 16:14:04 +09:00
SeongHyun Kim
e38ebf10e0 fix: 공정 미선택 시 카드 숨김 + filteredProcesses 빈 배열 반환 2026-04-03 15:57:39 +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
e0b3af0c2a fix: 카드 높이 통일 — minHeight 제거 + grid auto-rows-fr 2026-04-03 15:36:10 +09:00
SeongHyun Kim
8d8ce0b42c feat: 리워크 카드 UI 개선 — 공정순서 + 재작업 이력 트리
- 리워크 카드에 CompressedProcessSteps 공정순서 표시 (일반 카드와 동일)
- 재작업 정보 요약: "N공정(공정명) → 불량 X개 → 재작업 N회차" 텍스트
- rework_source_id로 원본 공정 추적, created_date 기반 회차 계산
- ProcessDetailModal에 재작업 이력 탭 추가 (rework-history API 활용)
- 원본 → 재작업1 → 재작업2 체인을 트리 구조로 시각화
2026-04-03 15:29:58 +09:00
SeongHyun Kim
422122e2dd fix: masterProcesses 중복 제거 (Set으로 key 에러 방지) 2026-04-03 15:23:07 +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
d9ed3d651f fix: 리워크 카드 접수가능 수량 = input_qty (불량 수량 그대로) 2026-04-03 14:15:26 +09:00
SeongHyun Kim
f1634b48b8 fix: 리워크 카드를 masterProcesses에 포함 (is_rework=Y 조건 추가) 2026-04-03 14:14:31 +09:00
SeongHyun Kim
c9d0b6057b fix: 리워크 판별 is_rework='Y' 추가 (DB 값 매핑) 2026-04-03 14:12:39 +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
5ee8627697 fix: 그룹 타이머 완료 후 포함시간 멈춤 (completedAt 기준) 2026-04-03 12:16:55 +09:00
SeongHyun Kim
1133215c73 fix: 품목 정보 표시 — wi_id 매핑 + item_info 조회 fallback
- WorkOrderList: work-instruction/list의 wi_id→id 매핑, 중복 제거
- ProcessWork: item_name 비어있으면 item_id로 item_info 추가 조회
- item_number 필드 지원 (API가 item_code 대신 item_number 반환)
2026-04-03 12:11:54 +09:00
SeongHyun Kim
cedf49e854 fix: item_number 필드 추가 — API 응답 매핑 수정 (품목 표시) 2026-04-03 12:06:13 +09:00
SeongHyun Kim
3400dc3d9b fix: 드로어 항목에 품목명(품번) 추가 2026-04-03 11:58:17 +09:00
SeongHyun Kim
6ed5b93e87 fix: 정보바 지시수량+접수수량 분리 표시 (접수는 주황색 강조) 2026-04-03 11:52:44 +09:00
SeongHyun Kim
9c3fe397b7 fix: 드로어 항목 — 작업지시번호+공정+설비+접수수량 (진행중 배지 제거) 2026-04-03 11:52:01 +09:00
SeongHyun Kim
486b6335ad fix: 드로어를 사이드바 가장자리 탭(>) 핸들로 변경 2026-04-03 11:45:54 +09:00
SeongHyun Kim
2119a3546e fix: 내 작업 탭 제거 + 드로어 1건부터 표시
- "내 작업" 탭 완전 제거 (드로어로 대체)
- 드로어 버튼 조건: 2건→1건 이상으로 변경
- 필터 로직에서 my_work 관련 코드 정리
2026-04-03 11:36:52 +09:00
SeongHyun Kim
648d78c980 fix: 드로어 토글을 좌상단 보라색 버튼으로 변경 (접수 2건 이상일 때만) 2026-04-03 11:17:15 +09:00
SeongHyun Kim
aaafde4684 feat: 작업상세 내 접수 목록 드로어 (숨겨진 사이드바)
- 왼쪽 가장자리 탭 터치 → 드로어 열림
- 내가 접수한 모든 작업 목록 표시 (공정/설비 무관)
- 항목 터치 → 작업상세가 해당 작업으로 전환
- 작업지시번호, 품목, 공정명, 수량 표시
- 내 작업 탭 필터 원복 (공정/설비 필터 적용)
2026-04-03 11:16:05 +09:00
SeongHyun Kim
39a8ffb64b fix: 내 작업 탭 — 공정/설비 필터 무시, 전체에서 내 접수만 표시
- 작업자가 여러 공정/설비에서 접수한 것을 한 탭에서 모아보기
- 내 작업 카운트도 필터 무관 전체 기준
- 팀장 요구사항: 한 사람이 여러 공정 담당 가능
2026-04-03 11:08:19 +09:00
SeongHyun Kim
3c53addf25 fix: 작업상세 정보바 뒤로가기 버튼 제거 (모달 X로 대체) 2026-04-03 11:05:21 +09:00
SeongHyun Kim
e7e084a5f0 fix: 타이머 하단 전체시간+포함/순수 라벨 제거 2026-04-03 10:56:59 +09:00
SeongHyun Kim
0aff2a60cc fix: 그룹 타이머 낙관적 업데이트 — 버튼 즉시 반영, API 백그라운드 2026-04-03 10:55:48 +09:00
SeongHyun Kim
ab4c28e6ba feat: 통합 타이머 — 포함시간+순수시간+그룹명+버튼 한 줄
- ProcessTimer 제거 → 그룹 레벨 통합 타이머로 교체
- 포함시간(크게) | 순수시간(회색) | 그룹명 | 시작/정지/재개/종료
- 콘텐츠 내 중복 그룹 타이머 제거
- 전체 경과 시간은 하단 작은 텍스트로 표시
2026-04-03 10:52:31 +09:00
SeongHyun Kim
c8c1d6b57f fix: 타이머 버튼 낙관적 업데이트 (로딩 제거)
- 일시정지/재개/시작/종료 클릭 시 UI 즉시 반영
- API는 백그라운드로 호출, 완료 후 조용히 동기화
- 실패 시 서버 상태로 자동 복원
- 그룹 타이머도 await 제거 → fetchProcess() 백그라운드
2026-04-03 10:14:59 +09:00
SeongHyun Kim
8ba6e149a0 fix: 사이드바 선택 항목 파란 배경 제거 → 흰색+검정 보더 2026-04-03 10:06:48 +09:00
SeongHyun Kim
2ea9cfec9c feat: 타이머 한 줄 컴팩트 + 사이드바 글씨 확대
- ProcessTimer: 한 줄 레이아웃 (시간 왼쪽 + 버튼 오른쪽)
- 타이머 높이 대폭 축소 (300px→60px)
- 사이드바 text-[10px]→text-xs (12px), 폭 220→240
- 버튼 h-12 유지 (터치 가능)
2026-04-03 10:04:52 +09:00
SeongHyun Kim
2658818843 feat: 작업상세 레이아웃 변경 — 왼쪽 사이드바 항상 표시
- 왼쪽: 사이드바(대분류 전체 보임, 항상 표시)
- 오른쪽 상단: 타이머 (고정)
- 오른쪽 하단: 콘텐츠 (스크롤)
- 모바일 탭 숨김 (사이드바로 대체)
- KPI/진행률 영역 제거됨
2026-04-03 09:54:05 +09:00
SeongHyun Kim
8711031eab fix: 작업상세에서 KPI(접수/생산/양품/불량) + 진행률 제거 2026-04-03 09:43:29 +09:00
SeongHyun Kim
76cbb1bbe5 feat: 작업상세를 풀스크린 모달로 변경 (페이지 이동 제거)
- 진행중 카드 클릭 → ProcessWork 풀스크린 오버레이 열림
- 우측 상단 X 버튼으로 닫기 (작업 상태 DB에 이미 저장됨)
- 닫을 때 fetchAll() 호출하여 목록 갱신
- 페이지 이동(router.push) 대신 상태 기반 모달
2026-04-03 09:36:38 +09:00
SeongHyun Kim
9832e2fc7a fix: 진행중 카드 터치→작업상세, 버튼은 접수취소만
- 카드 전체 클릭 → goToWork (작업상세 진입)
- 하단 버튼: "접수 취소"만 (실적 없을 때)
- e.stopPropagation으로 카드 클릭과 버튼 클릭 분리
- "작업 계속" 버튼 제거 (카드 터치로 대체)
2026-04-03 09:32:13 +09:00
SeongHyun Kim
69b847b1fc fix: 진행중 카드 버튼 세로 배치 + 큰 터치 영역 (py-4, text-base) 2026-04-03 09:11:35 +09:00
SeongHyun Kim
27b71e471f fix: 작업상세에서 접수 취소 버튼 제거 (카드 목록에서만 취소) 2026-04-03 09:10:47 +09:00
SeongHyun Kim
75e77d6952 fix: 진행중 카드에 접수 취소 버튼 추가 (실적 없을 때만) 2026-04-03 09:09:56 +09:00
SeongHyun Kim
ce5e9ab4cf fix: 접수 후 현재 탭 유지 (진행중 자동 전환 제거) 2026-04-03 09:09:00 +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
35ecd4221e feat: 체크리스트 글자 확대 + 내 작업 탭 + 터치 UI 개선
- 체크리스트: 항목명 text-sm→text-base, 필수 배지 오른쪽 이동
- 합격/불합격 버튼 전폭+큰 터치 영역(py-3)
- 입력 필드 text-base+border-2, 저장 버튼 확대
- 범위 텍스트 text-sm, 결과 표시 text-sm
- WorkOrderList: "내 작업" 탭 추가 (accepted_by=currentUserId 필터)
- useAuth 연동으로 현재 사용자 ID 기반 필터
2026-04-02 23:12:33 +09:00
SeongHyun Kim
2200bc3244 feat: PopShell 사용자 계정 연동 (하드코딩 제거)
- 김철수/생산1팀 → useAuth()에서 userName/deptName 동적 로드
- 프로필 이니셜 동적 표시
- 회사명 탑씰 → user.companyName 동적
- 로그아웃 → useAuth().logout() 연결
- 푸터 연도/회사명 동적
2026-04-02 23:08:14 +09:00