ConsentMapper.xml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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 patientCdoe != null'>
  185. <if test='userId == "" and 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.FORM_CD = CF.FORM_CODE
  199. AND CF.PRODUCT_ID = 1
  200. AND CF.FORM_TYPE = 'FORM_TYPE_001'
  201. AND CF.USE_YN = 'Y'
  202. AND CFD.PUBLICATION_YN = 'Y'
  203. AND CFD.FORM_VERSION = ( SELECT MAX(FORM_VERSION)
  204. FROM EMA.CLIP_FORM_DATA A
  205. WHERE A.FORM_ID = CFD.FORM_ID
  206. AND A.PUBLICATION_YN = 'Y'
  207. AND A.product_id = '1' )
  208. ]]>
  209. </select>
  210. <insert id="insertConsentMst" parameterType="java.util.HashMap" >
  211. <![CDATA[
  212. INSERT INTO EMA.CONSENT_MST(
  213. CONSENT_MST_RID,
  214. HOS_TYPE,
  215. PID,
  216. VISIT_TYPE,
  217. OCR_NUMBER,
  218. CLN_DEPT_CD,
  219. CLN_DATE,
  220. CRETNO,
  221. WARDCD,
  222. ROOMCD,
  223. FORM_RID,
  224. CONSENT_STATE,
  225. COMPLETE_YN,
  226. COMPLETE_DATETIME,
  227. PAPER_YN,
  228. REISSUE_YN,
  229. REISSUE_CONSENT_MST_RID,
  230. REWRITE_YN,
  231. REWRITE_CONSENT_MST_RID,
  232. USE_YN,
  233. MAIN_DR_ID,
  234. CREATE_USER_ID,
  235. CREATE_DATETIME,
  236. MODIFY_USER_ID
  237. MODIFY_DATETIME,
  238. CREATE_USER_NAME,
  239. MODIFY_USER_NAME,
  240. OPRSRVNO,
  241. PAGECNT,
  242. FORM_CD,
  243. DEVICE_IDENT_NO
  244. )
  245. VALUES(
  246. #consentMstRid#,
  247. #hosType#,
  248. #patientCode#,
  249. #vistType#,
  250. #ocrCode#,
  251. #clnDeptCd#,
  252. #clnDate#,
  253. #cretno#,
  254. #ward#,
  255. #roomcd#,
  256. #formRid#,
  257. #consentState#,
  258. #completeYn#,
  259. $completeDateTimeToChars$,
  260. #paperYn#,
  261. #reissueYn#,
  262. #reissueConsentMstRid#,
  263. #rewriteYn#,
  264. #rewriteConsentMstRid#,
  265. 'Y',
  266. #mainDrId#,
  267. #userId#,
  268. TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
  269. #userId#,
  270. TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:ss'),
  271. #createUserName#,
  272. COM.FN_ZS_GETUSERNM(#userId#, TO_CHAR(SYSDATE, 'YYYYMMDD')),
  273. #opRsrvNo#,
  274. #pageCnt#,
  275. #formCd#,
  276. #macAddress#
  277. )
  278. ]]>
  279. </insert>
  280. <insert id="insertConsentData" parameterType="java.util.HashMap">
  281. <![CDATA[
  282. INSERT INTO EMA.CONSENT_DATA(
  283. CONSENT_DATA_RID,
  284. CONSENT_MST_RID,
  285. FORM_RID,
  286. DEVICE_TYPE,
  287. DEVICE_IDENT_NO,
  288. COMPLETE_YN,
  289. CREATE_USER_ID,
  290. CREATE_DATETIME,
  291. FORM_XML,
  292. DATA_XML
  293. )
  294. VALUES(
  295. #consentDataRid#,
  296. #consentMstRid#,
  297. #formRid#,
  298. #deviceType#,
  299. #macAddress#,
  300. #completeYn#,
  301. #userId#,
  302. TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss'),
  303. #formXml#,
  304. #dataXml#
  305. )
  306. ]]>
  307. </insert>
  308. <select id="getSequence" parameterType="CodeVO" resultType="int">
  309. <![CDATA[
  310. SELECT ud1_num AS seq
  311. FROM EMA.EFORM_CODE
  312. WHERE main_cd = 'SEQUENCE'
  313. AND sub_cd = #sub_cd#
  314. FOR UPDATE
  315. ]]>
  316. </select>
  317. <insert id="setSequence" parameterType="CodeVO">
  318. <![CDATA[
  319. INSERT INTO EMA.EFORM.CODE(
  320. main_cd,
  321. sub_cd,
  322. cd_nm,
  323. ud1_num,
  324. seq_no,
  325. use_yn
  326. )
  327. VALUES(
  328. 'SEQENCE',
  329. #sub_cd#,
  330. 'count',
  331. 1,
  332. 1,
  333. 'Y'
  334. )
  335. ]]>
  336. </insert>
  337. </mapper>