단속 > 단속 등록&열람

GEMINI.md 추가, 모달 닫기 버튼 기능 수정 및 `cancel` 메서드 정의
dev
박성영 4 months ago
parent e07a2531be
commit 82ca5bdf72

@ -0,0 +1,63 @@
# GEMINI Analysis for IBMS_NEW
## Project Overview
This project is the "Ilsan Dong-gu Illegal Building Integrated Management System" (일산 동구 건축물 위법행위 통합관리시스템). It appears to be a web application for government officials to manage and track violations related to illegal buildings.
**Key Technologies:**
* **Backend:** Java, Spring Boot
* **Framework:** eGovFramework (A Spring-based framework widely used by the South Korean government)
* **Build Tool:** Gradle
* **Database:** MariaDB with MyBatis for data mapping.
* **Frontend:** JSP (JavaServer Pages) with the Apache Tiles templating framework.
* **Security:** Spring Security for authentication and authorization.
**Architecture:**
The application is a monolithic web application packaged as a WAR file. It follows a standard Model-View-Controller (MVC) architecture:
* **Controller:** Spring MVC controllers handle HTTP requests (URLs often end in `.do`).
* **Service:** A service layer likely contains the core business logic.
* **Data Access:** MyBatis mappers connect to a MariaDB database. The configuration maps snake_case database columns to camelCase Java fields.
* **View:** JSP files rendered using the Tiles framework compose the UI.
* **Authentication:** A custom `AuthInterceptor` (`AuthInterceptor.java`) checks for a user session on each request and redirects to a login page if the user is not authenticated.
## Building and Running
**Prerequisites:**
* Java Development Kit (JDK)
* Gradle
**Configuration:**
1. Database connection details must be configured in the appropriate profile YAML file located at `src/main/resources/`.
2. The active Spring profile (`local`, `dev`, or `prd`) can be set in `src/main/resources/application.yml`.
**Commands:**
* **Build the project:**
```bash
./gradlew clean build
```
This will produce a `.war` file in the `build/libs/` directory.
* **Run for development:**
```bash
./gradlew bootRun
```
The application will start on the port configured in `application.yml` (default is 8080).
* **Run tests:**
```bash
./gradlew test
```
* **Deploy to a server:**
Deploy the generated `.war` file from `build/libs/` to a compatible Java servlet container like Apache Tomcat.
## Development Conventions
* **Framework Style:** The project adheres to the conventions of the eGovFramework, including its specific package structure and component model.
* **Code Consistency:** When modifying source code (especially Java, XML, and JSP/HTML), always analyze existing files to understand and apply the established coding patterns, formatting, and conventions.
* **Database Schema:** DDL (Data Definition Language) files for the MariaDB database are maintained in the `DB-DDL/maria/ddl/` directory.
* **Data Mapping:** MyBatis is configured with `map-underscore-to-camel-case: true`, so database columns like `user_id` are automatically mapped to Java fields like `userId`. Mapper XML files are located in `src/main/resources/mybatis/mapper/`.
* **API Endpoints:** Web page and API URLs generally follow a `*.do` pattern (e.g., `/login.do`, `/getUser.do`).
* **View Templates:** The UI is built with JSP files, which are assembled using templates defined in `/WEB-INF/tiles/`.
* **Session Management:** User authentication is stored in the HTTP session. The `AuthInterceptor` protects pages that require a login.

@ -109,7 +109,7 @@
<a href="#" id="btnSave" class="newbtns bg4">저장</a>
</c:otherwise>
</c:choose>
<a href="#" class="newbtns bg3 modalclose">닫기</a>
<a href="#" class="newbtns bg1 modalclose">닫기</a>
</div>
</div>
</div>
@ -150,6 +150,12 @@
self.delete();
});
// 닫기 버튼
$('.modalclose').on('click', function(e) {
e.preventDefault();
self.cancel();
});
$("#dsclYmd").datepicker({
container: '.popup_inner',
language: "kr"
@ -157,6 +163,10 @@
},
cancel: function() {
window.close();
},
save: function() {
if (!this.validate()) return;

Loading…
Cancel
Save