SPMMO15600_HLA공여자등록.xrw 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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>HLA검사의뢰서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <dnorinfo>
  11. <dnorinfo>
  12. <status/>
  13. <dnorid/>
  14. <instcd/>
  15. <dnornm/>
  16. <dnorsex/>
  17. <dnorage/>
  18. <dnorrela/>
  19. <remfact/>
  20. <fstrgstrid/>
  21. <fstrgstdt/>
  22. <lastupdtrid/>
  23. <lastupdtdt/>
  24. <pid/>
  25. <orddd/>
  26. <cretno/>
  27. <selectyn/>
  28. <existyn/>
  29. </dnorinfo>
  30. </dnorinfo>
  31. </main>
  32. <send>
  33. <reqdata/>
  34. <savedata/>
  35. <rtndata/>
  36. <cond1/>
  37. <cond2/>
  38. <cond3/>
  39. <cond4/>
  40. <cond5/>
  41. <cond6/>
  42. <cond99/>
  43. </send>
  44. <init>
  45. <dnorsex/>
  46. <dnorrela/>
  47. <paminfo/>
  48. <rcnt/>
  49. <closestat>N</closestat>
  50. </init>
  51. <result>
  52. <param/>
  53. </result>
  54. <reset>
  55. <dnorinfo>
  56. <status/>
  57. <dnorid/>
  58. <instcd/>
  59. <dnornm/>
  60. <dnorsex/>
  61. <dnorage/>
  62. <dnorrela/>
  63. <remfact/>
  64. <fstrgstrid/>
  65. <fstrgstdt/>
  66. <lastupdtrid/>
  67. <lastupdtdt/>
  68. <pid/>
  69. <orddd/>
  70. <cretno/>
  71. <selectyn/>
  72. <existyn/>
  73. </dnorinfo>
  74. </reset>
  75. <prcpsrch/>
  76. <prcptemp/>
  77. </root>
  78. </instance>
  79. <submission id="TXMMO15601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/dnorinfo/dnorinfo"/>
  80. <script type="javascript" ev:event="xforms-model-construct-done">
  81. <![CDATA[
  82. zbcfGetCodeList(new Array( "P0313","A0163" ),
  83. new Array("/root/init/dnorsex", "/root/init/dnorrela") );
  84. setCSVToNode ( "/root/init/paminfo", getGlobalVariable("paminfo") );
  85. iviewer1.window.model.setValue("/root/hidden/refparam/pid", opener.model.getValue( "/root/paminfo/list/pid" ) );
  86. // grd_dnorinfo.addStatus(1,"insert");
  87. ]]>
  88. </script>
  89. <script type="javascript" ev:event="xforms-ready">
  90. <![CDATA[
  91. model.makeNode("/root/send/reqdata/pid");
  92. model.makeNode("/root/send/reqdata/orddd");
  93. model.makeNode("/root/send/reqdata/cretno");
  94. var hlaselfprcpcd = opener.javascript.getParameter("SPMMO15600_hlaselfprcpcd");
  95. var hlaselfprcpcdsplit = hlaselfprcpcd.split("|");
  96. var hlaselfprcpcd1 = hlaselfprcpcdsplit[0];
  97. var hlaselfprcpcd2 = hlaselfprcpcdsplit[1];
  98. var hlaselfprcpcd3 = hlaselfprcpcdsplit[2];
  99. model.setValue("/root/send/reqdata/pid", model.getValue("/root/init/paminfo/list/pid") );
  100. if (model.getValue("/root/init/paminfo/list/ioflag") == "O" ) {
  101. model.setValue("/root/send/reqdata/orddd", model.getValue("/root/init/paminfo/list/orddd") );
  102. } else {
  103. model.setValue("/root/send/reqdata/orddd", model.getValue("/root/init/paminfo/list/indd") );
  104. }
  105. model.setValue("/root/send/reqdata/cretno", model.getValue("/root/init/paminfo/list/cretno") );
  106. submit("TRMMO15601", true);
  107. ]]>
  108. </script>
  109. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  110. <submission id="TRMMO15601" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/dnorinfo/dnorinfo"/>
  111. <submission id="TRMMO00100" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpsrch"/>
  112. <!-- 처방 복사 로직변경 xml 2013.07.05 by 엄영만-->
  113. <submission id="TRMMO00150" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/prcpcopy"/>
  114. <submission id="TRMMO00151" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
  115. <submission id="TXMMO00120" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/monitoringlog/reqdata" resultref="/root/monitoringlog"/>
  116. <script type="javascript" ev:event="xforms-close">
  117. <![CDATA[
  118. if (model.getValue("/root/init/rcnt") == "" || model.getValue("/root/init/closestat") != "Y") {
  119. opener.javascript.setParameter("SPMMO15600_addcnt", parseInt(opener.javascript.getParameter("SPMMO15600_srchRow")) );
  120. } else {
  121. opener.javascript.setParameter("SPMMO15600_addcnt", parseInt(model.getValue("/root/init/rcnt"))+parseInt(opener.javascript.getParameter("SPMMO15600_srchRow")) - 1);
  122. }
  123. ]]>
  124. </script>
  125. <submission id="TRMMO15602" mediatype="application/x-www-form-urlencoded" method="post"/>
  126. </model>
  127. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  128. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  129. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  130. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  131. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  132. <script type="javascript">
  133. <![CDATA[
  134. function fDeleteSelectedRows(grd,markonly) {
  135. var rowIdx;
  136. if (grd.selectedRows > 0) {
  137. var selectedRows = Array(grd.selectedRows);
  138. for(i=0;i<grd.selectedRows;i++) {
  139. selectedRows[i] = grd.selectedRow(i);
  140. }
  141. if (markonly != null && markonly == true) { // mark delete
  142. for(i=selectedRows.length-1;i>=0;i--) {
  143. rowIdx = selectedRows[i];
  144. if(grd.rowstatus(rowIdx) == 1 ) { // just inserted row
  145. grd.deleterow(rowIdx,false);
  146. } else {
  147. grd.addStatus(rowIdx,"delete");
  148. }
  149. }
  150. } else {
  151. for(i=selectedRows.length-1;i>=0;i--) {
  152. rowIdx = selectedRows[i];
  153. grd.deleterow(rowIdx,false);
  154. }
  155. }
  156. }
  157. }
  158. ]]>
  159. </script>
  160. </xhtml:head>
  161. <xhtml:body pagewidth="1100" pageheight="690">
  162. <caption id="caption3" class="tit_2" style="left:0px; top:11px; width:144px; height:14px; vertical-align:middle; ">HLA검사 공여자 등록</caption>
  163. <line id="line1" class="line_1" style="x1:0px; y1:29px; x2:1080px; y2:29px; "/>
  164. <datagrid id="grd_dnorinfo" nodeset="/root/main/dnorinfo/dnorinfo" visibility="visible" caption="^처방여부^공여자번호^기관코드^이름^성별^Hard-Code코드^코드일련번호^나이^관계^전달사항^환자번호^진료일^접수번호^최초등록자^최초등록일^최종수정자^최종수정일" colsep="^" colwidth="51, 59, 100, 100, 110, 63, 0, 0, 54, 99, 429, 57, 49, 51, 100, 100, 100, 100" extendlastcol="noscroll" mergecellsfixedrows="bycolrec" rowheader="select" rowsep="|" style="left:0px; top:35px; width:1080px; height:205px; ">
  165. <col disabled="true" ref="status" type="combo">
  166. <choices>
  167. <item>
  168. <label>신규</label>
  169. <value>I</value>
  170. </item>
  171. <item>
  172. <label>삭제</label>
  173. <value>D</value>
  174. </item>
  175. <item>
  176. <label>수정</label>
  177. <value>U</value>
  178. </item>
  179. </choices>
  180. </col>
  181. <col ref="selectyn" type="checkbox"/>
  182. <col ref="dnorid" visibility="hidden"/>
  183. <col ref="instcd" visibility="hidden"/>
  184. <col ref="dnornm" type="input" visibility="visible" style="text-align:center; "/>
  185. <col ref="dnorsex" type="combo">
  186. <choices>
  187. <itemset nodeset="/root/init/dnorsex/P0313">
  188. <label ref="cdnm"/>
  189. <value ref="cdid"/>
  190. </itemset>
  191. </choices>
  192. </col>
  193. <col ref="dnornm"/>
  194. <col ref="dnorsex"/>
  195. <col ref="dnorage" type="input" format="###" maxlength="3"/>
  196. <col ref="dnorrela" type="combo">
  197. <choices>
  198. <itemset nodeset="/root/init/dnorrela/A0163">
  199. <label ref="cdnm"/>
  200. <value ref="cdid"/>
  201. </itemset>
  202. </choices>
  203. </col>
  204. <col ref="remfact" type="input"/>
  205. <col ref="pid" visibility="hidden"/>
  206. <col ref="orddd" visibility="hidden"/>
  207. <col ref="cretno" visibility="hidden"/>
  208. <col ref="fstrgstrid" visibility="hidden"/>
  209. <col ref="fstrgstdt" visibility="hidden"/>
  210. <col ref="lastupdtrid" visibility="hidden"/>
  211. <col ref="lastupdtdt" visibility="hidden"/>
  212. <script type="javascript" ev:event="onendedit">
  213. <![CDATA[
  214. if (model.getValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/status") != "I") {
  215. model.setValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/status", "U");
  216. model.refresh();
  217. }
  218. ]]>
  219. </script>
  220. <script type="javascript" ev:event="onclick">
  221. <![CDATA[
  222. if( grd_dnorinfo.isCell(event.target) && grd_dnorinfo.row >= grd_dnorinfo.fixedRows ) {
  223. if ( grd_dnorinfo.col == grd_dnorinfo.colref("selectyn")) {
  224. if ( model.getValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/status") == "D" ) {
  225. model.setValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/selectyn", "false" );
  226. }
  227. model.setValue("/root/init/rcnt", model.instances(0).selectNodes ( "/root/main/dnorinfo/dnorinfo[selectyn='true']" ).length );
  228. }
  229. model.refresh();
  230. }
  231. ]]>
  232. </script>
  233. </datagrid>
  234. <button id="btn_new" class="btn2_letter2" style="left:948px; top:8px; width:42px; height:19px; ">
  235. <caption>신규</caption>
  236. <script type="javascript" ev:event="DOMActivate">
  237. <![CDATA[
  238. appendChildPrcp ( "/root/reset/dnorinfo", "/root/main/dnorinfo", "main" , "I");
  239. grd_dnorinfo.refresh();
  240. ]]>
  241. </script>
  242. </button>
  243. <button id="btn_delete" class="btn2_letter2" style="left:903px; top:8px; width:42px; height:19px; ">
  244. <caption>삭제</caption>
  245. <script type="javascript" ev:event="DOMActivate">
  246. <![CDATA[
  247. if (model.getValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/status") == "I" )
  248. model.removenode("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]");
  249. else{
  250. if (model.getValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/existyn") == "Y") {
  251. messageBox("삭제하려는 공여자에게 발행된 전처방이 있어 삭제할 수 없습니다.", "I");
  252. } else if ( opener.model.instances(0).selectNodes ( "/root/main/prcp/prcplist[dnorreqlnkno='"+model.getValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/dnorid")+"']" ).length > 0 ) {
  253. messageBox("현재 처방리스트에 삭제하려는 공여자에게 발행될 처방이 있어 삭제할 수 없습니다.", "I");
  254. } else {
  255. model.setValue("/root/main/dnorinfo/dnorinfo["+grd_dnorinfo.row+"]/status", "D");
  256. }
  257. model.setValue("/root/main/dnorinfo/dnorinfo[" + grd_dnorinfo.row + "]/selectyn", "false");
  258. }
  259. model.setValue("/root/init/rcnt", model.instances(0).selectNodes ( "/root/main/dnorinfo/dnorinfo[selectyn='true']" ).length );
  260. grd_dnorinfo.refresh();
  261. ]]>
  262. </script>
  263. </button>
  264. <button id="btn_save" class="btn2_letter2" style="left:993px; top:8px; width:42px; height:19px; ">
  265. <caption>저장</caption>
  266. <script type="javascript" ev:event="DOMActivate">
  267. <![CDATA[
  268. var rows = grd_dnorinfo.rows;
  269. if (rows == 1 ) {
  270. window.close();
  271. }
  272. var spid = model.getValue("/root/send/reqdata/pid");
  273. var sorddd = model.getValue("/root/send/reqdata/orddd");
  274. var scretno = model.getValue("/root/send/reqdata/cretno");
  275. var selstr = ""
  276. var sdnorid = "";
  277. for(var i=1; i < rows; i++){
  278. model.setValue("/root/main/dnorinfo/dnorinfo[" + i + "]/pid", spid)
  279. model.setValue("/root/main/dnorinfo/dnorinfo[" + i + "]/orddd", sorddd)
  280. model.setValue("/root/main/dnorinfo/dnorinfo[" + i + "]/cretno", scretno)
  281. if ( model.getValue("/root/main/dnorinfo/dnorinfo[" + i + "]/selectyn") == "true" ) {
  282. selstr = selstr + model.getValue("/root/main/dnorinfo/dnorinfo[" + i + "]/dnornm") + "|";
  283. }
  284. }
  285. var saveNodeList = model.instances(0).selectNodes( "/root/main/dnorinfo/dnorinfo" );
  286. model.setValue("/root/send/savedata", getNodeListCSV(saveNodeList) );
  287. submit("TXMMO15601");
  288. for(i=1; i < rows; i++){
  289. if ( model.getValue("/root/main/dnorinfo/dnorinfo["+i+"]/dnornm") != "" && selstr.indexOf(model.getValue("/root/main/dnorinfo/dnorinfo["+i+"]/dnornm")) >= 0 ) {
  290. if (sdnorid == "" ) {
  291. sdnorid = model.getValue("/root/main/dnorinfo/dnorinfo[" + i + "]/dnorid");
  292. }
  293. else {
  294. sdnorid = sdnorid + '|' + model.getValue("/root/main/dnorinfo/dnorinfo[" + i + "]/dnorid");
  295. }
  296. model.setValue("/root/main/dnorinfo/dnorinfo[" + i + "]/selectyn", "true");
  297. }
  298. }
  299. grd_dnorinfo.refresh();
  300. opener.grd_prcplist.refresh();
  301. var currow = parseInt(opener.javascript.getParameter("SPMMO15600_srchRow"));
  302. var prcpcd = opener.model.getValue( "/root/main/prcp/prcplist[" + currow + "]/prcpcd" );
  303. var destNode;
  304. if ( sdnorid != "" ) {
  305. var sepDnorid = sdnorid.split("|");
  306. for ( i = 0; i < sepDnorid.length; i++ ){
  307. if (i == 0 ) {
  308. opener.model.setValue( "/root/main/prcp/prcplist[" + currow+ "]/dnorreqlnkno", sepDnorid[i]);
  309. opener.model.setValue( "/root/main/prcp/prcplist[" + currow+ "]/payflagcd", "1");
  310. } else {
  311. destNode = opener.model.instances(0).selectSingleNode( "/root/main/prcp" )
  312. fPrcpSrchCom ( prcpcd, opener.model.getValue ( "/root/init/prcpdd" ), opener.model.getValue ( "/root/paminfo/list/insukind"), "TRMMO00100", "", false, "getPrcpCdSrchInfo" );
  313. model.setValue ( "/root/prcpsrch/prcplist/status", "I" );
  314. addPrcpDetl ( "child" , "/root/prcpsrch/prcplist" , "/root/main/prcp" , 1 , currow, "00" );
  315. opener.model.setValue( "/root/main/prcp/prcplist[" + currow+ "]/dnorreqlnkno", sepDnorid[i]);
  316. opener.model.setValue( "/root/main/prcp/prcplist[" + currow+ "]/payflagcd", "1");
  317. }
  318. currow= currow+1;
  319. }
  320. }
  321. opener.grd_prcplist.refresh();
  322. // opener.model.setValue( "/root/main/prcp/prcplist[" + currow+ "]/prcpcd", "");
  323. model.setValue("/root/init/closestat", "Y");
  324. window.close();
  325. ]]>
  326. </script>
  327. <hint>
  328. <![CDATA[등록/조회된 공여자에 대한 처방 발생]]>
  329. </hint>
  330. </button>
  331. <button id="btn_cancel" class="btn5_letter2" style="left:1037px; top:8px; width:42px; height:19px; ">
  332. <caption>취소</caption>
  333. <script type="javascript" ev:event="DOMActivate">
  334. <![CDATA[
  335. model.setValue("/root/init/closestat", "N");
  336. window.close();
  337. ]]>
  338. </script>
  339. <hint>
  340. <![CDATA[공여자지정안함]]>
  341. </hint>
  342. </button>
  343. <iviewer id="iviewer1" src="../../../lis/refprintmngtweb/xrw/SPLLP90200_HLA결과조회.xrw" style="left:-20px; top:250px; width:1115px; height:430px; "/>
  344. </xhtml:body>
  345. </xhtml:html>