Files
sam-kd/0readme/estimate

방화셔터 견적 시스템 (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 (18KB, 450 lines)

  • 기능: 견적 통계 및 분석
  • 역할: 견적 데이터를 분석하여 통계 정보 제공
  • 주요 특징:
    • 기간별 견적 현황
    • 제품별 견적 통계
    • 고객별 견적 분석
    • 매출 추이 분석
    • 차트 및 그래프 제공
  • 통계 항목:
    • 월별/분기별 견적 건수
    • 제품별 견적 비율
    • 평균 견적 금액
    • 고객별 견적 패턴
  • 연관 파일: list.php, 데이터베이스 통계 쿼리

📤 출력 및 엑셀

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 (45KB, 1200 lines)
  • 기능: 최종 JavaScript 처리
  • 역할: 견적 폼의 최종 처리 및 저장
  • 주요 특징:
    • 폼 데이터 검증
    • AJAX 저장 처리
    • 에러 핸들링
    • 사용자 피드백
  • 핵심 기능:
    • 데이터 유효성 검사
    • 서버 통신 처리
    • 성공/실패 메시지 표시
    • 페이지 리다이렉션
  • 연관 파일: insert.php, write_form.php
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 (8KB, 250 lines)
  • 기능: 견적 시스템 전용 스타일시트
  • 역할: 견적 관련 페이지의 UI/UX 스타일링
  • 주요 특징:
    • 반응형 디자인
    • 견적 테이블 최적화
    • 인쇄 스타일 지원
    • 모바일 최적화
  • 스타일 영역:
    • 견적 테이블 레이아웃
    • 폼 요소 스타일링
    • 버튼 및 인터랙션 요소
    • 인쇄용 스타일
  • 연관 파일: 모든 견적 관련 HTML/PHP 파일

🔐 보안 및 인증

세션 기반 인증

  • 모든 견적 관련 페이지에서 세션 검증
  • 사용자 레벨에 따른 접근 제어 (레벨 5 이하만 접근 가능)
  • 세션 만료 시 자동 로그아웃

데이터 보안

  • SQL 인젝션 방지를 위한 PDO 사용
  • 입력 데이터 검증 및 필터링
  • XSS 공격 방지
  • CSRF 토큰 검증

파일 보안

  • 직접 파일 접근 제한
  • 업로드 파일 검증
  • 실행 파일 업로드 차단

💡 주요 특징 및 기능

1. 이중 견적 시스템

  • 스크린 견적: 실리카/와이어 스크린 전용 견적 시스템
  • 철재 견적: 철재스라트 전용 견적 시스템
  • 통합 관리: 하나의 시스템에서 두 종류 견적 모두 관리

2. 자동 계산 엔진

  • 실시간 계산: 입력 즉시 견적 금액 자동 계산
  • 복잡한 계산: 치수, 단가, 수량, 옵션에 따른 정확한 계산
  • 검사비 자동: 수량에 따른 검사비 자동 계산
  • 할인율 적용: 할인율 및 할인 금액 자동 계산

3. 다양한 출력 형태

  • 원본 견적서: 최초 작성된 견적서 형태
  • 수정본 견적서: 수정된 견적서 형태
  • PDF 출력: 견적서를 PDF 형태로 저장
  • 엑셀 출력: 견적서를 엑셀 형태로 저장
  • 인쇄 최적화: 인쇄용 레이아웃 제공

4. 단가 관리 시스템

  • 제품별 단가: 스크린, 철재, 모터 등 제품별 단가 관리
  • 단가 이력: 단가 변경 이력 관리
  • CSV 임포트: 대량 단가 데이터 임포트
  • 실시간 업데이트: 단가 변경 시 실시간 반영

5. 통계 및 분석

  • 매출 통계: 월별/분기별 매출 분석
  • 제품별 통계: 제품별 판매 현황
  • 견적 현황: 견적 작성 및 승인 현황
  • 차트 제공: 시각적 통계 차트

6. 검색 및 필터링

  • 고급 검색: 다양한 조건으로 견적 검색
  • 날짜 필터: 날짜 범위별 검색
  • 제품 필터: 제품별 검색
  • 상태 필터: 견적 상태별 검색

7. 데이터 관리

  • JSON 저장: 견적 항목을 JSON 형태로 저장
  • 자동 저장: 작업 중 자동 저장 기능
  • 버전 관리: 견적 수정 이력 관리
  • 백업 복구: 데이터 백업 및 복구 기능

🚀 사용 가이드

📝 견적서 작성 과정

  1. 견적서 생성

    • write_form.php에서 새로운 견적서 작성
    • 스크린 또는 철재 선택
    • 기본 정보 입력 (고객명, 날짜, 특이사항)
  2. 제품 정보 입력

    • 모델명 선택
    • 제작 사이즈 입력
    • 수량 및 옵션 선택
    • 자동 계산 버튼으로 단가 계산
  3. 견적서 저장

    • 모든 정보 입력 후 저장
    • 프로젝트 번호 자동 생성
    • 데이터베이스에 저장
  4. 견적서 출력

    • viewEstimate.php 또는 viewEstimateSlat.php에서 출력
    • 인쇄 또는 PDF 변환
    • 고객에게 전달

🔍 견적서 조회 및 관리

  1. 목록 조회

    • list.php에서 등록된 견적서 목록 확인
    • 날짜, 모델명, 고객명으로 필터링
    • 검색 기능 활용
  2. 견적서 수정

    • 목록에서 수정할 견적서 선택
    • write_form.php에서 수정 모드로 진입
    • 데이터 수정 후 저장
  3. 견적서 삭제

    • 목록에서 삭제할 견적서 선택
    • 확인 후 삭제 처리

💰 단가 관리

  1. 단가 조회

    • estimateUnit.php에서 현재 단가 확인
    • 카테고리별 단가 검색
    • 단가 이력 조회
  2. 단가 수정

    • 단가 변경 시 수정
    • 적용 일자 설정
    • 변경 사유 기록
  3. 단가 import/export

    • CSV 파일로 단가 데이터 내보내기
    • 외부에서 수정한 단가 데이터 가져오기
    • 데이터 검증 후 적용

🔒 보안 및 권한

👤 사용자 권한

  • 레벨 1-5: 견적서 작성, 수정, 조회 가능
  • 레벨 6 이상: 단가 관리, 통계 조회 가능
  • 관리자: 모든 기능 접근 가능

🔐 보안 기능

  • 세션 기반 인증
  • SQL 인젝션 방지
  • XSS 공격 방지
  • 파일 업로드 보안 검증

🛠️ 개발 및 유지보수

📋 개발 환경

  • 언어: PHP 7.4+
  • 데이터베이스: MySQL 5.7+
  • 프론트엔드: HTML5, CSS3, JavaScript, jQuery
  • UI 프레임워크: Bootstrap 5

🔧 주요 라이브러리

  • jQuery: DOM 조작 및 AJAX 처리
  • Bootstrap: 반응형 UI 컴포넌트
  • Chart.js: 통계 차트 표시
  • jsPDF: PDF 생성

📊 데이터베이스 구조

  • estimate: 견적서 기본 정보
  • estimate_detail: 견적서 상세 항목
  • price_raw_materials: 원자재 단가
  • price_parts: 부품 단가
  • price_process: 공정비 단가

🐛 디버깅 및 로그

  • PHP 에러 로그: /php_errors.log
  • 사용자 액션 로그: 데이터베이스 로그 테이블
  • AJAX 요청 로그: 브라우저 개발자 도구

📞 지원 및 문의

🆘 문제 해결

  1. 견적서 저장 오류: 데이터베이스 연결 확인
  2. 단가 계산 오류: 단가 데이터 유효성 검사
  3. 인쇄 문제: 브라우저 인쇄 설정 확인
  4. 성능 이슈: 데이터베이스 인덱스 최적화

📧 개발팀 연락처


📅 문서 버전: 2.0
👨‍💻 작성자: 개발팀
📝 최종 수정일: 2024-12-24
🔗 관련 문서: 개발자 가이드