목차

협업 - 약식결재

개요

약식결재는 약식결재 정보를 관리하는 기능을 제공한다.

설명

  ① 약식결재등록 : 약식결재정보를 등록하고, 등록 결과를 조회한다.
  ② 약식결재삭제 : 기 등록된 약식결재정보를 삭제한다.
  ③ 약식결재상세조회 : 등록된 약식결재정보를 조회한다. 
  ④ 약식결재승인 : 등록된 약식결재정보를 승인한다. 
  ⑤ 약식결재반려 : 등록된 약식결재정보를 반려한다. 

관련소스

유형대상소스명비고
Controlleregovframework.com.uss.ion.ism.web.EgovInfrmlSanctnController.java약식결재를 위한 controller 클래스
Serviceegovframework.com.uss.ion.ism.service.EgovInfrmlSanctnService.java약식결재를 위한 Service Interface
ServiceImplegovframework.com.uss.ion.ism.service.impl.EgovInfrmlSanctnServiceImpl.java약식결재를 위한 서비스 구현 클래스
DAOegovframework.com.uss.ion.ism.service.impl.InfrmlSanctnDAO.java약식결재를 위한 데이터처리 클래스
Modelegovframework.com.uss.ion.ism.service.Sanctner.java결재자 관리를 위한 Model 클래스
Modelegovframework.com.uss.ion.ism.service.InfrmlSanctn.java약식결재를 위한 Model 클래스
VOegovframework.com.uss.ion.ism.service.SanctnerVO.java보고자 관리를 위한 VO 클래스
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovSanctnerList.jsp결재자 목록조회를 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovSanctnerListPopup.jsp결재자 팝업 목록조회를 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovConfmPopup.jsp약식결재 승인을 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovReturnPopup.jsp약식결재 반려를 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovInfrmlSanctnRegist.jsp약식결재 등록를 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/uss/ion/ism/EgovInfrmlSanctnDetail.jsp등록된 약식결재를 조회하기 위한 jsp페이지
XML/egovframework/sqlmap/com/uss/ion/ism/EgovInfrmlSanctn_SQL_*.xml약식결재 QUERY XML

클래스 다이어그램

관련테이블

테이블명테이블명(영문)비고
약식결재정보COMTNINFRMLSANCTN약식결재정보를 관리하기 위한 속성정보를 정의하고, 관리한다.

ID Generation

  INSERT INTO COMTECOPSEQ VALUES('INFRML_SANCTN','0');
 

사용방법

ServiceImpl (결재권자 등록/삭제/승인/반려)

약식결재의 기본 흐름은 해당업무에서 신청(등록)시 결재자를 동시에 등록한다. 그러므로 UI화면에서 결재자를 등록을 필수로 처리해야 한다,
비지니스 등록처리 로직에서 약식결재서비스(EgovInfrmlSanctnService)의 결재자등록을 호출하여야 하며, 해당업무와 약식결재의 model VO의 필드를 매핑시켜줘야한다.
약식결재를 업무에 적용하기 위해서는 ServiceImpl에 아래 로직을 삽입하여 업무상황에 맞도록 수정하여야 한다.
먼저 약식결재서비스(EgovInfrmlSanctnService)를 import 한다.

import egovframework.com.uss.ion.ism.service.EgovInfrmlSanctnService;
import egovframework.com.uss.ion.ism.service.InfrmlSanctn;
	@Resource(name="EgovInfrmlSanctnService")
    protected EgovInfrmlSanctnService infrmlSanctnService;

그리고 아래 EgovInfrmlSanctnService의 Model 항목에 맞춰 Object를 매핑시켜준다.

	/**
	 * Object model을 InfrmlSanctn model로 변환한다.
	 * @param Object
	 * @return InfrmlSanctn
	 * @param object
	 */
	private InfrmlSanctn converToInfrmlSanctnObject(Object object) throws Exception{
		InfrmlSanctn infrmlSanctn = new InfrmlSanctn();
    	infrmlSanctn.setJobSeCode("001");								// 업무구분코드 (공통코드 COM75)
    	infrmlSanctn.setApplcntId(object.getUsid());			      // 사용자ID
    	infrmlSanctn.setReqstDe(object.getReqstDe());				// 신청일자
    	infrmlSanctn.setSanctnerId(object.getSanctnerId());		// 결재자ID
    	infrmlSanctn.setConfmAt(object.getConfmAt());				// 승인구분
    	infrmlSanctn.setSanctnDt(object.getSanctnDt());			   // 결재일시
    	infrmlSanctn.setReturnResn(object.getReturnResn());		// 반려사유
    	infrmlSanctn.setFrstRegisterId(object.getFrstRegisterId()); //최초등록자ID
    	object.setFrstRegisterPnttm(object.getFrstRegisterId());
    	infrmlSanctn.setLastUpdusrId(object.getLastUpdusrId());     //최종수정자ID
    	infrmlSanctn.setLastUpdusrPnttm(object.getLastUpdusrPnttm());
    	infrmlSanctn.setInfrmlSanctnId(object.getInfrmlSanctnId()); // 약식결재ID
    	return infrmlSanctn;
	}

등록 메소드에 아래 로직을 삽입한다.
등록시 업무구분코드(공통코드-COM75), 사용자ID, 신청일자, 결재자ID, 최초등록자ID, 최종수정자ID는 필수값이다.
약식결재메소드에서 처리가 완료되면 약식결재ID, 승인구분 값이 정의된다.

InfrmlSanctn infrmlSanctn = infrmlSanctnService.insertInfrmlSanctn(converToInfrmlSanctnObject(object)); 
object.setInfrmlSanctnId(infrmlSanctn.getInfrmlSanctnId());
object.setConfmAt(infrmlSanctn.getConfmAt());

삭제 메소드에 아래 로직을 삽입한다.
약식결재ID,신청일자,사용자ID,결재자ID는 필수값이다.

infrmlSanctnService.deleteInfrmlSanctn(converToInfrmlSanctnObject(ctsnnManage));

승인 메소드에 아래 로직을 삽입한다.
약식결재ID,신청일자,사용자ID,결재자ID,승인구분는 필수값이다.

infrmlSanctn = infrmlSanctnService.updateInfrmlSanctnConfm(converToInfrmlSanctnObject(ctsnnManage));

반려 메소드에 아래 로직을 삽입한다.
약식결재ID,신청일자,사용자ID,결재자ID,승인구분는 필수값이다.

infrmlSanctn = infrmlSanctnService.updateInfrmlSanctnReturn(converToInfrmlSanctnObject(ctsnnManage));

JSP/Script

신청화면

신청화면에 아래코드를 삽입한다.

<jsp:include page="/WEB-INF/jsp/egovframework/uss/ion/ism/EgovInfrmlSanctnRegist.jsp" flush="true"/>

수정/상세/승인화면

수정/상세/승인화면에 아래코드를 삽입한다.
*object는 해당 업무의 Model VO입니다.

<jsp:include page="/uss/ion/ism/selectInfrmlSanctn.do" flush="true"> 
<jsp:param name="infrmlSanctnId" value="${object.infrmlSanctnId}"/>
</jsp:include>

승인/반려 화면

승인화면에서 승인처리시 약식결재의 승인팝업(반려팝업)을 호출하여 승인사유(반려사유)를 등록 후 해당업무의 승인(반려)처리 프로세스를 처리한다.

	/* ********************************************************
	 * 승인 처리  팝업창열기
	 * fncCtsnnReturn
	 * param 반려구분
	 ******************************************************** */
	 function fncConfmCtsnnManage(){
		var varForm	= document.all["ctsnnManage"];
 
		var arrParam = new Array(4);
		arrParam[0] = window;
		arrParam[1] = "포상신청 - 승인";
		arrParam[2] = "returnResn";
		arrParam[3] = "confmAt";
 
		window.showModalDialog("/uss/ion/ism/EgovConfmPopup.do", arrParam,"dialogWidth=780px;dialogHeight=170px;resizable=yes;center=yes");
	 }
 
	/* ********************************************************
	 * 승인처리화면
	 ******************************************************** */
	 function fncConfm() {
	    var varFrom = document.getElementById("ctsnnManage");
	    varFrom.confmAt.value = "C";
	    varFrom.action = "<c:url value='/uss/ion/ctn/updtCtsnnConfm.do'/>";
        if(!validateCtsnnManage(varFrom)){           
            return;
        }else{
            varFrom.submit();
        } 
	 }
 
	/* ********************************************************
	 * 반려 처리  팝업창열기
	 * fncCtsnnReturn
	 * param 반려구분
	 ******************************************************** */
	 function fncReturnCtsnnManage(){
		var varForm	= document.all["ctsnnManage"];
 
		var arrParam = new Array(4);
		arrParam[0] = window;
		arrParam[1] = "경조신청 - 반려";
		arrParam[2] = "returnResn";
		arrParam[3] = "confmAt";
 
		window.showModalDialog("/uss/ion/ism/EgovReturnPopup.do", arrParam,"dialogWidth=780px;dialogHeight=170px;resizable=yes;center=yes");
	 }
 
 
	/* ********************************************************
	 * 반려처리화면
	 ******************************************************** */
	function fncReturn() {
	   var varFrom = document.getElementById("ctsnnManage");
	   varFrom.confmAt.value = "R";
	   varFrom.action = "<c:url value='/uss/ion/ctn/updtCtsnnConfm.do'/>";
       if(!validateCtsnnManage(varFrom)){           
           return;
       }else{
            varFrom.submit();
       } 
	}

관련화면 및 수행메뉴얼

약식결재 등록

ActionURLController methodQueryID
등록 insertInfrmlSanctn“InfrmlSanctnDAO.insertInfrmlSanctn”

약식결재의 속성정보를 입력한 뒤 등록한다.


약식결재 상세조회

ActionURLController methodQueryID
상세조회/uss/ion/ism/selectInfrmlSanctn.doselectInfrmlSanctn“InfrmlSanctnDAO.selectInfrmlSanctn”
삭제 deleteInfrmlSanctn“InfrmlSanctnDAO.deleteInfrmlSanctn”

약식결재의 속성정보를 조회한다.


약식결재 승인

ActionURLController methodQueryID
승인/uss/ion/ism/EgovConfmPopup.doconfmInfrmlSanctn“InfrmlSanctnDAO.confmInfrmlSanctn”

약식결재의 속성정보를 변경한 후 저장한다.

승인 : 기 등록된 약식결재 속성을 수정한 뒤 상단의 승인 버튼을 통해서 약식결재를 승인한다.
닫기 : 화면을 닫는다.


약식결재 반려

ActionURLController methodQueryID
반려/uss/ion/ism/EgovReturnPopup.doreturnInfrmlSanctn“InfrmlSanctnDAO.returnInfrmlSanctn”

약식결재의 속성정보를 변경한 후 저장한다.

반려 : 기 등록된 약식결재 속성을 수정한 뒤 상단의 반려 버튼을 통해서 약식결재를 반려한다.
닫기 : 화면을 닫는다.