v2.2
@@ -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": "",
|
||||
"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
|
||||
@@ -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();
|
||||
|
||||
@@ -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">📎</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">⬇</span> ' + text + '</a>'
|
||||
+ ' <button class="pptx-preview-btn" onclick="togglePptxPreview(\'' + escHtml(url) + '\', \'' + previewId + '\', this)" title="Preview slides">◀ Preview</button>'
|
||||
+ ' <button class="pptx-preview-btn" onclick="togglePptxPreview(\'' + escHtml(url) + '\', \'' + previewId + '\', this)" title="미리보기">◀ 미리보기</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)">◀ 미리보기</button>'
|
||||
+ '<a href="' + url + '" onclick="downloadFile(event,this)" class="pptx-preview-btn" style="text-decoration:none">⬇ 저장</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">⬇</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 = '▲ 닫기';
|
||||
} else {
|
||||
container.style.display = 'none';
|
||||
btn.innerHTML = '◀ 미리보기';
|
||||
}
|
||||
}
|
||||
|
||||
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('');
|
||||
} 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>
|
||||
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 1.8 MiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 228 KiB |
|
After Width: | Height: | Size: 130 KiB |
@@ -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('')` | 동일 (카드 없이 유지) |
|
||||
|
||||
**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 카드 패턴으로 전환 |
|
||||