김보곤
1c12eaa8ff
feat: [esign] HWR API 호출 시 AI 토큰 사용량 자동 기록 (google-vision $0.0015/건)
2026-03-23 08:55:20 +09:00
김보곤
0cfd84121f
fix: [esign] 캔버스 좌표 스케일링 보정 — CSS 크기와 캔버스 해상도 차이 대응
2026-03-23 08:18:33 +09:00
김보곤
baf9a54bd7
fix: [esign] 시험 테스트 모달 캔버스 3배 확대 (높이 450px, 폰트 54px, 모달 900px)
2026-03-23 08:05:43 +09:00
김보곤
815e3f362d
feat: [esign] 템플릿 시험 테스트 모달 + HWR 토큰 사용량 누계 표시
...
- 템플릿 목록: '시험' 버튼 → 모달 팝업에서 각 단계 필기 인식 테스트
- 모달: 단계별 캔버스/인식/결과/힌트/시도이력/전단계 통과 표시
- 토큰 사용량: 엔진별(Clova/Vision/Tesseract) 호출 횟수 누계 카드
- 대시보드: 엔진별 사용량 프로그레스바 + 총 API 호출 누계
- stats API: engine_usage, daily_usage 필드 추가
2026-03-22 23:03:30 +09:00
김보곤
6e77ae64ca
feat: [esign] 전자서명 고도화 — 서명 플로우 연동 + 계약 생성 마법사 + 감사 로그
...
- esign_contracts: verification_required, verification_template_id 컬럼 추가
- esign_signers: verification_status, verification_passed_at 컬럼 추가
- 서명 플로우: OTP 인증 → 필기 확인(verification.blade.php) → 서명/도장
- auth.blade.php: verification_required 시 필기 확인 페이지로 리다이렉트
- create.blade.php: 필기 확인 사용 토글 + 템플릿 선택 UI
- EsignApiController: store()에 verification 필드 저장
- EsignPublicController: getVerification(), submitVerification() 추가
- 감사 로그: verification_viewed, verification_attempted, verification_passed, verification_completed 액션
2026-03-22 22:54:27 +09:00
김보곤
4839aa91b0
feat: [rd] 절곡산업탐구 학습자료 페이지 추가
2026-03-22 22:51:02 +09:00
김보곤
dafe9ee4ff
feat: [interview] 마스터 질문 시더 v2 — 12개 도메인 225개 질문
...
- 기존 8개 도메인 질문 대폭 강화 (80개 → 152개)
- 신규 4개 도메인 추가: 생산공정, 품질관리, 물류재고, 영업고객 (73개)
- 기존 마스터 삭제 후 재생성 방식으로 변경 (프로젝트 데이터 보존)
- 도메인별 private 메서드 분리
2026-03-22 22:49:01 +09:00
김보곤
91f583bf46
feat: esign_contracts, esign_signers 본인확인 컬럼 추가 마이그레이션
2026-03-22 22:48:29 +09:00
김보곤
b6e680c8e8
feat:[interview] 인터뷰 질문 마스터 시더 v2 전면 개편 (8→12도메인, 80→224개 질문)
2026-03-22 22:48:18 +09:00
김보곤
d436fb7b69
fix: [esign] tenant_id를 session 방식으로 변경 (MNG 패턴 준수)
2026-03-22 22:46:29 +09:00
김보곤
35dedd0f89
fix: [esign] GoogleVisionAdapter 서비스 계정 인증 방식 지원 (기존 Vertex AI 서비스 계정 공유)
2026-03-22 22:44:46 +09:00
김보곤
89c6d6fc43
feat: [interview] AI 대화형 인터뷰 초고도화 시스템 구현
...
Phase 2: AI 대화형 인터뷰 엔진
- AiInterviewController: 세션 시작/메시지/히스토리/진행률/지식추출 API
- AiInterviewService: Gemini API 연동 멀티턴 대화, 구조화 데이터 추출
- InterviewAiConversation: 대화 기록 모델 + 마이그레이션
- ai-interview.blade.php: React 채팅 UI (음성녹음/파일업로드/진행률)
Phase 3: 현장 데이터 수집 도구
- InterviewFileAnalysisService: 엑셀/PDF/이미지 AI 분석 (PhpSpreadsheet + Gemini Vision)
- 음성 녹음 + Gemini STT 변환
- 파일 자동 파싱 → interview_knowledge 자동 저장
Phase 4: 결과물 자동화
- TenantConfigGeneratorService: 인터뷰 지식 → SAM 테넌트 설정 자동 생성
- 12개 도메인별 설정 생성기 (품목/BOM/단가/공식/견적/공정 등)
- AI 정합성 검증
2026-03-22 22:42:25 +09:00
김보곤
fdd69d44c6
feat:[sales] AI 대화형 인터뷰 서비스 생성 (AiInterviewService)
2026-03-22 22:38:05 +09:00
김보곤
24c2aa342f
feat:[interview] AI 대화형 인터뷰 conversations 테이블 및 모델 추가
2026-03-22 22:35:44 +09:00
김보곤
0b4612abfc
feat: [esign] 전자서명 고도화 — 필기 문구 확인(Handwriting Verification) 전체 구현
...
- 마이그레이션: esign_verification_templates, esign_handwriting_verifications 테이블
- 모델: EsignVerificationTemplate, EsignHandwritingVerification
- 서비스: HandwritingVerificationService, TextSimilarityService
- HWR 어댑터: NaverClova, GoogleVision, Tesseract (전략 패턴 + 폴백)
- 컨트롤러: EsignVerificationController (대시보드/템플릿/데모/통계 API)
- 뷰: 대시보드, 확인 템플릿 관리, 필기 인식 데모 (React + Canvas)
- 라우트: /esign-verification/* (11개 엔드포인트)
- config/esign.php: HWR 엔진 설정
- 메뉴: 연구개발 > 전자서명 고도화 추가
2026-03-22 22:34:56 +09:00
김보곤
d6429599b7
feat: [esign] 전자서명 필기 검증 서비스 클래스 구현
...
- TextSimilarityService: Levenshtein + 글자 유사도 가중 평균(50:50) 계산
- HwrAdapterInterface: HWR 엔진 어댑터 공통 인터페이스
- NaverClovaAdapter: Naver Clova OCR General API 호출 어댑터
- GoogleVisionAdapter: Google Cloud Vision TEXT_DETECTION 어댑터
- TesseractAdapter: 로컬 Tesseract 폴백 어댑터
- HandwritingVerificationService: 단계별 검증, 폴백 전략, 힌트 생성, 템플릿 CRUD, 데모 기능
2026-03-22 22:28:57 +09:00
김보곤
d5bb98e953
feat: [esign] 전자서명 고도화 - 필기 검증 템플릿·검증 결과 마이그레이션 및 모델 추가
2026-03-22 22:26:23 +09:00
김보곤
404b61c426
fix: [RD] 온보딩 가이드 HX-Redirect 복원 + 스크립트 @push 복원 (전체 페이지 로드 방식)
2026-03-22 21:15:05 +09:00
김보곤
e39ede251f
fix: [RD] 온보딩 가이드 startDemoGuide 즉시 정의 (ReferenceError 수정)
2026-03-22 21:07:30 +09:00
김보곤
066c101721
fix: [RD] 온보딩 가이드 HX-Redirect 제거, HTMX 스왑 방식으로 변경 (레이아웃 깨짐 수정)
2026-03-22 21:01:13 +09:00
김보곤
ab329bab51
fix: [RD] 온보딩 가이드 레이아웃 수정 (스타일 JS 내장, 캐시 무효화)
2026-03-22 20:49:17 +09:00
김보곤
caf8f0c15f
fix: [RD] Driver.js CSS 동적 로드로 변경 (사이드바 레이아웃 깨짐 수정)
2026-03-22 20:41:37 +09:00
김보곤
6169e5ad4a
fix: [RD] 온보딩 가이드 script type=module로 변경 (SamOnboarding 미정의 오류 수정)
2026-03-22 20:33:17 +09:00
김보곤
347a052c3f
feat: [RD] 온보딩 도움말기능 구현 (Driver.js 기반)
...
- Driver.js 라이브러리 설치 및 Vite 번들 등록
- SamOnboarding JS 모듈 작성 (가이드 정의/실행/상태저장)
- 온보딩 도움말기능 관리 페이지 (데모 체험, 개발자 가이드)
- RD 대시보드에 온보딩 가이드 시범 적용
- 메뉴 라우트 추가 (/rd/onboarding-guide)
2026-03-22 20:19:26 +09:00
김보곤
cd27547749
fix: [절곡 작업일지] 기존 STOCK 작업지시 bending_info fallback
...
work_order.options=NULL인 기존 STOCK 작업지시에 대해
orders.options.bending_lot에서 bending_info를 동적 생성하여
작업일지가 정상 표시되도록 fallback 추가.
2026-03-21 17:15:35 +09:00
김보곤
6498d01ebb
chore: [공정관리] Process 모델 fillable에 parent_id 추가
2026-03-21 15:25:52 +09:00
김보곤
3a45f48503
fix: [문서양식] 미리보기 이미지 MNG API 프록시 경유로 수정 (브라우저→MNG→API→R2)
2026-03-21 14:51:08 +09:00
김보곤
3bf063eccd
fix: [문서양식] 미리보기 섹션 이미지 R2 상대경로 presigned URL 처리
2026-03-21 14:45:23 +09:00
김보곤
456d0cc59f
fix: [문서양식] section_fields 없는 legacy 양식에서 고정컬럼 fallback 렌더링
2026-03-21 14:24:08 +09:00
김보곤
52b086811d
fix: [문서양식] 기본정보 탭일 때 sticky 요약행 숨김 (중복 제거)
2026-03-21 14:20:01 +09:00
김보곤
ef07ab37d4
feat: [문서양식] 양식명/문서제목/분류/회사명 + 탭을 상단 sticky 고정
2026-03-21 14:10:12 +09:00
김보곤
acbb9dbc19
fix: [문서양식] 기본 표시 개수 200개로 변경 및 per_page 드롭다운 사라지는 문제 수정
2026-03-21 14:03:02 +09:00
김보곤
8fb171c360
feat: [문서양식] 복사 버튼 추가 — 전체 탭 내용 복제 (기본정보, 결재라인, 검사기준서, 컬럼)
2026-03-21 13:35:29 +09:00
김보곤
4f58270f3f
fix: [문서관리] sub_labels가 배열이 아닐 때 renderColumns TypeError 수정
2026-03-21 13:22:58 +09:00
김보곤
036e346f2c
feat: [bending] 기초자료 복사 버튼 추가 — 복사 후 수정 화면으로 이동
2026-03-21 11:49:07 +09:00
김보곤
a8899d48e5
feat: [bending] 절곡 부품 조합에 품목코드(BD-XX.nnn) 표시
2026-03-21 11:42:14 +09:00
김보곤
4410af04cc
feat: [bending] 수정 시 코드 편집 가능 + API 중복 에러 메시지 표시
2026-03-21 11:29:58 +09:00
김보곤
2cd0fd554c
feat: [bending] 등록 시 분류코드 드롭다운 선택 + 순번 자동 채번, 수정 시 코드 읽기전용
2026-03-21 11:01:33 +09:00
김보곤
cc58a0f37a
fix: [bending] Canvas 편집기용 이미지 프록시 라우트 추가 (R2 CORS 우회)
2026-03-21 10:35:12 +09:00
김보곤
f03ce495f1
fix: [bending] Canvas 편집기 이미지 로드를 프록시 URL로 변경 (R2 CORS 우회)
2026-03-21 10:33:34 +09:00
김보곤
e9dd16f06e
fix: [bending] Canvas 이미지 cross-origin 설정 추가 (tainted canvas 에러 수정)
2026-03-21 10:27:13 +09:00
김보곤
c843b1a28a
fix: [bending] API 연결 실패 시 안내 메시지 표시
...
- API 401/403/연결실패 시 구체적인 안내 메시지 표시
- 데이터 없음과 API 오류를 구분하여 사용자에게 안내
2026-03-21 09:43:57 +09:00
김보곤
72a1075ef2
fix: [bending] Docker 환경 API 호출 시 internal_url 미사용 500 에러 수정
...
BendingBaseController, BendingProductController, FileViewController,
DocumentTemplateController에서 API_INTERNAL_URL 미적용으로 Docker 내부
api.sam.kr 연결 실패하던 문제 수정
2026-03-21 09:32:45 +09:00
김보곤
861c9c1cfb
Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-manage into develop
2026-03-21 09:27:49 +09:00
김보곤
5b8b99ece1
feat: [header] 테넌트 표시에 ID 번호 추가
2026-03-21 09:25:44 +09:00
김보곤
8c1710f305
fix: [finance] 계정과목 추가 시 tenant_id 불일치 수정 및 UX 개선
2026-03-20 12:46:36 +09:00
3e35ed1145
feat: [document] 문서양식/문서 이미지를 R2 presigned URL로 전환
...
- 업로드 응답에 image_url 추가
- prepareTemplateData에서 file_id/image_path 기반 presigned URL 발급
- edit/preview에서 image_url 우선 사용
- show/print에서 api.sam.kr 하드코딩 제거
2026-03-20 11:24:26 +09:00
김보곤
3995355617
fix: [계좌내역] 잔액 재계산을 수동입력뿐 아니라 전체 거래에 적용
2026-03-20 11:11:45 +09:00
김보곤
0caeca001c
fix: [연차촉진] 1년 미만 근로자 촉진기간 계산 공식 분리 적용
...
- 1년 이상: 만료 6개월/2개월 전 (제61조 1항)
- 1년 미만: 만료 3개월/1개월 전 (제61조 2항)
- 대상자 목록에 1년미만 배지 표시
2026-03-20 10:47:34 +09:00
김보곤
dbd06cead0
feat:[근태현황] 년도/월 드롭박스 변경 시 시작일·종료일 자동 갱신
2026-03-20 10:43:13 +09:00