SMMMR09000_환자별바코드출력.xrw 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  3. <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">
  4. <xhtml:head>
  5. <xhtml:title>환자별바코드출력</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <patinfo>
  11. <patinfolist/>
  12. </patinfo>
  13. </main>
  14. <send>
  15. <srchcond/>
  16. <pid/>
  17. <hngnm/>
  18. <rrgstno1/>
  19. <rrgstno2/>
  20. <acptdd/>
  21. <globalinstance>
  22. <instance1/>
  23. </globalinstance>
  24. <data>
  25. <cmb_info>
  26. <initexcuroomgrp>
  27. <excuroomgrpcdid/>
  28. </initexcuroomgrp>
  29. </cmb_info>
  30. </data>
  31. <scrnid/>
  32. </send>
  33. <init>
  34. <P0350list>
  35. <P0350>
  36. <cdnm/>
  37. <cdid/>
  38. </P0350>
  39. </P0350list>
  40. <orddeptcd>
  41. <orddeptcdlist>
  42. <cd/>
  43. <nm/>
  44. </orddeptcdlist>
  45. </orddeptcd>
  46. <orddrid>
  47. <orddridlist>
  48. <cd/>
  49. <nm/>
  50. <dp/>
  51. <sp/>
  52. </orddridlist>
  53. </orddrid>
  54. <cmb_info>
  55. <initexcuroomgrp>
  56. <excuroomgrpcdid/>
  57. <excuroomgrpcdnm/>
  58. </initexcuroomgrp>
  59. </cmb_info>
  60. <comportctl>출력포트입력 :</comportctl>
  61. <outputcnt>출력매수입력 :</outputcnt>
  62. <outputcntval>1</outputcntval>
  63. </init>
  64. <hidden>
  65. <uid>
  66. <myself/>
  67. <opener/>
  68. </uid>
  69. <tmp/>
  70. <barprntinfo>
  71. <comport>2</comport>
  72. <setting>9600,n,8,1</setting>
  73. <ip/>
  74. <patdonor>1</patdonor>
  75. </barprntinfo>
  76. <Message/>
  77. </hidden>
  78. <reportinfo/>
  79. </root>
  80. </instance>
  81. <script type="javascript" ev:event="xforms-ready">
  82. <![CDATA[
  83. zbcfGetCodeList(new Array("P0350"), new Array("/root/init/P0350list"));
  84. //진료과코드 진료의사ID 조회
  85. pamGetDeptCDDrIDList();
  86. // if( getNodesetCount("/root/send/srchcond") > 0 ){
  87. // if( model.getValue("/root/send/checkfnexam") != "1" ){
  88. // //조회조건에서 '예약일시'를 제거한다.
  89. // cmb_cond.choices.itemset.attribute("nodeset") = "/root/init/P0350list/P0350[cdid != '5' ]";
  90. // }
  91. //
  92. // fChangeSearchCondition( '1' );
  93. // model.refresh();
  94. //
  95. // //값이 부모창에서 입력되었을 경우 조회한다.
  96. // if(model.getValue("/root/send/srchcond") != '5' && fInputValueCheckXformsReady() ){
  97. // //if( fInputValueCheckXformsReady() ){
  98. // if( submit("TRPMC02500") ){
  99. // if( grd_patinfo.rows == 2 ){
  100. // if( model.getValue("/root/send/autoflag").toUpperCase() == "Y" ){
  101. // model.setFocus("grd_patinfo");
  102. // btn_confirm.dispatch("DOMActivate");
  103. // window.close();
  104. // }
  105. // }
  106. // if( grd_patinfo.rows > 1 ){
  107. // model.setFocus("grd_patinfo");
  108. // }else{
  109. // fChangeSearchCondition( cmb_cond.value );
  110. // }
  111. // }
  112. // }
  113. // }else{
  114. // //조회조건에서 '예약일시'를 제거한다.
  115. // cmb_cond.choices.itemset.attribute("nodeset") = "/root/init/P0350list/P0350[cdid != '5' ]";
  116. //
  117. // model.makeNode("/root/send/srchcond");
  118. // model.makeNode("/root/send/pid");
  119. // model.makeNode("/root/send/hngnm");
  120. // model.makeNode("/root/send/rrgstno1");
  121. // model.makeNode("/root/send/rrgstno2");
  122. // model.makeNode("/root/send/acptdd");
  123. //
  124. // model.refresh();
  125. // }
  126. aezfSetSuppDeptcd();
  127. submit("TRAEA01301", false);
  128. // 라벨출력 초기화(레포트로 변경하여 주석처리)
  129. //lzzfMakeBrcdPrntObjHanDo("CommAX");
  130. model.setValue("/root/send/srchcond" , "1");
  131. cmb_cond.dispatch("xforms-value-changed");
  132. model.removeNode("/root/init/P0350list/P0350[cdid='5']"); // 원무기준 예약일자 는 제외
  133. //바코드 출력
  134. model.makeValue("/root/send/scrnid", getScreenID()); // 20090617 SATO 관련 추가
  135. submit("TRLLC90101"); // 20090617 SATO 관련 추가
  136. model.refresh();
  137. ]]>
  138. </script>
  139. <submission id="TRPAM00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance" resultref="/root/hidden/tmp"/>
  140. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  141. <submission id="TRPMC02500" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/patinfo"/>
  142. <submission id="TRAEA01301" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/globalinstance" replace="instance" resultref="/root/init/cmb_info"/>
  143. <submission id="TRLLC90101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/barcdprntsetup"/>
  144. </model>
  145. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  146. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  147. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  148. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  149. <script type="javascript" src="../../../pam/pamcomnweb/js/PAM.js"/>
  150. <script type="javascript" src="../../../lis/commonweb/js/LZZ001.js"/>
  151. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  152. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  153. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  154. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  155. <script type="javascript">
  156. <![CDATA[
  157. //창 생성시 부모창으로 부터 받은 입력값의 유효범위 체크
  158. function fInputValueCheckXformsReady(){
  159. var cond = model.getValue("/root/send/srchcond");
  160. switch(cond){
  161. case '1':
  162. //환자등록번호 체크
  163. if(ipt_pid.currentText.length >= 1 ){
  164. model.setValue("/root/send/pid", ipt_pid.currentText);
  165. return (true);
  166. }else{
  167. messageBox("환자등록번호를 정확히", "C001");
  168. return (false);
  169. }
  170. break;
  171. case '2':
  172. //환자이름 체크
  173. //if( ipt_hngnm.currentText.length >= 2 ) return (true);
  174. if(ipt_hngnm.currentText.length >= 2 ){
  175. model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  176. return (true);
  177. }else{
  178. messageBox("환자이름을 2자리 이상", "C001");
  179. return (false);
  180. }
  181. break;
  182. case '3':
  183. //환자 주민번호 체크
  184. if( ipt_rrgstno1.currentText.length >= 1 || ipt_rrgstno2.currentText.length >= 1){
  185. model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  186. model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  187. return (true);
  188. }else{
  189. messageBox("환자 주민번호를", "C001");
  190. return (false);
  191. }
  192. break;
  193. case '4':
  194. //환자이름 유효성 체크.
  195. if(ipt_hngnm.currentText.length >= 2 ){
  196. model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  197. }else{
  198. messageBox("환자이름을 2자리 이상", "C001");
  199. return (false);
  200. }
  201. //환자 주민번호 체크
  202. if( ipt_rrgstno1.currentText.length >= 1 || ipt_rrgstno2.currentText.length >= 1){
  203. model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  204. model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  205. }else{
  206. messageBox("환자 주민번호를", "C001");
  207. return (false);
  208. }
  209. return( true );
  210. break;
  211. case '5':
  212. //예약일자 유효성 체크 --
  213. if( isValidDateTime( model.getValue("/root/send/acptdd"), "YYYYMMDD") ){
  214. model.setValue("/root/send/acptdd", model.getValue("/root/send/acptdd"));
  215. //model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  216. //alert("aaaa");
  217. return (true);
  218. }else{
  219. messageBox("예약일자를 정확히", "C001");
  220. return (false);
  221. }
  222. break;
  223. default :
  224. model.setFocus("cmb_cond");
  225. return( false );
  226. break;
  227. }
  228. }
  229. //입력값의 유효범위 체크
  230. function fInputValueCheck(){
  231. var cond = model.getValue("/root/send/srchcond");
  232. switch(cond){
  233. case '1':
  234. //환자등록번호 체크
  235. if(ipt_pid.currentText.length >= 1 ){
  236. model.setValue("/root/send/pid", ipt_pid.currentText);
  237. return (true);
  238. }else{
  239. messageBox("환자등록번호를 정확히", "C001");
  240. return (false);
  241. }
  242. break;
  243. case '2':
  244. //환자이름 체크
  245. //if( ipt_hngnm.currentText.length >= 2 ) return (true);
  246. if(ipt_hngnm.currentText.length >= 2 ){
  247. model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  248. return (true);
  249. }else{
  250. messageBox("환자이름을 2자리 이상", "C001");
  251. return (false);
  252. }
  253. break;
  254. case '3':
  255. //환자 주민번호 체크
  256. if( ipt_rrgstno1.currentText.length >= 1 || ipt_rrgstno2.currentText.length >= 1 ){
  257. model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  258. model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  259. return (true);
  260. }else{
  261. messageBox("환자 주민번호를", "C001");
  262. return (false);
  263. }
  264. break;
  265. case '4':
  266. //환자이름 유효성 체크.
  267. if(ipt_hngnm.currentText.length>= 2 ){
  268. model.setValue("/root/send/hngnm", ipt_hngnm.currentText);
  269. }else{
  270. messageBox("환자이름을 2자리 이상", "C001");
  271. return (false);
  272. }
  273. //환자 주민번호 체크
  274. if( ipt_rrgstno1.currentText.length >= 1 || ipt_rrgstno2.currentText.length >= 1){
  275. model.setValue("/root/send/rrgstno1", ipt_rrgstno1.currentText);
  276. model.setValue("/root/send/rrgstno2", ipt_rrgstno2.currentText);
  277. }else{
  278. messageBox("환자 주민번호를", "C001");
  279. return (false);
  280. }
  281. return( true );
  282. break;
  283. case '5':
  284. //예약일자 유효성 체크 --
  285. model.refresh();
  286. if( isValidDateTime( model.getValue("/root/send/acptdd"), "YYYYMMDD") ){
  287. //alert(model.getValue("/root/send/acptdd"));
  288. return (true);
  289. }else{
  290. messageBox("예약일자를 정확히", "C001");
  291. return (false);
  292. }
  293. break;
  294. default :
  295. messageBox("검색조건이 정확히 선택되지 않았습니다. 확인 후 다시 시도해 주십시요.", "E999", "");
  296. model.setFocus("cmb_cond");
  297. return( false );
  298. break;
  299. }
  300. }
  301. //조회 조건에 맞는 input 컨트롤을 세팅해 준다.
  302. function fChangeSearchCondition( cond){
  303. switch(cond){
  304. case '1':
  305. model.makeNode("/root/send/pid");
  306. ipt_pid.attribute("visibility") = "visible";
  307. ipt_pid.attribute("left") = "219px";
  308. ipt_pid.attribute("top") = "8px";
  309. ipt_hngnm.attribute("visibility") = "hidden";
  310. ipt_rrgstno1.attribute("visibility") = "hidden";
  311. ipt_rrgstno2.attribute("visibility") = "hidden";
  312. ipt_acptdd.attribute("visibility") = "hidden";
  313. model.setFocus("ipt_pid");
  314. break;
  315. case '2':
  316. model.makeNode("/root/send/hngnm");
  317. ipt_hngnm.attribute("visibility") = "visible";
  318. ipt_hngnm.attribute("left") = "219px";
  319. ipt_hngnm.attribute("top") = "8px";
  320. ipt_pid.attribute("visibility") = "hidden";
  321. ipt_rrgstno1.attribute("visibility") = "hidden";
  322. ipt_rrgstno2.attribute("visibility") = "hidden";
  323. ipt_acptdd.attribute("visibility") = "hidden";
  324. model.setFocus("ipt_hngnm");
  325. break;
  326. case '3':
  327. model.makeNode("/root/send/rrgstno1");
  328. model.makeNode("/root/send/rrgstno2");
  329. ipt_rrgstno1.attribute("visibility") = "visible";
  330. ipt_rrgstno2.attribute("visibility") = "visible";
  331. ipt_rrgstno1.attribute("left") = "219px";
  332. ipt_rrgstno1.attribute("top") = "8px";
  333. ipt_rrgstno2.attribute("left") = "307px";
  334. ipt_rrgstno2.attribute("top") = "8px";
  335. ipt_hngnm.attribute("visibility") = "hidden";
  336. ipt_pid.attribute("visibility") = "hidden";
  337. ipt_acptdd.attribute("visibility") = "hidden";
  338. model.setFocus("ipt_rrgstno1");
  339. break;
  340. case '4':
  341. //model.makeNode("/root/send/pid");
  342. model.makeNode("/root/send/hngnm");
  343. model.makeNode("/root/send/rrgstno1");
  344. model.makeNode("/root/send/rrgstno2");
  345. ipt_hngnm.attribute("visibility") = "visible";
  346. ipt_hngnm.attribute("left") = "219px";
  347. ipt_hngnm.attribute("top") = "8px";
  348. ipt_pid.attribute("visibility") = "hidden";
  349. ipt_rrgstno1.attribute("visibility") = "visible";
  350. ipt_rrgstno1.attribute("left") = "352px";
  351. ipt_rrgstno1.attribute("top") = "8px";
  352. ipt_rrgstno2.attribute("visibility") = "visible";
  353. ipt_rrgstno2.attribute("left") = "440px";
  354. ipt_rrgstno2.attribute("top") = "8px";
  355. ipt_acptdd.attribute("visibility") = "hidden";
  356. model.setFocus("ipt_hngnm");
  357. break;
  358. case '5':
  359. model.makeNode("/root/send/acptdd");
  360. ipt_acptdd.attribute("visibility") = "visible";
  361. ipt_acptdd.attribute("left") = "219px";
  362. ipt_acptdd.attribute("top") = "8px";
  363. ipt_hngnm.attribute("visibility") = "hidden";
  364. ipt_pid.attribute("visibility") = "hidden";
  365. ipt_rrgstno1.attribute("visibility") = "hidden";
  366. ipt_rrgstno2.attribute("visibility") = "hidden";
  367. model.setFocus("ipt_acptdd");
  368. break;
  369. default :
  370. //messageBox("검색조건이 정확히 선택되지 않았습니다. 확인 후 다시 시도해 주십시요.", "E999", "");
  371. break;
  372. }
  373. }
  374. function makeReportIViewer(left, top, width, height, iViewerName){
  375. if(left==null || top==null || width==null || height==null){
  376. messageBox("미리보기 크기정보가", "I004");
  377. }else{
  378. if(iViewerName != null && iViewerName != ""){
  379. if(document.all("ivr_"+iViewerName) == null){
  380. if(document.all("grp_biz") == null){
  381. body.createChild("xforms:iviewer", "id:ivr_"+iViewerName+"; src:../../../com/commonweb/xrw/SPZUR00100_보고서.xrw; left:"+left+"px; top:"+top+"px; width:"+width+"px; height:"+height+"px;");
  382. }else{
  383. grp_biz.createChild("xforms:iviewer", "id:ivr_"+iViewerName+"; src:../../../com/commonweb/xrw/SPZUR00100_보고서.xrw; left:"+left+"px; top:"+top+"px; width:"+width+"px; height:"+height+"px;");
  384. }
  385. model.refresh();
  386. }
  387. }
  388. }
  389. }
  390. function exeRexPrint(rid, dataType, paramsXPath, submitId, print, printDialog, fileType, fileName, fileDialog, closeYn, monNo, parentObjId, printPaperBin, userService, showButton, printCount, zoomRate, printOption, dataXPath, mainDataXPath, subDataXPath)
  391. {
  392. var reportNode = instance1.selectSingleNode(gvReportPath);
  393. var syscd = getSystemCd();
  394. syscd = syscd.substr(3,3);
  395. //if(syscd == "888" || syscd == "999" || syscd == "") syscd = "001";
  396. if(syscd == "") syscd = "001";
  397. //레포트 관련 내용 초기화
  398. if(reportNode != null){
  399. model.removeNodeset(gvReportPath);
  400. }
  401. model.makeNode(gvReportPath);
  402. model.makeNode(gvReportParamsPath);
  403. model.makeNode(gvReportPropsPath);
  404. model.makeNode(gvReportOptionsPath);
  405. paramsXPath = instance1.selectSingleNode(paramsXPath);
  406. if(paramsXPath != null){
  407. model.copyNode(gvReportParamsPath, paramsXPath);
  408. }
  409. model.makeValue(gvReportParamsPath+"/userid", getUserId());
  410. model.makeValue(gvReportParamsPath+"/logoimgurl", getImageURL("error_logo"+getLogoImageKey()));
  411. model.makeValue(gvReportParamsPath+"/url", rid);
  412. model.makeValue(gvReportPropsPath+"/rex_rptname", rid);
  413. model.makeValue(gvReportPropsPath+"/rex_datatype", dataType);
  414. model.makeValue(gvReportPropsPath+"/rex_submitid", submitId);
  415. model.makeValue(gvReportPropsPath+"/rex_userservice", userService);
  416. model.makeValue(gvReportPropsPath+"/rex_data_xpath", dataXPath);
  417. model.makeValue(gvReportPropsPath+"/rex_xpath", mainDataXPath);
  418. model.makeValue(gvReportPropsPath+"/rex_xpath1", subDataXPath);
  419. model.makeValue(gvReportOptionsPath+"/rex_print", "true");
  420. model.makeValue(gvReportOptionsPath+"/rex_printdialog", printDialog);
  421. model.makeValue(gvReportOptionsPath+"/rex_printpaperbin", printPaperBin);
  422. model.makeValue(gvReportOptionsPath+"/rex_filetype", fileType);
  423. model.makeValue(gvReportOptionsPath+"/rex_filename", fileName);
  424. model.makeValue(gvReportOptionsPath+"/rex_filedialog", fileDialog);
  425. model.makeValue(gvReportOptionsPath+"/rex_close", "false");
  426. model.makeValue(gvReportOptionsPath+"/rex_showbutton", "hidden");
  427. model.makeValue(gvReportOptionsPath+"/rex_printcount", printCount);
  428. model.makeValue(gvReportOptionsPath+"/rex_zoomrate", zoomRate);
  429. model.makeValue(gvReportOptionsPath+"/rex_printoption", printOption);
  430. if(parentObjId == null || parentObjId == ""){
  431. if(document.all("ivr_report") == null){
  432. //popup
  433. setParameter("onready","true");
  434. modal("SPZUR00100", monNo);
  435. }else{
  436. //iviewer
  437. ivr_report.window.javascript.fInitRexpert();
  438. }
  439. }else{
  440. var parentObj = document.all("ivr_"+parentObjId);
  441. if(parentObj != null){
  442. var childObj = document.all("ivr_"+parentObjId);
  443. if(childObj != null){
  444. //gCurrPrtObj = "ivr_"+parentObjId; //삭제할 viewer를 현재 출력 obj변수에 설정하고.. 프린트 끝난후 현재변수의 Iviewer를 삭제
  445. gCurrPrtObj = parentObjId; //삭제할 viewer를 현재 출력 obj변수에 설정하고.. 프린트 끝난후 현재변수의 Iviewer를 삭제
  446. childObj.window.javascript.fInitRexpert(childObj.attribute("id"));
  447. }
  448. }
  449. }
  450. }
  451. function fBarCodePrint() {
  452. copyNodesetType("/root/reportinfo", "/root/main/patinfo/patinfolist["+grd_patinfo.row+"]");
  453. model.refresh();
  454. model.makeValue("/root/reportinfo/barpid", model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/pid"));
  455. model.makeValue("/root/reportinfo/rrgstno", model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno1")+ "-"+ model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno2").replace(/[0-9]{6}$/g, "******"));
  456. model.makeValue("/root/reportinfo/fmrrgstno2", model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno2").replace(/[0-9]{6}$/g, "******"));
  457. //makeReportPreview(0, 0, 5, 5, "grp_report1");
  458. //alert("^^");
  459. //fPrintRexbar("RFMNR01003");
  460. makeReportIViewer(0, 0,0, 0, "report");
  461. exeRexPrint("RFMNR01003", "XMLSTR", "/root/reportinfo", "", "true");
  462. // exeReportPreview("RFMNR01003", "XMLSTR", "", "", "true","","","","","true");
  463. }
  464. function fLabelPrint() {
  465. var sSndMsg = "";
  466. var sBcNo = "";
  467. var iprintcnt = 0;
  468. var pid = model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/pid");
  469. var patnm = model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/hngnm");
  470. var gbn = model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno2").substring(0, 1);
  471. var rrgstno1 = model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno1");
  472. var rrgstno2 = model.getValue("/root/main/patinfo/patinfolist["+grd_patinfo.row+"]/rrgstno2");
  473. var barpid = pid;
  474. //var excugrp= model.getValue("/root/send/data/cmb_info/initexcuroomgrp/excuroomgrpcdid");
  475. var currentdate = getCurrentDate();
  476. /*
  477. if ( gbn == "1" ) {
  478. var sex = "M";
  479. // var age = getFullAge(rrgstno1+rrgstno2, currentdate, "A"); // 12개월 미만의 나이는 계산못함. 향후 체크해야 함. 장준원
  480. var age = aezfgetFullAge(rrgstno1+rrgstno2);
  481. }else {
  482. var sex = "F";
  483. // var age = getFullAge(rrgstno1+rrgstno2, currentdate, "A");
  484. var age = aezfgetFullAge(rrgstno1+rrgstno2);
  485. }
  486. */
  487. if ( pid == "" ) {
  488. messageBox("챠트번호가 선택되지 ", "E007");
  489. return;
  490. }
  491. //alert('pid->'+pid+', patnm->'+patnm+', gbn->'+gbn+', rrgstno1->'+rrgstno1+', sex->'+sex+', age->'+age);
  492. //var curdata = getCurrentDate();
  493. //var curtm = getCurrentTime();
  494. //var prcpnm = model.getValue("/root/main/subordlist/subordlist1["+grd_subordlist1.row+"]/prcpnm");
  495. // Comm 설정
  496. CommAX.CommPort = model.getValue("/root/hidden/barprntinfo/comport"); // 출력 Port
  497. CommAX.Settings = model.getValue("/root/hidden/barprntinfo/setting"); // Comm 설정
  498. sSndMsg = "";
  499. //시작(X, Y)
  500. sSndMsg += lzzfBP_StartFormat(0, 0);
  501. /*
  502. sSndMsg += "^BY2,2.5^FO" + "200" + "," + "30"; // 바코드 Width 조절
  503. sSndMsg += "^BCN,70,N,N,N^FD" + "*"+barpid+excugrp+"*" + "^FS";
  504. //sSndMsg += "^BCN,70,N,N,N^FD" + "*"+barpid+"*"+ "^FS";
  505. // 등록번호 + 그룹코드
  506. sSndMsg += lzzfBP_ChangeFont("C", 7, 7); // 폰트 설정
  507. sSndMsg += lzzfBP_FieldDataA(265, 105, "*"+pid+' '+excugrp+"*" );
  508. */
  509. // 등록번호 --
  510. sSndMsg += lzzfBP_ChangeFont("C", 50, 30); // 폰트 설정
  511. sSndMsg += lzzfBP_FieldDataA(380, 40, pid );
  512. //환자명 --
  513. sSndMsg += lzzfBP_ChangeFont("C", 70, 70); // 폰트 설정
  514. sSndMsg += lzzfBP_FieldDataH(70, 120, 70, 70, patnm);
  515. //sSndMsg += CommAX.PrtImgOut("GRAPH003", patnm);
  516. //sSndMsg += lzzfBP_FiendOrigin(100, 210)
  517. //sSndMsg += "^XGGRAPH003,2,2^FS";
  518. /*
  519. sSndMsg += CommAX.PrtImgOut(100, 210, patnm, 2, 2); //가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율)
  520. sSndMsg += CommAX.HanImageData();
  521. */
  522. sSndMsg += lzzfBP_BarCode_Code39(340, 90, "N", 140, barpid);
  523. // 주민번호
  524. sSndMsg += lzzfBP_ChangeFont("C", 30, 40); // 폰트 설정
  525. sSndMsg += lzzfBP_FieldDataA(340, 220, rrgstno1+"-"+rrgstno2 );
  526. // 초음파실
  527. //sSndMsg += fCarePrintOutH(480, 5, 2, "N", "초음파실" , "");
  528. // 처방명
  529. //sSndMsg += fCarePrintOutH(5, 180, 1, "Y", prcpnm , "");
  530. //sSndMsg += lzzfBP_ChangeFont("C", 40, 15);
  531. //sSndMsg += lzzfBP_FieldDataA(5, 180, prcpnm);
  532. //종료(매수)
  533. sSndMsg += lzzfBP_EndFormat();
  534. CommAX.SendMessage(sSndMsg);
  535. model.setValue("/root/hidden/Message", CommAX.Message);
  536. model.refresh();
  537. }
  538. function fPrintRexbar(rexnm, closeYn, printCount, dataXPath, paramsXPath, infoXPath){
  539. var posx = '';
  540. var posy = '';
  541. var printnm = '';
  542. if(infoXPath == "" || infoXPath == "undefined" || infoXPath == null) infoXPath = "/root/main/barcdprntsetup/prntsetupinfo";
  543. if(model.getValue(infoXPath + "/setupinfo/rexgbn") != "1") return false;
  544. try{
  545. if(model.getXpathValue("count(" + infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/barnm)") > "0"){
  546. posx = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/xpos");
  547. posy = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/ypos");
  548. printnm = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/prtnm");
  549. }else{
  550. posx = model.getValue(infoXPath + "/setupinfo/blank/left");
  551. posy = model.getValue(infoXPath + "/setupinfo/blank/top");
  552. printnm = model.getValue(infoXPath + "/setupinfo/comm01/setupval");
  553. }
  554. if(posx == '') posx = "0";
  555. if(posy == '') posy = "0";
  556. if(closeYn == "true") printnm = "";
  557. exeReportPreview(rexnm, 'XMLSTR', paramsXPath, '', 'true',
  558. '', '', '', '', "true",
  559. '', '', '', '', '',
  560. printCount, '', 'offsetx=' + posx + ';offsetx=' + posy + ';', dataXPath, '',
  561. '');
  562. }
  563. catch(e){
  564. alert("출력시 오류가 발생하였습니다\n" + e);
  565. return true;
  566. }
  567. return true;
  568. }
  569. ]]>
  570. </script>
  571. </xhtml:head>
  572. <xhtml:body pagewidth="634" pageheight="343" guideline="2,343;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  573. <group id="group3" scroll="auto" style="left:0px; top:0px; width:618px; height:316px; ">
  574. <group id="group2" style="left:0px; top:0px; width:618px; height:35px; ">
  575. <shape id="roundrect1" appearance="roundrect" style="left:0px; top:0px; width:617px; height:35px; "/>
  576. <caption id="caption2" class="search_name" style="left:15px; top:8px; width:86px; height:17px; ">검색조건 :</caption>
  577. <button id="btn_search" class="btn1_letter2" navindex="6" style="left:545px; top:7px; width:56px; height:22px; ">
  578. <caption>조회</caption>
  579. <script type="javascript" ev:event="DOMActivate">
  580. <![CDATA[
  581. if( fInputValueCheck() ){
  582. if( submit("TRPMC02500") ){
  583. if( grd_patinfo.rows > 1 ){
  584. model.setFocus("grd_patinfo");
  585. }else{
  586. fChangeSearchCondition( cmb_cond.value );
  587. }
  588. }
  589. }
  590. ]]>
  591. </script>
  592. </button>
  593. <line id="line13" class="line_4" style="x1:529px; y1:7px; x2:529px; y2:29px; border-color:#ffe4bb; "/>
  594. <input id="ipt_hngnm" ref="/root/send/hngnm" class="input_search" navindex="1" visibility="hidden" autonext="false" imemode="hangul" style="left:224px; top:8px; width:130px; height:19px; ">
  595. <script type="javascript" ev:event="onkeypress">
  596. <![CDATA[
  597. inputEnterKey("btn_search", "DOMActivate");
  598. ]]>
  599. </script>
  600. </input>
  601. <input id="ipt_rrgstno1" ref="/root/send/rrgstno1" class="input_search" navindex="2" visibility="hidden" format="999999" style="left:247px; top:8px; width:85px; height:19px; ">
  602. <script type="javascript" ev:event="onkeypress">
  603. <![CDATA[
  604. inputEnterKey("btn_search", "DOMActivate");
  605. ]]>
  606. </script>
  607. </input>
  608. <select1 id="cmb_cond" ref="/root/send/srchcond" class="combo_search" navindex="10" appearance="minimal" style="left:106px; top:8px; width:110px; height:19px; ">
  609. <choices>
  610. <itemset nodeset="/root/init/P0350list/P0350">
  611. <label ref="cdnm"/>
  612. <value ref="cdid"/>
  613. </itemset>
  614. </choices>
  615. <script type="javascript" ev:event="xforms-value-changed">
  616. <![CDATA[
  617. var cond = model.getValue("/root/send/srchcond");
  618. //model.refresh();
  619. fChangeSearchCondition( cond );
  620. ]]>
  621. </script>
  622. </select1>
  623. <input id="ipt_rrgstno2" ref="/root/send/rrgstno2" class="input_search" navindex="3" visibility="hidden" autonext="false" format="9999999" style="left:285px; top:8px; width:85px; height:19px; ">
  624. <script type="javascript" ev:event="onkeypress">
  625. <![CDATA[
  626. inputEnterKey("btn_search", "DOMActivate");
  627. ]]>
  628. </script>
  629. </input>
  630. <input id="ipt_pid" ref="/root/send/pid" class="input_search" navindex="4" visibility="hidden" autonext="false" style="left:325px; top:8px; width:130px; height:19px; ">
  631. <script type="javascript" ev:event="onkeypress">
  632. <![CDATA[
  633. inputEnterKey("btn_search", "DOMActivate");
  634. ]]>
  635. </script>
  636. </input>
  637. <input id="ipt_acptdd" ref="/root/send/acptdd" class="input_search" navindex="5" visibility="hidden" autonext="false" inputtype="date" style="left:390px; top:8px; width:130px; height:19px; ">
  638. <script type="javascript" ev:event="onkeypress">
  639. <![CDATA[
  640. inputEnterKey("btn_search", "DOMActivate");
  641. ]]>
  642. </script>
  643. </input>
  644. </group>
  645. <caption id="caption1" class="tit_2" style="left:5px; top:45px; width:95px; height:14px; ">인적사항</caption>
  646. <line id="line1" class="line_1" style="x1:0px; y1:60px; x2:617px; y2:60px; "/>
  647. <datagrid id="grd_patinfo" nodeset="/root/main/patinfo/patinfolist" caption="등록번호^기관코드^환자성명^영문이름^한문이름^주민등록번호^주민등록번호^집전화번호^휴대전화번호^최근내원일^최근내원과^외래미수금^퇴원미수금^생년월일^성별^나이^합본등록번호^기타전화번호1^기타전화번호2^sms전송승인 여부^이메일 계정^우편번호^우편번호^우편번호순서^주소^상세주소^혈액형^RH혈액형^외국인여부^국적^여권번호^추천여부^추천인ID^추천인명^추천인관계^VIP여부^VIP비고^종교코드^세례명^성당명^사망여부^사망시각^사망일자^사망시간^내원사유^동물여부^원외예외사유코드^재원여부^장애인여부^특이/문제환자^당일퇴원여부^참고사항^최초등록자ID^최초등록일시^최종수정자ID^최종수정일시" colsep="^" colwidth="60, 100, 65, 65, 65, 50, 50, 85, 100, 100, 100, 100, 100, 75, 100, 100, 100, 100, 100, 120, 100, 50, 50, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 119, 100, 100, 100, 100, 100, 100, 100, 100, 100" dataheight="23" defaultrows="2" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" navindex="7" style="left:0px; top:65px; width:617px; height:250px; ">
  648. <col ref="pid"/>
  649. <col ref="instcd" visibility="hidden"/>
  650. <col ref="hngnm"/>
  651. <col ref="engnm" visibility="hidden"/>
  652. <col ref="chinm" visibility="hidden"/>
  653. <col ref="rrgstno1"/>
  654. <col ref="rrgstno2"/>
  655. <col ref="hometel"/>
  656. <col ref="mpphontel"/>
  657. <col ref="lastorddd" format="yyyy-mm-dd"/>
  658. <col disabled="true" ref="lastorddeptcd" type="combo">
  659. <choices>
  660. <itemset nodeset="/root/init/orddeptcd/orddeptcdlist">
  661. <label ref="nm"/>
  662. <value ref="cd"/>
  663. </itemset>
  664. </choices>
  665. </col>
  666. <col ref="outuncoamt" visibility="hidden"/>
  667. <col ref="dschuncoamt" visibility="hidden"/>
  668. <col ref="brthdd" visibility="hidden" format="yyyy-mm-dd"/>
  669. <col ref="sex" visibility="hidden"/>
  670. <col ref="age" visibility="hidden"/>
  671. <col ref="bindpid" visibility="hidden"/>
  672. <col ref="etctel1" visibility="hidden"/>
  673. <col ref="etctel2" visibility="hidden"/>
  674. <col ref="smsaprvyn" visibility="hidden"/>
  675. <col ref="email" visibility="hidden"/>
  676. <col ref="zipcd1" visibility="hidden"/>
  677. <col ref="zipcd2" visibility="hidden"/>
  678. <col ref="zipcdseq" visibility="hidden"/>
  679. <col ref="addr"/>
  680. <col ref="detladdr"/>
  681. <col ref="btype" visibility="hidden"/>
  682. <col ref="rh" visibility="hidden"/>
  683. <col ref="forgeryn" visibility="hidden"/>
  684. <col ref="nati" visibility="hidden"/>
  685. <col ref="psptno" visibility="hidden"/>
  686. <col ref="recmyn" visibility="hidden"/>
  687. <col ref="recmerid" visibility="hidden"/>
  688. <col ref="recmernm" visibility="hidden"/>
  689. <col ref="recmerrela" visibility="hidden"/>
  690. <col ref="vipyn" visibility="hidden"/>
  691. <col ref="viprem" visibility="hidden"/>
  692. <col ref="religncd" visibility="hidden"/>
  693. <col ref="baptnm" visibility="hidden"/>
  694. <col ref="chchnm" visibility="hidden"/>
  695. <col ref="dethyn" visibility="hidden"/>
  696. <col ref="dethdt" visibility="hidden"/>
  697. <col ref="dethdd" visibility="hidden"/>
  698. <col ref="dethtm" visibility="hidden"/>
  699. <col ref="chosresn" visibility="hidden"/>
  700. <col ref="animyn" visibility="hidden"/>
  701. <col ref="exptresncd" visibility="hidden"/>
  702. <col ref="inhospyn" visibility="hidden"/>
  703. <col ref="handicapryn" visibility="hidden"/>
  704. <col ref="patspcfyn" visibility="hidden"/>
  705. <col ref="tdaydsch" visibility="hidden"/>
  706. <col ref="remfact" visibility="hidden"/>
  707. <col ref="acptdd" visibility="hidden"/>
  708. <col ref="acptno" visibility="hidden"/>
  709. <col ref="lastupdtrid" visibility="hidden"/>
  710. <col ref="lastupdtdt" visibility="hidden"/>
  711. <script type="javascript" ev:event="ondblclick">
  712. <![CDATA[
  713. // if ( checkOpener() ) {
  714. // row = grd_patinfo.row;
  715. //
  716. // if( row > 0 ){
  717. // if( getNodesetCount("/root/main/patinfo/patinfolist") > 0 ){
  718. // opener.model.copyNode("/root/main/patinfo/patinfolist", grd_patinfo.getNode( row ));
  719. // opener.model.makeNode("/root/main/popupendflag");
  720. // opener.model.setValue("/root/main/popupendflag", "ok");
  721. //
  722. // opener.model.refresh();
  723. // window.close();
  724. // }
  725. // }
  726. // } else {
  727. // messageBox("상위화면이 변경되어 데이터를 가져올 수", "I004");
  728. // }
  729. btn_confirm.dispatch("DOMActivate");
  730. ]]>
  731. </script>
  732. <script type="javascript" ev:event="onclick">
  733. <![CDATA[
  734. /*
  735. if ( checkOpener() ) {
  736. row = grd_patinfo.row;
  737. if( row > 0 ){
  738. if( getNodesetCount("/root/main/patinfo/patinfolist") > 1 ){
  739. opener.model.copyNode("/root/main/patinfo/patinfolist", grd_patinfo.getNode( row ));
  740. opener.model.refresh();
  741. }
  742. }
  743. } else {
  744. messageBox("상위화면이 변경되어 데이터를 가져올 수", "I004");
  745. }
  746. */
  747. ]]>
  748. </script>
  749. <script type="javascript" ev:event="onkeypress">
  750. <![CDATA[
  751. if( event.keyCode == 13 ){
  752. btn_confirm.dispatch("DOMActivate");
  753. }
  754. //alert("aaa");
  755. ]]>
  756. </script>
  757. </datagrid>
  758. </group>
  759. <group id="group1" scroll="auto" style="left:0px; top:316px; width:618px; height:27px; ">
  760. <button id="btn_confirm" class="btn4_letter2" navindex="8" style="left:502px; top:5px; width:56px; height:22px; ">
  761. <caption>출력</caption>
  762. <script type="javascript" ev:event="DOMActivate">
  763. <![CDATA[
  764. var cnt = model.getValue("/root/init/outputcntval");
  765. if ( cnt < 1 ) {
  766. messageBox("출력매수가 정확하지 않습니다.","I999");
  767. return;
  768. }
  769. if (grd_patinfo.row < grd_patinfo.fixedRows) {
  770. messageBox("출력할 인적사항을 선택하여 주십시오.","I999");
  771. return;
  772. }
  773. for (var i = 1; i <= cnt; i++) {
  774. fBarCodePrint();
  775. //alert(i);
  776. }
  777. /*
  778. var cnt = model.getValue("/root/init/outputcntval");
  779. if ( cnt < 1 ) {
  780. messageBox("출력매수가 정확하지 않습니다.","I999");
  781. return;
  782. }
  783. var portOpenTF = ""; //오픈 성공 여부
  784. CommAX.CommPort = model.getValue("/root/hidden/barprntinfo/comport"); // 출력 Port
  785. CommAX.Settings = model.getValue("/root/hidden/barprntinfo/setting"); // Comm 설정
  786. portOpenTF = CommAX.PortOpen("true");
  787. if(portOpenTF == "TRUE"){
  788. for (var i = 1; i <= cnt; i++) {
  789. fLabelPrint();
  790. //alert(i);
  791. }
  792. CommAX.PortOpen("false");
  793. }else {
  794. messageBox("아래 사항을 확인후 재출력해주십시오."
  795. + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
  796. + " \n 2.케이블 확인"
  797. + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
  798. return;
  799. }
  800. */
  801. ]]>
  802. </script>
  803. </button>
  804. <button id="btn_cancel" class="btn4_letter2" navindex="9" style="left:561px; top:5px; width:56px; height:22px; ">
  805. <caption>닫기</caption>
  806. <script type="javascript" ev:event="DOMActivate">
  807. <![CDATA[
  808. // opener.model.makeNode("/root/main/popupendflag");
  809. // opener.model.setValue("/root/main/popupendflag", "cancel");
  810. window.close();
  811. ]]>
  812. </script>
  813. </button>
  814. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:618px; y2:0px; "/>
  815. <input id="input1" ref="/root/hidden/barprntinfo/comport" class="input_search" visibility="hidden" format="#,###" style="left:316px; top:5px; width:30px; height:19px; "/>
  816. <output id="output1" ref="/root/init/comportctl" visibility="hidden" style="left:225px; top:5px; width:90px; height:19px; font-weight:bold; text-align:center; "/>
  817. <output id="output2" ref="/root/init/outputcnt" style="left:355px; top:5px; width:95px; height:19px; font-weight:bold; text-align:center; "/>
  818. <input id="input2" ref="/root/init/outputcntval" format="#,###" style="left:451px; top:5px; width:35px; height:19px; "/>
  819. <button id="button1" class="btn3_letter5" style="left:18px; top:3px; width:92px; height:22px; background-image:../../../com/commonweb/images/btn3_letter5.gif; ">
  820. <caption>프린터설정</caption>
  821. <script type="javascript" ev:event="DOMActivate">
  822. <![CDATA[
  823. //fOpenBrcdPrnt();
  824. //20101118_KNUH_김병국주석처리 수정
  825. // 바코드 프린터 설정_20090521(ByJA)
  826. var scrnid = "SMMMR09000";
  827. model.removeNodeset("/root/main/barcdprntsetup");
  828. fGetBarCodeInfo(scrnid); // CareCom.js
  829. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  830. if(count == 0) {
  831. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  832. }
  833. modal("SPZUR00300" , "","","","","/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  834. // 바코드 프린터 설정_20101118_KNNUH주석처리.
  835. /*
  836. var scrnid = "SMMNI00100";
  837. model.removeNodeset("/root/main/barcdprntsetup");
  838. fGetBarCodeInfo(scrnid); // CareCom.js
  839. var count = getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  840. if(count == 0) {
  841. model.makeNode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  842. }
  843. modal("SPLLC90100" , "","","","","/root/main/barcdprntsetup/prntsetupinfo/setupinfo", "/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
  844. */
  845. ]]>
  846. </script>
  847. </button>
  848. </group>
  849. <group id="grp_biz" visibility="hidden" style="left:0px; top:0px; width:10px; height:10px; "/>
  850. </xhtml:body>
  851. </xhtml:html>