ConsentMapper.xml 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dbs.consentServer.mapper.ConsentMapper">
  4. <select id="getConsentBySearch" parameterType="java.util.HashMap" resultType="ConsentFormListVO">
  5. <![CDATA[
  6. SELECT '' AS idx,
  7. CF.FORM_ID AS formId,
  8. CF.FORM_CODE AS formCode,
  9. CF.FORM_NAME AS formName,
  10. '' AS formPrntNm,
  11. '' AS printCnt,
  12. '' AS certPass,
  13. '' AS pid,
  14. '' AS deptEngAggr,
  15. '' AS consentState,
  16. '' AS consentStateEng,
  17. '' AS consentMstRid,
  18. '' AS ocrTag,
  19. '' AS modifyUserId,
  20. '' AS modifyUserNm,
  21. '' AS modifyDateTime,
  22. '' AS createDateTime,
  23. '' AS clnDate,
  24. '' AS cretNo,
  25. '' AS ordType,
  26. '' AS deptCd,
  27. '' AS mainDrId,
  28. '' AS patientName
  29. FROM EMA.CLIP_FORM CF
  30. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  31. ON CF.FORM_ID = CFD.FORM_ID
  32. WHERE 1 = 1
  33. ]]>
  34. <if test='categoryId != "" and categoryId != null'>
  35. <if test='categoryId != "1"'>
  36. <![CDATA[
  37. AND CF.FORM_CATEGORY_ID = #{categoryId}
  38. ]]>
  39. </if>
  40. </if>
  41. <if test='keyWord != "" and keyWord != null'>
  42. <![CDATA[
  43. AND UPPER(CF.FORM_NAME) LIKE #{keyWord}
  44. ]]>
  45. </if>
  46. <![CDATA[
  47. AND CF.PRODUCT_ID = 1
  48. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  49. AND CF.USE_YN = 'Y'
  50. AND CFD.PUBLICATION_YN = 'Y'
  51. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  52. FROM EMA.CLIP_FORM_DATA A
  53. WHERE A.FORM_ID = CFD.FORM_ID
  54. AND A.PUBLICATION_YN = 'Y'
  55. AND A.product_id = '1' )
  56. ]]>
  57. </select>
  58. <select id="getUserFormSet" parameterType="java.util.HashMap" resultType="ConsentFormListVO">
  59. <![CDATA[
  60. SELECT MRFI.ITEMINDXSEQ AS idx,
  61. CF.FORM_ID AS formId,
  62. CF.FORM_CODE AS formCode,
  63. CF.FORM_NAME AS formName,
  64. ]]>
  65. <if test='instCd != "031"'>
  66. <![CDATA[
  67. MF.FORMPRNTNM AS formPrntNm,
  68. MF.PRNTCNT AS printCnt,
  69. ]]>
  70. </if>
  71. <![CDATA[
  72. (SELECT DECODE(COUNT(FORMCD), 0, 'N', 'Y') AS CERT_PASS
  73. FROM EMR.MRFMFORM
  74. WHERE INSTCD = #{instCd}
  75. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  76. AND FORMTODT = '99991231'
  77. AND FORMCD = CF.FORM_CODE) AS certPass,
  78. '' AS pid,
  79. '' AS deptEngAggr,
  80. '' AS consentState,
  81. '' AS consentStateEng,
  82. '' AS consentMstRid,
  83. '' AS ocrTag,
  84. '' AS modifyUserId,
  85. '' AS modifyUserNm,
  86. '' AS modifyDateTime,
  87. '' AS createDateTime,
  88. '' AS clnDate,
  89. '' AS cretNo,
  90. '' AS ordType,
  91. '' AS deptCd,
  92. '' AS mainDrId,
  93. '' AS patientName
  94. FROM EMR.MRFMSETINDX MRFI
  95. INNER JOIN EMA.CLIP_FORM CF
  96. ON MRFI.LINKCD = CF.FORM_CODE
  97. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  98. ON CF.FORM_ID = CFD.FORM_ID
  99. ]]>
  100. <if test='instCd != "031"'>
  101. <![CDATA[
  102. INNER JOIN EMR.MRFMFORM MF
  103. ON MRFI.LINKCD = MF.FORMCD
  104. AND MF.INSTCD = '101'
  105. ]]>
  106. </if>
  107. <![CDATA[
  108. WHERE 1 = 1
  109. AND MRFI.INSTCD = #{instCd}
  110. AND MRFI.USERID = #{userId}
  111. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  112. AND CF.PRODUCT_ID = '1'
  113. AND CF.USE_YN = 'Y'
  114. AND MRFI.VALIYN = 'Y'
  115. AND MRFI.INDXFLAG = 'O'
  116. ]]>
  117. <if test='instCd != "031"'>
  118. <![CDATA[
  119. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MF.FORMFROMDT AND MF.FORMTODT
  120. AND MF.FORMPROGFLAG LIKE 'OCR%'
  121. ]]>
  122. </if>
  123. <![CDATA[
  124. AND CFD.PUBLICATION_YN = 'Y'
  125. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  126. FROM EMA.CLIP_FORM_DATA A
  127. WHERE A.FORM_ID = CFD.FORM_ID
  128. AND A.PUBLICATION_YN = 'Y'
  129. AND A.PRODUCT_ID = '1' )
  130. ORDER BY CF.FORM_NAME
  131. ]]>
  132. </select>
  133. <select id="getConsentList" parameterType="java.util.HashMap" resultType="ConsentFormListVO">
  134. <!-- CMT.CONSENT_STATE AS consentStateEng -->
  135. <![CDATA[
  136. SELECT '' AS idx,
  137. CF.FORM_ID AS formId,
  138. CF.FORM_CODE AS formCode,
  139. CF.FORM_NAME AS formName,
  140. '' AS formPrntNm,
  141. CMT.PAGECNT AS printCnt,
  142. '' AS certPass,
  143. CMT.PID AS pid,
  144. '' AS deptEngAggr,
  145. DECODE(CMT.CONSENT_STATE, 'TEMP', '임시',
  146. 'ELECTR_CMP', '확인',
  147. 'PAPER_OUT', '출력',
  148. 'CERTIFY_CMP', '인증',
  149. 'UNFINISHED', '연동',
  150. 'VERBAL', '구두',
  151. CMT.CONSENT_STATE) AS consentState,
  152. CMT.CONSENT_STATE AS consentStateEng,
  153. CONSENT_MST_RID AS consentMstRid,
  154. CMT.OCR_NUMBER AS ocrTag,
  155. MODIFY_USER_ID AS modifyUserId,
  156. MODIFY_USER_NAME AS modifyUserNm,
  157. MODIFY_DATETIME AS modifyDateTime,
  158. CREATE_DATETIME AS createDateTime,
  159. CMT.CLN_DATE AS clnDate,
  160. CMT.CRETNO AS certNo,
  161. CMT.VISIT_TYPE AS ordType,
  162. CMT.CLN_DEPT_CD AS deptCd,
  163. CMT.MAIN_DR_ID AS mainDrId,
  164. (SELECT HNGNM
  165. FROM PAM.PMCMPTBS PTBS
  166. WHERE INSTCD = '031'
  167. AND PID = CMT.PID) AS patientName
  168. FROM EMA.CLIP_FORM CF
  169. LEFT OUTER JOIN EMA.CLIP_FORM_DATA CFD
  170. ON CF.FORM_ID = CFD.FORM_ID,
  171. EMA.CONSENT_MST CMT
  172. WHERE 1 = 1
  173. ]]>
  174. <if test='consentState != "ALL"'>
  175. <![CDATA[
  176. AND CMT.CONSENT_STATE IN
  177. ]]>
  178. <foreach collection='consentState' item='item' index="index" separator=',' open='(' close=')'>
  179. <![CDATA[
  180. ${item}
  181. ]]>
  182. </foreach>
  183. </if>
  184. <if test='patientCode != "" and patientCode != null'>
  185. <if test='userId == "" or userId == null'>
  186. <![CDATA[
  187. AND CMT.PID = #{patientCode}
  188. ]]>
  189. </if>
  190. </if>
  191. <if test='userId != "" and userId != null'>
  192. <![CDATA[
  193. AND CMT.MODIFY_USER_ID = #{userId}
  194. ]]>
  195. </if>
  196. <![CDATA[
  197. AND TO_CHAR(TO_DATE(CMT.MODIFY_DATETIME, 'YYYY-MM-DD HH24:MI:SS'), 'YYYYMMDD') BETWEEN #{startDt} AND #{endDt}
  198. AND CMT.USE_YN = 'Y'
  199. AND CMT.FORM_CD = CF.FORM_CODE
  200. AND CF.PRODUCT_ID = 1
  201. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  202. AND CF.USE_YN = 'Y'
  203. AND CFD.PUBLICATION_YN = 'Y'
  204. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  205. FROM EMA.CLIP_FORM_DATA A
  206. WHERE A.FORM_ID = CFD.FORM_ID
  207. AND A.PUBLICATION_YN = 'Y'
  208. AND A.product_id = '1' )
  209. ]]>
  210. </select>
  211. <update id="updateConsentMstForDelete" parameterType="java.util.HashMap">
  212. <![CDATA[
  213. UPDATE EMA.CONSENT_MST
  214. SET MODIFY_USER_ID = #{userId},
  215. MODIFY_DATETIME = TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss'),
  216. USE_YN = 'N',
  217. REASON_FOR_USE_N = #{reasonForUseN},
  218. MODIFY_USER_NAME = COM.FN_ZS_GETUSERNM(#{userId}, TO_CHAR(SYSDATE, 'YYYYMMDD'))
  219. WHERE CONSENT_MST_RID = #{consentMstRid}
  220. ]]>
  221. </update>
  222. <select id="getConsentMstForDeleteOcrTag" parameterType="java.util.HashMap" resultType="string">
  223. <![CDATA[
  224. SELECT OCR_NUMBER AS OCR_TAG
  225. FROM EMA.CONSENT_MST
  226. WHERE CONSENT_MST_RID = #{consentMstRid}
  227. ]]>
  228. </select>
  229. <update id="updateMrfhOcrPrntStatCd" parameterType="java.util.HashMap">
  230. <![CDATA[
  231. UPDATE EMR.MRFHOCRPRNT
  232. SET STATCD = 'CP',
  233. LASTUPDTRID = #{userId},
  234. LASTUPDTDT = TO_CHAR(SYSDATE, 'yyyyMMdd hh24:mi:ss')
  235. WHERE OCRTAG = #{ocrTag}
  236. ]]>
  237. </update>
  238. <select id="getOcrTag" resultType="string">
  239. <![CDATA[
  240. SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') || SUBSTR(LPAD(EMR.SQ_MRFMOCRP_01.NEXTVAL, 10, '0'), 6, 5) AS OCR_TAG
  241. FROM DUAL
  242. ]]>
  243. </select>
  244. </mapper>