본문 바로가기

일경험

[결재 시스템] 결재 상태가 반려로 바뀌면 결재일과 결재자를 null로 바꿔주기

반응형

문제 

아까 해결못했던 문제를 해결해보자. 과장이나 부장이 반려를 누르면 결재일과 결재자에 기록이 남았던 문제다. 결재일과 결재자가 null이 되어야 한다. mapper의 update 부분을 수정했다. 

 

문제해결방법

<update id="update" parameterType="map">
    update JSH_APPROVAL_LIST
    set
        APPR_SUBJECT = #{subj},
        APPR_CONTENT = #{content},
        APPR_STATUS = #{status},
        APPR_DATE = 
        <choose>
            <when test="status == 'tmp'">null</when>
            <when test="status == 'ret'">null</when>
            <otherwise>sysdate</otherwise>
        </choose>,
        APPR_APPER = 
        <choose>
            <when test="status == 'tmp'">null</when>
            <when test="status == 'ret'">null</when>
            <otherwise>#{memInfo.memId}</otherwise>
        </choose>
    where seq = #{seq}
</update>

APPR_DATE(결재일)

APPR_APPER(결재자)

각각 choose 태그를 사용하여 status(결재상태)가 tmp(임시저장) 혹은 ret(반려)인 경우 null 값을 넣어줬다. 

 

부장, 과장이 반려하면 다음과 같이 표시된다. 

결재일&#44; 결재자 null

 

반응형