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

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