본문 바로가기

일경험

[국민취업지원제도 일경험프로그램 53일차] 대리결재 기능

반응형

53일차 특이사항

1. 대리결재 버튼 누르면 대리결제자 option에 회원가입된 member 목록이 나온다. 

- 자신보다 2직급 아래만 나오도록 한다. 

- 부장은 과장, 대리에게만 권한 부여 가능. 과장은 대리, 사원에게 권한부여 가능. 

<select id="memberchk" resultMap="loginRs" parameterType="map">
    SELECT
        MEM_ID
        ,MEM_NAME
        ,MEM_RANK
        ,decode
        (MEM_RANK, 
        'CLERK','사원',
        'MANAGER','대리',
        'BOSS','과장',
        'KING','부장') MEM_RANK_KOR
    FROM JSH_APPROVAL_MEMBER
    WHERE 1=1
        <if test="memInfo.memRank == 'BOSS'">
            and MEM_RANK = 'MANAGER'
            OR MEM_RANK = 'CLERK'
        </if>
        <if test="memInfo.memRank == 'KING'">
            and MEM_RANK = 'BOSS'
            OR MEM_RANK = 'MANAGER'
        </if>
</select>

 

2. member를 클릭하면 아래에 직급이 표시된다. 

3. 현재 로그인 되어있는 member의 이름과 직급이 표시된다. 

<div id="popup">
    <form name="replaceFrm" id="replaceFrm" method="post" action="replaceAppr">
	    <div>
	        대리결제자 :
	        <select name="replacePerson" id="replacePerson">
	            <option value="" disabled selected>선택</option>
	            <c:forEach items="${memberchk}" var="member">
	                <option value="${member.memRankKor}">${member.memName}</option>
	            </c:forEach>
	        </select>
	        <input type="hidden" name="grantMember" id="grantMember" value="${memInfo.memName}">
	        <input type="hidden" name="proxyMember" id="proxyMember" value="">
	        <p>직급 : <span id="selectedMemRank"></span></p>
	        <p>대리자 : ${name} (${rank})</p>
	    </div>
	    <input type="button" name="xx" id="xx" value="취소">
	    <input type="submit" name="oo" id="oo" value="승인">
	</form>
</div>
<script>
    $(document).ready(function() {
        $('#replacePerson').on('change', function() {
            var selectedRankKor = $(this).val();
            var selectedProxyMemberName = $(this).find('option:selected').text();
            $('#selectedMemRank').text(selectedRankKor);
            $('#proxyMember').val(selectedProxyMemberName);
        });
    });
</script>

 

4. 그 다음은 뭐지? 승인을 누르면 어떤 일이 발생하지? 

- proxy 테이블에 결재자 이름과 대리결재자 이름, 대리결재 기한이 insert 된다. (여기까지 완료) 

 

- 결재권한을 부여받은 대리자로 로그인하면 대리자 이름(계급) 데이터를 띄워준다.  (여기부터 시작) 

 

느낀 점

하나씩 처리했다. 오류나거나 문제가 꼬이는 것부터 생각하지말고, 문제가 발생하면 대처하면 된다. 예비 동작은 불안만 커지게 만든다. 

 

 

 

 

반응형