<select id="selectDispatchedKey" parameterClass="KeyAndKeyFlowInfo" resultMap="KeyAndKeyFlowResult"> select distinct KEY_ID, USER_ID, INITIATOR, INIT_DATE, INITIATOR_EMAIL, SGS_KEY.BRANCH_NAME, APPROVER, APPROVER_EMAIL, APPROVE_DATE from SGS_KEY, SGS_KEY_FLOW where SGS_KEY.APPLY_FLOW_ID=SGS_KEY_FLOW.KEY_FLOW_ID <dynamic prepend="and" open="(" close=")"> <isNotNull property="ki.userId" prepend="and" removeFirstPrepend="false"> USER_ID = #ki.userId# </isNotNull> <isNotNull property="kfi.initiator" prepend="and"> INITIATOR = #kfi.initiator# </isNotNull> <isNotNull property="kfi.initDate" prepend="and"> INIT_DATE = #kfi.initDate# </isNotNull> </dynamic></select>
<update id="updateKeyFlow" parameterClass="KeyFlowInfo"> update SGS_KEY_FLOW set <dynamic> KEY_FLOW_ID =#keyFlowId# <isNotNull property="branchName" prepend=","> BRANCH_NAME = #branchName# </isNotNull> <isNotEqual property="operation" prepend="," compareProperty="operation" compareValue="0"> OPERATION = #operation# </isNotEqual> <isNotNull property="initiator" prepend=","> INITIATOR = #initiator# </isNotNull> <isNotNull property="initiatorEmail" prepend=","> INITIATOR_EMAIL = #initiatorEmail# </isNotNull> <isNotNull property="initDate" prepend=","> INIT_DATE = #initDate# </isNotNull> <isNotNull property="approver" prepend=","> APPROVER = #approver# </isNotNull> <isNotNull property="approverEmail" prepend=","> APPROVER_EMAIL = #approverEmail# </isNotNull> <isNotNull property="approveDate" prepend=","> APPROVE_DATE = #approveDate# </isNotNull> <isNotEqual property="keyNum" prepend="," compareProperty="keyNum" compareValue="0"> KEY_NUM = #keyNum# </isNotEqual> <isNotNull property="applyReason" prepend=","> APPLY_REASON = #applyReason# </isNotNull> <isNotNull property="rejectReason" prepend=","> REJECT_REASON = #rejectReason# </isNotNull> </dynamic> where KEY_FLOW_ID =#keyFlowId#</update>