목차

시스템관리 - 일반달력/행정달력/휴일관리

개요

일반달력, 행정달력은 서비스 화면에서 날짜를 선택하는 기능으로 활용하며, 구간에 따른 조회하면을 제공한다.
휴일 관리는 휴일를 등록, 수정, 목록조회, 상세조회를 제공한다.

설명

일반달력, 행정달력은 팝업화면과 일간/주간/월간/연간 조회화면으로 구성되어있다.
휴일의 관리는 목록조회, 상세조회, 등록, 수정, 삭제 처리 할 수 있도록 구성되어있다.

관련소스

유형대상소스명비고
Controlleregovframework.com.sym.cal.web.EgovCalRestdeManageController.java달력, 휴일관리를 위한 컨트롤러 클래스
Modelegovframework.com.sym.cal.service.Restde.java휴일 정보 Model 클래스
VOegovframework.com.sym.cal.service.RestdeVO.java달력, 휴일관리를 위한 VO 클래스
Serviceegovframework.com.sym.cal.service.EgovCalRestdeManageService.java달력, 휴일관리를 위한 서비스 인터페이스
ServiceImplegovframework.com.sym.cal.service.impl.EgovCalRestdeManageServiceImpl.java달력, 휴일관리를 위한 위한 서비스구현 클래스
DAOegovframework.com.sym.cal.service.impl.RestdeManageDAO.java휴일 정보 관리를 위한 데이터처리 클래스
JS/webapp/js/egovframework/cmm/sym/cal/EgovCalPopup.js일반달력, 행정달력 팝업 호출을 위한 JavaScript
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministCalPopup.jsp행정달력 팝업을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministCalendar.jsp행정달력 팝업의 내용을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministDayCalendar.jsp행정달력 일간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministMonthCalendar.jsp행정달력 월간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministWeekCalendar.jsp행정달력 주간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovAdministYearCalendar.jsp행정달력 연간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalCalPopup.jsp일반달력 팝업을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalCalendar.jsp일반달력 팝업의 내용을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalDayCalendar.jsp일반달력 일간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalMonthCalendar.jsp일반달력 월간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalWeekCalendar.jsp일반달력 주간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovNormalYearCalendar.jsp일반달력 연간을위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeDetail.jsp휴일 상세보기를 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeList.jsp휴일 목록을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeModify.jsp휴일 수정을 위한 JSP 페이지
JSP/WEB-INF/jsp/egovframework/cmm/sym/cal/EgovRestdeRegist.jsp휴일 등록을 위한 JSP 페이지
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_altibase.xml달력, 휴일관리를 위한 Altibase용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_cubrid.xml달력, 휴일관리를 위한 Cubrid용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_maria.xml달력, 휴일관리를 위한 MariaDB용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_mysql.xml달력, 휴일관리를 위한 MySQL용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_oracle.xml달력, 휴일관리를 위한 Oracle용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_postgres.xml달력, 휴일관리를 위한 PostgreSQL용 Query XML
Query XMLresources/egovframework/mapper/com/sym/cal/EgovRestdeManage_SQL_tibero.xml달력, 휴일관리를 위한 Tibero용 Query XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/com/sym/cal/EgovRestdeManage.xml달력, 휴일관리를 위한 Validator XML
Message propertiesresources/egovframework/message/com/sym/cal/message_en.properties달력, 휴일관리를 위한 Message properties(영문)
Message propertiesresources/egovframework/message/com/sym/cal/message_ko.properties달력, 휴일관리를 위한 Message properties(한글)
Idgen XMLresources/egovframework/spring/com/idgn/context-idgn-RestDe.xml달력, 휴일관리를 위한 Id생성 Idgen XML

관련테이블

테이블명테이블명(영문)비고
휴일COMTNRESTDE휴일 정보를 관리

환경설정

휴일 관리 기능을 위하여 필요한 항목 및 그 환경 설정은 다음과 같다.

ID Generation 관련 DDL 및 DML

    CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, 
                               next_id DECIMAL(30) NOT NULL,
                               PRIMARY KEY (table_name)
    );
 
    INSERT INTO COMTECOPSEQ VALUES ('RESTDE_ID','0');

ID Generation 환경설정(context-idgn-LeaderSchdu.xml)

    <bean name="egovRestDeIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
        <property name="dataSource" ref="egov.dataSource" />
        <property name="blockSize"  value="10"/>
        <property name="table"      value="COMTECOPSEQ"/>
        <property name="tableName"  value="RESTDE_ID"/>
    </bean>

사용방법

일반달력 팝업

일반달력 팝업 호출을 위하여 다음사항을 적용한다. _editor_url변수는 EgovCalPopup.js 호출하는 자바스크립트보다 반드시 위줄에 위치하여야 한다.(변수를 선언하여 그 값을 받아오기 때문임)

<script type="text/javascript">
_editor_url = "<c:url value='/html/egovframework/com/cmm/utl/htmlarea3.0/'/>";
</script>

<script type="text/javascript" src="<c:url value='/js/egovframework/cmm/sym/cal/EgovCalPopup.js' />" ></script>

<script type=“text/javascript” src=”<c:url value='/js/egovframework/cmm/sym/cal/EgovCalPopup.js' />” ></script> </code>

일반달력 팝업 호출을 위하여 EgovCalPopup.js 를 해당 페이지에 등록한다.

<form name="Form1" action ="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" method="post">
    <input type="hidden" name="sDate" value="" size="8" readonly onClick="javascript:fn_egov_NormalCalendar(document.Form1, document.Form1.sDate, document.Form1.vDate);" />
    <input type="text" name="vDate" value="" size="10" readonly onClick="javascript:fn_egov_NormalCalendar(document.Form1, document.Form1.sDate, document.Form1.vDate);" />
    <img src="<c:url value='/images/egovframework/cmm/sym/cal/bu_icon_carlendar.gif' />" onClick="javascript:fn_egov_NormalCalendar(document.Form1, document.Form1.sDate, document.Form1.vDate);">
</form>

날짜를 사용할 폼에 받기위해 위 샘플 소스처럼 호출 하여 사용한다.
sDate는 일자 연월일 8자리를 받고, vDate는 '-'를 포함하여 받는다.

일반달력

※ 달력 팝업 DB 없이 사용하기

일반달력 팝업으로 휴일을 관리하지 않고 데이터베이스 없이 팝업 달력을 사용하기 위하여 아래와 같이 변경 하여 사용할 수 있다.

URLController
/sym/cmm/EgovselectNormalCalendar.doEgovCalRestdeManageController

다음 소스코드 부분을

        restde.setYear(Integer.toString(iYear));
        restde.setMonth(Integer.toString(iMonth));
 
        cal.set(iYear,iMonth-1,1);
 
        restde.setStartWeekMonth(cal.get(Calendar.DAY_OF_WEEK));
        restde.setLastDayMonth(cal.getActualMaximum(Calendar.DATE));
 
        List CalInfoList = restdeManageService.selectNormalRestdePopup(restde);

아래와 같이 변경하여 사용할 수 있다.

        cal.set(iYear,iMonth-1,1);
 
        int firstWeek = cal.get(Calendar.DAY_OF_WEEK);
        int lastDay   = cal.getActualMaximum(Calendar.DATE);
        int week      = cal.get(Calendar.DAY_OF_WEEK);
 
        String year   = Integer.toString(iYear);
        String month  = Integer.toString(iMonth);
        String day    = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
 
        restde.setStartWeekMonth(firstWeek);
        restde.setLastDayMonth(lastDay);
        restde.setYear(year);
        restde.setMonth(month);
 
        List CalInfoList = new ArrayList();
        String tmpDay = "";
 
        /**
         * 계산... START
         */
        for(int i=0; i<42;i++) {
            ListOrderedMap  map   = new ListOrderedMap();
            int cc = i + 1;
            int dd = cc-firstWeek+1;
 
            if (dd > 0 && dd <= lastDay) {
                tmpDay = Integer.toString(dd);
            } else {
                tmpDay = "";
            }
 
            map.put("year",     year);
            map.put("month",    month);
            map.put("day",      tmpDay);
            map.put("cellNum",  cc);
            map.put("weeks",    (cc - 1) / 7 + 1);
            map.put("week",     (week-1) % 7 + 1);
            map.put("restAt",   ((week-1) % 7 + 1==1) ? "Y" : "N");
 
            if (dd > 0 && dd <= lastDay) {
                week ++;
            }
            CalInfoList.add(map);
 
        }
        /**
         * 계산... END
         */

행정달력 팝업

행정달력 팝업 호출을 위하여 다음사항을 적용한다. _editor_url변수는 EgovCalPopup.js 호출하는 자바스크립트보다 반드시 위줄에 위치하여야 한다.(변수를 선언하여 그 값을 받아오기 때문임)

<script type="text/javascript">
_editor_url = "<c:url value='/html/egovframework/com/cmm/utl/htmlarea3.0/'/>";
</script>
 
<script type="text/javascript" src="<c:url value='/js/egovframework/cmm/sym/cal/EgovCalPopup.js' />" ></script>

행정달력 팝업 호출을 위하여 EgovCalPopup.js 를 해당 페이지에 등록한다.

<form name="Form2" action ="<c:url value='/sym/cmm/EgovAdministCalPopup.do'/>" method="post">
    <input type="hidden" name="sDate" value="" size="8" readonly onClick="javascript:fn_egov_AdministCalendar(document.Form2, document.Form2.sDate, document.Form2.vDate);" />
    <input type="text" name="vDate" value="" size="10" readonly onClick="javascript:fn_egov_AdministCalendar(document.Form2, document.Form2.sDate, document.Form2.vDate);" />
    <img src="<c:url value='/images/egovframework/cmm/sym/cal/bu_icon_carlendar.gif' />" onClick="javascript:fn_egov_AdministCalendar(document.Form2, document.Form2.sDate, document.Form2.vDate);">
</form>

날짜를 사용할 폼에 받기위해 위 샘플 소스처럼 호출 하여 사용한다.
sDate는 일자 연월일 8자리를 받고, vDate는 '-'를 포함하여 받는다.

행정달력


휴일 목록

휴일 목록 조회를 할 수 있는 목록조회 화면으로 URL은 다음과 같다.

/sym/cal/EgovRestdeList.do
기능URLControllermethod화면(URL)
목록조회/sym/cal/EgovRestdeList.doEgovCalRestdeManageControllerselectRestdeList/cmm/sym/cal/EgovRestdeList

휴일 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.
검색조건은 휴일일자, 휴일명에 대해서 수행된다.
페이지 당 검색 범위를 변경하고자 하는 경우 context-properties.xml 파일의 pageUnit, pageSize를 변경한다.(단 해당 설정은 전체 공통서비스 기능에 영향을 미친다.)

휴일목록 화면


휴일 등록

휴일 등록 할 수 있는 등록 화면으로 URL은 다음과 같다.

/sym/cal/EgovRestdeRegist.do
기능URLControllermethod화면(URL)
등록/sym/cal/EgovRestdeRegist.doEgovCalRestdeManageControllerinsertRestde/cmm/sym/cal/EgovRestdeRegist

휴일에 대한 상세내용을 등록한다.
등록이 성공하면 휴일 목록 화면으로 이동한다.

휴일등록 화면


휴일 수정

휴일 수정 할 수 있는 수정 화면으로 URL은 다음과 같다.

/sym/cal/EgovRestdeModify.do
기능URLControllermethod화면(URL)
수정/sym/cal/EgovRestdeModify.doEgovCalRestdeManageControllerupdateRestde/cmm/sym/cal/EgovRestdeModify

수정이 성공하면 휴일 목록 화면으로 이동한다.

휴일수정 화면


휴일 상세 조회

휴일 상세 조회 할 수 있는 상세 조회 화면으로 URL은 다음과 같다.

/sym/cal/EgovRestdeDetail.do
기능URLControllermethod화면(URL)
상세조회/sym/cal/EgovRestdeDetail.doEgovCalRestdeManageControllerselectRestdeDetail/cmm/sym/cal/EgovRestdeDetail
삭제/sym/cal/EgovRestdeRemove.doEgovCalRestdeManageControllerdeleteRestde/cmm/sym/cal/EgovRestdeDetail

상세조회에는 삭제 처리가 포함되어 있고 삭제가 성공하면 휴일 목록 화면으로 이동한다.

휴일상세 화면




일반달력 일간/주간/월간/연간

일반달력 일간/주간/월간/연간 조회 할 수 있는 조회 화면으로 URL은 다음과 같다.

기능URLControllermethod화면(URL)
일간조회/sym/cal/EgovNormalDayCalendar.doEgovCalRestdeManageControllerselectNormalDayCalendar/cmm/sym/cal/EgovNormalDayCalendar
주간조회/sym/cal/EgovNormalWeekCalendar.doEgovCalRestdeManageControllerselectNormalWeekCalendar/cmm/sym/cal/EgovNormalWeekCalendar
월간조회/sym/cal/EgovNormalMonthCalendar.doEgovCalRestdeManageControllerselectNormalMonthCalendar/cmm/sym/cal/EgovNormalMonthCalendar
연간조회/sym/cal/EgovNormalYearCalendar.doEgovCalRestdeManageControllerselectNormalYearCalendar/cmm/sym/cal/EgovNormalYearCalendar
일간일반일간달력
주간일반주간달력
월간일반월간달력
연간일반연간달력

행정달력 일간/주간/월간/연간

행정달력 일간/주간/월간/연간 조회 할 수 있는 조회 화면으로 URL은 다음과 같다.

기능URLControllermethod화면(URL)
일간조회/sym/cal/EgovAdministDayCalendar.doEgovCalRestdeManageControllerselectAdministDayCalendar/cmm/sym/cal/EgovAdministDayCalendar
주간조회/sym/cal/EgovAdministWeekCalendar.doEgovCalRestdeManageControllerselectAdministWeekCalendar/cmm/sym/cal/EgovAdministWeekCalendar
월간조회/sym/cal/EgovAdministMonthCalendar.doEgovCalRestdeManageControllerselectAdministMonthCalendar/cmm/sym/cal/EgovAdministMonthCalendar
연간조회/sym/cal/EgovAdministYearCalendar.doEgovCalRestdeManageControllerselectAdministYearCalendar/cmm/sym/cal/EgovAdministYearCalendar
일간행정일간달력
주간행정주간달력
월간행정월간달력
연간행정연간달력