This commit is contained in:
kim
2026-04-30 18:04:21 +09:00
parent 7b34afbd38
commit 7177f684b7
46 changed files with 932 additions and 19 deletions
@@ -0,0 +1,42 @@
{
"id": "0c2216f3-f19d-41dd-9732-469226b4352f",
"username": "papa",
"history": [
{
"role": "user",
"content": "[대차대조표.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 1페이지]**\n\n제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7",
"timestamp": 1777536820345
},
{
"role": "assistant",
"content": "안녕하세요! 김상규연합치과의원의 제24기(2024년) 및 제23기(2023년) 재무상태표 데이터를 확인했습니다. 이 데이터를 바탕으로 요약 보고서 작성, 엑셀 변환, 혹은 재무 분석 중 어떤 작업을 도와드릴까요?",
"timestamp": 1777536825274
},
{
"role": "user",
"content": "txt 화일로 저장",
"timestamp": 1777536889165
},
{
"role": "assistant",
"content": "재무상태표 내용을 `김상규연합치과의원_재무상태표.txt` 파일로 저장했습니다. 추가로 필요하신 작업이 있으면 말씀해 주세요.",
"timestamp": 1777536897856
},
{
"role": "user",
"content": "[손익계산서.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 2페이지]**\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6",
"timestamp": 1777537081764
},
{
"role": "assistant",
"content": "손익계산서 내용을 `김상규연합치과의원_손익계산서.txt` 파일로 저장했습니다. 추가로 필요하신 사항이 있으면 말씀해 주세요.",
"timestamp": 1777537092081
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777536655403,
"lastActiveAt": 1777537092081,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 1645
}
@@ -0,0 +1,22 @@
{
"id": "365ab739-56ed-4d90-9c29-cc98fbfe3d3e",
"username": "papa",
"history": [
{
"role": "user",
"content": "[대차대조표.pdf](/api/files/uploads/1777537311313-_______________.pdf)\n\n**[PDF 내용 — 1페이지]**\n\n제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7",
"timestamp": 1777537314203
},
{
"role": "assistant",
"content": "김상규연합치과의원의 제24기(2024년)와 제23기(2023년) 재무상태표 요약입니다.\n\n* **자산 총계:** 126,780,044원 (전기 대비 약 547만 원 감소)\n* **부채 총계:** 0원 (전기 1,907,079원에서 전액 상환)\n* **자본 총계:** 126,780,044원\n* **당기순이익:** 99,431,136원 (전기 104,866,806원 대비 약 543만 원 감소)\n\n현재 부채가 없는 매우 건전한 재무 상태를 유지하고 있습니다. 추가로 분석이 필요한 항목이 있으면 말씀해 주세요.",
"timestamp": 1777537318220
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777537305902,
"lastActiveAt": 1777537318220,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 715
}
@@ -0,0 +1,32 @@
{
"id": "46118e4d-c58f-4ec6-9e09-210af38f4a22",
"username": "papa",
"history": [
{
"role": "user",
"content": "화일",
"timestamp": 1777535361492
},
{
"role": "assistant",
"content": "현재 워크스페이스에 있는 파일 목록입니다. 어떤 작업을 도와드릴까요?",
"timestamp": 1777535366386
},
{
"role": "user",
"content": "화일",
"timestamp": 1777535394322
},
{
"role": "assistant",
"content": "현재 워크스페이스의 파일 목록입니다. 특정 파일을 읽거나 수정하시겠어요?",
"timestamp": 1777535398314
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777535336458,
"lastActiveAt": 1777535398315,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 49
}
@@ -0,0 +1,32 @@
{
"id": "49cea9f4-8410-4db1-8877-1b3f99cca1f3",
"username": "papa",
"history": [
{
"role": "user",
"content": "[대차대조표.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 1페이지]**\n\n제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7",
"timestamp": 1777535919142
},
{
"role": "assistant",
"content": "제24기(2024년) 김상규연합치과의원 재무상태표의 주요 항목을 정리해 드립니다.\n\n* **자산 총계:** 126,780,044원 (전기 대비 약 547만 원 감소)\n * **유동자산:** 9,704,867원 (현금 134만, 미수금 836만)\n * **비유동자산:** 117,075,177원 (유형자산 1,707만, 임차보증금 1억)\n* **부채 총계:** 0원 (전기 단기차입금 1,907,079원 전액 상환)\n* **자본 총계:** 126,780,044원\n* **당기순이익:** 99,431,136원 (전기 104,866,806원 대비 약 5.2% 감소)\n\n부채가 모두 상환되어 재무 건전성이 강화되었으나, 당기순이익은 전년 대비 소폭 감소한 상태입니다.",
"timestamp": 1777535922047
},
{
"role": "user",
"content": "[손익계산서.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 2페이지]**\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6",
"timestamp": 1777536388228
},
{
"role": "assistant",
"content": "제24기(2024년) 김상규연합치과의원 손익계산서의 주요 항목을 요약해 드립니다.\n\n* **매출액:** 353,314,220원 (전기 대비 약 7.3% 감소)\n * 일반진료(카드) 매출이 약 4,800만 원 감소했으나, 의료보호 및 보험공단 청구액은 증가했습니다.\n* **판매비와 관리비:** 246,782,864원 (전기 대비 약 2,387만 원 절감)\n * 직원 급여는 소폭 상승했으나, 전기 지출되었던 퇴직급여(1,000만 원)가 발생하지 않았고 소모품비 등이 절감되었습니다.\n* **영업이익:** 106,531,356원 (전기 대비 약 3.6% 감소)\n* **당기순이익:** 99,431,136원 (전기 대비 약 5.2% 감소)\n\n매출 규모는 다소 줄었으나, 판관비(특히 퇴직급여 및 소모품비)를 효율적으로 관리하여 영업이익률은 약 30% 수준을 유지하고 있습니다.",
"timestamp": 1777536394359
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777535909802,
"lastActiveAt": 1777536394359,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 1796
}
@@ -0,0 +1,22 @@
{
"id": "67c6ce56-eb17-485f-b6ed-09c5aa3ac707",
"username": "papa",
"history": [
{
"role": "user",
"content": "[손익계산서.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 2페이지]**\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6",
"timestamp": 1777537383714
},
{
"role": "assistant",
"content": "김상규연합치과의원의 2024년(제24기)과 2023년(제23기) 손익계산서를 비교 분석한 결과입니다.\n\n### 1. 주요 재무 지표 요약 (단위: 원)\n| 항목 | 2024년 (당기) | 2023년 (전기) | 증감액 | 증감률 |\n| :--- | :---: | :---: | :---: | :---: |\n| **매출액** | 353,314,220 | 381,196,660 | -27,882,440 | -7.3% |\n| **판매비와관리비** | 246,782,864 | 270,659,344 | -23,876,480 | -8.8% |\n| **영업이익** | 106,531,356 | 110,537,316 | -4,005,960 | -3.6% |\n| **당기순이익** | **99,431,136** | **104,866,806** | **-5,435,670** | **-5.2%** |\n\n### 2. 주요 분석 사항\n* **매출 감소:** 일반진료(카드) 매출이 약 4,800만 원 감소하며 전체 매출 하락을 주도했습니다. 반면, 보험공단 청구액과 의료보호 매출은 전년 대비 증가했습니다.\n* **비용 절감:** 매출 감소에 대응하여 판매비와 관리비를 약 2,400만 원 줄였습니다. 특히 **퇴직급여(1,000만 원 → 0원)**, **복리후생비(-51%)**, **의료소모품비(-14%)** 항목에서 큰 폭의 비용 절감이 확인됩니다.\n* **수익성 유지:** 매출이 7.3% 감소했음에도 불구하고 적극적인 비용 관리를 통해 영업이익 하락폭을 3.6% 수준으로 방어하며 안정적인 수익 구조를 유지하고 있습니다.\n\n전반적으로 매출은 다소 줄었으나, 효율적인 비용 통제를 통해 순이익 규모를 적절히 유지한 것으로 평가됩니다.",
"timestamp": 1777537392470
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777537375906,
"lastActiveAt": 1777537392470,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 1170
}
@@ -0,0 +1,52 @@
{
"id": "77eb35e0-4488-4f77-bf23-4dedcb6db442",
"username": "papa",
"history": [
{
"role": "user",
"content": "[손익계산서.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 2페이지]**\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6",
"timestamp": 1777538519270
},
{
"role": "assistant",
"content": "제24기(2024년)와 제23기(2023년) 손익계산서 요약입니다. 매출액과 당기순이익이 전년 대비 소폭 감소했습니다.\n\n* **매출액:** 353,314,220원 (전기 대비 약 7.3% 감소)\n* **영업이익:** 106,531,356원 (전기 대비 약 3.6% 감소)\n* **당기순이익:** 99,431,136원 (전기 대비 약 5.2% 감소)\n* **주요 특징:** 매출은 줄었으나 판매비와 관리비(약 2,387만 원 절감)를 효율적으로 관리하여 영업이익 하락폭을 방어했습니다.",
"timestamp": 1777538523254
},
{
"role": "user",
"content": "[손익계산서.pdf](/api/files/uploads/1777538875355-_______________.pdf)\n\n**[PDF 내용 — 2페이지]**\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0\n\n제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6",
"timestamp": 1777538879939
},
{
"role": "assistant",
"content": "제24기(2024년) 손익계산서의 주요 항목을 전기(2023년)와 비교하여 정리해 드립니다.\n\n### 1. 수익성 요약\n* **매출액:** 3.53억 원 (전년 3.81억 대비 **7.3% 감소**)\n * 일반진료(카드) 매출이 약 4,800만 원 감소한 것이 주요 원인입니다.\n* **영업이익:** 1.06억 원 (전년 1.10억 대비 **3.6% 감소**)\n* **당기순이익:** 9,943만 원 (전년 1.04억 대비 **5.2% 감소**)\n\n### 2. 비용 분석 (판매비와 관리비)\n매출은 줄었지만, 비용을 약 2,387만 원 절감하여 이익 하락을 방어했습니다.\n* **인건비:** 급여는 소폭 상승(9,034만 → 9,440만)했으나, 올해는 퇴직급여 지출이 없어 전체 인건비 부담은 비슷합니다.\n* **주요 절감 항목:** 복리후생비(-310만), 접대비(-250만), 소모품비(-534만), 의료소모품비(-240만) 등 전반적인 경비를 효율화했습니다.\n* **고정비:** 임차료(3,120만)와 기공료(약 3,960만)는 전년과 동일한 수준을 유지하고 있습니다.\n\n추가로 분석이 필요한 특정 항목이나 계산이 있다면 말씀해 주세요.",
"timestamp": 1777538887069
},
{
"role": "user",
"content": "강아지 사진 몇 장 찾아서 슬라이드 만들자.",
"timestamp": 1777538965939
},
{
"role": "assistant",
"content": "죄송합니다, 응답을 생성하지 못했습니다. 다시 시도해 주세요.",
"timestamp": 1777538966627
},
{
"role": "user",
"content": "강아지 사진 몇 장 찾아서 파워포인트 만들어 줘.",
"timestamp": 1777538996130
},
{
"role": "assistant",
"content": "귀여운 강아지 사진들을 담은 파워포인트 파일을 생성했습니다. 골든 리트리버, 포메라니안 등 다양한 강아지 슬라이드가 포함되어 있습니다.",
"timestamp": 1777539006424
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777538511055,
"lastActiveAt": 1777539006424,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 2173
}
@@ -0,0 +1,22 @@
{
"id": "a0b97742-8153-4713-b1c7-34c383244ff6",
"username": "papa",
"history": [
{
"role": "user",
"content": "[대차대조표.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 1페이지]**\n\n제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7\n\n[대차대조표.txt]([REDACTED-HE].txt)",
"timestamp": 1777537752749
},
{
"role": "assistant",
"content": "김상규연합치과의원의 제24기(2024년) 재무상태표 주요 요약입니다.\n\n* **자산 규모:** 총자산은 약 1.27억 원으로 전년(1.32억 원) 대비 소폭 감소했습니다. 자산의 대부분은 임차보증금(1억 원)과 의료기기 등 비유동자산이 차지하고 있습니다.\n* **부채 현황:** 전기에 있던 단기차입금(약 190만 원)을 모두 상환하여 현재 부채가 없는 매우 건전한 상태입니다.\n* **수익성:** 당기순이익은 99,431,136원으로 전년(1.04억 원) 대비 약 5% 감소했으나, 자본 규모 대비 견조한 수익을 유지하고 있습니다.\n\n추가로 분석이 필요한 항목이 있다면 말씀해 주세요.",
"timestamp": 1777537758611
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777537601970,
"lastActiveAt": 1777537758611,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 746
}
@@ -0,0 +1,22 @@
{
"id": "c3f47426-5376-4256-9490-1d4de9197ffb",
"username": "papa",
"history": [
{
"role": "user",
"content": "![image](/api/files/uploads/1777537950119-_______________.pdf)",
"timestamp": 1777537955123
},
{
"role": "assistant",
"content": "김상규연합치과의원의 2024년(제24기) 손익계산서 요약입니다.\n\n* **매출액:** 353,314,220원 (전년 대비 약 7.3% 감소)\n* **영업이익:** 106,531,356원\n* **당기순이익:** 99,431,136원\n\n주요 지출 항목으로는 직원 급여(9,440만원), 기공료(3,967만원), 임차료(3,120만원) 등이 확인됩니다. 추가로 궁금하신 세부 항목이 있다면 말씀해 주세요.",
"timestamp": 1777537963924
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777537898186,
"lastActiveAt": 1777537963924,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 96
}
@@ -31,12 +31,52 @@
"role": "assistant",
"content": "오늘(2026년 4월 30일) BBC의 주요 뉴스는 다음과 같습니다.\n\n1. **제임스 코미 전 FBI 국장 자수**: 트럼프 대통령의 생명을 위협했다는 혐의로 기소된 제임스 코미 전 국장이 자수했습니다. 검찰은 그가 2025년에 올린 인스타그램 게시물이 폭력을 선동했다고 주장하고 있습니다.\n2. **미 국방장관 청문회**: 피트 헤그세스 미 국방장관이 이란과의 전쟁 시작 이후 처음으로 열린 의회 청문회에서 민주당 의원들과 6시간 가까이 격렬한 설전을 벌였습니다.\n3. **호주 본다이 총기 사건 조사**: 본다이 총기 난사 사건에 대한 왕립 위원회 중간 보고서에서 총기 규제 개혁을 최우선 과제로 삼아야 한다는 권고가 나왔습니다.\n4. **미국 가수 D4vd 기소**: 틱톡 스타이자 가수인 D4vd가 시신 유기 도구를 온라인으로 구매했다는 혐의로 검찰에 기소되었으며, 변호인 측은 무죄를 주장하고 있습니다.\n5. **케냐 마라톤 영웅 귀국**: 공식 대회에서 인류 최초로 마라톤 2시간 벽을 깨뜨린 세바스찬 사웨가 케냐 고국에서 열렬한 환영을 받으며 귀국했습니다.",
"timestamp": 1777520253398
},
{
"role": "user",
"content": "[대차대조표.pdf](/api/files/uploads/1777520775440-_______________.pdf)",
"timestamp": 1777520778344
},
{
"role": "assistant",
"content": "파일을 읽으려 했으나 시스템에서 찾을 수 없습니다. 파일이 올바르게 업로드되었는지 확인해 주시거나, 내용을 직접 텍스트로 붙여넣어 주시면 바로 분석해 드리겠습니다.",
"timestamp": 1777520786321
},
{
"role": "user",
"content": "[손익계산서.pdf](/api/files/uploads/1777521691792-_______________.pdf)",
"timestamp": 1777521695009
},
{
"role": "assistant",
"content": "업로드하신 `손익계산서.pdf` 파일을 시스템에서 찾을 수 없습니다. 파일 경로가 올바르지 않거나 업로드 과정에서 오류가 발생한 것 같습니다. 파일을 다시 한 번 업로드해 주시거나, 내용을 텍스트로 알려주시면 분석해 드리겠습니다.",
"timestamp": 1777521702179
},
{
"role": "user",
"content": "[대차대조표.pdf]([REDACTED-HE].pdf)\n\n**[PDF 내용 — 1페이지]**\n\n제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7",
"timestamp": 1777534028883
},
{
"role": "assistant",
"content": "제24기(2024년) 김상규연합치과의원의 재무상태표 분석 결과입니다.\n\n1. **재무 건전성**: 부채총계가 0원으로, 전기의 단기차입금(약 190만 원)을 모두 상환하여 매우 건전한 재무 상태를 유지하고 있습니다.\n2. **자산 구성**: 총자산 약 1.27억 원 중 임차보증금이 1억 원으로 대부분을 차지하며, 현금성 자산은 약 134만 원으로 다소 낮은 편입니다.\n3. **수익성**: 당기순이익은 99,431,136원으로 전년(약 1.05억 원) 대비 소폭 감소했으나, 꾸준한 수익을 창출하고 있는 것으로 보입니다.\n\n추가로 궁금하신 분석 지표가 있다면 말씀해 주세요.",
"timestamp": 1777534034492
},
{
"role": "user",
"content": "화일",
"timestamp": 1777534683718
},
{
"role": "assistant",
"content": "`손익계산서.pdf` 파일의 내용도 이전처럼 텍스트로 복사해서 붙여넣어 주시겠어요? 파일 시스템 접근이 제한되어 있어, 텍스트를 주시면 바로 분석해 드리겠습니다.",
"timestamp": 1777534693014
}
],
"workspace": "D:\\homeclaw\\workspace",
"createdAt": 1777518899141,
"lastActiveAt": 1777520253398,
"lastActiveAt": 1777534693014,
"pendingMemoryFlush": false,
"pendingCompaction": false,
"contextTokenEstimate": 259
"contextTokenEstimate": 1147
}
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1,3 @@
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1,3 @@
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1,3 @@
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1,3 @@
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6
@@ -0,0 +1 @@
제 2 4 기 2 0 2 4 년 1 2 월 3 1 일 현 재 제 2 3 기 2 0 2 3 년 1 2 월 3 1 일 현 재 재 무 상 태 표 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 자 산 Ⅰ . 유 동 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 ( 1 ) 당 좌 자 산 9 , 7 0 4 , 8 6 7 9 , 7 6 1 , 1 0 5 현 금 1 , 3 4 4 , 4 3 7 1 , 4 7 0 , 2 1 5 미 수 금 8 , 3 6 0 , 4 3 0 8 , 2 9 0 , 8 9 0 ( 2 ) 재 고 자 산 0 0 Ⅱ . 비 유 동 자 산 1 1 7 , 0 7 5 , 1 7 7 1 2 2 , 4 9 4 , 8 8 2 ( 1 ) 투 자 자 산 0 0 ( 2 ) 유 형 자 산 1 7 , 0 7 5 , 1 7 7 2 2 , 4 9 4 , 8 8 2 의 료 기 기 3 0 8 , 0 2 6 , 5 0 0 3 0 0 , 9 2 6 , 5 0 0 감 가 상 각 누 계 액 2 9 1 , 5 8 7 , 1 5 4 1 6 , 4 3 9 , 3 4 6 2 7 9 , 5 6 2 , 6 7 0 2 1 , 3 6 3 , 8 3 0 차 량 운 반 구 2 7 , 0 0 0 , 0 0 0 2 7 , 0 0 0 , 0 0 0 감 가 상 각 누 계 액 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 2 6 , 9 9 9 , 0 0 0 1 , 0 0 0 비 품 3 6 , 5 4 2 , 0 0 0 3 6 , 5 4 2 , 0 0 0 감 가 상 각 누 계 액 3 5 , 9 1 6 , 1 6 9 6 2 5 , 8 3 1 3 5 , 4 2 0 , 9 4 8 1 , 1 2 1 , 0 5 2 시 설 장 치 1 3 8 , 3 0 0 , 4 0 0 1 3 8 , 3 0 0 , 4 0 0 감 가 상 각 누 계 액 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 1 3 8 , 2 9 1 , 4 0 0 9 , 0 0 0 ( 3 ) 무 형 자 산 0 0 ( 4 ) 기 타 비 유 동 자 산 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 임 차 보 증 금 1 0 0 , 0 0 0 , 0 0 0 1 0 0 , 0 0 0 , 0 0 0 자 산 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7 부 채 Ⅰ . 유 동 부 채 0 1 , 9 0 7 , 0 7 9 단 기 차 입 금 0 1 , 9 0 7 , 0 7 9 Ⅱ . 비 유 동 부 채 0 0 부 채 총 계 1 , 9 0 7 , 0 7 9 자 본 Ⅰ . 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 자 본 금 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 ( 당 기 순 이 익 ) 당 기 : 9 9 , 4 3 1 , 1 3 6 원 전 기 : 1 0 4 , 8 6 6 , 8 0 6 원 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 0 , 3 4 8 , 9 0 8 부 채 및 자 본 총 계 1 2 6 , 7 8 0 , 0 4 4 1 3 2 , 2 5 5 , 9 8 7
@@ -0,0 +1,3 @@
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 Ⅰ . 매 출 액 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 보 험 본 인 부 담 금 6 , 3 1 3 , 2 4 0 4 , 6 0 7 , 6 2 0 보 험 공 단 청 구 액 7 8 , 0 7 6 , 8 8 0 7 0 , 3 8 2 , 3 9 0 의 료 보 호 1 8 , 4 9 7 , 2 4 0 5 , 4 1 4 , 4 2 0 일 반 진 료 현 금 0 5 , 0 7 0 , 5 5 0 일 반 진 료 카 드 1 8 3 , 4 0 0 , 2 6 0 2 3 1 , 7 8 9 , 6 8 0 현 금 영 수 증 6 7 , 0 2 6 , 6 0 0 6 3 , 9 3 2 , 0 0 0 Ⅱ . 매 출 원 가 0 0 Ⅲ . 매 출 총 이 익 3 5 3 , 3 1 4 , 2 2 0 3 8 1 , 1 9 6 , 6 6 0 Ⅳ . 판 매 비 와 관 리 비 2 4 6 , 7 8 2 , 8 6 4 2 7 0 , 6 5 9 , 3 4 4 직 원 급 여 9 4 , 4 0 4 , 9 0 0 9 0 , 3 4 6 , 6 7 0 상 여 금 9 0 0 , 0 0 0 1 , 0 5 0 , 0 0 0 퇴 직 급 여 0 1 0 , 0 0 0 , 0 0 0 복 리 후 생 비 2 , 9 2 7 , 5 0 0 6 , 0 3 3 , 9 7 0 여 비 교 통 비 1 8 2 , 8 0 0 2 8 , 2 0 0 접 대 비 ( 기 업 업 무 추 진 비 ) 5 9 8 , 0 0 0 3 , 1 0 0 , 0 0 0 통 신 비 3 , 2 7 0 , 7 6 8 3 , 1 8 2 , 8 9 8 수 도 광 열 비 4 , 8 3 5 , 1 6 7 4 , 8 9 7 , 5 8 0 세 금 과 공 과 금 4 , 5 7 0 , 9 0 0 4 , 7 9 3 , 9 8 0 감 가 상 각 비 1 2 , 5 1 9 , 7 0 5 1 3 , 4 5 2 , 0 8 9 지 급 임 차 료 3 1 , 2 0 0 , 0 0 0 3 1 , 2 0 0 , 0 0 0 수 선 비 4 3 5 , 7 0 0 2 4 5 , 0 0 0 보 험 료 1 8 , 9 4 0 , 3 1 0 1 9 , 8 7 3 , 3 5 0 차 량 유 지 비 3 , 8 8 2 , 9 0 2 4 , 6 6 8 , 0 6 0 운 반 비 5 9 8 , 5 0 0 4 9 0 , 0 0 0 교 육 훈 련 비 2 4 6 , 4 0 0 8 1 3 , 1 2 0 도 서 인 쇄 비 7 3 , 2 0 0 8 1 , 7 0 0 사 무 용 품 비 2 , 1 0 1 , 7 3 9 2 , 2 7 9 , 9 5 0 소 모 품 비 1 , 4 5 4 , 2 1 0 6 , 7 9 8 , 6 2 2 지 급 수 수 료 7 , 6 1 4 , 6 9 4 8 , 2 0 5 , 9 0 3 광 고 선 전 비 0 2 2 0 , 0 0 0 건 물 관 리 비 1 , 3 9 3 , 8 4 8 1 , 3 9 3 , 8 4 8 의 료 소 모 품 비 1 4 , 1 2 5 , 2 4 1 1 6 , 5 2 9 , 8 6 0 기 공 료 3 9 , 6 7 6 , 3 8 0 3 9 , 4 0 6 , 5 4 4 협 회 비 8 3 0 , 0 0 0 1 , 3 2 0 , 5 0 0
제 2 4 ( 당 ) 기 2 0 2 4 년 1 월 1 일 부 터 2 0 2 4 년 1 2 월 3 1 일 까 지 제 2 3 ( 전 ) 기 2 0 2 3 년 1 월 1 일 부 터 2 0 2 3 년 1 2 월 3 1 일 까 지 손 익 계 산 서 회 사 명 : 김 상 규 연 합 치 과 의 원 ( 단 위 : 원 ) 과 목 제 2 4 ( 당 ) 기 제 2 3 ( 전 ) 기 금 액 금 액 검 사 수 수 료 0 2 4 7 , 5 0 0 Ⅴ . 영 업 이 익 1 0 6 , 5 3 1 , 3 5 6 1 1 0 , 5 3 7 , 3 1 6 Ⅵ . 영 업 외 수 익 0 7 7 0 , 0 0 0 잡 이 익 0 7 7 0 , 0 0 0 Ⅶ . 영 업 외 비 용 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 기 부 금 4 , 0 0 0 , 0 0 0 3 , 9 6 0 , 0 0 0 Ⅷ . 소 득 세 차 감 전 이 익 1 0 2 , 5 3 1 , 3 5 6 1 0 7 , 3 4 7 , 3 1 6 Ⅸ . 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 소 득 세 등 3 , 1 0 0 , 2 2 0 2 , 4 8 0 , 5 1 0 Ⅹ . 당 기 순 이 익 9 9 , 4 3 1 , 1 3 6 1 0 4 , 8 6 6 , 8 0 6
+76 -7
View File
@@ -7003,19 +7003,32 @@ app.get('/api/files/{*filePath}', (req: express.Request, res: express.Response)
const contentType = IMAGE_TYPES[ext] || 'application/octet-stream';
const filename = path.basename(filePath);
// Force download for non-image files (pptx, pdf, xlsx, docx, zip, etc.)
const downloadExts = ['.pptx', '.pdf', '.xlsx', '.xls', '.docx', '.doc', '.zip', '.csv', '.mp4', '.mp3'];
if (downloadExts.includes(ext)) {
// PDF/txt/csv: inline (browser viewer); other binary files: attachment (force download)
const inlineExts = ['.pdf', '.txt', '.csv', '.md'];
const downloadExts = ['.pptx', '.xlsx', '.xls', '.docx', '.doc', '.zip', '.mp4', '.mp3'];
if (inlineExts.includes(ext)) {
const encodedFilename = encodeURIComponent(filename);
res.setHeader('Content-Disposition', `inline; filename="${encodedFilename}"; filename*=UTF-8''${encodedFilename}`);
} else if (downloadExts.includes(ext)) {
const encodedFilename = encodeURIComponent(filename);
res.setHeader('Content-Disposition', `attachment; filename="${encodedFilename}"; filename*=UTF-8''${encodedFilename}`);
}
res.setHeader('Content-Type', contentType);
res.setHeader('Cache-Control', 'public, max-age=60');
res.sendFile(filePath, (err) => {
if (err) {
console.error('[files] sendFile error:', err.message);
if (!res.headersSent) res.status(500).json({ error: 'Failed to send file' });
}
// Use createReadStream instead of sendFile for cross-platform reliability (Express 5)
try {
const stat = fs.statSync(filePath);
res.setHeader('Content-Length', stat.size);
const stream = fs.createReadStream(filePath);
stream.on('error', (streamErr: any) => {
console.error('[files] stream error:', streamErr.message);
if (!res.headersSent) res.status(500).json({ error: 'Failed to stream file' });
});
stream.pipe(res);
} catch (sendErr: any) {
console.error('[files] read error:', sendErr.message);
if (!res.headersSent) res.status(500).json({ error: 'Failed to read file' });
}
} catch (err: any) {
console.error('[files] handler error:', err.message);
if (!res.headersSent) res.status(500).json({ error: 'Internal server error' });
@@ -7177,6 +7190,62 @@ app.post('/api/upload/image', (req: express.Request, res: express.Response) => {
req.on('error', (err: any) => { res.status(500).json({ success: false, error: String(err?.message || err) }); });
});
// Generic file upload endpoint -- accepts PDF, Excel, txt, docx, etc.
app.post('/api/upload/file', (req: express.Request, res: express.Response) => {
const contentType = String(req.headers['content-type'] || '');
if (!contentType.includes('multipart/form-data')) {
res.status(400).json({ success: false, error: 'Content-Type must be multipart/form-data' }); return;
}
const boundary = contentType.split('boundary=')[1];
if (!boundary) { res.status(400).json({ success: false, error: 'Missing boundary' }); return; }
const chunks: Buffer[] = [];
req.on('data', (chunk: Buffer) => chunks.push(chunk));
req.on('end', () => {
const raw = Buffer.concat(chunks).toString('binary');
const boundaryDelim = '--' + boundary;
let filename = 'upload.bin';
let filetype = 'application/octet-stream';
let fileData: Buffer | null = null;
const parts = raw.split(boundaryDelim);
for (const part of parts) {
if (!part || part.trim() === '--' || part.trim() === '') continue;
const headerEnd = part.indexOf('\r\n\r\n');
if (headerEnd === -1) continue;
const header = part.substring(0, headerEnd);
if (!header.includes('name="file"')) continue;
const fnMatch = header.match(/filename="([^"]+)"/);
if (fnMatch) filename = fnMatch[1];
const ctMatch = header.match(/Content-Type:\s*([^\r\n]+)/i);
if (ctMatch) filetype = ctMatch[1].trim();
const bodyStart = headerEnd + 4;
const bodyEnd = part.lastIndexOf('\r\n');
if (bodyEnd <= bodyStart) continue;
fileData = Buffer.from(part.substring(bodyStart, bodyEnd), 'binary');
break;
}
if (!fileData) { res.status(400).json({ success: false, error: 'No file found in upload' }); return; }
if (fileData.length > 50 * 1024 * 1024) { res.status(400).json({ success: false, error: 'File too large (max 50MB)' }); return; }
const uploadUser = (req as any).user;
const workspacePath = uploadUser?.workspace || path.resolve(getConfig().getConfig().workspace?.path || process.cwd());
const uploadsDir = path.join(workspacePath, 'uploads');
fs.mkdirSync(uploadsDir, { recursive: true });
const safeName = String(filename).replace(/[^a-zA-Z0-9._-]/g, '_').toLowerCase();
const uniqueName = `${Date.now()}-${safeName}`;
const filePath = path.join(uploadsDir, uniqueName);
fs.writeFileSync(filePath, fileData);
const relativePath = `uploads/${uniqueName}`;
res.json({ success: true, path: relativePath, url: `/api/files/${relativePath}`, filename, size: fileData.length, type: filetype });
});
req.on('error', (err: any) => { res.status(500).json({ success: false, error: String(err?.message || err) }); });
});
app.get('/api/status', async (_req, res) => {
const ollama = getOllamaClient();
const connected = await ollama.testConnection();
+339 -8
View File
@@ -2302,9 +2302,11 @@
</div>
<div class="queued-prompts-list" id="queued-prompts-list"></div>
</div>
<!-- 첨부 파일 카드 영역 (전송 전 표시) -->
<div id="staged-attachments" style="display:none;flex-wrap:wrap;gap:8px;padding:8px 12px 0;border-top:1px solid var(--line)"></div>
<div class="chat-input-row">
<input type="file" id="image-upload" accept="image/*" style="display:none" onchange="handleImageUpload(this)" />
<button class="send-btn" onclick="document.getElementById('image-upload').click()" title="이미지 첨부" style="font-size:18px;width:44px;height:44px">&#128206;</button>
<input type="file" id="file-upload" accept="image/*,.pdf,.txt,.md,.csv,.xlsx,.xls,.docx,.pptx" style="display:none" onchange="handleFileUpload(this)" />
<button class="send-btn" onclick="document.getElementById('file-upload').click()" title="파일 첨부 (이미지·PDF·Excel·txt 등)" style="font-size:18px;width:44px;height:44px" aria-label="파일 첨부">📎</button>
<textarea
id="chat-input"
placeholder="메시지를 입력하세요... (Enter로 전송, Shift+Enter로 줄바꿈)"
@@ -4418,7 +4420,7 @@ function renderChatMessages() {
<div class="msg-avatar">${msg.role === 'user' ? 'U' : '<img src="cherry_logo.png" style="width:48px;height:48px;border-radius:6px">'}</div>
<div class="msg-body">
<div class="msg-role">${msg.role === 'user' ? 'You' : (msg.mode === 'agentic' ? 'CherryClaw (Agent)' : 'CherryClaw')}</div>
${msg.role === 'ai' ? renderAssistantContent(msg.content) : `<div class="msg-content">${renderMarkdown(msg.content)}</div>`}
${msg.role === 'ai' ? renderAssistantContent(msg.content) : `<div class="msg-content">${renderMarkdown(msg.display !== undefined ? msg.display : msg.content)}</div>`}
${msg.role === 'ai' ? renderArtifacts(msg.artifacts) : ''}
${msg.role === 'ai' ? renderFileDownloads(msg.steps, msg.processEntries, msg.content) : ''}
${msg.role === 'ai' && msg.processEntries && msg.processEntries.length ? renderProcessPill(msg.processEntries) : ''}
@@ -4702,7 +4704,7 @@ async function sendChat(queuedMessage = null) {
const sendBtn = document.getElementById('send-btn');
const raw = typeof queuedMessage === 'string' ? queuedMessage : input.value;
const message = String(raw || '').trim();
if (!message) return;
if (!message && stagedAttachments.length === 0) return;
if (isThinking) {
if (typeof queuedMessage === 'string') return;
if (queuedPrompts.length >= MAX_QUEUED_PROMPTS) {
@@ -4717,7 +4719,31 @@ async function sendChat(queuedMessage = null) {
return;
}
chatHistory.push({ role: 'user', content: message });
// 첨부파일: AI에겐 전체 내용, 채팅 버블엔 파일명만
let fullMessage = message;
let displayMessage = message;
if (stagedAttachments.length > 0 && typeof queuedMessage !== 'string') {
const attachParts = stagedAttachments
.filter(function(a) { return a.type !== 'txt-auto'; }) // txt-auto는 PDF가 이미 내용 포함
.map(function(a) {
return a.content || ('[첨부: ' + a.name + '](' + (a.url || '') + ')');
});
fullMessage = attachParts.join('\n\n') + (message ? '\n\n' + message : '');
const compactParts = stagedAttachments
.filter(function(a) { return a.type !== 'txt-auto'; })
.map(function(a) {
// [파일명](url) → renderMarkdown이 PDF/파일 버튼으로 렌더링
var line = a.url ? '[' + a.name + '](' + a.url + ')' : '📎 **' + a.name + '**';
// PDF에 txt 저장본이 있으면 txt 다운로드 링크도 추가
if (a.type === 'pdf' && a.txtUrl) {
line += ' [📝 ' + a.txtName + '](' + a.txtUrl + ')';
}
return line;
});
displayMessage = compactParts.join('\n') + (message ? '\n\n' + message : '');
clearStagedAttachments();
}
chatHistory.push({ role: 'user', content: fullMessage, display: displayMessage });
persistActiveChat();
if (typeof queuedMessage !== 'string') {
input.value = '';
@@ -4784,7 +4810,7 @@ async function sendChat(queuedMessage = null) {
'Accept': 'text/event-stream',
},
signal: currentAbortController.signal,
body: JSON.stringify({ message, history: historyForAPI, useTools: useAgentMode, sessionId: agentSessionId, pinnedMessages: confirmedPins.length > 0 ? confirmedPins : undefined })
body: JSON.stringify({ message: fullMessage, history: historyForAPI, useTools: useAgentMode, sessionId: agentSessionId, pinnedMessages: confirmedPins.length > 0 ? confirmedPins : undefined })
});
if (!res.ok) {
@@ -7599,16 +7625,32 @@ function _renderLinkButton(text, url) {
var fileExts = ['.pptx','.pdf','.xlsx','.xls','.docx','.doc','.zip','.csv','.mp4','.mp3'];
var isDownload = fileExts.some(function(ext) { return text.toLowerCase().endsWith(ext); })
|| fileExts.some(function(ext) { return decodeURIComponent(url).toLowerCase().indexOf(ext) !== -1; });
var isPptx = decodeURIComponent(url).toLowerCase().indexOf('.pptx') !== -1 || text.toLowerCase().endsWith('.pptx');
var decodedUrl = decodeURIComponent(url).toLowerCase();
var isPptx = decodedUrl.indexOf('.pptx') !== -1 || text.toLowerCase().endsWith('.pptx');
var isPdf = decodedUrl.indexOf('.pdf') !== -1 || text.toLowerCase().endsWith('.pdf');
if (isPptx) {
var previewId = 'pptx-preview-' + Math.random().toString(36).substr(2, 9);
return '<div class="pptx-file-row">'
+ '<a href="' + url + '" onclick="downloadFile(event, this)" class="download-btn" title="Download ' + text + '">'
+ '<span class="download-icon">&#11015;</span> ' + text + '</a>'
+ ' <button class="pptx-preview-btn" onclick="togglePptxPreview(\'' + escHtml(url) + '\', \'' + previewId + '\', this)" title="Preview slides">&#9664; Preview</button>'
+ ' <button class="pptx-preview-btn" onclick="togglePptxPreview(\'' + escHtml(url) + '\', \'' + previewId + '\', this)" title="미리보기">&#9664; 미리보기</button>'
+ '<div id="' + previewId + '" class="pptx-preview-strip" style="display:none"></div>'
+ '</div>';
}
if (isPdf) {
var pdfId = 'pdf-embed-' + Math.random().toString(36).substr(2, 9);
return '<div class="pdf-file-row" style="display:flex;flex-direction:column;gap:6px;margin:4px 0">'
+ '<div style="display:flex;align-items:center;gap:8px;flex-wrap:wrap">'
+ '<a href="' + url + '" target="_blank" rel="noopener" class="download-btn" title="새 탭에서 열기">'
+ '<span style="font-size:14px">📄</span> ' + text + '</a>'
+ '<button class="pptx-preview-btn" onclick="togglePdfEmbed(\'' + escHtml(url) + '\',\'' + pdfId + '\',this)">&#9664; 미리보기</button>'
+ '<a href="' + url + '" onclick="downloadFile(event,this)" class="pptx-preview-btn" style="text-decoration:none">&#11015; 저장</a>'
+ '</div>'
+ '<div id="' + pdfId + '" style="display:none">'
+ '<iframe style="width:100%;height:600px;border:1px solid var(--line);border-radius:8px" allowfullscreen></iframe>'
+ '</div>'
+ '</div>';
}
if (isDownload) {
return '<a href="' + url + '" onclick="downloadFile(event, this)" class="download-btn" title="Download ' + text + '">'
+ '<span class="download-icon">&#11015;</span> ' + text + '</a>';
@@ -7616,6 +7658,20 @@ function _renderLinkButton(text, url) {
return '<a href="' + url + '" target="_blank" rel="noopener">' + text + '</a>';
}
function togglePdfEmbed(url, containerId, btn) {
var container = document.getElementById(containerId);
if (!container) return;
var iframe = container.querySelector('iframe');
if (container.style.display === 'none') {
container.style.display = 'block';
if (iframe) iframe.src = url; // src=""이면 현재페이지로 해석 → 항상 명시 설정
btn.innerHTML = '&#9650; 닫기';
} else {
container.style.display = 'none';
btn.innerHTML = '&#9664; 미리보기';
}
}
function renderMarkdown(text) {
if (!text) return '';
@@ -7803,6 +7859,281 @@ function handleImageUpload(input) {
.catch(function(e) { alert('Upload error: ' + e.message); });
}
// ── 파일 첨부 (이미지·PDF·Excel·txt·csv 등) ─────────────────────────────────
function handleFileUpload(input) {
var file = input.files && input.files[0];
if (!file) return;
input.value = '';
var name = file.name.toLowerCase();
// 이미지
if (file.type.startsWith('image/')) {
var imgForm = new FormData();
imgForm.append('image', file);
fetch('/api/upload/image', { method: 'POST', credentials: 'same-origin', body: imgForm })
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.success && data.path) {
insertIntoChatInput('![' + file.name + '](/api/files/' + data.path + ')');
} else { alert(data.error || '이미지 업로드 실패'); }
})
.catch(function(e) { alert('업로드 오류: ' + e.message); });
// txt / md
} else if (/\.(txt|md)$/.test(name)) {
var r1 = new FileReader();
r1.onload = function(e) {
var ext = name.split('.').pop();
stageAttachment(file.name, null, '**[파일: ' + file.name + ']**\n```' + ext + '\n' + e.target.result + '\n```', 'text');
};
r1.readAsText(file, 'UTF-8');
// CSV
} else if (/\.csv$/.test(name)) {
var r2 = new FileReader();
r2.onload = function(e) {
stageAttachment(file.name, null, '**[파일: ' + file.name + ']**\n```csv\n' + e.target.result + '\n```', 'csv');
};
r2.readAsText(file, 'UTF-8');
// Excel
} else if (/\.(xlsx|xls)$/.test(name)) {
loadSheetJS(function() {
var r3 = new FileReader();
r3.onload = function(e) {
try {
var wb = XLSX.read(e.target.result, { type: 'array' });
var result = '**[파일: ' + file.name + ']**\n\n';
wb.SheetNames.forEach(function(sn) {
var rows = XLSX.utils.sheet_to_json(wb.Sheets[sn], { header: 1 });
result += '### ' + sn + '\n';
rows.forEach(function(row) { result += '| ' + row.join(' | ') + ' |\n'; });
result += '\n';
});
stageAttachment(file.name, null, result, 'excel');
} catch(err) { alert('Excel 파싱 오류: ' + err.message); }
};
r3.readAsArrayBuffer(file);
});
// PDF — 업로드 + PDF.js 텍스트 추출 + txt 자동 저장
} else if (/\.pdf$/.test(name)) {
var pdfFile = file;
var pdfForm = new FormData();
pdfForm.append('file', pdfFile);
var uploadPromise = fetch('/api/upload/file', { method: 'POST', credentials: 'same-origin', body: pdfForm })
.then(function(r) { return r.json(); });
var extractPromise = new Promise(function(resolve) {
loadPdfJs(function() {
var fr = new FileReader();
fr.onload = function(e) {
pdfjsLib.getDocument({ data: new Uint8Array(e.target.result) }).promise
.then(function(pdf) {
var pages = [];
for (var i = 1; i <= pdf.numPages; i++) pages.push(pdf.getPage(i));
Promise.all(pages).then(function(ps) {
return Promise.all(ps.map(function(p) {
return p.getTextContent().then(function(tc) {
return tc.items.map(function(it) { return it.str; }).join(' ');
});
}));
}).then(function(texts) {
resolve({ text: texts.join('\n\n'), pages: pdf.numPages });
}).catch(function() { resolve({ text: '', pages: 0 }); });
}).catch(function() { resolve({ text: '', pages: 0 }); });
};
fr.readAsArrayBuffer(pdfFile);
});
});
Promise.all([uploadPromise, extractPromise]).then(function(res) {
var upData = res[0], extracted = res[1];
var fileUrl = (upData.success && upData.path) ? '/api/files/' + upData.path : null;
var trimmed = (extracted.text || '').trim().slice(0, 8000);
var content = '[' + pdfFile.name + '](' + (fileUrl || '') + ')\n\n';
if (trimmed) {
content += '**[PDF 내용 — ' + extracted.pages + '페이지]**\n\n' + trimmed;
if ((extracted.text || '').trim().length > 8000) content += '\n\n*(앞 8000자만 포함)*';
// PDF 텍스트를 .txt 파일로 자동 저장 → PDF 카드에 txt 버튼 추가
var txtName = pdfFile.name.replace(/\.pdf$/i, '.txt');
var txtBlob = new Blob([extracted.text], { type: 'text/plain; charset=utf-8' });
var txtForm = new FormData();
txtForm.append('file', new File([txtBlob], txtName, { type: 'text/plain' }));
// PDF 카드 먼저 추가 (txt 저장 대기 없이)
stageAttachment(pdfFile.name, fileUrl, content, 'pdf');
fetch('/api/upload/file', { method: 'POST', credentials: 'same-origin', body: txtForm })
.then(function(r) { return r.json(); })
.then(function(d) {
if (d.success && d.path) {
var txtUrl = '/api/files/' + d.path;
addProcessEntry('info', '📝 텍스트 저장: ' + txtName);
// 이미 스테이징된 PDF 카드에 txt 버튼 주입
addTxtButtonToPdfCard(pdfFile.name, txtName, txtUrl);
}
}).catch(function() {});
} else {
content += '*(텍스트 추출 불가 — 스캔 이미지이거나 보안 잠금 PDF)*';
stageAttachment(pdfFile.name, fileUrl, content, 'pdf');
}
}).catch(function(e) { alert('PDF 처리 오류: ' + e.message); });
// 기타 (docx/pptx 등)
} else {
var otherForm = new FormData();
otherForm.append('file', file);
fetch('/api/upload/file', { method: 'POST', credentials: 'same-origin', body: otherForm })
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.success && data.path) {
insertIntoChatInput('[' + file.name + '](/api/files/' + data.path + ')');
} else { alert(data.error || '파일 업로드 실패'); }
})
.catch(function(e) { alert('업로드 오류: ' + e.message); });
}
}
function insertIntoChatInput(text) {
var el = document.getElementById('chat-input');
el.value = el.value ? el.value + '\n' + text : text;
el.focus();
el.dispatchEvent(new Event('input'));
}
// ── 첨부 파일 스테이징 ──────────────────────────────────────────────────────
var stagedAttachments = [];
function stageAttachment(name, url, content, type) {
var id = 'att-' + Date.now() + '-' + Math.random().toString(36).substr(2, 5);
stagedAttachments.push({ id: id, name: name, url: url, content: content, type: type });
renderStagedAttachments();
}
function removeStagedAttachment(id) {
stagedAttachments = stagedAttachments.filter(function(a) { return a.id !== id; });
renderStagedAttachments();
}
function clearStagedAttachments() {
stagedAttachments = [];
renderStagedAttachments();
}
function renderStagedAttachments() {
var container = document.getElementById('staged-attachments');
if (!container) return;
if (!stagedAttachments.length) { container.style.display = 'none'; container.innerHTML = ''; return; }
container.style.display = 'flex';
container.innerHTML = stagedAttachments.map(function(a) {
var icon = a.type === 'pdf' ? '📄' : a.type === 'excel' ? '📊' : a.type === 'csv' ? '📋' : '📝';
var btnStyle = 'background:none;border:1px solid var(--brand);cursor:pointer;font-size:11px;color:var(--brand);padding:2px 6px;border-radius:4px';
// PDF 카드
if (a.type === 'pdf') {
return '<div id="card-' + a.id + '" style="display:flex;flex-direction:column;gap:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;max-width:320px">'
+ '<div style="display:flex;align-items:center;gap:6px">'
+ '<span>📄</span>'
+ '<span style="font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">' + escHtml(a.name) + '</span>'
+ (a.url ? '<button onclick="toggleStagedPdfPreview(\'' + a.id + '\')" style="' + btnStyle + '">미리보기</button>' : '')
+ '<button onclick="removeStagedAttachment(\'' + a.id + '\')" style="background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 2px">✕</button>'
+ '</div>'
+ '<div id="pdf-preview-' + a.id + '" style="display:none"><iframe data-src="' + escHtml(a.url || '') + '" style="width:100%;height:400px;border:1px solid var(--line);border-radius:6px"></iframe></div>'
+ '</div>';
}
// TXT 자동저장 카드 (미리보기 + 다운로드)
if (a.type === 'txt-auto') {
var preview = escHtml((a.content || '').slice(0, 300)) + ((a.content || '').length > 300 ? '...' : '');
return '<div id="card-' + a.id + '" style="display:flex;flex-direction:column;gap:4px;background:var(--panel-2);border:1px dashed var(--brand);border-radius:8px;padding:6px 10px;font-size:12px;max-width:320px">'
+ '<div style="display:flex;align-items:center;gap:6px">'
+ '<span>📝</span>'
+ '<span style="font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">' + escHtml(a.name) + '</span>'
+ '<button onclick="toggleStagedTxtPreview(\'' + a.id + '\')" style="' + btnStyle + '">미리보기</button>'
+ (a.url ? '<a href="' + escHtml(a.url) + '" download="' + escHtml(a.name) + '" style="' + btnStyle + ';text-decoration:none;display:inline-block" title="다운로드">⬇ 저장</a>' : '')
+ '<button onclick="removeStagedAttachment(\'' + a.id + '\')" style="background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 2px">✕</button>'
+ '</div>'
+ '<div id="txt-preview-' + a.id + '" style="display:none;max-height:200px;overflow-y:auto;background:var(--panel-1);border:1px solid var(--line);border-radius:6px;padding:8px;font-size:11px;white-space:pre-wrap;word-break:break-all;color:var(--text)">' + preview + '</div>'
+ '</div>';
}
// 기타 카드 (text, csv, excel)
return '<div id="card-' + a.id + '" style="display:flex;flex-direction:column;gap:4px;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;max-width:320px">'
+ '<div style="display:flex;align-items:center;gap:6px">'
+ '<span>' + icon + '</span>'
+ '<span style="font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap">' + escHtml(a.name) + '</span>'
+ '<button onclick="removeStagedAttachment(\'' + a.id + '\')" style="background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;line-height:1;padding:0 2px">✕</button>'
+ '</div>'
+ '</div>';
}).join('');
}
function toggleStagedPdfPreview(id) {
var el = document.getElementById('pdf-preview-' + id);
if (!el) return;
var att = stagedAttachments.find(function(a) { return a.id === id; });
if (el.style.display === 'none') {
el.style.display = 'block';
var iframe = el.querySelector('iframe');
if (iframe && att && att.url) iframe.src = att.url; // 항상 명시 설정
} else {
el.style.display = 'none';
}
}
function toggleStagedTxtPreview(id) {
var el = document.getElementById('txt-preview-' + id);
if (!el) return;
el.style.display = el.style.display === 'none' ? 'block' : 'none';
}
// PDF 카드에 txt 저장 버튼 동적 삽입 (txt 업로드 완료 후 호출)
function addTxtButtonToPdfCard(pdfName, txtName, txtUrl) {
// stagedAttachments에서 해당 PDF 찾기
var att = stagedAttachments.find(function(a) { return a.name === pdfName && a.type === 'pdf'; });
if (!att) return;
// txt 정보를 attachment에 저장 (전송 시 displayMessage에 포함용)
att.txtName = txtName;
att.txtUrl = txtUrl;
// 카드 DOM에 txt 버튼 삽입
var card = document.getElementById('card-' + att.id);
if (!card) return;
var btnRow = card.querySelector('div');
if (!btnRow) return;
var btnStyle = 'background:none;border:1px solid var(--brand);cursor:pointer;font-size:11px;color:var(--brand);padding:2px 6px;border-radius:4px;text-decoration:none;display:inline-block';
var txtBtn = document.createElement('a');
txtBtn.href = txtUrl;
txtBtn.download = txtName;
txtBtn.title = txtName + ' 다운로드';
txtBtn.style.cssText = btnStyle;
txtBtn.innerHTML = '📝 txt ⬇';
// ✕ 버튼 바로 앞에 삽입
var closeBtn = btnRow.lastElementChild;
btnRow.insertBefore(txtBtn, closeBtn);
}
// ── SheetJS / PDF.js 동적 로드 ──────────────────────────────────────────────
var _sheetJsLoaded = false;
function loadSheetJS(cb) {
if (_sheetJsLoaded) return cb();
var s = document.createElement('script');
s.src = 'https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js';
s.onload = function() { _sheetJsLoaded = true; cb(); };
document.head.appendChild(s);
}
var _pdfJsLoaded = false;
function loadPdfJs(cb) {
if (_pdfJsLoaded) return cb();
var s = document.createElement('script');
s.src = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.min.js';
s.onload = function() {
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js';
_pdfJsLoaded = true; cb();
};
document.head.appendChild(s);
}
function timeAgo(ts) {
const diff = Date.now() - ts;
if (diff < 60000) return 'just now';
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>강아지 사진 모음 - 다운로드</title>
<style>
body { font-family: 'Malgun Gothic', sans-serif; max-width: 600px; margin: 60px auto; padding: 20px; text-align: center; background: #f8f9fa; }
.card { background: white; border-radius: 12px; padding: 40px 30px; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
h1 { color: #1a1a2e; font-size: 24px; margin-bottom: 10px; }
p { color: #5f6f86; margin-bottom: 30px; }
.btn { display: inline-block; background: #1668e3; color: white; text-decoration: none; padding: 14px 36px; border-radius: 8px; font-size: 16px; font-weight: bold; transition: background 0.2s; }
.btn:hover { background: #1255bb; }
.meta { margin-top: 20px; font-size: 12px; color: #888; }
</style>
</head>
<body>
<div class="card">
<h1>강아지 사진 모음</h1>
<p>슬라이드 5장이 준비되었습니다.</p>
<a class="btn" href="강아지_사진_모음.pptx" download>프레젠테이션 다운로드</a>
<div class="meta">D:\homeclaw\workspace\강아지_사진_모음\강아지_사진_모음.pptx</div>
</div>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

+182
View File
@@ -0,0 +1,182 @@
# SmallClaw 작업 내용 요약
작성일: 2026-04-30 (최종 업데이트: 2026-04-30 — staged attachments 추가)
---
## 1. 멀티유저 워크스페이스 격리
### `src/config/config.ts`
- `getUserWorkspace(username)`: 실제 유저별 경로 반환
- `legacy` / 빈 값 → 글로벌 워크스페이스
- 일반 유저 → `.smallclaw/users/<username>/workspace`
- `ensureUserWorkspace(username)`: 유저 워크스페이스 초기화
- 디렉토리 없으면 생성
- 글로벌 워크스페이스에서 `SOUL.md`, `USER.md` 등 부트스트랩 파일 복사
- `memory/`, `reports/`, `drafts/` 서브디렉토리 자동 생성
### `src/gateway/session.ts`
- `Session` 인터페이스에 `username?: string` 추가
- `SESSION_DIR` 상수 → `getSessionDir(username?)` 함수로 교체
- `getSession(id, username?)`: 유저 디렉토리 우선 탐색, 글로벌 폴백
- `saveSession` / `flushSession`: `session.username` 기반 경로 사용
- `cleanupSessions`: 글로벌 + 전체 유저 디렉토리 스캔
- `migrateGlobalSessionsToUser(username)` 추가:
- 글로벌 세션을 유저 디렉토리로 복사
- username/workspace 주입
- `.migrated-from-global` 마커로 중복 실행 방지
### `src/gateway/server-v2.ts`
- `/api/chat` 핸들러: 요청마다 `ensureUserWorkspace` + `setWorkspace` 호출
- `/api/clear-history`, `/api/agent/session/:id`: username 기반 세션 조회
- 서버 시작 시 전체 유저 자동 마이그레이션 실행
---
## 2. 로그인 / 로그아웃
### `web-ui/index.html`
- 헤더 상태바에 유저 정보 필 + 로그아웃 버튼 추가
- `checkAuth()`: 로그인 상태 확인 후 유저명 표시
- `logout()`: `/api/auth/logout` POST → `login.html` 리다이렉트
---
## 3. UI 한글화
### `web-ui/index.html`
- 웰컴 화면: "로컬 모델과 직접 대화하세요..."
- 사이드바: 세션 / 🧩 스킬 / + 새 채팅 / 편집
- 헤더 모드 버튼: 채팅 / 작업 / 일정
- 채팅 영역: 모드 / 컨텍스트 / 대기 중인 프롬프트 / 전송 / 새로고침 등
- 백그라운드 작업 / 일정 뷰 전체
- 스킬 모달, 시스템 통계 패널, 에이전트 설정 등
### `web-ui/login.html`
- 로그인 화면 전체 한글화
- 에러 메시지, 플레이스홀더, 버튼 텍스트 모두 포함
### `src/gateway/boot.ts`
- 부팅 인사말 프롬프트 → 한국어로 2-3문장 요약 지시
### `src/gateway/server-v2.ts`
- 부팅 요약 지시에 `in Korean` 추가
### `workspace/SOUL.md` (글로벌 + cherry + papa 유저)
- `Language`: "항상 한국어로 응답, 사용자가 다른 언어로 쓸 때만 전환"
---
## 4. 파일 첨부 기능 확장
### `web-ui/index.html`
- 이미지 업로드 버튼 → 파일 첨부 버튼 (📎) 으로 변경
- `accept` 속성 확장: `image/*, .pdf, .txt, .md, .csv, .xlsx, .xls, .docx, .pptx`
- `handleFileUpload()` 함수 추가 — 파일 타입별 처리:
| 파일 타입 | 처리 방식 |
|-----------|-----------|
| 이미지 | 서버 업로드 → `![이미지]()` 마크다운 삽입 |
| txt / md | FileReader로 직접 읽어 코드 블록 삽입 |
| CSV | FileReader → ` ```csv ``` ` 블록 삽입 |
| Excel (.xlsx/.xls) | SheetJS 동적 로드 → 마크다운 테이블 변환 삽입 |
| **PDF** | PDF.js 텍스트 추출 + 서버 업로드 → 내용 직접 채팅에 삽입 |
| 기타 (docx/pptx 등) | 서버 업로드 → 파일 링크 삽입 |
- `insertIntoChatInput(text)`: 채팅 입력창 삽입 헬퍼 (이미지 전용)
- `loadSheetJS(cb)`: SheetJS CDN 동적 로드 (xlsx 0.18.5, 최초 1회)
- `loadPdfJs(cb)`: PDF.js CDN 동적 로드 (pdf.js 3.11.174, 최초 1회)
- PDF 링크 렌더링: 📄 새 탭 열기 + ◄ 미리보기(iframe) + ↙ 저장
### `src/gateway/server-v2.ts`
- `/api/upload/file` 엔드포인트 추가:
- `multipart/form-data`의 `file` 필드 파싱
- 최대 50MB 제한
- 유저 워크스페이스 `uploads/` 에 저장
- `{ success, path, url, filename, size, type }` 반환
- `/api/files` 파일 서빙:
- `res.sendFile` → `fs.createReadStream().pipe(res)` 로 교체 (Express 5 호환)
- `Content-Length` 헤더 명시
- PDF/txt/csv/md → `Content-Disposition: inline` (브라우저 뷰어)
- xlsx/docx/pptx/zip 등 → `Content-Disposition: attachment` (다운로드)
---
## 5. 파일 스테이징 (채팅창 첨부 카드 표시)
### `web-ui/index.html`
**배경**: 파일을 채팅 입력창 텍스트에 바로 삽입하면 너무 길어지고 PDF 미리보기가 불가능.
→ 전송 전까지 카드 형태로 별도 영역에 표시하는 "staged attachments" 패턴으로 변경.
**HTML 추가**:
```html
<!-- .chat-input-row 위쪽 -->
<div id="staged-attachments" style="display:none;flex-wrap:wrap;gap:8px;padding:8px 12px 0;border-top:1px solid var(--line)"></div>
```
**JS 함수**:
| 함수 | 역할 |
|------|------|
| `stageAttachment(name, url, content, type)` | 첨부 배열에 추가 후 카드 렌더링 |
| `removeStagedAttachment(id)` | ✕ 버튼으로 개별 제거 |
| `clearStagedAttachments()` | 전송 후 전체 초기화 |
| `renderStagedAttachments()` | `#staged-attachments` 에 카드 HTML 생성 |
| `toggleStagedPdfPreview(id)` | PDF 카드 내 iframe 펼치기/접기 |
**카드 표시 형태**:
- txt/md → 📝 + 파일명 + ✕
- csv → 📋 + 파일명 + ✕
- xlsx/xls → 📊 + 파일명 + ✕
- pdf → 📄 + 파일명 + **미리보기** 버튼(iframe 토글) + ✕
**파일 타입별 처리 변경** (`handleFileUpload`):
| 파일 타입 | 이전 | 이후 |
|-----------|------|------|
| txt/md | `insertIntoChatInput(코드블록)` | `stageAttachment(..., 'text')` |
| csv | `insertIntoChatInput(csv블록)` | `stageAttachment(..., 'csv')` |
| xlsx/xls | `insertIntoChatInput(마크다운테이블)` | `stageAttachment(..., 'excel')` |
| pdf | `insertIntoChatInput(추출텍스트)` | `stageAttachment(name, url, content, 'pdf')` |
| 이미지 | `insertIntoChatInput('![](url)')` | 동일 (카드 없이 유지) |
**sendChat 패치**:
```javascript
// 스테이징된 첨부파일 내용을 메시지에 포함
let fullMessage = message;
if (stagedAttachments.length > 0) {
const attachParts = stagedAttachments.map(a =>
a.content || ('[첨부: ' + a.name + '](' + (a.url||'') + ')')
);
fullMessage = attachParts.join('\n\n') + (message ? '\n\n' + message : '');
clearStagedAttachments();
}
chatHistory.push({ role: 'user', content: fullMessage });
```
---
## 변경된 파일 목록
| 파일 | 변경 내용 |
|------|-----------|
| `src/config/config.ts` | getUserWorkspace, ensureUserWorkspace |
| `src/gateway/session.ts` | 멀티유저 세션 격리, 마이그레이션 |
| `src/gateway/server-v2.ts` | 채팅 핸들러, 파일 업로드/서빙, 부팅 |
| `src/gateway/boot.ts` | 부팅 인사말 한글 지시 |
| `web-ui/index.html` | UI 한글화, 파일 첨부, PDF 미리보기, 스테이징 카드 |
| `web-ui/login.html` | 로그인 화면 한글화 |
| `workspace/SOUL.md` | 기본 언어 한국어 설정 |
| `.smallclaw/users/*/workspace/SOUL.md` | 동일 |
---
## 주요 트러블슈팅 이력
| 증상 | 원인 | 해결 |
|------|------|------|
| Edit 툴이 큰 파일을 자름 | Edit 툴의 대형 파일 덮어쓰기 버그 | Python 바이트 단위 꼬리 복구 스크립트 |
| PDF 500 에러 | Express 5에서 `res.sendFile` 미동작 | `fs.createReadStream().pipe(res)` 교체 |
| PDF가 다운로드됨 | `Content-Disposition: attachment` | `inlineExts` 목록 추가 → `inline` |
| AI가 PDF 내용 못 읽음 | 업로드 경로 ≠ AI 워크스페이스 경로 | 클라이언트 PDF.js 텍스트 추출 후 메시지에 직접 삽입 |
| 채팅 입력창이 파일 내용으로 가득 참 | 텍스트 직접 삽입 방식 | staged attachments 카드 패턴으로 전환 |