김보곤
9d4143a4dc
feat: [approval] 견적서 양식 마이그레이션 추가
2026-03-06 23:21:50 +09:00
김보곤
c5a0115e01
feat: [approval] 이사회의사록 양식 데이터 마이그레이션 추가
2026-03-06 23:00:55 +09:00
김보곤
eb28b577e0
feat: [approval] 위임장 양식 데이터 마이그레이션 추가
...
- 전체 테넌트에 delegation 양식 레코드 자동 삽입
2026-03-06 22:41:31 +09:00
김보곤
22160e5904
feat: [menu] 경조사비관리 메뉴 추가 마이그레이션
...
- 각 테넌트의 부가세관리 메뉴 하위에 경조사비관리 메뉴 자동 추가
- 중복 방지 (이미 존재하면 skip)
2026-03-06 21:44:52 +09:00
김보곤
0ea5fa5eb9
feat: [database] 경조사비 관리 테이블 생성
...
- condolence_expenses 테이블: 거래처 경조사비 관리대장
- 경조사일자, 지출일자, 거래처명, 내역, 구분(축의/부조)
- 부조금(여부/지출방법/금액), 선물(여부/종류/금액), 총금액
2026-03-06 21:39:02 +09:00
김보곤
58fedb0d43
feat: [approvals] 사용인감계 양식 데이터 마이그레이션 추가
...
- 모든 테넌트에 seal_usage 양식 자동 등록
2026-03-06 20:51:38 +09:00
김보곤
56e7164243
feat: [departments] options JSON 컬럼 추가
...
- 조직도 숨기기 등 확장 속성 저장용
2026-03-06 20:24:56 +09:00
김보곤
a67c5d9fca
feat: [menu] menu_favorites 테이블 마이그레이션 추가
...
- tenant_id, user_id, menu_id, sort_order 컬럼
- unique 제약: (tenant_id, user_id, menu_id)
- FK cascade delete: users, menus
2026-03-06 14:35:14 +09:00
유병철
816c25a631
fix: [finance] 일반전표 목록 source 필드 및 페이지네이션 구조 수정
...
- deposits/withdrawals 조회 시 source를 항상 'linked'로 고정
- 페이지네이션 meta 래핑 제거하여 플랫 구조로 변경
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 13:26:58 +09:00
유병철
12d172e4c3
feat: [finance] 계정과목 및 일반전표 API 추가
...
- AccountCode 모델/서비스/컨트롤러 구현
- JournalEntry, JournalEntryLine 모델 구현
- GeneralJournalEntry 서비스/컨트롤러 구현
- FormRequest 검증 클래스 추가
- finance 라우트 등록
- i18n 메시지 키 추가 (message.php, error.php)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 13:10:45 +09:00
유병철
be9c1baa34
fix: [receivables] 상위 거래처 집계에서 soft delete 레코드 제외
...
- orders, deposits, bills 서브쿼리에 whereNull('deleted_at') 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 10:59:16 +09:00
유병철
a7973bb555
feat: [loan] 상품권 summary에 접대비 해당 집계 추가
...
- expense_accounts 테이블에서 접대비(상품권) 건수/금액 조회
- entertainment_count, entertainment_amount 응답 필드 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-06 10:37:57 +09:00
김보곤
96def0d71e
feat: [approval] 사직서 양식 마이그레이션 추가
2026-03-06 00:13:18 +09:00
김보곤
846ced3ead
feat: [approval] 위촉증명서 양식 데이터 마이그레이션
2026-03-05 23:57:45 +09:00
김보곤
0f25a5d4e1
feat: [approval] 경력증명서 양식 데이터 마이그레이션
2026-03-05 23:42:16 +09:00
유병철
c57e768b87
fix: [loan] 상품권 접대비 연동 시 receipt_no에 시리얼번호 매핑
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 22:12:46 +09:00
유병철
7fe856f3b7
fix: [loan] 상품권 카테고리는 상태 무관하게 수정/삭제 가능하도록 변경
...
- isEditable(): 상품권이면 상태와 무관하게 수정 허용
- isDeletable(): 상품권이면 상태와 무관하게 삭제 허용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 21:42:00 +09:00
유병철
652ac3d1ec
fix: [loan] dashboard summary/목록에서도 used/disposed 상품권 제외
...
- dashboard summary 쿼리에 excludeUsedGiftCert 조건 적용
- 가지급금 목록 쿼리에도 동일 조건 적용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 21:39:17 +09:00
유병철
03f86f375e
fix: [loan] 상품권 store 시 접대비 연동 + 카테고리 집계에서 사용/폐기 제외
...
- store()에서도 상품권 접대비 자동 연동 호출
- getCategoryBreakdown: used/disposed 상품권은 가지급금 집계에서 제외
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 21:32:36 +09:00
유병철
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
3d4dd9f252
chore: [infra] Slack 알림 채널 분리 — product_infra → deploy_api
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:32:16 +09:00
2507dcf142
chore: [docs] 모델 관계 문서 갱신 + summary 플레이스홀더 API 추가
...
- LOGICAL_RELATIONSHIPS.md: 최신 모델 관계 반영 (inspections, shipment dispatches 등)
- stats.php: production/construction/unshipped/attendance summary 플레이스홀더
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:01:24 +09:00
9b8cdfa2a5
refactor: [core] 모델 스코프 적용 — Tenant::active() 사용 및 코드 규칙 추가
...
- RecordStorageUsage: where 하드코딩 → Tenant::active() 스코프
- CLAUDE.md: 쿼리 수정 시 모델 스코프 우선 규칙 명시
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:01:10 +09:00
7432fb16aa
feat: [production] 자재투입 replace 모드 지원
...
- registerMaterialInputForItem에 replace 파라미터 추가
- 기존 투입 교체 방식 선택 가능
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:01:07 +09:00
d4f21f06d6
refactor: [production] 셔터박스 prefix — isStandard 파라미터 제거
...
- CF/CL/CP/CB 품목이 모든 길이에 등록되어 boxSize 무관하게 적용
- resolveShutterBoxPrefix()에서 불필요한 isStandard 분기 제거
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:01:04 +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
ef7d9fae24
fix: [production] 절곡 검사 products 배열 FormRequest 검증 규칙 추가
...
- StoreItemInspectionRequest에 inspection_data.products 검증 규칙 누락으로 validated()에서 제거되던 버그 수정
- products.*.id, bendingStatus, lengthMeasured, widthMeasured, gapPoints 규칙 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:54 +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
897511cb55
fix: [production] 절곡 검사 데이터 전체 item 복제 + bending EAV 변환
...
- storeItemInspection: bending/bending_wip 시 동일 작업지시 모든 item에 복제 저장
- transformBendingProductsToRecords: products 배열 → bending EAV 레코드 변환
- getMaterialInputLots: 품목코드별 그룹핑으로 변경
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
fc537898fc
fix: [production] 자재투입 모달 개선 — lot_managed 필터링, BOM 그룹키, 셔터박스 순서
...
- getMaterialsForItem: lot_managed===false 품목 자재투입 목록에서 제외 (L-Bar, 보강평철)
- getMaterialsForItem: bom_group_key 필드 추가 (category+partType 기반 고유키)
- BendingInfoBuilder: shutterPartTypes에서 top_cover/fin_cover 제거 (별도 생성과 중복)
- BendingInfoBuilder: 셔터박스 루프 순서 파트→길이로 변경 (작업일지 순서 일치)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:54 +09:00
유병철
fefd129795
refactor: [daily-report] 엑셀 내보내기 화면 데이터 기반으로 리팩토링
...
- DailyReportService: exportData를 dailyAccounts() 재사용 구조로 변경
- DailyReportExport: 헤더 라벨 전월이월/당월입금/당월출금/잔액으로 수정
- 화면 합계와 엑셀 합계 일치하도록 개선
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:44:29 +09:00
유병철
1b2363d661
feat: [daily-report] 엑셀 내보내기에 어음/외상매출채권 현황 섹션 추가
...
- DailyReportExport: 어음 현황 테이블 + 합계 + 스타일링 추가
- DailyReportService: exportData에 noteReceivables 데이터 포함
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 10:06:48 +09:00
유병철
f1a3e0f164
fix: [dashboard-ceo] 공정명 컬럼 및 근태 부서 조인 수정
...
- processes 테이블: p.name → p.process_name 컬럼명 수정
- 근태: users.department_id → tenant_user_profiles 경유 조인으로 변경
- 직급: users.position → tup.position_key 컬럼 수정
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 09:41:54 +09:00
유병철
e8da2ea1b1
feat: [dashboard-ceo] CEO 대시보드 섹션별 API 및 일일보고서 엑셀 추가
...
- DashboardCeoController/Service: 6개 섹션 API 신규 (매출/매입/생산/미출고/시공/근태)
- DailyReportController/Service: 엑셀 다운로드 API 추가 (GET /daily-report/export)
- 라우트: dashboard 하위 6개 + daily-report/export 엔드포인트 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 09:35:30 +09:00
김보곤
e0bb19a017
fix: [storage] RecordStorageUsage 명령어 tenants 테이블 컬럼명 오류 수정
...
- Tenant::where('status', 'active') → Tenant::active() 스코프 사용
- tenants 테이블에 status 컬럼 없음, tenant_st_code 사용
2026-03-05 09:16:19 +09:00
유병철
74a60e06bc
feat: [calendar,vat] 캘린더 CRUD 및 부가세 상세 조회 API 추가
...
- CalendarController/Service: 일정 등록/수정/삭제 API 추가
- VatController/Service: getDetail() 상세 조회 (요약, 참조테이블, 미발행 목록, 신고기간 옵션)
- 라우트: POST/PUT/DELETE /calendar/schedules, GET /vat/detail 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 20:33:04 +09:00
유병철
2f3ec13b24
fix: [entertainment] 분기 사용액 조회에 날짜 필터 적용
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 20:00:04 +09:00
유병철
94b96e22f6
feat: [entertainment] 접대비 상세 조회 날짜 필터 파라미터 추가
...
- EntertainmentController: detail에 start_date/end_date 파라미터 전달
- EntertainmentService: getDetail 리스크/사용자분포/거래내역에 날짜 필터 적용
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 15:32:16 +09:00
유병철
a173a5a4fc
fix: [loan] getCategoryBreakdown SQL alias 충돌 수정
...
- outstanding_amount → cat_outstanding alias 변경 (Loan accessor 충돌 방지)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 15:30:31 +09:00
유병철
66da2972fa
feat: [entertainment,loan] 접대비 상세 조회 API 및 가지급금 날짜 필터 추가
...
- EntertainmentController/Service: getDetail() 상세 조회 API 추가 (손금한도, 월별추이, 사용자분포, 거래내역, 분기현황)
- EntertainmentService: 수입금액별 추가한도 계산(세법 기준), 거래건별 리스크 감지
- LoanController/Service: dashboard에 start_date/end_date 파라미터 지원
- LoanService: getCategoryBreakdown 날짜 필터 적용, 목록 limit 10→50 확대
- 라우트: GET /entertainment/detail 엔드포인트 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 15:11:37 +09:00
김보곤
282bf26eec
feat: [approval] 지출결의서 body_template 고도화
...
- 참조 문서 기반으로 정형 양식 HTML 리디자인
- 지출형식/세금계산서 체크박스, 기본정보, 8열 내역 테이블, 합계, 첨부 섹션 포함
2026-03-04 14:52:19 +09:00