# 방화셔터 견적 시스템 (Estimate System) ## 📋 개요 이 폴더는 방화셔터 스크린과 철재의 견적을 산출하고 문서를 작성하기 위한 종합적인 시스템입니다. 견적서 작성, 수정, 조회, 출력, 단가 관리, 통계 분석 등의 모든 기능을 제공합니다. ## 🗂️ 폴더 구조 ``` estimate/ ├── common/ # 공통 JavaScript 및 PHP 파일 │ ├── common_addrowJS.php # 견적 항목 추가 JavaScript │ ├── lastJS.php # 최종 JavaScript 처리 │ ├── common_slat.php # 철재 공통 기능 │ ├── common_screen.php # 스크린 공통 기능 │ ├── output_lastJS.php # 출력용 최종 JavaScript │ ├── output_head.php # 출력용 헤더 │ ├── estimate_head.php # 견적 헤더 │ ├── compare_lastJS.php # 견적 비교용 JavaScript │ ├── compare_price_edit_table.php # 가격 비교 편집 테이블 │ └── estimate_compare_head.php # 견적 비교 헤더 ├── css/ # 스타일시트 파일 │ └── style.css # 견적 시스템 전용 스타일 ├── *.php # 메인 기능 파일들 └── README.md # 시스템 문서 ``` ## 📁 상세 파일 설명 ### 🎯 **메인 기능 파일** #### **estimate.php** (53KB, 1363 lines) - **기능**: 스크린 견적서 메인 페이지 - **역할**: 스크린 제품의 견적서 작성 및 수정 - **주요 특징**: - 견적서 데이터 입력 폼 제공 - 저장 및 닫기 기능 - 수정 모드 지원 - 실시간 데이터 검증 - 자동 계산 기능 - **사용 방법**: 스크린 견적서 작성 시 메인 진입점 - **연관 파일**: `_request.php`, `_row.php`, `common/common_addrowJS.php` #### **estimateSlat.php** (51KB, 1307 lines) - **기능**: 철재스라트 견적서 메인 페이지 - **역할**: 철재 제품의 견적서 작성 및 수정 - **주요 특징**: - 철재스라트 전용 견적서 폼 - 스크린과 유사한 구조이지만 철재 특화 기능 - 철재 사양별 단가 계산 - 절곡, 용접 등 철재 특수 공정 반영 - **사용 방법**: 철재 견적서 작성 시 메인 진입점 - **연관 파일**: `get_slat_amount.php`, `fetch_unitprice.php` #### **write_form.php** (101KB, 2426 lines) - **기능**: 견적 산출 통합 폼 - **역할**: 새로운 견적 작성 및 기존 견적 수정 - **주요 특징**: - 스크린/철재 선택 가능 - 데이터 복사 기능 (mode=copy) - 발주서 연동 기능 - 실시간 단가 계산 - 자동 저장 기능 - 다중 견적 항목 관리 - **사용 방법**: 새로운 견적 작성 또는 기존 견적 수정 - **연관 파일**: `insert.php`, `get_screen_amount.php`, `get_slat_amount.php` #### **list.php** (14KB, 400 lines) - **기능**: 견적 목록 조회 및 관리 - **역할**: 등록된 견적들의 리스트 표시 및 검색 - **주요 특징**: - 날짜 범위 필터링 (기본: 과거 10개월 ~ 미래 1개월) - 모델명, 대분류, 중분류 필터링 - 전체 컬럼 검색 기능 - 페이징 처리 - 정렬 기능 (기본: num DESC) - **사용 방법**: 견적 목록 조회 및 검색 - **연관 파일**: `edit.php` ### 💰 **견적 계산 관련 파일** #### **get_screen_amount.php** (27KB, 583 lines) - **기능**: 스크린 견적 금액 계산 엔진 - **역할**: 스크린 제품의 단가 및 총액 계산 - **주요 특징**: - 실리카/와이어 스크린 구분 계산 - 검사비 자동 계산 - 주자재, 부자재, 모터, 케이스 등 세부 항목별 계산 - 체크박스 옵션에 따른 추가 비용 반영 - JSON 형태로 상세 내역 반환 - **핵심 함수**: - `calculateScreenAmount()`: 메인 계산 함수 - `calculateGuideRailPrice()`: 가이드레일 가격 계산 - `calculateShaftPrice()`: 샤프트 가격 계산 - **연관 파일**: `fetch_unitprice.php`, `price_raw_materials` 테이블 #### **get_slat_amount.php** (26KB, 541 lines) - **기능**: 철재스라트 견적 금액 계산 엔진 - **역할**: 철재 제품의 단가 및 총액 계산 - **주요 특징**: - 환봉, 각파이프 등 철재 종류별 계산 - 절곡, 용접 공정비 반영 - 모터 브라켓 사이즈 자동 계산 - 중량 및 인치 기준 모터 용량 판별 - **핵심 함수**: - `calculateSlatAmount()`: 메인 계산 함수 - `searchBracketSize()`: 브라켓 사이즈 검색 - **연관 파일**: `fetch_unitprice.php`, `price_raw_materials` 테이블 #### **get_estimate_amount.php** (3.2KB, 87 lines) - **기능**: 일반 견적 금액 계산 - **역할**: 기본 견적 계산 로직 - **주요 특징**: - 기본 단가 계산 - 수량별 총액 계산 - 할인율 적용 - **사용 방법**: 간단한 견적 계산이 필요한 경우 #### **fetch_unitprice.php** (32KB, 875 lines) - **기능**: 단가 정보 조회 및 계산 유틸리티 - **역할**: 제품별 단가 데이터 가져오기 및 계산 함수 제공 - **주요 함수들**: - `searchBracketSize()`: 모터 브라켓 사이즈 검색 - `slatPrice()`: 철재 단가 조회 - `addShaftPrice()`: 샤프트 가격 추가 - `calculatePipe()`: 파이프 계산 - `calculateMotorSpec()`: 모터 사양 계산 - `getScreenUnitPrice()`: 스크린 단가 조회 - `getMaterialPrices()`: 자재 가격 조회 - **특징**: 모든 견적 계산의 기반이 되는 핵심 유틸리티 파일 - **연관 파일**: 모든 견적 계산 파일에서 참조 #### **fetch_price.php** (2.8KB, 91 lines) - **기능**: 가격 정보 조회 - **역할**: 특정 제품의 가격 정보 조회 - **주요 특징**: - 원격 가격 조회 - 캐싱 기능 - 에러 처리 ### 📊 **견적 단가 관리** #### **estimateUnit.php** (25KB, 757 lines) - **기능**: 견적 단가 관리 시스템 - **역할**: 제품별 단가 설정 및 관리 - **주요 특징**: - 스크린, 철재, 모터 등 제품별 단가 관리 - CSV 데이터 임포트 기능 - 단가 이력 관리 - 실시간 단가 업데이트 - **사용 방법**: 관리자가 제품별 단가를 설정하고 관리 - **연관 파일**: `list_unit.php`, `fetch_unitprice.php` #### **list_unit.php** (34KB, 917 lines) - **기능**: 단가 목록 조회 및 관리 - **역할**: 등록된 단가 정보들의 리스트 표시 - **주요 특징**: - 단가 검색 및 필터링 - 단가 수정 기능 - 단가 이력 조회 - 엑셀 내보내기 ### 🔍 **조회 및 출력** #### **viewEstimate.php** (63KB, 1575 lines) - **기능**: 스크린 견적서 상세 조회 및 출력 - **역할**: 스크린 견적서의 상세 내용 표시 및 PDF 출력 - **주요 특징**: - 완전한 견적서 형태로 출력 - PDF 저장 기능 - 회사 정보 및 견적 상세 내역 포함 - 인쇄 최적화 레이아웃 - **사용 방법**: 스크린 견적서 최종 출력 - **연관 파일**: `css/style.css`, `fetch_unitprice.php` #### **viewEstimateDetail.php** (85KB, 1822 lines) - **기능**: 견적서 세부사항 조회 - **역할**: 견적서의 세부 항목들 표시 - **주요 특징**: - 항목별 상세 내역 - 계산 과정 표시 - 단가 및 수량 상세 정보 - **사용 방법**: 견적서의 상세 내역 확인 - **연관 파일**: `fetch_unitprice.php`, `css/style.css` #### **screen_view_original.php** (90KB, 1825 lines) - **기능**: 스크린 견적서 원본 출력 - **역할**: 스크린 견적서의 원본 형태 출력 - **주요 특징**: - 원본 견적서 형태 - 모든 세부 정보 포함 - 인쇄용 레이아웃 #### **screen_view_modified.php** (61KB, 1266 lines) - **기능**: 스크린 견적서 수정본 출력 - **역할**: 수정된 스크린 견적서 출력 - **주요 특징**: - 수정된 내용 반영 - 변경 이력 표시 - 최적화된 레이아웃 #### **slat_view_original.php** (82KB, 1774 lines) - **기능**: 철재스라트 견적서 원본 출력 - **역할**: 철재스라트 견적서의 원본 형태 출력 - **주요 특징**: - 철재 전용 견적서 형태 - 철재 사양 상세 정보 - 절곡, 용접 정보 포함 #### **slat_view_modified.php** (55KB, 1135 lines) - **기능**: 철재스라트 견적서 수정본 출력 - **역할**: 수정된 철재스라트 견적서 출력 - **주요 특징**: - 수정된 철재 견적서 - 변경 사항 표시 - **사용 방법**: 수정된 철재 견적서 출력 - **연관 파일**: `css/style.css`, `fetch_unitprice.php` #### **viewEstimateSlatDetail.php** (885B, 21 lines) - **기능**: 철재 견적서 상세 조회 - **역할**: 철재 견적서의 상세 내용 표시 - **사용 방법**: 철재 견적서 상세 조회 #### **EsDetail_screen.php** (1010B, 26 lines) - **기능**: 스크린 견적서 세부사항 - **역할**: 스크린 견적서의 세부 항목 처리 - **사용 방법**: 스크린 견적서 세부사항 출력 #### **EsDetail_slat.php** (918B, 20 lines) - **기능**: 철재 견적서 세부사항 - **역할**: 철재 견적서의 세부 항목 처리 - **사용 방법**: 철재 견적서 세부사항 출력 #### **output_EsDetail_screen.php** (1.1KB, 29 lines) - **기능**: 스크린 견적서 세부사항 출력 - **역할**: 스크린 견적서 세부사항의 출력 처리 - **사용 방법**: 스크린 견적서 세부사항 출력 #### **output_EsDetail_slat.php** (1.1KB, 27 lines) - **기능**: 철재 견적서 세부사항 출력 - **역할**: 철재 견적서 세부사항의 출력 처리 - **사용 방법**: 철재 견적서 세부사항 출력 ### 📝 **데이터 관리** #### **insert.php** (9.9KB, 199 lines) - **기능**: 견적 데이터 삽입 및 수정 - **역할**: 새로운 견적 정보를 데이터베이스에 저장하거나 기존 견적 수정 - **주요 특징**: - JSON 데이터 안전 처리 - 프로젝트 번호 자동 생성 - 트랜잭션 처리 - 수정 로그 기록 - 에러 처리 및 롤백 - **핵심 기능**: - `mode="modify"`: 기존 견적 수정 - `mode="insert"`: 새로운 견적 등록 - 자동 `pjnum` 생성 (KD-PR-YYYYMM-NN 형식) - **연관 파일**: `generate_serial_pjnum.php`, `_request.php` #### **edit.php** (23KB, 680 lines) - **기능**: 견적 수정 폼 - **역할**: 기존 견적을 수정하기 위한 폼 제공 - **주요 특징**: - 기존 데이터 로드 - 수정 전용 인터페이스 - 데이터 검증 #### **edit_slat.php** (18KB, 584 lines) - **기능**: 철재스라트 견적 수정 폼 - **역할**: 철재스라트 견적 수정 전용 폼 - **주요 특징**: - 철재 전용 수정 인터페이스 - 철재 사양 수정 기능 ### 🔧 **유틸리티 파일** #### **_request.php** (3.3KB, 51 lines) - **기능**: 요청 변수 처리 및 안전화 - **역할**: POST/GET 요청의 변수들을 안전하게 처리 - **주요 변수들**: - `num`, `con_num`: 견적 번호, 계약 번호 - `outdate`, `indate`: 견적서 작성일, 등록일 - `orderman`, `outworkplace`: 주문자명, 작업장/현장명 - `estimateList`, `estimateSlatList`: 스크린/철재 견적 항목 JSON - `estimateList_auto`, `estimateSlatList_auto`: 자동 저장된 견적 항목 JSON - `makeWidth`, `makeHeight`: 제작 폭/높이 (mm) - `steel`, `motor`, `warranty`: 철재 절곡, 모터 설치, 보증서 발급 여부 - `slatcheck`, `partscheck`: 주자재/부자재 체크 여부 - `EstimateFirstSum`, `EstimateUpdatetSum`, `EstimateFinalSum`: 견적 금액들 - **특징**: 모든 견적 관련 파일에서 공통으로 사용되는 변수 처리 #### **_row.php** (2.9KB, 49 lines) - **기능**: 데이터베이스 행 처리 - **역할**: DB에서 가져온 데이터를 PHP 변수로 설정 - **주요 특징**: - JSON 데이터 디코딩 - 변수 초기화 - 기본값 설정 #### **generate_serial_pjnum.php** (755B, 24 lines) - **기능**: 프로젝트 번호 생성 - **역할**: 견적서용 고유 프로젝트 번호 자동 생성 - **생성 형식**: `KD-PR-YYYYMM-NN` (예: KD-PR-202412-01) - **특징**: 중복 방지 및 순차 번호 생성 #### **get_initial_pjnum.php** (729B, 24 lines) - **기능**: 초기 프로젝트 번호 조회 - **역할**: 프로젝트 번호의 초기값 가져오기 - **사용 방법**: 견적서 작성 시 기본 번호 제공 #### **fetch_length_data.php** (3.1KB, 102 lines) - **기능**: 길이 데이터 조회 - **역할**: 제품별 길이 정보 조회 - **사용 방법**: 견적 계산 시 길이 정보 참조 #### **fetch_date.php** (1.5KB, 40 lines) - **기능**: 날짜 데이터 조회 - **역할**: 날짜 관련 정보 조회 - **사용 방법**: 날짜 필터링 및 검색 #### **fetch_outworkplace.php** (2.2KB, 58 lines) - **기능**: 작업장 정보 조회 - **역할**: 작업장/현장 정보 조회 - **사용 방법**: 작업장 정보 자동완성 #### **fetch_receiver.php** (1.9KB, 55 lines) - **기능**: 수신자 정보 조회 - **역할**: 견적서 수신자 정보 조회 - **사용 방법**: 수신자 정보 자동완성 #### **recalc_row.php** (355B, 13 lines) - **기능**: 행 재계산 - **역할**: 견적 항목 행의 재계산 처리 - **사용 방법**: 실시간 계산 업데이트 #### **insert_detail.php** (4.1KB, 96 lines) - **기능**: 견적 세부사항 삽입 - **역할**: 견적의 세부 항목들을 데이터베이스에 저장 - **사용 방법**: 견적 세부사항 저장 #### **insert_detail_output.php** (5.5KB, 107 lines) - **기능**: 출력용 견적 세부사항 삽입 - **역할**: 출력용 견적 세부사항을 데이터베이스에 저장 - **사용 방법**: 출력용 견적 세부사항 저장 #### **insert_estimate.php** (1.6KB, 53 lines) - **기능**: 견적 기본 정보 삽입 - **역할**: 견적의 기본 정보를 데이터베이스에 저장 - **사용 방법**: 견적 기본 정보 저장 #### **insert_logmenu.php** (1.2KB, 39 lines) - **기능**: 로그 메뉴 삽입 - **역할**: 견적 관련 로그 메뉴 정보 저장 - **사용 방법**: 로그 메뉴 정보 저장 #### **estimate_table.php** (713B, 25 lines) - **기능**: 견적 테이블 생성 - **역할**: 견적 데이터를 표시하는 테이블 생성 - **사용 방법**: 견적 테이블 출력 #### **excel_sample.php** (0.0B, 0 lines) - **기능**: 엑셀 샘플 파일 - **역할**: 엑셀 출력을 위한 샘플 템플릿 - **사용 방법**: 엑셀 출력 템플릿 참조 ### 📊 **통계 및 분석** #### **statistics.php** (8.0KB, 195 lines) - **기능**: 견적 통계 대시보드 - **역할**: 견적 관련 통계 정보 표시 - **주요 특징**: - 월별/분기별 견적 현황 - 제품별 통계 - 매출 분석 - **사용 방법**: 견적 현황 및 통계 확인 - **연관 파일**: `func_statistics.php` #### **func_statistics.php** (1.6KB, 44 lines) - **기능**: 통계 계산 함수 모음 - **역할**: 통계 계산을 위한 함수들 - **주요 함수**: - 매출 계산 함수 - 비율 계산 함수 - 차트 데이터 생성 함수 ### 📤 **출력 및 엑셀** #### **saveExcel.php** (6.0KB, 177 lines) - **기능**: 엑셀 파일 저장 - **역할**: 견적서를 엑셀 형태로 저장 - **주요 특징**: - PHPSpreadsheet 라이브러리 사용 - 견적서 형태 그대로 엑셀 변환 - 서식 및 스타일 유지 - **사용 방법**: 견적서를 엑셀 파일로 다운로드 #### **downloadExcel.php** (741B, 26 lines) - **기능**: 엑셀 파일 다운로드 처리 - **역할**: 엑셀 파일 다운로드 처리 - **주요 특징**: - 파일 다운로드 헤더 설정 - 보안 처리 ### 🔄 **기타 기능** #### **compare.php** (2.7KB, 79 lines) - **기능**: 견적 비교 분석 - **역할**: 여러 견적을 비교 분석 - **주요 특징**: - 견적 간 차이점 표시 - 가격 비교 - 사양 비교 #### **search.php** (10KB, 246 lines) - **기능**: 견적 검색 엔진 - **역할**: 견적 정보 검색 기능 - **주요 특징**: - 고급 검색 기능 - 검색 결과 필터링 - 검색 히스토리 - **사용 방법**: 견적 정보 검색 - **연관 파일**: `list.php` #### **list_sim.php** (13KB, 346 lines) - **기능**: 견적 목록 시뮬레이션 - **역할**: 견적 목록의 시뮬레이션 및 테스트 - **주요 특징**: - 견적 목록 시뮬레이션 - 테스트 데이터 생성 - 성능 테스트 - **사용 방법**: 견적 목록 기능 테스트 - **연관 파일**: `list.php` ### 📁 **하위 폴더 상세** #### **common/** 폴더 공통으로 사용되는 JavaScript와 PHP 파일들이 포함되어 있습니다. ##### **common_addrowJS.php** (113KB, 2536 lines) - **기능**: 견적 항목 추가 JavaScript - **역할**: 견적 테이블에 새로운 행을 동적으로 추가 - **주요 특징**: - 71개 컬럼을 가진 견적 행 생성 - 스크린/철재 모델 옵션 자동 로드 - 실시간 계산 버튼 추가 - 복사/삭제 기능 - 셔터박스, 모터 등 특수 입력 필드 처리 - **핵심 함수**: - `addRow()`: 새로운 행 추가 - `removeRow()`: 행 삭제 - `copyRow()`: 행 복사 - **사용 방법**: 견적서 작성 시 항목 추가 ##### **lastJS.php** (27KB, 753 lines) - **기능**: 최종 JavaScript 처리 - **역할**: 견적서 작성 완료 후 최종 처리 - **주요 특징**: - 데이터 검증 - 자동 저장 - 계산 완료 처리 - 폼 제출 처리 ##### **common_slat.php** (10KB, 227 lines) - **기능**: 철재 공통 기능 - **역할**: 철재 견적 관련 공통 함수들 - **주요 특징**: - 철재 계산 함수 - 철재 사양 처리 - 철재 단가 조회 ##### **common_screen.php** (10KB, 220 lines) - **기능**: 스크린 공통 기능 - **역할**: 스크린 견적 관련 공통 함수들 - **주요 특징**: - 스크린 계산 함수 - 스크린 사양 처리 - 스크린 단가 조회 ##### **output_head.php** (13KB, 263 lines) - **기능**: 출력용 헤더 - **역할**: 견적서 출력 시 사용되는 헤더 정보 - **주요 특징**: - 회사 정보 - 견적서 양식 - 인쇄 스타일 ##### **estimate_head.php** (11KB, 224 lines) - **기능**: 견적 헤더 - **역할**: 견적서 작성 시 사용되는 헤더 정보 - **주요 특징**: - 견적서 기본 정보 - 입력 폼 헤더 - 검증 스크립트 ##### **output_lastJS.php** (33KB, 934 lines) - **기능**: 출력용 최종 JavaScript - **역할**: 견적서 출력 시 최종 처리 - **주요 특징**: - PDF 생성 - 인쇄 처리 - 출력 최적화 ##### **compare_lastJS.php** (24KB, 682 lines) - **기능**: 견적 비교용 JavaScript - **역할**: 견적 비교 시 사용되는 JavaScript - **주요 특징**: - 견적 비교 로직 - 차이점 표시 - 비교 결과 출력 ##### **compare_price_edit_table.php** (4.8KB, 103 lines) - **기능**: 가격 비교 편집 테이블 - **역할**: 견적 가격 비교 시 편집 가능한 테이블 - **주요 특징**: - 실시간 가격 편집 - 비교 표시 - 변경 사항 저장 ##### **estimate_compare_head.php** (9.5KB, 207 lines) - **기능**: 견적 비교 헤더 - **역할**: 견적 비교 페이지의 헤더 정보 - **주요 특징**: - 비교 양식 - 비교 옵션 - 비교 결과 표시 #### **css/** 폴더 스타일시트 파일들이 포함되어 있습니다. ##### **style.css** (4.6KB, 154 lines) - **기능**: 견적 시스템 전용 스타일 - **역할**: 견적서 작성 및 출력 시 사용되는 CSS - **주요 특징**: - 견적서 양식 스타일 - 인쇄 최적화 스타일 - 반응형 디자인 - 테이블 스타일링 - 버튼 및 폼 스타일 ### 🔐 **보안 및 인증** #### **세션 기반 인증** - 모든 견적 관련 페이지에서 세션 검증 - 사용자 레벨에 따른 접근 제어 (레벨 5 이하만 접근 가능) - 세션 만료 시 자동 로그아웃 #### **데이터 보안** - SQL 인젝션 방지를 위한 PDO 사용 - 입력 데이터 검증 및 필터링 - XSS 공격 방지 - CSRF 토큰 검증 #### **파일 보안** - 직접 파일 접근 제한 - 업로드 파일 검증 - 실행 파일 업로드 차단 ### 💡 **주요 특징 및 기능** #### **1. 이중 견적 시스템** - **스크린 견적**: 실리카/와이어 스크린 전용 견적 시스템 - **철재 견적**: 철재스라트 전용 견적 시스템 - **통합 관리**: 하나의 시스템에서 두 종류 견적 모두 관리 #### **2. 자동 계산 엔진** - **실시간 계산**: 입력 즉시 견적 금액 자동 계산 - **복잡한 계산**: 치수, 단가, 수량, 옵션에 따른 정확한 계산 - **검사비 자동**: 수량에 따른 검사비 자동 계산 - **할인율 적용**: 할인율 및 할인 금액 자동 계산 #### **3. 다양한 출력 형태** - **원본 견적서**: 최초 작성된 견적서 형태 - **수정본 견적서**: 수정된 견적서 형태 - **PDF 출력**: 견적서를 PDF 형태로 저장 - **엑셀 출력**: 견적서를 엑셀 형태로 저장 - **인쇄 최적화**: 인쇄용 레이아웃 제공 #### **4. 단가 관리 시스템** - **제품별 단가**: 스크린, 철재, 모터 등 제품별 단가 관리 - **단가 이력**: 단가 변경 이력 관리 - **CSV 임포트**: 대량 단가 데이터 임포트 - **실시간 업데이트**: 단가 변경 시 실시간 반영 #### **5. 통계 및 분석** - **매출 통계**: 월별/분기별 매출 분석 - **제품별 통계**: 제품별 판매 현황 - **견적 현황**: 견적 작성 및 승인 현황 - **차트 제공**: 시각적 통계 차트 #### **6. 검색 및 필터링** - **고급 검색**: 다양한 조건으로 견적 검색 - **날짜 필터**: 날짜 범위별 검색 - **제품 필터**: 제품별 검색 - **상태 필터**: 견적 상태별 검색 #### **7. 데이터 관리** - **JSON 저장**: 견적 항목을 JSON 형태로 저장 - **자동 저장**: 작업 중 자동 저장 기능 - **버전 관리**: 견적 수정 이력 관리 - **백업 복구**: 데이터 백업 및 복구 기능 ### 🚀 **사용법 가이드** #### **1. 견적 작성** ```bash # 새로운 견적 작성 1. write_form.php 접속 2. 스크린/철재 선택 3. 견적 항목 입력 4. 자동 계산 확인 5. 저장 ``` #### **2. 견적 조회** ```bash # 견적 목록 조회 1. list.php 접속 2. 검색 조건 설정 3. 견적 목록 확인 4. 상세 조회 또는 수정 ``` #### **3. 견적 수정** ```bash # 기존 견적 수정 1. list.php에서 수정할 견적 선택 2. edit.php 또는 edit_slat.php 접속 3. 데이터 수정 4. 저장 ``` #### **4. 견적서 출력** ```bash # 견적서 출력 1. viewEstimate.php에서 견적서 확인 2. PDF 저장 또는 인쇄 3. 엑셀 다운로드 (필요시) ``` #### **5. 단가 관리** ```bash # 단가 설정 1. estimateUnit.php 접속 2. 제품별 단가 입력 3. CSV 임포트 (대량 데이터) 4. 단가 적용 ``` ### 🔧 **개발 및 유지보수** #### **데이터베이스 구조** - **estimate 테이블**: 메인 견적 정보 - **price_raw_materials 테이블**: 원자재 단가 정보 - **estimate_units 테이블**: 단가 관리 정보 #### **주요 API** - **견적 계산 API**: `get_screen_amount.php`, `get_slat_amount.php` - **단가 조회 API**: `fetch_unitprice.php` - **데이터 저장 API**: `insert.php` #### **JavaScript 라이브러리** - **jQuery**: DOM 조작 및 AJAX - **Bootstrap**: UI 프레임워크 - **PHPSpreadsheet**: 엑셀 처리 #### **에러 처리** - **PHP 에러 로그**: `/php_errors.log` - **사용자 친화적 에러 메시지** - **트랜잭션 롤백** ### 📞 **지원 및 문의** - **개발팀**: 시스템 개발 및 유지보수 - **관리자**: 사용자 권한 및 시스템 설정 - **기술지원**: 사용법 문의 및 문제 해결