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

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