386 Commits

Author SHA1 Message Date
cc206fdbed style: Laravel Pint 코드 포맷팅 적용
- PSR-12 스타일 가이드 준수
- 302개 파일 스타일 이슈 자동 수정
- 코드 로직 변경 없음 (포맷팅만)
2025-11-06 17:45:49 +09:00
14023e8160 feat: role 컬럼을 ENUM에서 VARCHAR(20)으로 변경
- 향후 확장성을 위해 VARCHAR 사용
- 새로운 role 값 추가 시 스키마 변경 불필요
- sales@sam.kr만 'sales', 나머지는 'tenant'로 설정
2025-10-14 20:49:51 +09:00
d42fd96535 feat: users 테이블에 is_super_admin 필드 추가
- 슈퍼 관리자와 일반 운영 계정 구분
- Filament Admin (/admin) 접근 권한 관리용
- shine1324@gmail.com을 슈퍼 관리자로 설정
- ops@sam.kr은 일반 운영 계정으로 유지
2025-10-14 14:56:15 +09:00
8d2b6fc6e5 feat: 데모 URL 관리 시스템 마이그레이션 및 시더 추가
- users 테이블에 role, is_active 필드 추가
- prospects 테이블 생성 (업체 정보)
- demo_links 테이블 생성 (토큰 관리)
- DemoSystemSeeder 추가 (Ops/Sales 계정, 샘플 데이터)
2025-10-14 14:28:58 +09:00
a6b06be61d feat: 견적 단가 자동 적용 기능 추가
- 고객 그룹별 단가 조정 지원
- 견적 생성 시 자동 단가 조회
- 매출단가만 사용 (매입단가는 경고)
2025-10-13 21:52:34 +09:00
802a511aa0 Revert "feat: DB 연결 오버라이딩 및 대시보드 통계 위젯 추가"
This reverts commit bf8036a64b.
2025-09-30 23:56:25 +09:00
bf8036a64b feat: DB 연결 오버라이딩 및 대시보드 통계 위젯 추가
- DB 연결: 로컬/Docker 환경 오버라이딩 설정 (.env)
- 테넌트 위젯: redirect 버그 수정 (TenantSelectorWidget)
- 통계 위젯: 사용자/제품/자재/주문 카드 추가 (StatsOverviewWidget)
- 리소스 한국어화: Product, Material 모델 레이블 추가
- 대시보드: 위젯 등록 및 캐시 최적화

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 23:31:14 +09:00
1a796462e4 feat: ERD 자동 생성 시스템 구축 및 모델 오류 수정
- GraphViz 설치를 통한 ERD 다이어그램 생성 지원
- BelongsToTenantTrait → BelongsToTenant 트레잇명 수정
- Estimate, EstimateItem 모델의 인터페이스 참조 오류 해결
- 60개 모델의 완전한 관계도 생성 (graph.png, 4.1MB)
- beyondcode/laravel-er-diagram-generator 패키지 활용

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 22:30:28 +09:00
c63e676257 feat: 데이터베이스 FK 제약조건 최적화 및 3단계 마이그레이션 구현
- FK 제약조건 현황 분석 완료: 8개 마이그레이션에서 15+개 FK 식별
- 중요도별 테이블 분류 (핵심/중요/일반) 및 안전한 제거 전략 수립
- 코드 영향도 분석: Eloquent 관계가 FK 독립적으로 작동하여 코드 수정 불필요

주요 변경사항:
- Phase 1: classifications.tenant_id, departments.parent_id FK 제거
- Phase 2: estimates.model_set_id, estimate_items.estimate_id FK 제거
- Phase 3: product_components.material_id FK 제거 (신중한 검토 필요)
- 각 단계별 동적 FK 탐지, 상세 로깅, 완전 롤백 기능 포함
- 성능 인덱스 유지/추가로 쿼리 성능 보장

예상 효과:
- 견적 시스템 및 분류 관리 성능 향상
- 부서 구조 변경 및 자재 관리 유연성 증가
- FK 제약 에러 감소로 개발 생산성 향상
- 시스템 확장 시 스키마 변경 유연성 확보

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 21:49:39 +09:00
cfd4c253e8 fix: categories 테이블 level 컬럼 제거로 마이그레이션 오류 해결
- 2025_09_24_000002_create_dynamic_estimate_fields.php에서 level 컬럼 사용 제거
- categories 테이블에 level 컬럼이 존재하지 않아 발생하던 마이그레이션 오류 해결
- parent_id로 계층 구조 표현이 충분하므로 level 컬럼 불필요
- 견적 루트 카테고리, 스크린 카테고리, 철재 카테고리 생성 시 level 컬럼 제거

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 21:05:00 +09:00
2d9217c9b4 feat: 견적 시스템 API
- 5130의 71개 하드코딩 컬럼을 동적 카테고리 필드 시스템으로 전환
- 모터 브라켓 계산 등 핵심 비즈니스 로직 FormulaParser에 통합
- 파라미터 기반 동적 견적 폼 시스템 구축
- 견적 상태 워크플로 (DRAFT → SENT → APPROVED/REJECTED/EXPIRED)
- 모델셋 관리 API: 카테고리+제품+BOM 통합 관리
- 견적 관리 API: 생성/수정/복제/상태변경/미리보기 기능

주요 구현 사항:
- EstimateController/EstimateService: 견적 비즈니스 로직
- ModelSetController/ModelSetService: 모델셋 관리 로직
- Estimate/EstimateItem 모델: 견적 데이터 구조
- 동적 견적 필드 마이그레이션: 스크린/철재 제품 구조
- API 라우트 17개 엔드포인트 추가
- 다국어 메시지 지원 (성공/에러 메시지)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 17:43:29 +09:00
bd678dfea9 feat: 업체별 동적 BOM 계산 시스템 구현
- 데이터베이스 스키마 확장: BOM 테이블에 계산 관련 필드 추가
- 계산 엔진 구현: CalculationEngine, FormulaParser, ParameterValidator
- API 구현: 견적 파라미터 추출, 실시간 BOM 계산, 업체별 산출식 관리
- FormRequest 검증: 모든 입력 데이터 검증 및 한국어 에러 메시지
- 라우트 등록: 5개 BOM 계산 API 엔드포인트 추가

주요 기능:
• BOM에서 필요한 조건만 동적 추출하여 견적 화면에 표시
• 경동기업 하드코딩 산출식을 동적 시스템으로 전환
• 업체별 산출식 버전 관리 및 실시간 테스트 지원

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 22:09:42 +09:00
785e367472 feat: 통합 감사 로그 도입 및 조회 API/스케줄러 추가
- DB: 감사 로그 테이블(audit_logs) 마이그레이션 및 인덱스 추가
- Config: audit.php 추가(AUDIT_RETENTION_DAYS, AUDIT_LOG_READS 토글)
- Model/Service: AuditLog 모델, AuditLogger 서비스 생성
- 도메인 훅: ModelVersion.release(released), BomTemplate upsert/update/delete/replaceItems/clone 기록, diff 조회는 설정 기반 기록
- API: GET /api/v1/design/audit-logs 추가(FormRequest/Service/Controller, 필터 page/size/target_type/target_id/action/actor_id/from/to/sort/order)
- Swagger: 감사 로그 조회 문서 추가(Design Audit 태그)
- Console: audit:prune 커맨드 추가 및 스케줄러 매일 03:10 실행 등록(시스템 크론 schedule:run 필요)
- Fix: PruneAuditLogs import 충돌 제거(Google ServiceControl AuditLog 제거)
2025-09-11 14:39:55 +09:00
17fa82c35b feat: Design BOM 템플릿 diff/clone API 및 모델버전 릴리즈 유효성 검사 도입
- Design BOM 템플릿 diff/clone 엔드포인트 추가
- 컨트롤러 검증 로직 FormRequest 분리(DiffRequest/CloneRequest/Upsert/ReplaceItems)
- BomTemplateService에 diffTemplates/cloneTemplate/replaceItems/쇼우 로직 정리
- ModelVersionController createDraft FormRequest 적용 및 서비스 호출 정리
- 모델버전 release 전 유효성 검사(존재/활성/테넌트 일치, qty>0, 중복 금지) 추가
- DB enum 미사용 방침 준수(status 문자열 유지)
- model_versions 인덱스 최적화(tenant_id, model_id, status / 기간 범위)
- Swagger 문서(Design BOM) 및 i18n 메시지 키 추가
2025-09-11 13:39:32 +09:00
d9563c96cb fix : 모델, BOM 구성 수정
- 설계용 모델, BOM 기능 추가
2025-09-05 17:59:34 +09:00
622c4905fa fix : BOM구성 API, DB 작업
- product_components 컬럼 변경
- BOM 구성, 카테고리리스트, BOM트리(재귀)호출 API 개발
2025-09-02 10:08:55 +09:00
58016ea662 fix : products 테이블 unit 컬럼 추가 및 excel 기능추가(composer) - composer install 및 migrate 필요 2025-08-26 22:58:50 +09:00
52bf8527e2 fix : 카테고리, 제품등록, BOM등록 API (일부 개발 - BOM 추가 작업 필요) 2025-08-25 17:46:34 +09:00
fe7d761bf6 fix : 분류 API 2025-08-22 19:30:05 +09:00
cd81285731 feat : 테넌트 부트스트랩 오케스트레이션
Notion : https://www.notion.so/hamss/2579c8d34ba080d586b6faaae249f476?source=copy_link
2025-08-22 15:57:44 +09:00
189bdbfd80 fix : Category, Product 관련 테이블 정리 (Models, DB, seeder) 2025-08-22 15:57:14 +09:00
ed993476be fix : 자재관리 API (리스트,조회,등록,수정,삭제) 2025-08-21 22:28:34 +09:00
3ee7719cbc fix : 부서관리 기능 수정
- Route, Controller, Service, Swagger, DB 수정
- 모델 위치 이동
2025-08-21 18:38:27 +09:00
6932e4fbcc fix : DB Migrate - departments에 상위(parent_id)아이디 추가 2025-08-20 17:19:05 +09:00
73d06e03b0 fix : 권한관리 기능 추가 (각 기능 확인 필요)
- 메뉴관리
- 역할관리
- 부서관리
- 메뉴, 부서, 역할, 유저 - 권한 연동
2025-08-16 03:25:50 +09:00
78e130030d fix : API 마이그레이션 초기화 및 현재 DB 구조 적용 2025-08-14 10:05:23 +09:00
00027e2b78 fix : 테넌트 코드, 등록,수정 ID 추가 2025-07-28 22:04:56 +09:00
d9d01c2aaf feat : 자재관리, 수입관리, 로트관리 모델링 추가 2025-07-28 18:47:00 +09:00
b436b635c2 fix : 테이블 추가 및 수정 신규로 작성 (generator 설치)
composer require --dev kitloong/laravel-migrations-generator
php artisan migrate:generate
2025-07-26 05:22:58 +09:00
f5534e437b fix : 테이블 추가 및 수정
- 신규 (user_roles, user_tenants)
- 수정 (roles, tenants, users)
2025-07-26 01:23:02 +09:00
734cfba432 fix : id_session id 컬럼 길이 수정
- varchar(40) -> varchar(128)
2025-07-25 15:11:56 +09:00
19839323ae fix : 공통으로 파일관리 - Polymorphic 구조로 수정 2025-07-24 18:08:24 +09:00
d01fda5290 fix : 공통으로 파일관리 - file 테이블 공통 관리 2025-07-24 13:23:27 +09:00
593d81c4cb feat : common_codes 테이블 수정 2025-07-23 16:14:18 +09:00
609ac39ffb feat : 테이블 및 DB 마이그레이션 파일 추가
products
  - common_codes
  - parts
  - products
  - files
  - price_histories
  - boms
  - bom_items

  boards
  - boards
  - board_settings
  - posts
  - board_comments
  - board_files
  - post_custom_field_values

  permissions
  - menus
  - roles
  - user_menu_permissions
  - role_menu_permissions

  tenants
  - tenants
  - plans
  - subscriptions
  - payments
2025-07-23 15:41:01 +09:00
ad702d5ccf First Commit (API Project) 2025-07-17 10:05:47 +09:00