유병철
31d2f08dd8
feat: [loan] 상품권 접대비 자동 연동 기능 추가
...
- ExpenseAccount: loan_id 필드 + SUB_TYPE_GIFT_CERTIFICATE 상수 추가
- LoanService: 상품권 used+접대비해당 시 expense_accounts 자동 upsert/삭제
- 마이그레이션: expense_accounts에 loan_id 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 21:22:44 +09:00
유병철
8c9f2fcfb5
feat: [bill,loan] 어음 V8 확장 필드 및 가지급금 상품권 카테고리 지원
...
- Bill 모델: V8 확장 필드 54개 추가 (증권종류, 할인, 배서, 추심, 개서, 부도 등)
- Bill 상태: 수취/발행 어음·수표별 세분화된 상태 체계
- BillService: assignV8Fields/syncInstallments 헬퍼 추출, instrument_type/medium 필터
- BillInstallment: type/counterparty 필드 추가
- Loan 모델: holding/used/disposed 상태 + metadata(JSON) 필드 추가
- LoanService: 상품권 카테고리 지원 (summary 상태별 집계, store 기본상태 holding)
- FormRequest: V8 확장 필드 검증 규칙 추가
- 마이그레이션: bills V8 필드 + loans metadata 컬럼
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 20:45:54 +09:00
김보곤
f41605ca73
feat: [approval] 재직증명서 양식 마이그레이션 추가
...
- approval_forms 테이블에 employment_cert 폼 삽입
2026-03-05 18:54:25 +09:00
김보곤
66d1004bc2
feat: [rd] CM송 저장 테이블 마이그레이션 추가
...
- cm_songs 테이블: tenant_id, user_id, company_name, industry, lyrics, audio_path, options
2026-03-05 14:36:47 +09:00
김보곤
ce1f91074e
feat: [approval] approvals 테이블에 rejection_history JSON 컬럼 추가
2026-03-05 13:50:46 +09:00
김보곤
558a393c85
feat: [approval] approvals 테이블에 resubmit_count 컬럼 추가
2026-03-05 13:06:31 +09:00
김보곤
ac72487eff
feat: [approval] approvals 테이블에 drafter_read_at 컬럼 추가
...
- 기안자가 완료 결과를 확인했는지 추적하는 타임스탬프
- 완료함 미읽음 뱃지 기능 지원
2026-03-05 11:37:31 +09:00
1f7f45ee60
feat: [process] 공정단계 options 컬럼 추가 — 검사 설정/범위 지원
...
- ProcessStep 모델에 options JSON 컬럼 추가 (fillable, cast)
- Store/UpdateProcessStepRequest에 inspection_setting, inspection_scope 검증 규칙
- process_steps 테이블 마이그레이션
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:01:01 +09:00
cd847e01a0
feat: [approval] Document ↔ Approval 브릿지 연동 (Phase 4.2)
...
- Approval 모델에 linkable morphTo 관계 추가
- DocumentService: 상신 시 Approval 자동 생성 + approval_steps 변환
- ApprovalService: 승인/반려/회수 시 Document 상태 동기화
- approvals 테이블에 linkable_type, linkable_id 컬럼 마이그레이션
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:00:53 +09:00
1a8bb46137
feat: [outbound] 배차차량 관리 API — CRUD + options JSON 정책
...
- VehicleDispatchService: index(검색/필터/페이지네이션), stats(선불/착불/합계), show, update
- VehicleDispatchController + VehicleDispatchUpdateRequest
- options JSON 컬럼 추가 (dispatch_no, status, freight_cost_type, supply_amount, vat, total_amount, writer)
- ShipmentService.syncDispatches에 options 필드 지원 추가
- inventory.php에 vehicle-dispatches 라우트 4개 등록
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:54 +09:00
5ee97c2d74
fix: [production] 자재투입 bom_group_key 개별 저장 — 동일 자재 다중 BOM 그룹 지원
...
- bom_group_key 컬럼 추가 마이그레이션 (work_order_material_inputs)
- WorkOrderMaterialInput 모델 fillable에 bom_group_key 추가
- MaterialInputForItemRequest에 bom_group_key 검증 + replace 옵션 추가
- WorkOrderService.getMaterialsForItem: stock_lot_id+bom_group_key 복합키 기투입 조회 (하위호환)
- WorkOrderService.registerMaterialInputForItem: bom_group_key 저장 + replace 모드 (기존 삭제→재등록)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:54 +09:00
8518621432
feat: [shipment] 배차정보 다중 행 시스템 — shipment_vehicle_dispatches 테이블 추가
...
- 신규 마이그레이션: shipment_vehicle_dispatches 테이블 (seq, logistics_company, arrival_datetime, tonnage, vehicle_no, driver_contact, remarks)
- 신규 모델: ShipmentVehicleDispatch (ShipmentItem 패턴 복제)
- Shipment 모델: vehicleDispatches() HasMany 관계 추가
- ShipmentService: syncDispatches() 추가, store/update/delete/show/index에서 연동
- FormRequest: Store/Update에 vehicle_dispatches 배열 검증 규칙 추가
- delivery_method 검증에 확장 옵션 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:54 +09:00
김보곤
282bf26eec
feat: [approval] 지출결의서 body_template 고도화
...
- 참조 문서 기반으로 정형 양식 HTML 리디자인
- 지출형식/세금계산서 체크박스, 기본정보, 8열 내역 테이블, 합계, 첨부 섹션 포함
2026-03-04 14:52:19 +09:00
김보곤
b86af29cc9
feat: [approval] body_template 컬럼 추가 및 지출결의서 양식 등록
...
- approval_forms 테이블에 body_template TEXT 컬럼 추가
- 지출결의서(expense) 양식 데이터 등록 (HTML 테이블 본문 템플릿 포함)
2026-03-04 14:52:19 +09:00
김보곤
7cf70dbcaa
fix: [address] 주소 필드 255자 → 500자 확장
...
- DB 마이그레이션: clients, tenants, site_briefings, sites 테이블 address 컬럼 varchar(500)
- FormRequest 8개 파일 max:255 → max:500 변경
2026-03-04 11:29:08 +09:00
유병철
1deeafc4de
feat: [expense,loan] 대시보드 상세 필터 및 가지급금 카테고리 분류
...
- ExpectedExpenseController/Service: dashboardDetail에 start_date/end_date/search 파라미터 추가
- Loan 모델: category 상수 및 라벨 정의 (카드/경조사/상품권/접대비)
- LoanService: dashboard에 category_breakdown 집계 추가
- 마이그레이션: loans 테이블 category 컬럼 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 10:42:53 +09:00
김보곤
23c6cf6919
feat: [hr] Leave 모델 확장 + 결재양식 마이그레이션 추가
...
- Leave 타입 6개 추가: business_trip, remote, field_work, early_leave, late_reason, absent_reason
- 그룹 상수 추가: VACATION_TYPES, ATTENDANCE_REQUEST_TYPES, REASON_REPORT_TYPES
- FORM_CODE_MAP: 유형 → 결재양식코드 매핑 상수
- ATTENDANCE_STATUS_MAP: 유형 → 근태상태 매핑 상수
- 결재양식 2개 추가: attendance_request(근태신청), reason_report(사유서)
2026-03-03 23:52:13 +09:00
김보곤
da1142af62
feat: [ai-quotation] 제조 견적서 마이그레이션 추가
...
- ai_quotations: quote_mode, quote_number, product_category 컬럼 추가
- ai_quotation_items: specification, unit, quantity, unit_price, total_price, item_category, floor_code 컬럼 추가
- ai_quote_price_tables 테이블 신규 생성
2026-03-03 15:57:19 +09:00
김보곤
b3c7d08b2c
feat: [hr] 사업소득자 임금대장 display_name/business_reg_number 컬럼 추가
...
- user_id nullable 변경 (직접 입력 대상자 지원)
- display_name, business_reg_number 컬럼 추가
- 기존 데이터 earner 프로필에서 자동 채움
2026-03-03 14:33:03 +09:00
김보곤
abe04607e4
feat: [rd] AI 견적 엔진 테이블 생성 + 모듈 카탈로그 시더
...
- ai_quotation_modules: SAM 모듈 카탈로그 (18개 모듈)
- ai_quotations: AI 견적 요청/결과
- ai_quotation_items: AI 추천 모듈 목록
- AiQuotationModuleSeeder: customer-pricing 기반 초기 데이터
2026-03-02 17:43:36 +09:00
김보곤
3ca161e9e2
feat: [roadmap] 중장기 계획 테이블 마이그레이션 추가
...
- admin_roadmap_plans: 계획 테이블 (제목, 카테고리, 상태, Phase, 진행률 등)
- admin_roadmap_milestones: 마일스톤 테이블 (plan_id FK, 상태, 예정일 등)
2026-03-02 15:50:05 +09:00
김보곤
587bdf5d80
feat: [interview] 마스터 질문 데이터 시드 마이그레이션 추가
...
- 8개 도메인, 16개 템플릿, 80개 마스터 질문 INSERT
- idempotent 처리: 이미 도메인 카테고리 존재 시 스킵
- Jenkins 자동 배포로 운영서버 데이터 반영 목적
2026-02-28 22:05:59 +09:00
김보곤
f2d36c3616
feat: [interview] 카테고리 계층 구조 parent_id 마이그레이션 추가
...
- interview_categories 테이블에 parent_id 컬럼 추가
- self-referencing FK, nullOnDelete
2026-02-28 21:23:19 +09:00
김보곤
397d50de1f
feat: [interview] 인터뷰 시나리오 고도화 마이그레이션
...
- interview_projects 테이블 신규 (회사별 프로젝트)
- interview_attachments 테이블 신규 (첨부파일 + AI 분석)
- interview_knowledge 테이블 신규 (AI 추출 지식)
- interview_categories에 project_id, domain 컬럼 추가
- interview_questions에 ai_hint, expected_format, depends_on, domain 추가
- interview_answers에 answer_data, attachments JSON 추가
- interview_sessions에 project_id, session_type, voice_recording_id 추가
2026-02-28 20:02:33 +09:00
김보곤
73949b1282
feat: [document] 블록 빌더 지원 마이그레이션 추가
...
- document_templates: builder_type, schema, page_config 컬럼 추가
- documents: data JSON, rendered_html, pdf_path 컬럼 추가
2026-02-28 19:31:46 +09:00
김보곤
e40555ad37
feat: [leaves] 휴가-결재 연동을 위한 DB 변경
...
- leaves 테이블에 approval_id 컬럼 추가 (마이그레이션)
- 휴가신청 결재 양식(approval_forms) 등록 (마이그레이션)
- Leave 모델 fillable에 approval_id 추가
2026-02-28 15:54:34 +09:00
김보곤
79da7a6da7
feat: [equipment] 다중 점검주기 + 부 담당자 DB 스키마 추가
...
- equipments: sub_manager_id 컬럼 추가
- equipment_inspection_templates: inspection_cycle 컬럼 + 유니크 변경
- equipment_inspections: inspection_cycle 컬럼 + 유니크 변경
2026-02-28 12:37:26 +09:00
김보곤
b04d407fdb
feat: [approval] Phase 2 마이그레이션 추가
...
- approval_steps: parallel_group, acted_by, approval_type 컬럼 추가
- approvals: recall_reason, parent_doc_id 컬럼 추가
- approval_delegations 테이블 생성 (위임/대결)
2026-02-27 23:41:34 +09:00
김보곤
c32d68f069
feat: [approval] 결재관리 Phase 1 마이그레이션
...
- approvals 테이블: line_id, body, is_urgent, department_id 컬럼 추가
- approval_steps 테이블: approver_name, approver_department, approver_position 스냅샷 컬럼 추가
2026-02-27 23:26:40 +09:00
e6c02292d2
feat: [quote/quality] Phase 2B 견적 product_code 자동추출 + inspections work_order_id FK
...
- QuoteService: extractProductCodeFromInputs() 추가, store/update에서 자동 추출
- BackfillQuoteProductCodeCommand: 기존 quotes 25건 product_code 보정
- inspections 테이블에 work_order_id FK 마이그레이션 (nullable, nullOnDelete)
- Inspection↔WorkOrder 양방향 관계 추가
- InspectionService: store/show/index에 work_order_id 처리 + transformToFrontend
- InspectionStoreRequest: work_order_id 검증 규칙 추가
2026-02-27 23:18:09 +09:00
김보곤
ff8b37670e
feat: [hr] 사업소득자 임금대장 테이블 마이그레이션 추가
...
- business_income_payments 테이블 생성
- 소득세(3%)/지방소득세(0.3%) 고정세율 구조
- (tenant_id, user_id, pay_year, pay_month) 유니크 제약
2026-02-27 20:21:59 +09:00
김보곤
75408d925f
feat: [esign] esign_contracts 테이블에 completion_template_name 컬럼 추가
...
- 완료 알림톡 템플릿명을 저장하기 위한 nullable string 컬럼
2026-02-27 16:28:57 +09:00
김보곤
dd11f780b4
feat: [payroll] 근로소득세 간이세액표 DB 테이블 및 시더 추가
...
- income_tax_brackets 테이블 마이그레이션 생성
- 2024년 국세청 간이세액표 데이터 시더 (7,117건)
- salary_from/salary_to(천원), family_count(1~11), tax_amount(원)
2026-02-27 13:58:39 +09:00
김보곤
c94bef1dae
feat: [hr] 사업소득자관리 worker_type 컬럼 추가
...
- tenant_user_profiles 테이블에 worker_type 컬럼 추가 (employee/business_income)
- TenantUserProfile 모델 fillable에 worker_type 추가
2026-02-27 13:46:42 +09:00
김보곤
0d1d056b13
feat: [payroll] payrolls 테이블에 long_term_care 컬럼 추가
2026-02-27 10:06:25 +09:00
김보곤
fcb377a40c
feat: [attendance] attendance_requests 테이블 마이그레이션 추가
...
- 근태 승인 워크플로우용 신청 테이블
- tenant_id, user_id, request_type, start_date, end_date, status 등
2026-02-26 20:56:41 +09:00
김보곤
a6e547f40d
feat: [equipment] files 테이블에 GCS 컬럼 추가
...
- gcs_object_name, gcs_uri 컬럼 추가
- 설비 사진 멀티 업로드 기능 지원
2026-02-25 20:14:41 +09:00
김보곤
e819635ea6
feat: [equipment] 설비관리 테이블 마이그레이션 6개 생성
...
- equipments (설비 마스터)
- equipment_inspection_templates (점검항목 템플릿)
- equipment_inspections (월간 점검 헤더)
- equipment_inspection_details (일자별 점검 결과)
- equipment_repairs (수리이력)
- equipment_process (설비-공정 피봇)
2026-02-25 19:39:52 +09:00
김보곤
433f3ee4ad
Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-api into develop
2026-02-25 14:10:53 +09:00
김보곤
3da8a16bfc
feat: [business-card] ordered_by, ordered_at 컬럼 추가
...
- 3단계 워크플로우: 요청 → 제작의뢰 → 처리완료
2026-02-25 05:41:25 +09:00
김보곤
eb6bd5e03e
feat: [business-card] 명함신청 테이블 마이그레이션 추가
...
- business_card_requests 테이블 생성
- 신청자 정보 (name, phone, title, email, quantity, memo)
- 처리 상태 관리 (status, processed_by, processed_at, process_memo)
2026-02-24 21:44:59 +09:00
김보곤
240199af9d
chore: [env] .env.example 업데이트 및 .gitignore 정리
...
- .env.example을 SAM 프로젝트 실제 키 구조로 업데이트
- .gitignore에 !.env.example 예외 추가
- GCS_* 중복 키 제거, Gemini/Claude/Vertex 키 섹션 추가
2026-02-23 10:17:37 +09:00
855e806e42
refactor: 절곡 재고 마이그레이션 커맨드 리팩토링 및 검증/시더 추가
...
- Migrate5130BendingStock: BD-* 품목 초기 재고 셋팅으로 목적 변경, --min-stock 옵션 추가
- ValidateBendingItems: BD-* 품목 존재 여부 검증 커맨드 신규
- BendingItemSeeder: 경동 절곡 품목 시딩 신규
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 04:19:47 +09:00
8be54c3b8b
feat(WEB): 절곡품 선생산→재고적재 Phase 1 - 생산입고 기반 구축
...
- StockTransaction: REASON_PRODUCTION_OUTPUT 상수 및 '생산입고' 라벨 추가
- StockLot: work_order_id FK 컬럼 마이그레이션 + 모델 fillable/casts/relation 추가
- StockService: increaseFromProduction() 메서드 구현 (increaseFromReceiving 기반)
- WorkOrderService: 완료 시 sales_order_id 유무에 따라 출하/재고입고 분기
- stockInFromProduction(): 품목별 양품 재고 입고 처리
- shouldStockIn(): items.options 기반 입고 대상 판단
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-22 04:19:47 +09:00
김보곤
83ddfabd7c
fix: [card] 카드 상세 수정/저장 누락 필드 9개 보강
...
- 마이그레이션: card_type, alias, cvc_encrypted, payment_day, total_limit, used_amount, remaining_limit, is_manual, memo 컬럼 추가
- Card 모델: $fillable, $casts, $hidden 확장 + CVC 암호화/복호화 메서드 추가
- CardService: store(), update() 메서드에 9개 필드 처리 로직 추가
- StoreCardRequest, UpdateCardRequest: 9개 필드 검증 규칙 추가
2026-02-21 17:19:18 +09:00
김보곤
ee72af10b4
feat:홈택스 세금계산서 거래처 상세정보 컬럼 추가 (종사업장번호, 주소, 업태, 종목, 이메일)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 10:51:12 +09:00
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
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
김보곤
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