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

개요

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

설명

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

관련소스
유형대상소스명비고
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 페이지
관련테이블
테이블명테이블명(영문)비고
휴일COMTNRESTDE휴일 정보를 관리

환경설정

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

context-idgen.xml
<bean name="egovRestDeIdGnrService"
	class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
	destroy-method="destroy">
	<property name="dataSource" ref="dataSource" />
	<property name="blockSize" 	value="10"/>
	<property name="table"	   	value="COMTECOPSEQ"/>
	<property name="tableName"	value="RESTDE_ID"/>
</bean>
  • ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 RESTDE_ID 항목을 추가해야 한다.
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');

사용방법

일반달력 팝업

일반달력 팝업 호출을 위하여 다음사항을 적용한다. _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
일간행정일간달력
주간행정주간달력
월간행정월간달력
연간행정연간달력

 
egovframework/com/v2/sym/휴일관리.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki