김보곤
428b2e2a12
feat: [departments] options JSON 컬럼 추가
...
- 조직도 숨기기 등 확장 속성 저장용
2026-03-06 20:28:03 +09:00
김보곤
64877869e6
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 15:05:08 +09:00
김보곤
92efe2e83b
feat: [approval] 위촉증명서 양식 데이터 마이그레이션
2026-03-05 23:58:35 +09:00
김보곤
78eb9363f4
feat: [approval] 경력증명서 양식 데이터 마이그레이션
2026-03-05 23:42:35 +09:00
김보곤
c611f551a6
feat: [approval] 재직증명서 양식 마이그레이션 추가
...
- approval_forms 테이블에 employment_cert 폼 삽입
2026-03-05 19:04:58 +09:00
김보곤
48889a7250
feat: [rd] CM송 저장 테이블 마이그레이션 추가
...
- cm_songs 테이블: tenant_id, user_id, company_name, industry, lyrics, audio_path, options
2026-03-05 14:37:22 +09:00
김보곤
18f39433ae
feat: [approval] approvals 테이블에 rejection_history JSON 컬럼 추가
2026-03-05 13:51:09 +09:00
김보곤
3785d87df4
feat: [approval] approvals 테이블에 resubmit_count 컬럼 추가
2026-03-05 13:07:21 +09:00
김보곤
d9075e5da5
feat: [approval] approvals 테이블에 drafter_read_at 컬럼 추가
...
- 기안자가 완료 결과를 확인했는지 추적하는 타임스탬프
- 완료함 미읽음 뱃지 기능 지원
2026-03-05 11:37:56 +09:00
1d71b588cb
chore: [infra] Slack 알림 채널 분리 — product_infra → deploy_api
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-05 11:33:05 +09:00
김보곤
521229adcf
fix: [storage] RecordStorageUsage 명령어 tenants 테이블 컬럼명 오류 수정
...
- Tenant::where('status', 'active') → Tenant::active() 스코프 사용
- tenants 테이블에 status 컬럼 없음, tenant_st_code 사용
2026-03-05 09:16:28 +09:00
김보곤
5ce2d2fcbf
feat: [approval] 지출결의서 body_template 고도화
...
- 참조 문서 기반으로 정형 양식 HTML 리디자인
- 지출형식/세금계산서 체크박스, 기본정보, 8열 내역 테이블, 합계, 첨부 섹션 포함
2026-03-04 22:00:40 +09:00
김보곤
5f5b5db59f
feat: [approval] body_template 컬럼 추가 및 지출결의서 양식 등록
...
- approval_forms 테이블에 body_template TEXT 컬럼 추가
- 지출결의서(expense) 양식 데이터 등록 (HTML 테이블 본문 템플릿 포함)
2026-03-04 22:00:40 +09:00
김보곤
814b965748
fix: [address] 주소 필드 255자 → 500자 확장
...
- DB 마이그레이션: clients, tenants, site_briefings, sites 테이블 address 컬럼 varchar(500)
- FormRequest 8개 파일 max:255 → max:500 변경
2026-03-04 11:29:18 +09:00
김보곤
c55380f1d2
fix: [cards] cards/stats → card-transactions/dashboard 리다이렉트 추가
2026-03-04 11:10:12 +09:00
김보곤
4870b7e6eb
fix: [models] User 모델 import 누락/오류 수정
...
- Loan.php: User import 누락 → App\Models\Members\User 추가
- TodayIssue.php: App\Models\Users\User → App\Models\Members\User 수정
- Tenants 네임스페이스에서 User::class가 App\Models\Tenants\User로 잘못 해석되는 문제 해결
2026-03-04 11:06:26 +09:00
김보곤
88ef6a8490
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:53:11 +09:00
김보곤
2fd122feba
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:58:15 +09:00
김보곤
5a0deddb58
feat: [hr] 사업소득자 임금대장 display_name/business_reg_number 컬럼 추가
...
- user_id nullable 변경 (직접 입력 대상자 지원)
- display_name, business_reg_number 컬럼 추가
- 기존 데이터 earner 프로필에서 자동 채움
2026-03-03 14:33:27 +09:00
d68fd56232
fix: [deploy] 배포 시 .env 권한 640 보장 추가
...
- Stage/Production 배포 스크립트에 chmod 640 추가
- vi 편집으로 인한 .env 권한 변경(600) 방지
- 2026-03-03 장애 재발 방지 (PHP-FPM이 .env 읽기 실패 → 500)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 10:21:12 +09:00
김보곤
d8abc57271
feat: [rd] AI 견적 엔진 테이블 생성 + 모듈 카탈로그 시더
...
- ai_quotation_modules: SAM 모듈 카탈로그 (18개 모듈)
- ai_quotations: AI 견적 요청/결과
- ai_quotation_items: AI 추천 모듈 목록
- AiQuotationModuleSeeder: customer-pricing 기반 초기 데이터
2026-03-02 18:15:40 +09:00
김보곤
d7dd6cdbc5
feat: [roadmap] 중장기 계획 테이블 마이그레이션 추가
...
- admin_roadmap_plans: 계획 테이블 (제목, 카테고리, 상태, Phase, 진행률 등)
- admin_roadmap_milestones: 마일스톤 테이블 (plan_id FK, 상태, 예정일 등)
2026-03-02 15:51:17 +09:00
김보곤
2bb3a2872a
feat: [interview] 마스터 질문 데이터 시드 마이그레이션 추가
...
- 8개 도메인, 16개 템플릿, 80개 마스터 질문 INSERT
- idempotent 처리: 이미 도메인 카테고리 존재 시 스킵
- Jenkins 자동 배포로 운영서버 데이터 반영 목적
2026-02-28 22:06:13 +09:00
김보곤
6df1da9e42
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 21:49:07 +09:00
김보곤
93e94901b7
feat: [interview] 카테고리 계층 구조 parent_id 마이그레이션 추가
...
- interview_categories 테이블에 parent_id 컬럼 추가
- self-referencing FK, nullOnDelete
2026-02-28 21:46:29 +09:00
김보곤
7028e27517
feat: [document] 블록 빌더 지원 마이그레이션 추가
...
- document_templates: builder_type, schema, page_config 컬럼 추가
- documents: data JSON, rendered_html, pdf_path 컬럼 추가
2026-02-28 19:32:48 +09:00
김보곤
1d2876d90c
feat: [leaves] 휴가-결재 연동을 위한 DB 변경
...
- leaves 테이블에 approval_id 컬럼 추가 (마이그레이션)
- 휴가신청 결재 양식(approval_forms) 등록 (마이그레이션)
- Leave 모델 fillable에 approval_id 추가
2026-02-28 15:55:30 +09:00
김보곤
bfb821698a
feat: [approval] Phase 2 마이그레이션 추가
...
- approval_steps: parallel_group, acted_by, approval_type 컬럼 추가
- approvals: recall_reason, parent_doc_id 컬럼 추가
- approval_delegations 테이블 생성 (위임/대결)
2026-02-28 12:16:33 +09:00
김보곤
b80f4a0392
feat: [approval] 결재관리 Phase 1 마이그레이션
...
- approvals 테이블: line_id, body, is_urgent, department_id 컬럼 추가
- approval_steps 테이블: approver_name, approver_department, approver_position 스냅샷 컬럼 추가
2026-02-27 23:27:00 +09:00
김보곤
2ed90dc6db
feat: [hr] 사업소득자 임금대장 테이블 마이그레이션 추가
...
- business_income_payments 테이블 생성
- 소득세(3%)/지방소득세(0.3%) 고정세율 구조
- (tenant_id, user_id, pay_year, pay_month) 유니크 제약
2026-02-27 20:28:01 +09:00
김보곤
347d351d9d
feat: [esign] esign_contracts 테이블에 completion_template_name 컬럼 추가
...
- 완료 알림톡 템플릿명을 저장하기 위한 nullable string 컬럼
2026-02-27 16:32:52 +09:00
김보곤
87a8930c00
feat: [payroll] 근로소득세 간이세액표 DB 테이블 및 시더 추가
...
- income_tax_brackets 테이블 마이그레이션 생성
- 2024년 국세청 간이세액표 데이터 시더 (7,117건)
- salary_from/salary_to(천원), family_count(1~11), tax_amount(원)
2026-02-27 14:05:54 +09:00
김보곤
bbcb0205fe
feat: [hr] 사업소득자관리 worker_type 컬럼 추가
...
- tenant_user_profiles 테이블에 worker_type 컬럼 추가 (employee/business_income)
- TenantUserProfile 모델 fillable에 worker_type 추가
2026-02-27 13:58:25 +09:00
9bf0cc8df2
fix: [cicd] 배포 승인 비활성화 + storage 권한 수정
...
- Production Approval stage 주석처리 (런칭 후 활성화)
- 배포 시 storage/bootstrap chown www-data:webservice + chmod 775 추가
- Stage/Production 모두 적용
2026-02-27 10:44:54 +09:00
김보곤
255fad99e7
feat: [payroll] payrolls 테이블에 long_term_care 컬럼 추가
2026-02-27 10:11:17 +09:00
김보곤
08b07c724a
feat: [attendance] attendance_requests 테이블 마이그레이션 추가
...
- 근태 승인 워크플로우용 신청 테이블
- tenant_id, user_id, request_type, start_date, end_date, status 등
2026-02-27 09:36:21 +09:00
김보곤
91cdfe9917
feat: [equipment] files 테이블에 GCS 컬럼 추가
...
- gcs_object_name, gcs_uri 컬럼 추가
- 설비 사진 멀티 업로드 기능 지원
2026-02-27 09:36:11 +09:00
김보곤
10c09b9fea
feat: [equipment] 설비관리 테이블 마이그레이션 6개 생성
...
- equipments (설비 마스터)
- equipment_inspection_templates (점검항목 템플릿)
- equipment_inspections (월간 점검 헤더)
- equipment_inspection_details (일자별 점검 결과)
- equipment_repairs (수리이력)
- equipment_process (설비-공정 피봇)
2026-02-27 09:36:11 +09:00
김보곤
04bb990045
feat: [calendar] 달력 일정 관리 API 구현
...
- GET /api/v1/calendar-schedules — 연도별 일정 목록 조회
- GET /api/v1/calendar-schedules/stats — 통계 조회
- GET /api/v1/calendar-schedules/{id} — 단건 조회
- POST /api/v1/calendar-schedules — 등록
- PUT /api/v1/calendar-schedules/{id} — 수정
- DELETE /api/v1/calendar-schedules/{id} — 삭제
- POST /api/v1/calendar-schedules/bulk — 대량 등록
2026-02-26 14:38:00 +09:00
7543054df3
fix: 세션 만료 예외를 슬랙 알림에서 제외
...
- '회원정보 정보 없음' AuthenticationException은 API Key 검증 통과 후 발생하므로 세션 만료 정상 케이스
- IP 기반 필터링(EXCEPTION_IGNORED_IPS) 대신 예외 자체를 무조건 제외하도록 단순화
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 21:29:57 +09:00
김보곤
13ba753b7f
merge: develop를 main에 머지 (Jenkinsfile 충돌 해결)
2026-02-25 15:40:33 +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
fcb110a7ed
chore: Slack 알림에 커밋 메시지 추가
...
- Checkout 단계에서 GIT_COMMIT_MSG 캡처 (git log -1 --pretty=format:'%s')
- checkout scm을 slackSend 이전으로 이동 (커밋 정보 먼저 획득)
- 빌드 시작, 승인 대기, 성공, 실패 모든 Slack 메시지에 커밋 제목 포함
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 12:52:23 +09:00
bb0615693e
chore: Slack 알림에 커밋 메시지 추가
...
- Checkout 단계에서 GIT_COMMIT_MSG 캡처 (git log -1 --pretty=format:'%s')
- checkout scm을 slackSend 이전으로 이동 (커밋 정보 먼저 획득)
- 빌드 시작, 승인 대기, 성공, 실패 모든 Slack 메시지에 커밋 제목 포함
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 12:52:17 +09:00
0802bc172e
ci:동시 빌드 방지 + 운영 배포 승인 Slack 알림 (#product_deploy)
...
- disableConcurrentBuilds() 추가
- Production Approval 단계에 #product_deploy 채널 알림 추가
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 11:30:57 +09:00
c4bcab07c1
ci:운영 배포 승인 대기 Slack 알림 추가 (#product_deploy)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 11:30:49 +09:00
0a461c9209
ci:Jenkinsfile 동시 빌드 방지 옵션 추가
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 11:24:39 +09:00
김보곤
3da8a16bfc
feat: [business-card] ordered_by, ordered_at 컬럼 추가
...
- 3단계 워크플로우: 요청 → 제작의뢰 → 처리완료
2026-02-25 05:41:25 +09:00
97f61e24bc
ci: Jenkinsfile slackSend 알림 복구
...
- Checkout: slackSend 빌드 시작 알림 추가 (tokenCredentialId)
- Post success/failure: echo → slackSend 교체 (tokenCredentialId)
- 이전 rebase 과정에서 소실된 slackSend 복구
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 23:53:48 +09:00
3f5a942939
fix: 배포 시 storage/framework 디렉터리 생성 추가
...
- mkdir -p storage/framework/{views,cache/data,sessions} storage/logs 추가
- .gitignore로 누락되는 Laravel 필수 디렉터리 생성
- Blade 캐시 경로 에러 해결
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 23:29:39 +09:00