SPAHA00400_건진환자선택.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SPAHA00400.xrw
  4. * 설 명 : 건진환자선택
  5. * 설 계 자 : 손주연
  6. * 작 성 자 : 손주연
  7. * 작 성 일 : 2007.04.13
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>건진환자선택</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <patinfo>
  20. <item>
  21. <pid/>
  22. <hngnm/>
  23. <rgstno1/>
  24. <rgstno2/>
  25. <healexamdd/>
  26. <sex/>
  27. <age/>
  28. <telno/>
  29. <emailid/>
  30. <emailtype/>
  31. <healexampid/>
  32. <emailkind/>
  33. <zipcd11/>
  34. <zipcd12/>
  35. <zipcdseq1/>
  36. <addr1/>
  37. <detladdr1/>
  38. <zipcd21/>
  39. <zipcd22/>
  40. <zipcdseq2/>
  41. <addr2/>
  42. <detladdr2/>
  43. <zipcd31/>
  44. <zipcd32/>
  45. <zipcdseq3/>
  46. <addr3/>
  47. <detladdr3/>
  48. <psptno/>
  49. <brthareacnts/>
  50. <pidcretfg/>
  51. <engnm/>
  52. <mpphon/>
  53. <forgneryn/>
  54. <healexamdetlnm/>
  55. <builno1/>
  56. <builno2/>
  57. <builno3/>
  58. <pat_rowid/>
  59. </item>
  60. </patinfo>
  61. </main>
  62. <send>
  63. <srchcond>pid</srchcond>
  64. <srchpid/>
  65. <srchpnm/>
  66. <srchrgstno1/>
  67. <srchrgstno2/>
  68. <srchinstcd/>
  69. <srchengnm/>
  70. </send>
  71. <init/>
  72. <hidden>
  73. <patinfo>
  74. <item/>
  75. </patinfo>
  76. </hidden>
  77. <target>
  78. <srchcond/>
  79. <srchpnm/>
  80. <srchpid/>
  81. <setflag/>
  82. <desxpath/>
  83. <setyn/>
  84. </target>
  85. </root>
  86. </instance>
  87. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  88. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  89. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  90. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  91. <script type="javascript" src="../../../ast/healexamweb/js/healexam.js"/>
  92. <submission id="TRAHA00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/patinfo"/>
  93. <script type="javascript" ev:event="xforms-ready">
  94. <![CDATA[
  95. fInit();
  96. /**=====================================================================================
  97. * SMAHA00400_PARAM1 : 현재화면ID
  98. * SPAHA00400_PARAM2 : 검색조건 pnm/pid/rgstno
  99. * SPAHA00400_PARAM3 : 검색어
  100. * SPAHA00400_PARAM4 : nodeset전체 copy여부 (N일경우 원무등록번호와 환자 한글명만 copy)
  101. * SPAHA00400_PARAM5 : nodeset전체 copy여부 Y 일경우 대상노드
  102. * SPAHA00400_PARAM6 : nodeset전체 copy여부 N 일경우 원무등록번호 대상노드
  103. * SPAHA00400_PARAM7 : nodeset전체 copy여부 N 일경우 환자 한글명 대상노드
  104. * SPAHA00400_PARAM8 : 검색어 주민번호1
  105. * SPAHA00400_PARAM9 : 검색어 주민번호2
  106. * =====================================================================================
  107. */
  108. if( checkOpener() ){
  109. opener.model.makeNode("/root/temp/okflag");
  110. model.setValue("/root/send/srchcond" , opener.javascript.getParameter("SPAHA00400_PARAM2"));
  111. model.setValue("/root/send/srchpid" , opener.javascript.getParameter("SPAHA00400_PARAM3"));
  112. if( model.getValue("/root/send/srchcond" ) == "rgstno" ){
  113. ipt_rgstno1.value = opener.javascript.getParameter("SPAHA00400_PARAM8") ;
  114. ipt_rgstno2.value = opener.javascript.getParameter("SPAHA00400_PARAM9") ;
  115. }
  116. model.refresh();
  117. if(model.getValue("/root/send/srchpid") == "")
  118. {
  119. return;
  120. }
  121. fGetPatList(false);
  122. }
  123. // var vHealexamflag = opener.javascript.getParameter("SPAHA00400_PARAM10");
  124. // var vHealexamdetlflag = opener.javascript.getParameter("SPAHA00400_PARAM11");
  125. // if( vHealexamflag == "G" && vHealexamdetlflag == "G02"){
  126. // grd_patlst.colAttribute(1, "visiblility") = "visible";
  127. // grd_patlst.colAttribute(2, "visiblility") = "visible";
  128. // }
  129. ]]>
  130. </script>
  131. </model>
  132. <script type="javascript">
  133. <![CDATA[
  134. function fInit(){
  135. model.removeNodeset("/root/main/patinfo/item");
  136. }
  137. /**========================================================================================================================
  138. ** 환자리스트 조회
  139. *========================================================================================================================*/
  140. function fGetPatList(bInit){
  141. if( bInit == true ) {
  142. fInit();
  143. }
  144. var vCond = model.getValue("/root/send/srchcond");
  145. if( vCond == "" ) {
  146. vCond = "pid";
  147. }
  148. /**
  149. * 환자명으로 조회시 두자이상 입력 체크
  150. */
  151. var vPnm = model.getValue("/root/send/srchpid") ;
  152. if(vCond == "pnm"){
  153. if(vPnm.length < 2){
  154. messageBox("환자성명을 두자이상 입력하세요!", "E999");
  155. return;
  156. }
  157. }else if(vCond == "rgstno"){
  158. vPnm = model.getValue("/root/send/srchrgstno1");
  159. if(vPnm.length < 1){
  160. messageBox("주민번호를 입력하세요!", "E999");
  161. return;
  162. }
  163. }else if(vCond == "engnm"){
  164. if(vPnm.length < 2){
  165. messageBox("영문이름을 두자이상 입력하세요!", "E999");
  166. return;
  167. }
  168. }else{
  169. if(vPnm.length < 1){
  170. messageBox("등록번호를 입력하세요!", "E999");
  171. return;
  172. }
  173. }
  174. /**
  175. * 이외에는...null일경우 조회되지 않도록
  176. */
  177. model.setValue("/root/send/srchcond" , vCond);
  178. model.setValue("/root/send/srchpnm" , model.getValue("/root/send/srchpid") );
  179. model.setValue("/root/send/srchengnm" , model.getValue("/root/send/srchpid") );
  180. model.setValue("/root/send/srchinstcd" , getUserInfo("dutplceinstcd"));
  181. submit("TRAHA00101");
  182. var node = instance1.selectSingleNode("/root/hidden/patinfo/item");
  183. if(node != null){
  184. model.copyNode("/root/main/patinfo", "/root/hidden/patinfo");
  185. }
  186. model.refresh();
  187. }
  188. /**=====================================================================================
  189. * SMAHA00400_PARAM1 : 현재화면ID
  190. * SPAHA00400_PARAM2 : 검색조건 pnm/pid/rgstno
  191. * SPAHA00400_PARAM3 : 검색어
  192. * SPAHA00400_PARAM4 : nodeset전체 copy여부 (N일경우 원무등록번호와 환자 한글명만 copy)
  193. * SPAHA00400_PARAM5 : nodeset전체 copy여부 Y 일경우 대상노드
  194. * SPAHA00400_PARAM6 : nodeset전체 copy여부 N 일경우 원무등록번호 대상노드
  195. * SPAHA00400_PARAM7 : nodeset전체 copy여부 N 일경우 환자 한글명 대상노드
  196. * =====================================================================================
  197. */
  198. function fSetPatinfo(){
  199. var idx = grd_patlst.row;
  200. if(idx < 1){
  201. return;
  202. }
  203. if(checkOpener()){
  204. //var vFg = model.getValue("/root/target/setflag");
  205. var vOpener = opener.javascript.getParameter("SPAHA00400_PARAM1");
  206. var bSetYN = opener.javascript.getParameter("SPAHA00400_PARAM4");
  207. var vDestXPath = opener.javascript.getParameter("SPAHA00400_PARAM5");
  208. var vDestPid = opener.javascript.getParameter("SPAHA00400_PARAM6");
  209. var vDestPnm = opener.javascript.getParameter("SPAHA00400_PARAM7");
  210. var vHometel = opener.javascript.getParameter("SPAHA00400_PARAM10");
  211. var vMpphontel = opener.javascript.getParameter("SPAHA00400_PARAM11");
  212. var vSex = opener.javascript.getParameter("SPAHA00400_PARAM12");
  213. var vAge = opener.javascript.getParameter("SPAHA00400_PARAM13");
  214. //종합건진 접수화면
  215. if(bSetYN == "N"){
  216. if(vDestPid == ""){
  217. opener.model.setValue(vDestXPath + "/pid" , model.getValue("/root/main/patinfo/item[" + idx + "]/pid"));
  218. opener.model.setValue(vDestXPath + "/hngnm" , model.getValue("/root/main/patinfo/item[" + idx + "]/hngnm"));
  219. }else{
  220. opener.model.setValue(vDestPid , model.getValue( "/root/main/patinfo/item[" + idx + "]/pid"));
  221. opener.model.setValue(vDestPnm , model.getValue( "/root/main/patinfo/item[" + idx + "]/hngnm"));
  222. if(vHometel!="" && vHometel!=null){
  223. opener.model.setValue(vHometel , model.getValue( "/root/main/patinfo/item[" + idx + "]/telno"));
  224. }
  225. if(vMpphontel!="" && vMpphontel!=null){
  226. opener.model.setValue(vMpphontel , model.getValue( "/root/main/patinfo/item[" + idx + "]/mpphon"));
  227. }
  228. if(vSex!="" && vSex!=null){
  229. opener.model.setValue(vSex , model.getValue( "/root/main/patinfo/item[" + idx + "]/sex"));
  230. }
  231. if(vAge!="" && vAge!=null){
  232. opener.model.setValue(vAge , model.getValue( "/root/main/patinfo/item[" + idx + "]/age"));
  233. }
  234. }
  235. }else{
  236. copyNodesetType(vDestXPath, "/root/main/patinfo/item[" + idx + "]", "replace", opener.model, model );
  237. }
  238. opener.model.setValue("/root/temp/okflag", "ok");
  239. opener.model.refresh();
  240. window.close();
  241. }
  242. }
  243. ]]>
  244. </script>
  245. </xhtml:head>
  246. <xhtml:body pagewidth="600" pageheight="343" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  247. <group id="group3" scroll="auto" style="left:0px; top:0px; width:576px; height:316px; ">
  248. <group id="group2" style="left:0px; top:0px; width:576px; height:35px; vertical-align:top; ">
  249. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:576px; height:35px; "/>
  250. <caption id="caption2" class="search_name" style="left:15px; top:8px; width:86px; height:17px; ">검색조건 :</caption>
  251. <button id="btn_search" class="btn1_letter2" navindex="4" style="left:445px; top:7px; width:56px; height:22px; ">
  252. <caption>조회</caption>
  253. <script type="javascript" ev:event="DOMActivate">
  254. <![CDATA[
  255. fGetPatList(true);
  256. ]]>
  257. </script>
  258. </button>
  259. <line id="line13" class="line_4" style="x1:429px; y1:7px; x2:429px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
  260. <select1 id="cmb_cond" ref="/root/send/srchcond" class="combo_search" appearance="minimal" style="left:101px; top:8px; width:80px; height:19px; ">
  261. <choices>
  262. <item>
  263. <label>주민번호</label>
  264. <value>rgstno</value>
  265. </item>
  266. <item>
  267. <label>등록번호</label>
  268. <value>pid</value>
  269. </item>
  270. <item>
  271. <label>성명(한글)</label>
  272. <value>pnm</value>
  273. </item>
  274. <item>
  275. <label>성명(영문))</label>
  276. <value>engnm</value>
  277. </item>
  278. <item>
  279. <label>ROWID</label>
  280. <value>rowid</value>
  281. </item>
  282. </choices>
  283. <script type="javascript" ev:event="xforms-select">
  284. <![CDATA[
  285. var vCond = cmb_cond.value ;
  286. model.resetInstanceNode("/root/send/srchpid");
  287. model.resetInstanceNode("/root/send/srchpnm");
  288. model.resetInstanceNode("/root/send/srchengnm");
  289. model.resetInstanceNode("/root/send/srchrgstno1");
  290. model.resetInstanceNode("/root/send/srchrgstno2");
  291. if( (vCond == "pid" ) || (vCond == "pnm" ) || (vCond == "engnm" ) ){
  292. model.setFocus("ipt_pid");
  293. }
  294. else
  295. if(vCond == "rgstno"){
  296. model.setFocus("ipt_rgstno1");
  297. }
  298. ]]>
  299. </script>
  300. </select1>
  301. <input id="ipt_pid" ref="/root/send/srchpid" class="input_search" navindex="1" style="left:184px; top:8px; width:100px; height:19px; ">
  302. <script type="javascript" ev:event="onkeyup">
  303. <![CDATA[
  304. inputEnterKey("btn_search", "DOMActivate");
  305. ]]>
  306. </script>
  307. </input>
  308. <input id="ipt_rgstno1" ref="/root/send/srchrgstno1" class="input_search" navindex="2" format="999999" style="left:287px; top:8px; width:60px; height:19px; "/>
  309. <input id="ipt_rgstno2" ref="/root/send/srchrgstno2" class="input_search" navindex="3" format="9999999" style="left:350px; top:8px; width:60px; height:19px; ">
  310. <script type="javascript" ev:event="onkeyup">
  311. <![CDATA[
  312. inputEnterKey("btn_search", "DOMActivate");
  313. ]]>
  314. </script>
  315. </input>
  316. </group>
  317. <caption id="caption1" class="tit_2" style="left:5px; top:45px; width:95px; height:14px; ">건진자리스트</caption>
  318. <line id="line1" class="line_1" style="x1:0px; y1:60px; x2:576px; y2:60px; "/>
  319. <datagrid id="grd_patlst" nodeset="/root/main/patinfo/item" caption="등록번호^환자성명^주민등록번호^주민등록번호^건진일자^건진구분^성별^나이^전화번호(집)^emailid^emailtype^healexampid^emailkind^zipcd11^zipcd12^zipcdseq1^addr^detladdr^zipcd21^zipcd22^zipcdseq2^addr2^detladdr2^zipcd31^zipcd32^zipcdseq3^addr3^detladdr3^psptno^brthareacnts^pidcretfg^engnm^forgneryn^caption1^caption2^caption3^caption4^caption5^caption6^caption7^caption8^caption9^caption10^caption11^caption12^caption13^caption14^caption15^caption16^caption17^caption18^caption19^caption20^caption21^caption22^caption23^pat_rowid" colsep="^" colwidth="80, 74, 62, 74, 100, 100, 37, 38, 195, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="23" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:65px; width:576px; height:245px; ">
  320. <col ref="pid" style="text-align:center; "/>
  321. <col ref="hngnm" style="text-align:center; "/>
  322. <col ref="rgstno1" style="text-align:center; "/>
  323. <col ref="rgstno2" style="text-align:center; "/>
  324. <col ref="healexamdd" format="yyyy/mm/dd" style="text-align:center; "/>
  325. <col ref="healexamdetlnm" style="text-align:center; "/>
  326. <col ref="sex" style="text-align:center; "/>
  327. <col ref="age" style="text-align:center; "/>
  328. <col ref="telno"/>
  329. <col ref="emailid" visibility="hidden"/>
  330. <col ref="emailtype" visibility="hidden"/>
  331. <col ref="healexampid" visibility="hidden"/>
  332. <col ref="emailkind" visibility="hidden"/>
  333. <col ref="zipcd11" visibility="hidden"/>
  334. <col ref="zipcd12" visibility="hidden"/>
  335. <col ref="zipcdseq1" visibility="hidden"/>
  336. <col ref="addr1" visibility="hidden"/>
  337. <col ref="detladdr1" visibility="hidden"/>
  338. <col ref="zipcd21" visibility="hidden"/>
  339. <col ref="zipcd22" visibility="hidden"/>
  340. <col ref="zipcdseq2" visibility="hidden"/>
  341. <col ref="addr2" visibility="hidden"/>
  342. <col ref="detladdr2" visibility="hidden"/>
  343. <col ref="zipcd31" visibility="hidden"/>
  344. <col ref="zipcd32" visibility="hidden"/>
  345. <col ref="zipcdseq3" visibility="hidden"/>
  346. <col ref="addr3" visibility="hidden"/>
  347. <col ref="detladdr3" visibility="hidden"/>
  348. <col ref="psptno" visibility="hidden"/>
  349. <col ref="brthareacnts" visibility="hidden"/>
  350. <col ref="pidcretfg" visibility="hidden"/>
  351. <col ref="engnm" visibility="hidden"/>
  352. <col ref="forgneryn" visibility="hidden"/>
  353. <col ref="mpphon" visibility="hidden"/>
  354. <col ref="brthdd" visibility="hidden"/>
  355. <col ref="patm_insucd" visibility="hidden"/>
  356. <col ref="patm_insuid" visibility="hidden"/>
  357. <col ref="patm_insukind" visibility="hidden"/>
  358. <col ref="clntgrde" visibility="hidden"/>
  359. <col ref="patremcnts" visibility="hidden"/>
  360. <col ref="pkgcd" visibility="hidden"/>
  361. <col ref="conseq" visibility="hidden"/>
  362. <col ref="conhistseq" visibility="hidden"/>
  363. <col ref="cmpycd" visibility="hidden"/>
  364. <col ref="choiflag" visibility="hidden"/>
  365. <col ref="clntcmpynm" visibility="hidden"/>
  366. <col ref="clntdeptnm" visibility="hidden"/>
  367. <col ref="cmpynm" visibility="hidden"/>
  368. <col ref="jobposcd" visibility="hidden"/>
  369. <col ref="clntempid" visibility="hidden"/>
  370. <col ref="deptcd" visibility="hidden"/>
  371. <col ref="clntpos" visibility="hidden"/>
  372. <col ref="condd" visibility="hidden"/>
  373. <col ref="confromdd" visibility="hidden"/>
  374. <col ref="contodd" visibility="hidden"/>
  375. <col ref="contype" visibility="hidden"/>
  376. <col ref="pat_rowid" visibility="hidden"/>
  377. <script type="javascript" ev:event="ondblclick">
  378. <![CDATA[
  379. if(grd_patlst.row>=grd_patlst.fixedRows){
  380. //2016/01/19 이정택 수정(마스킹 처리 후 환자번호가 확인됐을시 주민번호가 보이도록 수정)
  381. //2016/03/21 환자번호가 없는 가예약 환자일 경우는 rowid로 조회되도록 수정
  382. if(model.getValue("/root/main/patinfo/item[" + grd_patlst.row+ "]/pid")=="0"){
  383. model.makeValue("/root/send/srchcond", "rowid");
  384. model.makeValue("/root/send/srchrowid", model.getValue("/root/main/patinfo/item[" + grd_patlst.row+ "]/pat_rowid"))
  385. }else{
  386. model.makeValue("/root/send/srchcond", "pid");
  387. model.makeValue("/root/send/srchpid", model.getValue("/root/main/patinfo/item[" + grd_patlst.row+ "]/pid"))
  388. }
  389. fGetPatList();
  390. grd_patlst.row = 1;
  391. //2016/01/19 이정택 수정
  392. fSetPatinfo();
  393. }
  394. ]]>
  395. </script>
  396. <script type="javascript" ev:event="onaftersort">
  397. <![CDATA[
  398. grd_patlst.gridToInstance();
  399. ]]>
  400. </script>
  401. </datagrid>
  402. </group>
  403. <group id="group1" scroll="auto" style="left:0px; top:316px; width:576px; height:27px; ">
  404. <button id="btn_confirm" class="btn4_letter2" style="left:457px; top:5px; width:56px; height:22px; ">
  405. <caption>확인</caption>
  406. <script type="javascript" ev:event="DOMActivate">
  407. <![CDATA[
  408. if(grd_patlst.row>=grd_patlst.fixedRows){
  409. //2016/01/19 이정택 수정(마스킹 처리 후 환자번호가 확인됐을시 주민번호가 보이도록 수정)
  410. model.makeValue("/root/send/srchcond", "pid");
  411. model.makeValue("/root/send/srchpid", model.getValue("/root/main/patinfo/item[" + grd_patlst.row+ "]/pid"))
  412. fGetPatList();
  413. grd_patlst.row = 1;
  414. //2016/01/19 이정택 수정
  415. fSetPatinfo();
  416. }
  417. window.close();
  418. ]]>
  419. </script>
  420. </button>
  421. <button id="btn_cancel" class="btn4_letter2" style="left:516px; top:5px; width:56px; height:22px; ">
  422. <caption>취소</caption>
  423. <script type="javascript" ev:event="DOMActivate">
  424. <![CDATA[
  425. if( checkOpener() ){
  426. opener.model.setValue("/root/temp/okflag", "") ;
  427. }
  428. window.close();
  429. ]]>
  430. </script>
  431. </button>
  432. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:518px; y2:0px; "/>
  433. </group>
  434. </xhtml:body>
  435. </xhtml:html>