Commit Graph

831 Commits

Author SHA1 Message Date
김보곤
be9916850d fix: [출고관리] 재공품(STOCK) 수주 출고를 목록/통계에서 제외
- index: whereDoesntHave('order', STOCK) 조건 추가
- stats: base query에 동일 조건 적용 (전체/상태별/긴급/오늘예정)
2026-03-22 19:00:00 +09:00
김보곤
902f681f6e feat: [org-chart] 조직도 관리 API 이관 (8개 엔드포인트)
- OrgChartController + OrgChartService 신규 생성
- FormRequest 5개 (Assign/Unassign/ReorderEmployees/ReorderDepartments/ToggleHide)
- Department 모델 options cast 추가
- Swagger 문서 (OrgChartApi.php) 생성
- hr.php 라우트 그룹 추가 (/v1/org-chart)
2026-03-22 17:22:12 +09:00
김보곤
d502c9b85d feat: [수주서] R2 bending_images 맵 연동 — 작업일지와 동일 이미지 소스
- buildBendingImageUrls를 public으로 변경
- getOrderDetail 응답에 bending_images 맵 포함 (R2 presigned URL)
2026-03-22 17:09:05 +09:00
김보곤
8a9c6dc799 fix: [재공품] 수주 수정 시 item_id 미해석 + 작업자화면 BD코드 fallback
- OrderService::update()에 item_code→item_id 해석 로직 추가 (store()에만 있던 것)
- WorkOrderService: sourceOrderItem에 item_code 필드 포함 (BD코드 fallback용)
2026-03-22 15:43:59 +09:00
김보곤
2744953798 fix: [수주서] 이미지 URL → file_id 반환으로 변경 (프록시 경유)
- image_url(절대 URL) 대신 image_file_id(파일 ID)만 반환
- 프론트에서 /api/proxy/files/{id}/view 프록시로 인증 포함 요청
2026-03-22 15:36:52 +09:00
김보곤
003b352377 fix: [수주서] 절곡품 이미지 매칭 방식 변경 — item_bending 카테고리 기반
- BOM item_code(BD-가이드레일-*) 형식이 bending_items.code(BD-RC-*)와 달라 매칭 실패
- item_bending(가이드레일/케이스/하단마감재) 카테고리 기반 + item_name 세부 매칭으로 변경
- getBendingGroupImages: 테넌트 bending_items 전체에서 이미지 있는 항목 사전 조회
2026-03-22 15:25:43 +09:00
김보곤
d4b10452f5 feat: [수주서] 절곡품 이미지 연동 — bending_items files 기반
- groupBendingParts에서 item_code prefix → bending_items 이미지 매칭
- getBendingItemImages: BD prefix 기반 files 테이블 사전 조회
- 각 bending_parts item에 image_url 포함하여 응답
2026-03-22 15:21:01 +09:00
김보곤
a8b04e15c3 feat: [재공품] STOCK 작업지시 dynamic_bom 생성 + 자재 매칭 구현
- BendingCodeService: lengthCodeToMm() public static 메서드 추가
- BendingInfoBuilder: buildDynamicBomForStockItem() 신규 메서드
  - bending_lot(prodCode/specCode/lengthCode) + partKey → BD 품목 코드 → dynamic_bom 엔트리 생성
  - PrefixResolver 활용하여 정확한 prefix 매핑
- OrderService: STOCK 확정 시 bending_lot 기반 dynamic_bom 자동 생성
- WorkOrderService: 기존 STOCK 호환 fallback (getMaterials + getMaterialsForItem)
  - dynamic_bom 없는 기존 재공품도 bending_lot.material로 원자재 검색
2026-03-22 14:54:11 +09:00
김보곤
af69f2df0c fix: [status] 절곡 공정 검사완료 시 전체 item step 일괄 완료 → WO 자동 완료 2026-03-22 13:00:37 +09:00
김보곤
983306e8a9 fix: [material-input] DB::transaction use에 $workOrder 변수 추가 2026-03-22 12:53:04 +09:00
김보곤
c00cbb9106 feat: [stocks] 거래이력(사용현황) API 추가 (GET /stocks/{id}/transactions) 2026-03-22 11:48:39 +09:00
김보곤
31fab34e97 feat: [status] 재공품 검사완료 시 WO+수주 자동 완료 처리 (단일부품) 2026-03-22 11:34:26 +09:00
김보곤
a9817b3fd9 feat: [status] 자재투입/검사완료 시 WO→수주 상태 자동 전이 추가 2026-03-22 11:14:18 +09:00
김보곤
f7decfb76e fix: [dev] stocks.item_type을 common_codes 단축코드(PT/RM/SM)로 통일 2026-03-22 10:55:42 +09:00
김보곤
d13e8ee5e6 fix: [dev] 강제입고 상태값 completed → inspection_completed로 변경 2026-03-22 10:31:41 +09:00
김보곤
973f26b81d fix: [dev] 입고 강제생성 시 RM 원자재 매칭 + PT 재공품 재고 동시 생성 2026-03-22 10:27:21 +09:00
김보곤
3696cbe165 feat: [dev] 입고 강제생성 API 추가 (POST /dev/force-receiving) 2026-03-22 10:17:54 +09:00
김보곤
c48ad810b0 fix: [inspection] 절곡 재공품 공정명 매칭 수정
- resolveInspectionProcessType: 정확 매칭 → str_contains 변경
- '절곡 (재공품-가이드레일)' 등 자식 공정도 'bending'으로 인식
2026-03-21 21:21:39 +09:00
김보곤
488d592149 fix: [inspection] STOCK 작업지시 검사항목 API에서 해당 부품만 반환
- buildBendingInspectionItems: work_order.options.bending_info 참조 추가
- isStockProduction이면 bendingInfo에 있는 섹션만 포함
- 가이드레일만 있으면 하단마감재/케이스/연기차단재 제외
- getInspectionConfig 응답에 is_stock_production 플래그 추가
2026-03-21 21:21:39 +09:00
김보곤
68c0494673 fix: [bending] STOCK 작업지시 단일부품 필터링 지원
- buildStockBendingInfoFromLot()에 isStockProduction 플래그 추가
- fillStockBendingInfo()에서 work_order_items 부품명 파싱하여 stockPartFilter 저장
- parseStockPartKey()로 품목명에서 부품키 추출 (본체/C형/D형/마감재 등)
- 기존 작업지시 194~196 stockPartFilter 백필 완료
2026-03-21 21:21:39 +09:00
김보곤
89dd347ff4 fix: [bending] STOCK 작업지시 bending_info DB 영구 저장
- show() 동적 생성 후 saveQuietly()로 DB 영구 저장
- index() worker_screen 모드에서도 누락된 bending_info 자동 보충
- fillStockBendingInfo() 공통 메서드로 추출
- 기존 작업지시 194~196 bending_info 백필 완료
2026-03-21 21:21:39 +09:00
김보곤
a24de6c35e fix: [작업일지] STOCK 작업지시 bending_info API fallback 추가
WorkOrderService::show()에서 STOCK 작업지시의 options에
bending_info가 없을 때 수주의 bending_lot에서 동적 생성.
React 작업일지 모달에서도 정상 표시되도록 수정.
2026-03-21 21:21:39 +09:00
김보곤
760efe656f fix: [재고생산] STOCK 작업지시에 bending_info 누락 수정
재고생산(STOCK) 주문은 order_nodes가 없어 BendingInfoBuilder가
null 반환 → work_order.options=NULL → 절곡 작업일지 데이터 미표시.
order.options.bending_lot에서 간이 bending_info를 생성하여 주입.
2026-03-21 21:21:39 +09:00
김보곤
192610e7fa feat: [inventory] 원자재 입고 테스트 데이터 생성 커맨드 추가
- receiving:generate-test-data 커맨드 생성
- RM 품목 기반 Receiving/Stock/StockLot/IQC Inspection 일괄 생성
- SUS/EGI 품목별 실제적 공급업체(포스코/현대제철/동국제강 등) 매핑
- 수입검사항목 자동 구성 (외관/두께/치수/재질 검사)
- --dry-run, --tenant, --date 옵션 지원
2026-03-21 21:21:39 +09:00
김보곤
f3bdafc32e feat: [작업지시] 부모 공정 → 자식 공정 자동 감지
- store(): 부모 공정으로 WO 생성 시 아이템의 process_items 매핑으로 자식 공정 자동 설정
- index(): 부모 공정 필터 시 자식 공정 WO도 포함
- 하위 호환: 아이템 매칭 실패 시 원래 process_id 유지
2026-03-21 21:21:39 +09:00
김보곤
a071997b42 feat: [ItemMaster] ItemPage 생성 시 동일 item_type 중복 방지 로직 추가
- ItemPageService::store()에서 동일 tenant_id + item_type + is_active 조합 중복 검증
- ItemPageStoreRequest에 Rule::unique 검증 추가 (tenant_id 범위 한정)
- 에러 메시지 키 추가: error.item_page_duplicate_item_type (ko/en)
2026-03-21 21:21:39 +09:00
28e41e6367 merge: develop + kkk 브랜치 병합 (code/lot_no 분리 + origin 신규 기능 통합) 2026-03-21 17:35:26 +09:00
25db0df38b fix: [절곡] bending_models lot_no 제거 — legacy_code로 이관
- bending_models에는 LOT 개념 없음, lot_no 컬럼 불필요
- lot_no 값 → legacy_code로 이관 후 컬럼 DROP
- BendingModel fillable에서 lot_no 제거
- GuiderailModelResource에서 lot_no 제거
- BendingModelImport: lot_no → legacy_code
- 마이그레이션 rollback 로직 수정
2026-03-21 15:39:09 +09:00
7cd0aab884 refactor: [절곡] bending_items code를 'BD' 단일값으로 통일
- bending_items.code: prod+spec(CP,RS 등) → 'BD' (절곡품 공통 접두사)
- bending_models 패턴(GR/SB/BB)과 동일 레벨로 통일
- import 스크립트 3개 + BendingCodeService.resolveItem 수정
- 마이그레이션 SQL 업데이트
- DB 266건 업데이트 완료
2026-03-21 15:29:05 +09:00
김보곤
1577d028dc feat: [공정관리] parent_id 트리 구조 도입 — 마이그레이션, 모델 관계, 2depth 검증 2026-03-21 15:23:54 +09:00
88d6547e69 refactor: [절곡] import 스크립트 + GuiderailModel code/lot_no 분리 적용
- BendingCleanReimport: code→앞2자리, lot_no→전체코드, 중복체크 lot_no 기준
- BendingImportMissing: 동일 적용
- BendingModelImport: code→접두사(GR/SB/BB), lot_no→전체코드
- MigrateBendingItemsToNewTable: 동일 적용
- GuiderailModelResource: lot_no 필드 추가
- BendingModel: fillable에 lot_no 추가
2026-03-21 15:11:51 +09:00
d6591acdff refactor: [절곡] code/lot_no 분리 — 코드 체계와 LOT 번호 분리
- bending_items.code: LOT번호(CP260319) → 코드체계(CP)만 저장
- bending_items.lot_no: 기존 code 값 이관 (LOT 번호)
- bending_models.code: 전체코드(GR-KSS01-벽면형-SUS) → 접두사(GR)만 저장
- bending_models.lot_no: 기존 code 값 이관
- unique 제약: code → lot_no로 이동
- BendingCodeService.resolveItem: LIKE → 정확 매칭
- 검색: lot_no 필드 추가
- Swagger 문서 업데이트
2026-03-21 15:06:55 +09:00
김보곤
cce4798643 fix: [files] presigned-url-by-path 화이트리스트 추가 (문서양식 섹션 이미지) 2026-03-21 13:28:26 +09:00
김보곤
d9a2cad063 feat: [bending] 기초자료 복사 시 R2 이미지 파일도 함께 복사 2026-03-21 11:51:54 +09:00
김보곤
a71dab791a feat: [bending] 기초자료 복사 API 추가 — 같은 분류의 다음 번호 자동 채번 2026-03-21 11:49:06 +09:00
김보곤
917b75d4b4 feat: [bending] 가이드레일/케이스 부품 조합에 기초자료 품목코드(item_code) 매핑 추가 2026-03-21 11:42:13 +09:00
김보곤
e4f698654b feat: [bending] 수정 시 code 변경 허용 + 중복 코드 검사 (422 반환) 2026-03-21 11:29:56 +09:00
김보곤
e1d0c2ef44 fix: [bending] 기초자료 코드 항상 .001부터 시작 — .001이 대표(표준) 번호 2026-03-21 11:22:00 +09:00
김보곤
980b00cc5a fix: [bending] 기초자료 변형코드 3자리(.001~.999) 변경 — 표준형상은 BD-XX, 변형은 BD-XX.nnn 2026-03-21 11:16:37 +09:00
김보곤
d9be03824e fix: [bending] 기초자료 코드 BD-XX.nn 형식으로 변경 (재공품 BD-XX-길이와 구분) 2026-03-21 11:09:46 +09:00
김보곤
f583e947db feat: [bending] 품목코드 BD-XX-nn 자동 채번 + code 수정 불가 + prefixes API 2026-03-21 11:01:29 +09:00
김보곤
ccdc28c44e fix: [bending] 절곡품 API 화이트리스트 추가 및 presignedUrl 에러 핸들링
- bending-items, guiderail-models 등 MNG→API 호출 라우트 화이트리스트 등록
- BendingItemResource에서 S3 미설정 환경 presignedUrl 에러 try-catch 처리
2026-03-21 09:40:11 +09:00
김보곤
e402b03452 feat: [공정관리] 공정 복제 API 추가 2026-03-21 08:38:47 +09:00
김보곤
da1ea6d3b4 feat: [작업지시/작업자화면] items.item 관계 로드, 부서 필터 개선, BD 재질 자동 매칭, 전개도 폭 매칭 2026-03-21 07:59:53 +09:00
김보곤
41177f8f6c fix: [주문/재고생산] item_id 검증 제거 및 options.reg_date validation 추가 2026-03-21 07:59:53 +09:00
김보곤
244a1f7a24 feat: [재고] 적정재고 관리 기능 추가 (max_stock + over 상태 + update API) 2026-03-21 07:59:53 +09:00
김보곤
5860262d87 feat: [입고/수입검사] 검사완료 상태 추가, 관리자 삭제 권한, 재고 연동 개선 2026-03-21 07:59:53 +09:00
6c67d80e25 feat: [workorder] 절곡 작업일지 bending_images R2 presigned URL 반환
- getWorkLog()에 bending_images 맵 추가 (22개 정적 이미지)
- buildBendingImageUrls() 메서드 추가
- Storage import 추가
- document->data null 체크 추가
- stats에 draft 상태를 reception_count에 포함
2026-03-20 23:04:28 +09:00
78ff01d6b1 fix: [생산지시] 보조공정 품목 미배정 문제 수정
- 부자재(감기샤프트, 각파이프 등)가 "재고생산"(보조공정) 매핑으로 미배정 생성되던 문제
- 보조공정(is_auxiliary) 및 미매핑(none) 품목을 메인 공정으로 자동 병합
- 메인 공정 중 품목 수가 가장 많은 공정에 배정
2026-03-20 17:08:37 +09:00
d8ac3db239 Revert "feat: [auth] 자동산출 API Sanctum 인증 예외 추가"
This reverts commit 5df2c2afce8de1356c021545e2d3650a82bb74be.
2026-03-20 17:05:00 +09:00