Commit Graph

2309 Commits

Author SHA1 Message Date
김보곤
512f01bea6 feat: [hr] 휴가관리 참조자 선택 기능 추가
- 휴가 신청 모달에 참조자 검색/선택 UI 추가 (Alpine.js)
- 부서별 사용자 목록에서 참조자 검색 및 녹색 칩 표시
- LeaveController 참조 배열 유효성 검증 추가
- LeaveService에서 결재선 steps에 참조자 자동 병합
2026-03-10 00:09:09 +09:00
김보곤
fff45cf707 fix: [hr] 급여관리 접근 권한 사용자 변경 (이경호 → 이의찬) 2026-03-10 00:00:01 +09:00
김보곤
051707c1be fix: [database] codebridge 모델 cross-DB 관계 오류 수정
- samdb 공유 모델에 $connection = 'mysql' 명시적 선언
- codebridge 모델에서 eager-load 시 connection 상속 방지
- 영향 모델: User, Tenant, Department, Process, File(2), Approval, AiQuotationModule, InterviewProject
2026-03-09 23:35:13 +09:00
김보곤
c84c8894be feat: [database] Equipment 하위 4개 모델 codebridge connection 추가
- EquipmentInspection, EquipmentInspectionDetail, EquipmentInspectionTemplate, EquipmentRepair
- equipments 테이블과 FK 참조 관계 → 동일 DB(codebridge)에서 관리
2026-03-09 20:57:49 +09:00
김보곤
b831979153 feat: [database] codebridge DB 분리 재적용 - 55개 MNG 전용 모델만 설정
- API 사용 테이블 22개(23개 모델) 제외하고 55개 모델만 $connection = 'codebridge' 적용
- config/database.php에 codebridge connection 재추가
- 제외 대상: Barobill 12개, ESign 4개, Audit 2개, DevTools 1개, System 2개, HR 1개
2026-03-09 20:02:04 +09:00
김보곤
a029339178 fix: [fire-shutter] 스크린 평면도 슬롯 개방 및 차단재 슬랫 접촉 형태
- C채널 본체를 단일 path→개별 부재(rect)로 분리하여 슬롯 열림 표현
- 립 팁 사이 수직선 제거 → 슬랫 진입구가 열린 상태
- 연기차단재를 슬랫 양면 접촉 형태로 변경 (차연 기능)
2026-03-09 18:58:49 +09:00
김보곤
acd24ca154 fix: [fire-shutter] 연기차단재 1개로 변경 및 슬롯 위치 배치
- 연기차단재: 2개→1개, 사이드월→슬롯 개구부(립 팁 사이) 위치로 이동
- 클립: 사각형→L형 브라켓으로 변경, 사이드월 내면에 부착
- 슬랫 라인을 채널 전체 관통으로 수정
2026-03-09 18:52:48 +09:00
김보곤
d58cf44a64 fix: [fire-shutter] 스크린 가이드레일 flange 30mm 수정 (슬롯 10mm)
- flange:8→30 (양쪽 30mm씩 → 슬롯 개구부 10mm)
- lip=10mm는 슬랫이 통과하는 홈 폭 (width-2*flange=10mm)
- 평면도 클립을 채널 내부 사이드월 면으로 재배치
- 3D 클립을 사이드월 내면 L형 브라켓으로 수정
- 슬롯 갭 치수 표시 추가
2026-03-09 18:06:02 +09:00
김보곤
e5886f77e5 fix: [fire-shutter] 스크린 가이드레일 폭/깊이 개념 수정 및 평면도 재작성
- width:120→70 (개구부/폭), depth:70→120 (깊이/벽방향) 스왑
- flange:26→8 (실제 스크린 플랜지 치수)
- 평면도 SVG 완전 재작성: 가로=깊이(120), 세로=폭(70), 벽좌측/개구부우측
- 셔터박스 Z위치 railZSpan 도입 (스크린:width, 철재:depth)
2026-03-09 17:58:47 +09:00
김보곤
d1722b144b fix: [fire-shutter] 스크린형 가이드레일 평면도 전면 재설계
- 스크린 전용 단면도 추가 (플랜지+립+사이드월+백월 구조)
- 방화벽 위치를 레일 하단(벽쪽)으로 이동
- 슬랫 위치를 LIP 안쪽 채널 내부로 수정
- 개구부 방향 표시, 클립/연기차단재 위치 반영
- 치수: 폭/깊이/플랜지/립/사이드월 주석 추가
2026-03-09 17:27:50 +09:00
김보곤
d5fcc22eca fix: [fire-shutter] 스크린 가이드레일 LIP 방향 수정 - 좌우 레일 개구부가 서로 마주보도록 Y축 회전 적용 2026-03-09 17:13:48 +09:00
김보곤
8e4c91af61 fix: [rd] 스크린 가이드레일 폭/깊이 교정 + 셔터박스 Z계산 depth 기준으로 통일
- 스크린 gr: width 70→120(면폭), depth 120→70(Z방향 깊이) 교정
- 셔터박스 railHalf, 개구부: gr.width → gr.depth (Z방향 치수)
- S 초기값, HTML input 기본값 동기화
2026-03-09 16:58:05 +09:00
김보곤
c5c10e8942 fix: [rd] 초기 유형을 스크린형(KSS01-실리카)으로 변경
- productType: screen, 모델: KSS01 기본 선택
- S 초기값, HTML input value 모두 스크린형 스펙으로 동기화
2026-03-09 16:50:09 +09:00
김보곤
bd85653699 feat: [rd] 벽 토글 OFF 시 벽체 설정 패널 자동 숨김 2026-03-09 16:39:00 +09:00
김보곤
5e59c66fa6 fix: [rd] 벽체 토글 초기값 OFF로 변경 2026-03-09 16:37:37 +09:00
김보곤
42bb5c43ed fix: [rd] 셔터박스 밑면 개구부를 레일 너비만큼만 개방
- 전면 립: 50mm (전면판~레일 전면)
- 개구부: 레일 너비(스크린:70, 철재:120)만큼만 뚫림
- 후면 밑판: 나머지 전체 밀폐
2026-03-09 16:35:59 +09:00
김보곤
aec029b62d feat: [rd] 방화셔터 도면생성 Ctrl+Z 실행취소(Undo) 기능 추가
- 상태 변경 시 자동 스냅샷 저장 (최대 50단계)
- Ctrl+Z로 이전 상태 복원 (입력값 + 3D 렌더링)
- 슬라이더 연속 입력 100ms 디바운스 적용
2026-03-09 16:33:11 +09:00
김보곤
59b24b2762 fix: [rd] 샤프트 Z 위치 자동 보정 — 브라켓/스프로켓이 셔터박스 전면판 내부 수용
- 스프로켓/브라켓 최대 돌출이 박스 전면판을 초과하면 자동으로 샤프트를 후퇴
- 철재: -65 → -110 (스프로켓 R215 수용), 스크린: -45 유지 (보정 불필요)
2026-03-09 16:27:20 +09:00
김보곤
600e459d27 fix: [rd] 셔터박스 Z 배치에 가이드레일 너비 반영
- frontOffset = 레일 반폭 + 50mm 전면 립 (스크린:85, 철재:110)
- 하단 개구부를 레일 위치에 정렬 (개구부 = 레일 너비)
2026-03-09 16:24:03 +09:00
김보곤
ffb61ddc07 fix: [rd] 샤프트/브라켓 원래 위치 복원, 셔터박스만 전면 50mm 돌출 배치 2026-03-09 16:13:46 +09:00
김보곤
d12afce58a fix: [rd] 셔터박스 50mm 전면 돌출 + 브라켓/스프로켓 박스 내부 수용
- 박스 전면판: Z=+50mm (레일에서 50mm 돌출)
- 샤프트 Z: 스프로켓·브라켓 최대 돌출량 기준으로 박스 안에 배치
- 브라켓 구조/치수 변경 없음, assembly Z 위치만 조정
2026-03-09 16:05:37 +09:00
김보곤
72ddd0f887 fix: [rd] 셔터박스 Z 위치 수정 — 브라켓 위치 유지, 박스를 전면으로 이동
- shaftCenterZ: 기존 공식 복원 (-(shaftDia/2 + 5))
- boxCenterZ: 전면판이 슬랫 라인에서 50mm 돌출되도록 배치
2026-03-09 16:00:36 +09:00
김보곤
7bce8b63ba fix: [rd] 셔터박스 내 브라켓/스프로켓 수용을 위한 샤프트 Z 위치 역산 로직 적용
- 샤프트 Z 위치를 브라켓·스프로켓 최대 전면 돌출량 기준으로 역산
- 철재: -175mm, 스크린: -52.5mm로 박스 전면판 내부에 모든 부품 수용
2026-03-09 15:56:35 +09:00
김보곤
9c4462a9bb fix: [rd] 셔터박스 Z 배치를 편심 구조로 수정
- 전면 50mm 돌출, 나머지 깊이는 후면(벽쪽) 배치
- 박스/샤프트/모터 Z 위치 분리 (독립 계산)
- 밑면 슬랫 개구부를 전면 가까이로 이동
- 도면(500×380 단면도) 기준 배치
2026-03-09 15:43:02 +09:00
김보곤
1d2a86a56e fix: [rd] 철재 모터브라켓 mtH/mtD 축 교정 (530→깊이Z, 320→높이Y) 2026-03-09 15:33:04 +09:00
김보곤
82ae910603 feat: [rd] 브라켓/스프로켓 치수를 제품 유형별로 분리
- 철재: 브라켓 530×320×18, 스프로켓 ø430, 모터오프셋 160mm
- 스크린: 브라켓 180×180×18, 스프로켓 ø140, 모터오프셋 자동계산
- PRODUCTS.bk 설정으로 일원화
2026-03-09 15:30:27 +09:00
김보곤
7ec80cd9d8 fix: [rd] '강판형' → '철재슬라트' 명칭 변경 2026-03-09 14:48:36 +09:00
김보곤
4969d3e60e feat: [rd] 스크린형 가이드레일 실제 도면 치수 기반 3D 구조 구현
- 본체②: 10-26-80-67-80-26-10 C채널 (EGI 1.55T)
- 벽연형③: 30-45-30 C브라켓 (벽체 고정)
- 벽연형④: 11-23-40-23-11 보강 브라켓
- 벽도마감⑤: SUS 1.2T L자 트림 × 2
- 마감재①: 슬랫 가이드 클립 × 2
- 전체 단면: 70mm(폭) × 120mm(깊이)
2026-03-09 13:34:35 +09:00
김보곤
8a2c078126 fix: [rd] 비모터측 브라켓을 motor 그룹에 포함하여 브라켓 한쌍 토글 동작 2026-03-09 13:17:29 +09:00
김보곤
2956c25642 fix: [fire-shutter] 단품 보기 시 카메라 이동 제거 (현재 뷰 유지) 2026-03-09 13:12:13 +09:00
김보곤
7da45b2bdb fix: [fire-shutter] 덮개 양쪽 10mm 축소 (실제 용접 결합 형태) 2026-03-09 13:10:09 +09:00
김보곤
4c1439674d fix: [fire-shutter] 덮개를 절곡 선반 위로 올려 용접 결합 표현 2026-03-09 13:07:45 +09:00
김보곤
91df0d122a fix: [fire-shutter] 셔터박스 전/후면판 ㄱ자 절곡 + 커버 평판 구조로 수정 2026-03-09 13:03:26 +09:00
김보곤
b6fe894a3d feat: [fire-shutter] 셔터박스 덮개(cover) 분리 - 본체+덮개 조립 구조 2026-03-09 13:00:41 +09:00
김보곤
3dbb9b7bf8 fix: [fire-shutter] 셔터박스 전면 하부판 추가 (빈 공간 밀폐) 2026-03-09 12:55:46 +09:00
김보곤
ac56b93e4e fix: [fire-shutter] 셔터박스 밑면 결합체 - 슬랫 통과 슬롯 75mm만 개방 2026-03-09 12:48:45 +09:00
김보곤
e1d6ee0f2a feat: [fire-shutter] 셔터박스 밑면 결합체 추가 (하단 개구부 표현) 2026-03-09 12:45:55 +09:00
김보곤
16aaf2f6a1 fix: [fire-shutter] 가이드레일 높이를 셔터박스 밑면+100mm로 조정 2026-03-09 12:42:11 +09:00
김보곤
23b95651fa fix: [fire-shutter] 가이드레일이 셔터박스 안으로 관통하도록 높이 조정 2026-03-09 12:41:24 +09:00
김보곤
a3aebe2a5c fix: [fire-shutter] const p 중복 선언 제거 2026-03-09 11:40:33 +09:00
김보곤
67c774960c feat: [fire-shutter] 셔터박스 조립식 철판 구조, 라벨 오픈폭/오픈H 변경 2026-03-09 11:38:53 +09:00
김보곤
1cdeb24f50 fix: [fire-shutter] 벽체 기본값 변경 (날개벽 600, 두께 600) 2026-03-09 11:33:12 +09:00
김보곤
5efcb62b48 fix: [fire-shutter] hw 변수명 충돌 해결 (whw로 변경) 2026-03-09 11:30:15 +09:00
김보곤
1ff98a0f5a fix: [fire-shutter] 벽체 기둥+인방 U자 일체형으로 이음새 제거 2026-03-09 11:29:04 +09:00
김보곤
2c437d33e7 fix: [fire-shutter] 벽체 기둥-인방 겹침(z-fighting) 해결 2026-03-09 11:14:49 +09:00
김보곤
feb240556f feat: [fire-shutter] 상단 설정 변경 시 3D 렌더링 동적 갱신 2026-03-09 11:09:35 +09:00
김보곤
923c0ed413 refactor: [fire-shutter] 설정 영역을 전체 폭 상단바로 이동 2026-03-09 11:05:52 +09:00
김보곤
d3c22dc71f fix: [fire-shutter] 상세설정 토글 버튼 $ 참조 오류 수정 2026-03-09 10:59:12 +09:00
김보곤
888e810d31 fix: [finance] 거래처 등록 필수값 개선 (거래처명+사업자번호만 필수)
- 백엔드: bizNo 필수 검증 추가, trade_type/status null-safe 처리
- 프론트엔드: 사업자번호 필수 검증 + 라벨에 * 표시 추가
- 나머지 필드 비어있어도 저장 가능하도록 NOT NULL 컬럼 기본값 보장
2026-03-09 10:54:07 +09:00
김보곤
f855da6c71 fix: [finance] 거래처 등록/수정 시 NOT NULL 컬럼 기본값 누락 수정
- type, category 컬럼이 NOT NULL인데 빈 값 전달 시 null 변환되어 DB 오류 발생
- store: null 대신 DB 기본값(vendor, 기타) 적용
- update: null 대신 기존 값 유지
2026-03-09 10:49:47 +09:00