diff --git a/문서/PQ/README.md b/문서/PQ/README.md new file mode 100644 index 0000000..8bb1113 --- /dev/null +++ b/문서/PQ/README.md @@ -0,0 +1,124 @@ +프로젝트 내에 작성되어 있던 기존 관계도 문서(별도 다이어그램 파일)는 없지만, + +PQProject + 하위 C# 소스 코드들의 클래스 관계 및 모듈 아키텍처를 분석하여 정리한 소스 모듈 관계도와 계층별 역할 설명입니다. + +1. PQProject 소스 구성 및 관계도 (Mermaid) +mermaid +graph TD + classDef entry fill:#f9f,stroke:#333,stroke-width:2px; + classDef infra fill:#bbf,stroke:#333,stroke-width:1px; + classDef domain fill:#dfd,stroke:#333,stroke-width:1px; + classDef external fill:#fdd,stroke:#333,stroke-width:1px; + subgraph "1. Entry & Core Shell Layer" + Login["frmLogin.cs (로그인)"]:::entry + MainMDI["frmMainMDI.cs (MDI 메인 컨테이너)"]:::entry + SysUpdate["frmSystemUpdate.cs (업데이트)"]:::entry + end + subgraph "2. Core Infrastructure & Data Access Layer" + ClassDB["ClassDataBase.cs (DB 연동/OleDb SQL Core)"]:::infra + CommonMod["CommonModule.cs (전역 유틸리티/FarPoint Grid)"]:::infra + CommonGlob["CommonGlobal.cs / CommonCodeClass.cs"]:::infra + PersonDB["PersonDatabase.cs (인력 전용 DB 조율)"]:::infra + GridCtrl["GridControlClass.cs / GridControl.cs"]:::infra + FormList["OpenFormList.cs (MDI 폼 인스턴스 관리)"]:::infra + end + subgraph "3. External Integration & Custom Controls" + WebQuery["WebQueryLib.cs (웹 쿼리/HTTP 연동)"]:::external + FTP["FtpDownload.cs / FtpUpload.cs (FTP 전송)"]:::external + AttachFile["AttachFileControl.cs (첨부파일 컨트롤)"]:::external + HWP["HwpItem.cs / frmHwpCtrlView.cs (한글 HWP 컨트롤)"]:::external + end + subgraph "4. Business Domain UI Forms" + subgraph "A. 인력 관리 (Person)" + PersonForms["frmPerson.cs / frmPersonInfo.cs
frmPersonList.cs / frmPersonCareer.cs"]:::domain + end + subgraph "B. 회사 및 사업 실적 (Company & Project)" + ProjectForms["frmCompanyProjectInfo.cs / frmCompanyCareer.cs
frmCompanyProjectCreate.cs / frmCreateProject.cs"]:::domain + end + subgraph "C. 실적/가점 관리 (R&D / Invest / Develop / Most)" + SpecialForms["frmRD.cs / frmInvest.cs / frmDevelop.cs
frmMost.cs / frmMostManagement.cs"]:::domain + end + subgraph "D. 공통 코드 & PQ 자격/평가 조건" + CodeForms["frmCommonCode.cs / frmCommonJobType.cs
frmCommonConLevel1~3.cs / frmCommonConList.cs"]:::domain + end + subgraph "E. 보고서 & 출력 (Reports)" + ReportForms["frmReportFindCondition.cs / frmReportPersonJobList.cs
frmReportPersonLevel.cs / frmPersonReportPrint.cs"]:::domain + end + end + %% Dependencies + Login --> MainMDI + MainMDI --> FormList + MainMDI --> PersonForms + MainMDI --> ProjectForms + MainMDI --> SpecialForms + MainMDI --> CodeForms + MainMDI --> ReportForms + PersonForms --> PersonDB + ProjectForms --> ClassDB + SpecialForms --> ClassDB + CodeForms --> ClassDB + ReportForms --> ClassDB + PersonForms --> CommonMod + ProjectForms --> CommonMod + SpecialForms --> CommonMod + + PersonForms --> AttachFile + ProjectForms --> AttachFile + ReportForms --> HWP + + ClassDB --> CommonGlob + CommonMod --> GridCtrl + WebQuery --> FTP +2. 주요 계층 및 모듈 역할 요약 +계층 (Layer) 주요 파일 / 클래스 역할 및 설명 +진입 및 메인 셸 (Entry & Shell) + +frmLogin.cs + + + +frmMainMDI.cs +시스템 진입, 사용자 인증, MDI 메인 메뉴 처리 및 전체 자식 폼(Form) 수명주기 관리 +데이터 및 인프라 (Core Infrastructure) + +ClassDataBase.cs + + + +PersonDatabase.cs + + + +CommonModule.cs + + + +GridControlClass.cs +- ClassDataBase: OleDb 기반 데이터베이스 연결, SQL 쿼리 및 트랜잭션 처리 핵심 클래스 +- CommonModule: 전역 헬퍼 함수, FarPoint Spread 그리드 세팅 및 포맷팅 +- GridControlClass: 데이터 그리드 공통 연동 및 셀 컨트롤 바인딩 +외부 통합 및 컨트롤 (External & Controls) + +WebQueryLib.cs + + + +AttachFileControl.cs + + + +frmHwpCtrlView.cs + + + +FtpDownload.cs +- WebQueryLib: 웹 서버 및 외부 HTTP API 데이터 연동 +- AttachFileControl: 증빙/첨부 파일 업로드 및 다운로드 UI 컨트롤 +- frmHwpCtrlView / HwpItem: 한글(HWP) 오토메이션 컨트롤 문서 로딩 및 템플릿 처리 +인력 관리 (Person) frmPerson, frmPersonInfo, frmPersonCareer, frmPersonList 기술인력 기본 정보, 자격증, 회사 경력, 기술 등급 관리 UI +사업 및 실적 (Project) frmCompanyProjectInfo, frmCompanyCareer, frmCreateProject 참여 회사 및 사업 수행 실적, 사업 참여 인원(Member) 매핑 및 실적 이력 관리 +실적/가점 (Special) frmRD, frmInvest, frmDevelop, frmMost 연구개발(R&D), 투자실적, 개발실적, 가점/우수실적 관리 및 보고서 연동 +자격/조건 설정 (Condition) frmCommonConLevel1~3, frmCommonConList, frmCommonCode PQ(사업수행능력평가)에 적용할 등급별 평가 조건/기준 레이어 및 공통 코드 관리 +보고서 및 출력 (Reports) frmReportFindCondition, frmReportPersonJobList, frmPersonReportPrint 평가용 보고서 검색 조건 설정 및 인력/사업별 PQ 제출용 문서 출력/인쇄 +필요하신 경우 특정 폼이나 모듈(예: 특정 도메인 폼과 DB 연동 방식) 간의 상세 호출 구조를 추가로 분석해 드릴 수 있습니다. \ No newline at end of file