Commit Graph

894 Commits

Author SHA1 Message Date
edb81a1041 feat: work_orders 테이블에 options JSON 컬럼 추가
- 마이그레이션: work_orders.options JSON nullable 컬럼 추가
- WorkOrder 모델: $fillable, $casts에 options 추가
- bending_info 등 작업지시 레벨 추가 옵션 저장용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
6ae82b7057 fix: 작업지시 단건조회(show)에 materialInputs eager loading 추가
- show() 메서드에 items.materialInputs, items.materialInputs.stockLot 누락
- 목록조회에만 있고 단건조회에 빠져서 프론트 입고 LOT NO 표시 안됨

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
2fedc3a712 fix: 조인트바 자동 계산 추가 (레거시 5130 공식 적용)
- KyungdongFormulaHandler: joint_bar_qty 미전달 시 자동 계산
  공식: (2 + floor((제작가로 - 500) / 1000)) × 셔터수량
- OrderService.extractSlatInfoFromBom(): 동일 폴백 추가
- OrderService.createWorkOrders(): slat_info.joint_bar 0일 때 width 기반 계산
- CURRENT_WORKS.md 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
1429f22f11 fix: 견적 산출 가이드레일 혼합형(mixed) validation 허용
- QuoteBomBulkCalculateRequest: guideRailType, GT에 mixed 추가
- QuoteBomCalculateRequest: GT에 mixed 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
89344c0755 fix: 견적 산출 모터 전압/가이드레일 설치유형 매핑 누락 수정
- MP(single/three) → motor_voltage(220V/380V) 매핑 추가
- GT(wall/floor/mixed) → installation_type(벽면형/측면형/혼합형) 매핑 추가
- 기존: 프론트 선택값이 BOM 계산에 반영되지 않던 버그

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
74a83e6711 fix: 슬랫 작업일지 데이터 파이프라인 구축
- OrderService.createFromQuote: BOM 결과에서 slat_info(조인트바/방화유리 수량) 추출하여 OrderNode.options에 저장
- OrderService.createWorkOrders: nodeOptions에 slat_info 없을 때 bom_result에서 fallback 추출
- OrderService.syncFromQuote: 동일하게 slat_info 추출 추가
- WorkOrderService: salesOrder eager loading에 client_contact, options 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:23 +09:00
10b1b26c1b fix: 경동 BOM 계산 수정 및 품목-공정 매핑
- KyungdongFormulaHandler: product_type 자동 추론(item_category 기반), 철재 주자재 EGI코일로 변경, 조인트바 steel 공통 지원
- FormulaEvaluatorService: FG item_category에서 product_type 자동 판별
- MapItemsToProcesses: 경동 품목-공정 매핑 커맨드 정비
- KyungdongItemMasterSeeder: BOM child_item_id code 기반 재매핑
- ItemsBomController: ghost ID 유효성 검증 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:21 +09:00
55270198d4 fix: 견적→수주 변환 시 담당자 정보 누락 수정
- Order::createFromQuote() 잘못된 필드명 수정 (contact_person→contact, delivery_date→completion_date)
- 견적 담당자(manager)를 orders.options.manager_name에 저장
- StoreOrderRequest/UpdateOrderRequest에 options.manager_name 유효성 검증 추가
- WorkOrderService show()에서 salesOrder.options 컬럼 포함하여 담당자 표시

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:50:13 +09:00
김보곤
e3d5303167 feat:법인카드 결제 항목(items) JSON 컬럼 추가 마이그레이션
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:32:55 +09:00
김보곤
7472264364 feat:barobill_bank_transactions에 거래처코드(client_code, client_name) 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 21:18:22 +09:00
김보곤
8dbe5dffe4 feat:바로빌 계좌 거래 동기화 상태 테이블 마이그레이션 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 21:00:47 +09:00
유병철
6f456f2cfd fix: 급여 수당/공제 상세 벨리데이션 규칙 수정 (array → numeric)
- StoreSalaryRequest, UpdateSalaryRequest의 allowance_details.*, deduction_details.* 벨리데이션을 array에서 numeric으로 변경
- 수당/공제 항목은 {항목명: 금액} 구조이므로 값은 숫자가 올바름

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 17:34:57 +09:00
김보곤
f1dc2d8bbe feat:sales_tenant_managements 테이블에 handover_at 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 16:31:20 +09:00
1f848ad291 fix:트리거 감사로그 created_at 단독 인덱스 추가
- ORDER BY created_at DESC 쿼리 성능 개선
- 기존 복합 인덱스만으로는 단독 정렬에 활용 불가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 13:34:37 +09:00
59cd8cf4fe feat: 수주 목록 rootNodes 수량 합계 조회 추가
- OrderService index()에 withSum('rootNodes', 'quantity') 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 11:22:08 +09:00
6ac3f0c860 feat: 트리거 감사로그 operation_id 컬럼 추가 및 요청별 UUID 설정
- trigger_audit_logs 테이블에 operation_id(VARCHAR 36) 컬럼 추가
- ix_trig_operation 인덱스 생성 (일괄 롤백 조회용)
- SetAuditSessionVariables 미들웨어에서 요청마다 @sam_operation_id UUID 설정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 11:22:08 +09:00
김보곤
cc5fe61fcd fix:거래처 업태/종목 컬럼 크기 확장 (varchar 20/50 → 100)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 10:00:55 +09:00
김보곤
c290c99cc4 feat:tutorial_videos 테이블 마이그레이션 추가
사용자 매뉴얼 영상 자동 생성 기능을 위한 DB 테이블 생성

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:56:28 +09:00
김보곤
6874754b92 feat:video_generations 테이블에 gcs_path 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:11:09 +09:00
김보곤
d97130fc3a feat:video_generations 테이블 마이그레이션 추가 (YouTube Shorts AI)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 08:46:34 +09:00
김보곤
f3ab7525e2 feat:단체(그룹) 수당 체계 지원을 위한 마이그레이션 추가
sales_partners에 referrer_partner_id, sales_commissions에 유치수당 관련 컬럼 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 19:42:38 +09:00
김보곤
9f3a743988 feat:esign_contracts 테이블에 send_method, sms_fallback 컬럼 추가
- send_method: 발송 방식 (alimtalk/email/both), 기본값 alimtalk
- sms_fallback: SMS 대체발송 여부, 기본값 true

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:13:24 +09:00
김보곤
80c1e4aeae feat:sales_partners 테이블에 상호/사업자등록번호/주소 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:13:24 +09:00
김보곤
2dacefd14f feat:E-Sign 필드 text_align 컬럼 추가 (좌/중/우 정렬 지원)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 16:13:24 +09:00
adfccc9af0 fix:생산지시 생성 시 다중 담당자(assignee_ids) 저장 누락 수정
- CreateProductionOrderRequest에 assignee_ids 배열 validation 추가
- OrderService::createProductionOrder에 work_order_assignees 저장 로직 추가
- 담당자 유무에 따른 status 분기 (pending/unassigned) 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:57:39 +09:00
김보곤
9c19536423 feat:거래처 테이블에 매출/매입 구분(trade_type) 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:27:37 +09:00
김보곤
6d4e5b740b feat:거래처 테이블에 대표자(ceo), 주소(address) 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:22:29 +09:00
김보곤
cd20f8d73f feat:E-Sign 템플릿 변수 시스템 추가 (마이그레이션+모델)
- field_variable, metadata, variables 컬럼 마이그레이션 추가
- EsignContract 모델에 metadata (JSON cast) 추가
- EsignSignField 모델에 field_variable 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:22:28 +09:00
김보곤
ef23b9dda6 feat:E-Sign 필드에 font_size 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:22:28 +09:00
김보곤
c7c9c3838d feat:E-Sign 필드 템플릿 PDF 파일 컬럼 추가
- esign_field_templates 테이블에 file_path, file_name, file_hash, file_size 컬럼 추가
- 템플릿에 PDF 파일을 포함할 수 있도록 스키마 확장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 11:22:28 +09:00
4ecf16d387 fix:quote_revisions 조회 시 MySQL Out of sort memory 에러 해결
- quote_revisions(quote_id, tenant_id, revision_number) 복합 인덱스 추가
- previous_data JSON 대용량 컬럼 포함 정렬 시 filesort OOM 방지

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:29:43 +09:00
f28bbc2a74 fix:quotes 목록 조회 시 MySQL Out of sort memory 에러 해결
- quotes(tenant_id, registration_date, id) 복합 인덱스 추가
- ORDER BY registration_date DESC, id DESC 정렬 시 filesort 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:23:50 +09:00
090a978991 fix:생산지시 되돌리기 시 누락된 관련 데이터 삭제 보완
- 자재 투입(material_inputs) 재고 복구(increaseToLot) 후 삭제
- 문서(documents/data/approvals) 영구삭제 (검사 성적서, 작업일지)
- 출하(shipments) work_order_id 참조 해제
- step_progress, assignees, bending_details, issues 명시적 삭제 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 04:03:10 +09:00
5eaa65cc9c Merge remote-tracking branch 'origin/develop' into develop 2026-02-13 03:44:34 +09:00
df69cabdc3 docs:논리적 관계 문서 갱신 (esign, materialInputs 추가)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:41:45 +09:00
89c19b869d chore:조인트바 품목 options 데이터 추가 (lot_managed, consumption_method 등)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:41:43 +09:00
fc4fad6e75 refactor:공정 단계 completion_type 한글→영문 코드 전환
- completion_type 값을 한글(클릭 시 완료)에서 영문 코드(click_complete)로 변환
- FormRequest에 in 검증 규칙 추가 (click_complete, selection_complete, inspection_complete)
- 기존 데이터 마이그레이션 포함

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:41:41 +09:00
e4c53c7b17 feat:개소별 자재 투입 관리 API 추가
- work_order_material_inputs 테이블 신규 생성 (개소별 자재 투입 추적)
- 개소별 자재 조회/투입/이력/삭제/수정 API 5개 추가
- StockService.increaseToLot: LOT 수량 복원 메서드 추가
- WorkOrderService에 개소별 자재 투입 비즈니스 로직 구현
- WorkOrder, WorkOrderItem 모델에 materialInputs 관계 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:41:35 +09:00
d730c2d91a feat:FQC 제품검사 문서 일괄생성 API 추가
- POST /v1/documents/bulk-create-fqc: 수주 개소별 제품검사 문서 일괄생성
- GET /v1/documents/fqc-status: 수주별 FQC 진행현황 조회
- BulkCreateFqcRequest FormRequest 추가
- error.php에 no_order_items, already_created 메시지 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 03:41:27 +09:00
441359f5fd fix:FQC 문서 기본필드 키 형식 수정 (bf_라벨 → bf_ID)
- 제품검사 문서 생성 시 bf_납품명 형식 → bf_{field->id} 형식으로 변경
- 템플릿 basicFields를 로드하여 field_key 기반 매핑
- mng show.blade.php와 키 형식 통일

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:32:41 +09:00
김보곤
a13e694174 feat:E-Sign 필드 템플릿 category 컬럼 추가 마이그레이션
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 18:54:58 +09:00
김보곤
57879f7673 feat:E-Sign 필드 템플릿 테이블 마이그레이션 추가
- esign_field_templates: 필드 배치 템플릿 저장
- esign_field_template_items: 템플릿 내 개별 필드 정보

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 18:02:25 +09:00
9af48a15af feat: 내화실 품목 마스터 데이터 업데이트
- code: 80019 → 내화실-WY-MA12
- name: 실 → 내화실
- unit: m → 콘
- attributes.spec: WY-MA12
- options: lot_managed, consumption_method(manual), production_source(purchased), material 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 15:24:49 +09:00
32cbb1071d Merge remote-tracking branch 'origin/develop' into develop 2026-02-12 14:16:32 +09:00
45dd18dbab feat(API): 작업일지 생성/조회 API 추가
- WorkOrderService: getWorkLogTemplate, getWorkLog, createWorkLog 메서드 추가
- WorkOrderController: 작업일지 3개 엔드포인트 추가
- 라우트: GET work-log-template, GET/POST work-log
- WorkOrder 모델: documents() MorphMany 관계 추가
- i18n: work_log_saved, no_work_log_template 메시지 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 09:39:48 +09:00
김보곤
fa6d2082c8 feat:E-Sign 전자계약 i18n 메시지 키 추가
- message.esign: 12개 (created, cancelled, sent, reminded, fields_configured, otp_sent, otp_verified, signed, rejected, completed, verified, downloaded)
- error.esign: 16개 (invalid_token, token_expired, contract_not_signable, already_completed, already_cancelled, already_signed, invalid_status_for_send, no_sign_fields, cannot_remind, fields_only_in_draft, not_verified, otp_max_attempts, otp_not_sent, otp_expired, otp_invalid, file_not_found)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 07:15:42 +09:00
김보곤
6958be1fd8 feat:E-Sign 전자계약 서명 솔루션 백엔드 구현
- 마이그레이션 4개 (esign_contracts, esign_signers, esign_sign_fields, esign_audit_logs)
- 모델 4개 (EsignContract, EsignSigner, EsignSignField, EsignAuditLog)
- 서비스 4개 (EsignContractService, EsignSignService, EsignPdfService, EsignAuditService)
- 컨트롤러 2개 (EsignContractController, EsignSignController)
- FormRequest 4개 (ContractStore, FieldConfigure, SignSubmit, SignReject)
- Mail 1개 (EsignRequestMail + 이메일 템플릿)
- API 라우트 (인증 계약 관리 + 토큰 기반 서명 프로세스)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 07:02:39 +09:00
911c8a36ad feat(API):문서 데이터 정규화 커맨드 추가
- NormalizeDocumentData: 기존 document_data를 정규화 형식으로 일괄 변환

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 00:01:30 +09:00
376348a491 feat(API):자재 투입 LOT 조회 API 및 중간검사 데이터 정규화
- materialInputLots: stock_transactions 기반 투입 LOT 조회 엔드포인트 추가
- createInspectionDocument: 정규화 형식(section_id/column_id/field_key) 지원
- 레거시 형식(section_X_item_Y) 자동 변환 로직 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 00:01:25 +09:00
김보곤
818f764aa5 fix:사진대지 감사 로그 트리거 재생성 (삭제된 컬럼 참조 제거)
컬럼 삭제 후 트리거가 before_photo_path 등을 참조하여 UPDATE 시 에러 발생 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:28:24 +09:00