CLIP.e-Form.Hospital.User.xml 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!--<sqlMap namespace="CLIP.e-Form.Consent.Dfh" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >-->
  3. <sqlMap namespace="CLIP.e-Form.Consent.Knuh" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  4. <statements>
  5. <statement id="GET_USER_NAME" parameterClass="System.Collections.Hashtable" >
  6. <![CDATA[
  7. SELECT
  8. USERB.USERNM
  9. FROM
  10. COM.ZSUMUSRB USERB,
  11. (
  12. SELECT
  13. USERID,
  14. MAX(USERFROMDD) AS USERFROMDD
  15. FROM
  16. COM.ZSUMUSRB
  17. WHERE
  18. USERID = #userId#
  19. GROUP BY
  20. USERID) MAX_USERB
  21. WHERE userb.userid = max_userb.userid
  22. AND userb.userfromdd = max_userb.userfromdd
  23. ]]>
  24. </statement>
  25. <statement id="GET_USER_INFO" parameterClass="System.Collections.Hashtable" resultMap="UserMap">
  26. <![CDATA[
  27. SELECT USRB.USERID AS userId,
  28. USRB.USERNM AS userName,
  29. USRD.DUTPLCECD AS userdeptCode,
  30. DEPT.DEPTHNGNM AS userDeptName,
  31. DEPT.DEPTENGABBR AS deptEngAbbr,
  32. USRD.JOBKINDCD AS jobKindCd,
  33. (SELECT CDNM
  34. FROM COM.ZBCMCODE D
  35. WHERE D.CDGRUPID = 'R0061'
  36. AND D.CDID = USRD.JOBKINDCD
  37. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN D.VALIFROMDD AND D.VALITODD
  38. ) AS jobKindNm,
  39. USRD.DUTPLCEINSTCD AS instCd,
  40. CASE WHEN USRD.JOBKINDCD LIKE '03%' THEN
  41. (SELECT PDANO
  42. FROM COM.ZSUMUSRB D
  43. WHERE D.USERID = USRB.USERID
  44. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN D.USERFROMDD AND D.USERTODD
  45. )
  46. ELSE (SELECT MPPHONNO
  47. FROM COM.ZSUMUSRB D
  48. WHERE D.USERID = USRB.USERID
  49. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN D.USERFROMDD AND D.USERTODD
  50. )
  51. END AS userTelNo,
  52. DECODE(DEPT.ORDDEPTFLAG, 'W', 'I', 'O') AS ioFlag
  53. FROM EMA.VW_COM_ZSUMUSRB USRB,
  54. COM.ZSUMUSRD USRD,
  55. COM.ZSDDDEPT DEPT
  56. WHERE USRB.USERID = #userId#
  57. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN USRB.USERFROMDD AND USRB.USERTODD
  58. AND USRD.USERID = USRB.USERID
  59. ]]>
  60. <isNotEmpty property="deptCd">
  61. <![CDATA[
  62. AND USRD.DUTPLCECD = #deptCd#
  63. ]]>
  64. </isNotEmpty>
  65. <![CDATA[
  66. AND USRD.PSNWORKYN = 'N'
  67. AND NVL(USRD.TEMPYN, '-') != 'C'
  68. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN USRD.FROMDD AND USRD.TODD
  69. AND USRD.DUTPLCEINSTCD = #instCd#
  70. AND DEPT.INSTCD = USRD.DUTPLCEINSTCD
  71. AND DEPT.DEPTCD = USRD.DUTPLCECD
  72. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN DEPT.VALIFROMDD AND DEPT.VALITODD
  73. ]]>
  74. </statement>
  75. <!--
  76. <statement id="getUserFormSet" parameterClass="System.Collections.Hashtable" resultMap="ConsentSetMap">
  77. <![CDATA[
  78. SELECT 'PERS_SET' AS SET_AUTH,
  79. 'bf159c4f-bb03-49ba-bc61-9d635f350c8d' AS FORM_GUID,
  80. '안와골절 정복술 설명 및 동의서' AS FORM_NAME,
  81. 109 AS FORM_RID,
  82. #userid# AS FORM_CD,
  83. 1 AS PRNTCNT
  84. FROM DUAL
  85. UNION ALL
  86. SELECT 'PERS_SET' AS SET_AUTH,
  87. '8095dad0-7318-4782-adfb-a2db2f0258e3' AS FORM_GUID,
  88. 'Safe Guard 사용 동의서' AS FORM_NAME,
  89. 110 AS FORM_RID,
  90. #userid# || '0000002' AS FORM_CD,
  91. 1 AS PRNTCNT
  92. FROM DUAL
  93. ]]>
  94. </statement>
  95. -->
  96. <!--statement id="getUserFormSet" parameterClass="System.Collections.Hashtable" resultMap="ConsentSetMap">
  97. <![CDATA[
  98. SELECT 'PERS_SET' AS set_auth
  99. , a.linkcd AS form_cd
  100. , b.form_name AS form_name
  101. , '' AS FULL_CATEGORY_NAME
  102. , b.form_guid
  103. , b.form_rid
  104. , b.prntcnt
  105. , b.print_only
  106. , b.ocrtagprntyn
  107. , ( SELECT formprntnm
  108. FROM emr.mrfmform c
  109. WHERE c.instcd = #instcd#
  110. AND c.formcd = b.form_cd
  111. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN c.formfromdt AND c.formtodt
  112. ) AS formprntnm
  113. , c.opdiagnm
  114. , c.opnm
  115. , CASE WHEN EXISTS ( SELECT 1
  116. FROM emr.mmbdhrcd c
  117. WHERE c.instcd = a.instcd
  118. AND c.hardcdno = '6920'
  119. AND c.trgtcd = a.linkcd
  120. ) THEN
  121. 'N'
  122. ELSE 'Y'
  123. END AS userdrflag
  124. , ( SELECT d.rmk
  125. FROM emr.mmbmhrcd d
  126. , emr.mmbdhrcd e
  127. WHERE d.instcd = #instcd#
  128. AND d.hardcdno = '6011'
  129. AND e.instcd = d.instcd
  130. AND e.hardcdno = d.hardcdno
  131. AND e.trgtcd != d.rmk
  132. AND e.trgtcd = b.form_cd
  133. AND NVL(e.hardspec, 'Y') = 'Y'
  134. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN e.valifromdd AND e.valitodd
  135. AND ROWNUM = 1
  136. ) AS lnkformcd
  137. FROM emr.mrfmsetindx a
  138. , ema.v_eform_formdoc b
  139. , ( SELECT trgtcd
  140. , trgtcdnm AS opdiagnm
  141. , trgtcdsnm AS opnm
  142. FROM emr.mmbdhrcd
  143. WHERE instcd = #instcd#
  144. AND hardcdno = '6011'
  145. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd
  146. ) c
  147. WHERE a.userid = #userid#
  148. AND a.instcd = #instcd#
  149. AND a.valiyn = 'Y'
  150. AND b.form_cd = a.linkcd
  151. AND c.trgtcd(+) = b.form_cd
  152. ORDER BY form_name]]>
  153. </statement-->
  154. <statement id="getUserFormSet" parameterClass="System.Collections.Hashtable" resultMap="ConsentFormMap">
  155. <![CDATA[
  156. SELECT '' AS CONSENT_MST_RID,
  157. '' AS CREATE_USER_ID,
  158. '' AS CREATE_USER_NAME,
  159. '' AS MODIFY_USER_ID,
  160. '' AS MODIFY_USER_NAME,
  161. '' AS CREATE_DATETIME,
  162. '' AS OCR_TAG,
  163. '' AS PID,
  164. '' AS INDD,
  165. '' AS ORD_TYPE,
  166. '' AS ORD_DEPT_CD,
  167. '' AS CRET_NO,
  168. '' AS OPRSRVNO,
  169. '' AS PATIENT_NAME,
  170. '' AS CONSENT_STATE,
  171. '' AS CONSENT_STATE_ENG,
  172. VF.FORM_CD AS FORM_CD,
  173. VF.FORM_GUID AS FORM_GUID,
  174. VF.FORM_NAME AS FORM_NAME,
  175. VF.FORM_RID AS FORM_RID,
  176. VF.PRINT_ONLY AS PRNT_ONLY,
  177. VF.PRNTCNT AS PRINT_CNT,
  178. VF.OCRTAGPRNTYN AS OCR_TAG_PRNT_YN,
  179. MRFM.FORMPRNTNM AS FORM_PRNT_NM,
  180. DECODE(MRFM.CERTUSEYN, 'Y', MRFM.CERTUSEYN, 'N') AS CERT_USE_YN,
  181. OP.OPDIAGNM AS OP_DIAG_NM,
  182. OP.OPNM AS OP_NM,
  183. CASE
  184. WHEN EXISTS (SELECT 1
  185. FROM EMR.MMBDHRCD C
  186. WHERE C.INSTCD = #instCd#
  187. AND C.HARDCDNO = '6920'
  188. AND C.TRGTCD = VF.FORM_CD
  189. ) THEN
  190. 'N'
  191. ELSE 'Y'
  192. END AS USERDRFLAG,
  193. (SELECT C.RMK
  194. FROM EMR.MMBMHRCD C,
  195. EMR.MMBDHRCD D
  196. WHERE C.INSTCD = #instCd#
  197. AND C.HARDCDNO = '6011'
  198. AND D.INSTCD = C.INSTCD
  199. AND D.HARDCDNO = C.HARDCDNO
  200. AND D.TRGTCD != C.RMK
  201. AND D.TRGTCD = VF.FORM_CD
  202. AND NVL(D.HARDSPEC, 'Y') = 'Y'
  203. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN D.VALIFROMDD AND D.VALITODD
  204. AND ROWNUM = 1
  205. ) AS LNKFORMCD,
  206. (SELECT DECODE(COUNT(FORM.FORMCD), 0, '-', '1100010977')
  207. FROM EMR.MRFMCALCMECH MECH,
  208. EMR.MRFMFORM FORM
  209. WHERE MECH.INSTCD = #instCd#
  210. AND FORM.FORMCD = VF.FORM_CD
  211. AND MECH.INSTCD = FORM.INSTCD
  212. AND MECH.FORMCD = FORM.FORMCD
  213. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN FORM.FORMFROMDT AND FORM.FORMTODT
  214. AND MECH.BIZFLAG='JINJEONG') AS JINJEONGCD,
  215. MRFM.DRONLY
  216. FROM EMA.V_EFORM_FORMDOC VF,
  217. EMR.MRFMSETINDX MRFS,
  218. EMR.MRFMFORM MRFM,
  219. (SELECT TRGTCD,
  220. TRGTCDNM AS OPDIAGNM,
  221. TRGTCDSNM AS OPNM
  222. FROM EMR.MMBDHRCD
  223. WHERE INSTCD = #instCd#
  224. AND HARDCDNO = '6011'
  225. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  226. ) OP
  227. WHERE 1 = 1
  228. AND OP.TRGTCD(+) = VF.FORM_CD
  229. AND MRFS.USERID = #userId#
  230. AND MRFS.INSTCD = #instCd#
  231. AND MRFM.INSTCD = #instCd#
  232. AND VF.FORM_CD = MRFS.LINKCD
  233. AND MRFS.VALIYN = 'Y'
  234. AND MRFM.FORMPROGFLAG LIKE 'OCR%'
  235. AND VF.FORM_CD = MRFM.FORMCD
  236. AND TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN MRFM.FORMFROMDT AND MRFM.FORMTODT
  237. ORDER BY VF.FORM_CD
  238. ]]>
  239. </statement>
  240. <!-- insert id="setUserFormSet" parameterClass="System.Collections.Hashtable">
  241. <![CDATA[
  242. INSERT INTO emr.mrfmsetindx(
  243. instcd,
  244. itemindxseq,
  245. supitemindxseq,
  246. indxflag,
  247. indxnm,
  248. indxcnts,
  249. deptcd,
  250. userid,
  251. linkflag,
  252. linkcd,
  253. comnseq,
  254. fstrgstrid,
  255. fstrgstdt,
  256. lastupdtrid,
  257. lastupdtdt,
  258. jobkind,
  259. slipno
  260. )
  261. VALUES(
  262. #instCd#,
  263. EMR.SQ_MRFMSETINDX_01.NEXTVAL,
  264. 472,
  265. 'O',
  266. '',
  267. '',
  268. '',
  269. #userId#,
  270. 'Y',
  271. #formCd#,
  272. '',
  273. #userId#,
  274. systimestamp,
  275. #userId#,
  276. systimestamp,
  277. '',
  278. '')
  279. ]]>
  280. <selectKey type="post" resultClass="System.Int32" property="itemindxseq">
  281. <![CDATA[SELECT EMR.SQ_MRFMSETINDX_01.CURRVAL AS itemindxseq FROM DUAL]]>
  282. </selectKey>
  283. </insert -->
  284. <insert id="setUserFormSet" parameterClass="System.Collections.Hashtable">
  285. <![CDATA[
  286. INSERT INTO emr.mrfmsetindx(
  287. instcd,
  288. itemindxseq,
  289. supitemindxseq,
  290. indxflag,
  291. indxnm,
  292. indxcnts,
  293. deptcd,
  294. userid,
  295. linkflag,
  296. linkcd,
  297. comnseq,
  298. fstrgstrid,
  299. fstrgstdt,
  300. lastupdtrid,
  301. lastupdtdt,
  302. jobkind,
  303. slipno
  304. )
  305. VALUES(
  306. #instCd#,
  307. EMR.SQ_MRFMSETINDX_01.NEXTVAL,
  308. 472,
  309. 'O',
  310. '',
  311. '',
  312. '',
  313. #userId#,
  314. 'Y',
  315. #formCd#,
  316. '',
  317. #userId#,
  318. systimestamp,
  319. #userId#,
  320. systimestamp,
  321. '',
  322. '')
  323. ]]>
  324. <selectKey type="post" resultClass="System.Int32" property="itemindxseq">
  325. <![CDATA[SELECT EMR.SQ_MRFMSETINDX_01.CURRVAL AS itemindxseq FROM DUAL]]>
  326. </selectKey>
  327. </insert>
  328. <delete id="delUserFormSet" parameterClass="System.Collections.Hashtable">
  329. <![CDATA[
  330. UPDATE EMR.MRFMSETINDX
  331. SET INSTCD = '999'
  332. WHERE USERID = #userId#
  333. AND INSTCD = #instCd#
  334. AND LINKCD = #formCd#
  335. ]]>
  336. </delete>
  337. <statement id="getUserSignImage" parameterClass="System.Collections.Hashtable" resultMap="UserSignImageMap">
  338. <![CDATA[
  339. SELECT SIGNDATA
  340. FROM EMR.MRFMSIGNIMGE
  341. WHERE USERID = #userId#
  342. AND INSTCD = #instCd#
  343. AND REPRYN = 'Y'
  344. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN SIGNIMGEFROMDD AND SIGNIMGETODD
  345. ]]>
  346. </statement>
  347. <statement id="CHECK_OCRTAG_DUP" parameterClass="System.Collections.Hashtable">
  348. <![CDATA[
  349. SELECT COUNT(OCRTAG)
  350. FROM EMR.MRFMOCRPRNT
  351. WHERE INSTCD = #instCd#
  352. AND OCRTAG = #ocrTag#
  353. ]]>
  354. </statement>
  355. <statement id="getPenOptions" parameterClass="System.Collections.Hashtable">
  356. <![CDATA[
  357. SELECT TRGTCD || ',' || TRGTCDNM || ',' || HARDSPEC as RESULT
  358. FROM EMR.MMBDHRCD
  359. WHERE INSTCD = #instcd#
  360. AND HARDCDNO = 6963
  361. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  362. ]]>
  363. </statement>
  364. <statement id="getZoomRate" parameterClass="System.Collections.Hashtable">
  365. <![CDATA[
  366. SELECT TRGTCD as RESULT
  367. FROM EMR.MMBDHRCD
  368. WHERE INSTCD = #instcd#
  369. AND HARDCDNO = 6964
  370. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  371. ]]>
  372. </statement>
  373. <statement id="getPrintOnly" parameterClass="System.Collections.Hashtable">
  374. <![CDATA[
  375. SELECT PRINTONLY
  376. FROM (
  377. SELECT FORMCD, NVL (PRINT_ONLY, 'N') AS PRINTONLY
  378. FROM EMR.MRFMFORM A
  379. WHERE A.INSTCD = #instcd#
  380. AND TO_CHAR (SYSDATE, 'YYYYMMDD') BETWEEN FORMFROMDT AND FORMTODT
  381. AND FORMPROGFLAG LIKE '%OCR%'
  382. AND FORMLEVLCD != '-'
  383. AND TO_CHAR (SYSDATE, 'YYYYMMDDHH24MISS') BETWEEN FORMFROMDT AND FORMTODT
  384. ) B
  385. WHERE B.FORMCD = #formcd#
  386. ]]>
  387. </statement>
  388. <statement id="getMultiprintable" parameterClass="System.Collections.Hashtable">
  389. <![CDATA[
  390. SELECT COUNT(*)
  391. FROM EMR.MMBDHRCD A
  392. WHERE INSTCD = #instcd#
  393. AND HARDCDNO = 6965
  394. AND TRGTCD = #formcd#
  395. AND TO_CHAR (SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  396. ]]>
  397. </statement>
  398. <statement id="getPrintControlMsg" parameterClass="System.Collections.Hashtable">
  399. <![CDATA[
  400. SELECT TRGTCDNM
  401. FROM EMR.MMBDHRCD A
  402. WHERE INSTCD = #instcd#
  403. AND HARDCDNO = 6966
  404. AND TRGTCD = #ordtype#
  405. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN VALIFROMDD AND VALITODD
  406. ]]>
  407. </statement>
  408. <statement id="GetUnfinishedListPerDoctor" parameterClass="System.Collections.Hashtable" resultMap="UnFinishedListMap">
  409. <![CDATA[
  410. SELECT pid AS patientCode
  411. , ( SELECT ptbs.hngnm
  412. FROM ema.vw_pam_pmcmptbs ptbs
  413. WHERE ptbs.instcd = #instcd#
  414. AND ptbs.pid = a.pid
  415. ) AS hngnm
  416. , ( SELECT v.form_cd
  417. FROM ema.v_eform_formdoc v
  418. WHERE v.form_rid = a.form_rid
  419. ) AS formcd
  420. , ( SELECT v.form_name
  421. FROM ema.v_eform_formdoc v
  422. WHERE v.form_rid = a.form_rid
  423. ) AS consentName
  424. , ( SELECT v.print_only
  425. FROM ema.v_eform_formdoc v
  426. WHERE v.form_rid = a.form_rid
  427. ) AS printonly
  428. , a.order_date AS orderdate
  429. , ( SELECT s.cert_target
  430. FROM ema.consent_image_sign s
  431. WHERE s.consent_mst_rid = a.consent_mst_rid
  432. ) AS certtarget
  433. , a.consent_state AS consentState
  434. , a.consent_mst_rid AS consentMstRid
  435. , a.cln_date AS orddd
  436. , a.visit_type AS visitType
  437. , a.cln_dept_cd AS orddeptcd
  438. , a.order_no AS orderno
  439. , a.order_cd AS ordercd
  440. , a.ocr_number AS ocrNumber
  441. , a.cretno
  442. , a.create_user_name AS createusername
  443. , a.form_rid AS formrid
  444. , ( SELECT doc.form_guid
  445. FROM ema.v_eform_formdoc doc
  446. where doc.form_rid = a.form_rid
  447. ) AS formguid
  448. FROM ema.consent_mst a
  449. WHERE a.hos_type = #instcd#
  450. AND a.modify_user_id = #userid#
  451. AND a.use_yn = 'Y'
  452. AND SUBSTR(a.create_datetime, 1, 10) BETWEEN TO_CHAR(TO_DATE(#fromdd#, 'yyyymmdd'), 'yyyy-mm-dd')
  453. AND TO_CHAR(TO_DATE(#todd#, 'yyyymmdd'), 'yyyy-mm-dd')]]>
  454. <isNotEqual property="status" compareValue="ALL">
  455. <![CDATA[
  456. AND a.consent_state IN ($status$)]]>
  457. </isNotEqual><![CDATA[
  458. AND CASE WHEN EXISTS ( SELECT 1
  459. FROM emr.mrfmocrprnt d
  460. WHERE d.instcd = #instcd#
  461. AND d.ocrtag = a.ocr_number ) THEN
  462. CASE WHEN a.consent_state IN ('TEMP', 'PAPER_OUT')
  463. AND EXISTS ( SELECT 1
  464. FROM emr.mrfmocrprnt d
  465. , emr.mrfhocrprnt e
  466. WHERE d.instcd = #instcd#
  467. AND d.ocrtag = a.ocr_number
  468. AND e.instcd = d.instcd
  469. AND e.ocrtag = d.ocrtag
  470. AND e.updtdt = d.updtdt
  471. AND e.statcd = 'P'
  472. ) THEN 'Y'
  473. WHEN a.consent_state = 'CERTIFY_CMP'
  474. AND EXISTS ( SELECT 1
  475. FROM emr.mrfmocrprnt d
  476. , emr.mrfhocrprnt e
  477. WHERE d.instcd = #instcd#
  478. AND d.ocrtag = a.ocr_number
  479. AND e.instcd = d.instcd
  480. AND e.ocrtag = d.ocrtag
  481. AND e.updtdt = d.updtdt
  482. AND e.statcd = 'C'
  483. ) THEN 'Y'
  484. ELSE 'N'
  485. END
  486. ELSE 'Y'
  487. END = 'Y']]>
  488. </statement>
  489. <statement id="doLogin" parameterClass="System.Collections.Hashtable" resultMap="MobileLoginResultMap">
  490. <![CDATA[
  491. SELECT usrb.usernm AS usernm
  492. , upwd.pwd_sha256 AS pwd_sha256
  493. , usrb.userid AS userid
  494. FROM (
  495. SELECT userb.userid as userid, userb.usernm as usernm
  496. FROM com.zsumusrb userb,
  497. (SELECT userid, max(userfromdd) as userfromdd
  498. FROM com.zsumusrb
  499. WHERE userid = #userid#
  500. GROUP BY userid
  501. ) max_userb
  502. WHERE userb.userid = max_userb.userid
  503. AND userb.userfromdd = max_userb.userfromdd
  504. ) usrb,
  505. com.zsumupwd upwd,
  506. com.zsumpwlg pwlg
  507. WHERE upwd.userid(+) = usrb.userid
  508. AND pwlg.userid(+) = usrb.userid
  509. ]]>
  510. </statement>
  511. <!--<statement id="getUserdeptList" parameterClass="System.Collections.Hashtable" resultMap="UserLoginDeptListResultMap">
  512. <![CDATA[
  513. SELECT code.cdid AS dutplceinstcd,
  514. code.cdnm AS dutplceinstnm,
  515. dept.deptcd AS dutplcecd,
  516. dept.depthngnm AS depthngnm,
  517. code.cdnm || ':'|| dept.depthngnm AS deptnm,
  518. usrd.fromdd AS fromdd,
  519. seq.sortno AS sortno,
  520. code.cdid || ':' || dept.deptcd AS deptcd,
  521. usrd.jobkindcd AS jobkindcd,
  522. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0061' AND cdid = usrd.jobkindcd) AS jobkindnm,
  523. HOSUSER.HOSPAPPSTATUS as mobile
  524. FROM com.ZBCMCODE code,
  525. com.ZSDDDEPT dept,
  526. EMA.EFORM_HOSPUSERS hosuser,
  527. com.ZSUMUSRD usrd left outer join com.ZSUMSORT seq on (
  528. usrd.userid = seq.userid
  529. and usrd.dutplceinstcd = seq.dutplceinstcd
  530. and usrd.dutplcecd = seq.dutplcecd),
  531. (SELECT cdrl.subcdsid
  532. FROM com.ZBCDCDGL cdgl,
  533. com.ZBCDCDRL cdrl,
  534. com.ZBCMCDGR cdgr,
  535. com.ZBCMCODE code
  536. WHERE cdgr.cdgrupid = 'Z0011'
  537. AND cdgr.cdgrupid = cdgl.supcdgrupid
  538. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN cdgr.valifromdd AND cdgr.valitodd
  539. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN code.valifromdd ANd code.valitodd
  540. AND code.cdid = #syscd#
  541. AND code.cdsid = cdrl.supcdsid ) a
  542. WHERE a.subcdsid = code.cdsid
  543. AND code.cdid = usrd.dutplceinstcd
  544. AND usrd.userid = #userid#
  545. AND HOSUSER.HOSPUSER_ID = usrd.userid
  546. AND usrd.dutplcecd = dept.deptcd
  547. AND usrd.dutplceinstcd = dept.instcd
  548. AND usrd.psnworkyn = 'N'
  549. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN code.valifromdd AND code.valitodd
  550. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN dept.valifromdd AND dept.valitodd
  551. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN usrd.fromdd AND usrd.todd
  552. ORDER BY sortno ASC
  553. ]]>
  554. </statement>-->
  555. <statement id="getUserdeptList" parameterClass="System.Collections.Hashtable" resultMap="UserLoginDeptListResultMap">
  556. <![CDATA[
  557. SELECT code.cdid AS dutplceInstCd,
  558. code.cdnm AS dutplceInstNm,
  559. dept.deptcd AS dutplceCd,
  560. dept.depthngnm AS deptHngNm,
  561. code.cdnm || ':'|| dept.depthngnm AS deptNm,
  562. usrd.fromdd AS fromDd,
  563. seq.sortno AS sortNo,
  564. code.cdid || ':' || dept.deptcd AS deptCd,
  565. NVL(usrd.jobkindcd, '1140') AS jobKindCd,
  566. NVL((SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0061' AND cdid = usrd.jobkindcd), '-') AS jobKindNm,
  567. NVL((SELECT HOSP.HOSPAPPSTATUS
  568. FROM EMA.EFORM_HOSPUSERS hosp
  569. WHERE HOSP.HOSPUSER_ID = #userid#
  570. ), 'I') as mobile,
  571. USRD.USERID as userId,
  572. usrb.USERNM as userName,
  573. case when jobkindcd like '03%' and jobposcd in ('1799','1800') then 'A'
  574. when jobkindcd like '03%' then 'B' else 'C' end drKind
  575. FROM com.ZBCMCODE code,
  576. com.ZSDDDEPT dept,
  577. (
  578. SELECT userb.userid as userid, userb.usernm as usernm
  579. FROM com.zsumusrb userb,
  580. (SELECT userid, max(userfromdd) as userfromdd
  581. FROM com.zsumusrb
  582. WHERE userid = #userid#
  583. GROUP BY userid
  584. ) max_userb
  585. WHERE userb.userid = max_userb.userid
  586. AND userb.userfromdd = max_userb.userfromdd
  587. ) usrb,
  588. com.ZSUMUSRD usrd left outer join com.ZSUMSORT seq on (
  589. usrd.userid = seq.userid
  590. and usrd.dutplceinstcd = seq.dutplceinstcd
  591. and usrd.dutplcecd = seq.dutplcecd),
  592. (SELECT cdrl.subcdsid
  593. FROM com.ZBCDCDRL cdrl,
  594. com.ZBCMCODE code
  595. WHERE code.cdgrupid = 'Z0011'
  596. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN code.valifromdd ANd code.valitodd
  597. AND code.cdid = #syscd#
  598. AND code.cdsid = cdrl.supcdsid ) a
  599. WHERE a.subcdsid = code.cdsid
  600. AND code.cdid = usrd.dutplceinstcd
  601. AND usrd.userid = #userid#
  602. AND USRD.USERID = usrb.USERID
  603. AND usrd.dutplcecd = dept.deptcd
  604. AND usrd.dutplceinstcd = dept.instcd
  605. AND usrd.psnworkyn = 'N'
  606. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN code.valifromdd AND code.valitodd
  607. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN dept.valifromdd AND dept.valitodd
  608. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN usrd.fromdd AND usrd.todd
  609. ORDER BY sortno ASC
  610. ]]>
  611. </statement>
  612. <statement id="getMobileUserInfo" parameterClass="System.Collections.Hashtable" resultMap="MobileUserInfoResultMap">
  613. <![CDATA[
  614. SELECT TRIM(userd.userid) AS userid,
  615. TRIM(userb.usernm) AS usernm,
  616. TRIM(userb.userengnm) AS userengnm,
  617. TRIM(userb.posinstcd) AS posinstcd,
  618. TRIM(userb.posdeptcd) AS posdeptcd,
  619. TRIM(userb.orgdeptcd) AS orgdeptcd,
  620. TRIM(userd.dutplcecd) AS dutplcecd,
  621. TRIM(userd.fstrgstrid) AS fstrgstrid,
  622. TRIM(userd.lastupdtrid) AS lastupdtrid,
  623. userd.jobposcd AS jobposcd,
  624. userd.jobrespcd AS jobrespcd,
  625. userd.prfshipflagcd AS prfshipflagcd,
  626. userd.psnworkyn AS psnworkyn,
  627. userd.apntflag AS apntflag,
  628. userd.tempyn AS tempyn,
  629. userd.fstrgstdt AS fstrgstdt,
  630. userd.fromdd AS fromdd,
  631. userd.todd AS todd,
  632. userd.licnsno AS licnsno,
  633. userd.specordyn AS specordyn,
  634. userd.majorfild AS majorfild,
  635. userd.jobkindcd AS jobkindcd,
  636. userb.userkindcd AS userkindcd,
  637. userb.orginstcd AS orginstcd,
  638. userb.grupjoblncd AS grupjoblncd,
  639. userb.dutinstcd AS dutinstcd,
  640. userb.dutunitcd AS dutunitcd,
  641. userb.mpphonno AS mpphonno,
  642. userd.dutplceinstcd AS dutplceinstcd,
  643. userd.medispclno AS medispclno,
  644. userd.lastupdtdt AS lastupdtdt,
  645. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0007' AND cdid = userb.posinstcd) AS posinstnm,
  646. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0016' AND cdid = userb.userkindcd) AS userkindnm,
  647. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0007' AND cdid = userb.posinstcd) AS posinstnm,
  648. (SELECT depthngnm FROM com.zsdddept WHERE instcd = userb.posinstcd AND deptcd = userb.posdeptcd AND TO_CHAR (SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS posdeptnm,
  649. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0007' AND cdid = userb.orginstcd) AS orginstnm,
  650. (SELECT depthngnm FROM com.zsdddept WHERE instcd = userb.orginstcd AND deptcd = userb.orgdeptcd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS orgdeptnm,
  651. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0059' AND cdid = userb.grupjoblncd) AS grupjoblnnm,
  652. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0007' AND cdid = userb.dutinstcd) AS dutinstnm,
  653. (SELECT depthngnm FROM com.zsdddept WHERE instcd = userb.dutinstcd AND deptcd = userb.dutunitcd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS dutunitnm,
  654. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'Z0007' AND cdid = userd.dutplceinstcd) AS dutplceinstnm,
  655. (SELECT ordsupdeptcd FROM com.zsdddept WHERE instcd = userd.dutplceinstcd AND deptcd = dutplcecd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS ordsupdeptcd,
  656. (SELECT depthngnm FROM com.zsdddept WHERE instcd = userd.dutplceinstcd AND deptcd = userd.dutplcecd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS dutplcenm,
  657. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0061' AND cdid = userd.jobkindcd) AS jobkindnm,
  658. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0062' AND cdid = userd.jobposcd) AS jobposnm,
  659. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0063' AND cdid = userd.jobrespcd) AS jobrespnm,
  660. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0058' and cdid = userd.prfshipflagcd) AS prfshipflagnm,
  661. (SELECT cdnm FROM com.zbcmcode WHERE cdgrupid = 'R0090' and cdid = userd.apntflag) AS apntflagnm,
  662. (SELECT deptengabbr FROM com.zsdddept WHERE instcd = userd.dutplceinstcd AND deptcd = userd.dutplcecd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS deptabbr,
  663. (SELECT deptengnm FROM com.zsdddept WHERE instcd = userd.dutplceinstcd AND deptcd = userd.dutplcecd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS deptengnm,
  664. (SELECT orddeptflag FROM com.zsdddept WHERE instcd = userd.dutplceinstcd AND deptcd = userd.dutplcecd AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN valifromdd AND valitodd) AS orddeptflag,
  665. userb.email AS email
  666. FROM com.zsumusrb userb,
  667. com.zsumusrd userd
  668. WHERE userb.userid = userd.userid
  669. AND userd.userid = #userid#
  670. AND userd.dutplceinstcd = #dutplceinstcd#
  671. AND userd.dutplcecd = #dutplcecd#
  672. AND userd.psnworkyn = 'N'
  673. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN userb.userfromdd AND userb.usertodd
  674. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN userd.fromdd AND userd.todd
  675. ]]>
  676. </statement>
  677. <!--<statement id="GetSessionTime" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  678. <![CDATA[
  679. SELECT TRGTCDNM AS SESSION_TIME
  680. FROM EMR.MMBDHRCD
  681. WHERE INSTCD = #instCd#
  682. AND HARDCDNO = '6580'
  683. ]]>
  684. </statement>-->
  685. <statement id="GET_BASE_DATA" parameterClass="System.Collections.Hashtable" resultClass="System.String">
  686. <![CDATA[
  687. SELECT LISTAGG(DECODE(HARDCDNO, 6580, 'SESSION_TIME|'||TRGTCDNM,
  688. 6581, 'ELECTR_CMP|'||TRGTCDNM,
  689. 6582, 'MY_PATIENT|'||TRGTCDNM,
  690. 6584, 'MOBILE_VERSION|'||TRGTCDNM), ',')
  691. WITHIN GROUP(ORDER BY HARDCDNO) AS BASE_DATA
  692. FROM EMR.MMBDHRCD
  693. WHERE INSTCD = #instCd#
  694. AND HARDCDNO IN (6580, 6581, 6582, 6584)
  695. ]]>
  696. </statement>
  697. <!--사인데이터를 생성-->
  698. <statement id="INS_USER_SIGNIMAGE" parameterClass="System.Collections.Hashtable" resultMap="UserSignDataMap">
  699. <![CDATA[
  700. insert into EMR.MRFMSIGNIMGE a ( a.userid
  701. , a.SIGNIMGESEQNO
  702. , a.REPRYN
  703. , a.SIGNDATA
  704. , a.SIGNIMGEFROMDD
  705. , a.SIGNIMGETODD
  706. , a.FSTRGSTRID
  707. , a.LASTUPDTRID
  708. , a.RGSTINSTCD
  709. )
  710. values(#userId#
  711. , #nextSeqNo#
  712. , 'Y'
  713. , #signData#
  714. , to_char(sysdate, 'YYYYMMDD')
  715. , '99991231'
  716. , #inputUserId#
  717. , #inputUserId#
  718. , #instCd#
  719. )
  720. ]]>
  721. </statement>
  722. <!--이전 사인데이터의 유효기간 마감 처리-->
  723. <statement id="SET_USER_SIGNTODD" parameterClass="System.Collections.Hashtable" resultMap="UserSignDataMap">
  724. <![CDATA[
  725. UPDATE EMR.MRFMSIGNIMGE a
  726. SET a.SIGNIMGETODD = #yesterDay#
  727. , a.LASTUPDTRID = #inptUser#
  728. , a.REPRYN = 'Y'
  729. , a.LASTUPDTDT = systimestamp
  730. WHERE a.userid = #userId#
  731. AND a.SIGNIMGESEQNO = #curSeqNo# AND a.REPRYN = 'Y'
  732. ]]>
  733. </statement>
  734. <!--사용자에 대한 사인데이터를 조회한다.-->
  735. <statement id="GET_USER_SIGN_DATA_INFO" parameterClass="System.Collections.Hashtable" resultMap="UserSignDataMap">
  736. <![CDATA[
  737. SELECT img.RGSTINSTCD as instCd
  738. , img.userid
  739. , img.signimgeseqno
  740. , IMG.SIGNIMGEFROMDD
  741. , img.signdata
  742. , (
  743. SELECT
  744. USERB.USERNM
  745. FROM
  746. COM.ZSUMUSRB USERB,
  747. (
  748. SELECT
  749. USERID,
  750. MAX(USERFROMDD) AS USERFROMDD
  751. FROM
  752. COM.ZSUMUSRB
  753. WHERE
  754. USERID = #userId#
  755. GROUP BY
  756. USERID) MAX_USERB
  757. WHERE userb.userid = max_userb.userid
  758. AND userb.userfromdd = max_userb.userfromdd
  759. ) usernm
  760. FROM EMR.MRFMSIGNIMGE img
  761. WHERE userid = #userId#
  762. and img.signimgeseqno = (
  763. select max(signimgeseqno)
  764. from EMR.MRFMSIGNIMGE
  765. where REPRYN = 'Y'
  766. and userid = #userId#
  767. )
  768. AND REPRYN = 'Y'
  769. AND TO_CHAR(SYSDATE, 'YYYYMMDD') BETWEEN SIGNIMGEFROMDD AND SIGNIMGETODD
  770. ]]>
  771. </statement>
  772. <!--같은날 사용자 사인데이터를 저장하면 그날 사인데이터에 업데이트한다.-->
  773. <statement id="SET_USER_SIGN_DATA" parameterClass="System.Collections.Hashtable" resultMap="UserSignDataMap">
  774. <![CDATA[
  775. UPDATE EMR.MRFMSIGNIMGE IMG
  776. SET IMG.SIGNDATA = #signData#
  777. , IMG.LASTUPDTRID = #inptUser#
  778. , IMG.LASTUPDTDT = systimestamp
  779. , IMG.INPUTFLAG = 'M'
  780. , IMG.REPRYN = 'Y'
  781. WHERE IMG.USERID = #userId#
  782. AND IMG.SIGNIMGESEQNO = #curSeqNo#
  783. ]]>
  784. </statement>
  785. </statements>
  786. </sqlMap>