SMAHA04041_재검패키지.xrw 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  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. <pkgpidinfo>
  20. <pkgpidlst>
  21. <item>
  22. <sel/>
  23. <pkgcd/>
  24. <pkgnm/>
  25. <pkgflag/>
  26. <calcscorcd/>
  27. <healexamflag/>
  28. <healexamdetlflag/>
  29. </item>
  30. </pkgpidlst>
  31. </pkgpidinfo>
  32. </main>
  33. <send>
  34. <srchcond>pid</srchcond>
  35. <srchpid/>
  36. <srchpnm/>
  37. <srchrgstno1/>
  38. <srchrgstno2/>
  39. <srchinstcd/>
  40. <srchengnm/>
  41. <testinfo>
  42. <testdata/>
  43. </testinfo>
  44. </send>
  45. <init/>
  46. <hidden>
  47. <patinfo>
  48. <item/>
  49. </patinfo>
  50. </hidden>
  51. <target>
  52. <srchcond/>
  53. <srchpnm/>
  54. <srchpid/>
  55. <setflag/>
  56. <desxpath/>
  57. <setyn/>
  58. </target>
  59. <temp>
  60. <cmpyinfo/>
  61. <rsrvacptinfo/>
  62. <info/>
  63. <templst/>
  64. <testinfo/>
  65. <prcpinfo/>
  66. </temp>
  67. </root>
  68. </instance>
  69. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  70. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  71. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  72. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  73. <script type="javascript" src="../../../ast/healexamweb/js/healexam.js"/>
  74. <submission id="TRAHA00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/hidden/patinfo"/>
  75. <script type="javascript" ev:event="xforms-ready">
  76. <![CDATA[
  77. // 메뉴파라미터에 따라 건진구분셋팅
  78. if( m_vHealexamflag == "" ) {
  79. var sFlag = getScreenMenuParameter();
  80. if(sFlag == "") {
  81. m_vHealexamflag = "G";
  82. m_vHealexamdetlflag = "G01";
  83. }else {
  84. m_vHealexamflag = sFlag.substr(0,1);
  85. m_vHealexamdetlflag = sFlag.substr(0,3);
  86. m_vPlace = sFlag.substr(3,4);
  87. }
  88. }
  89. /**=====================================================================================
  90. * SMAHA00400_PARAM1 : 현재화면ID
  91. * SPAHA00400_PARAM2 : 검색조건 pnm/pid/rgstno
  92. * SPAHA00400_PARAM3 : 검색어
  93. * SPAHA00400_PARAM4 : nodeset전체 copy여부 (N일경우 원무등록번호와 환자 한글명만 copy)
  94. * SPAHA00400_PARAM5 : nodeset전체 copy여부 Y 일경우 대상노드
  95. * SPAHA00400_PARAM6 : nodeset전체 copy여부 N 일경우 원무등록번호 대상노드
  96. * SPAHA00400_PARAM7 : nodeset전체 copy여부 N 일경우 환자 한글명 대상노드
  97. * SPAHA00400_PARAM8 : 검색어 주민번호1
  98. * SPAHA00400_PARAM9 : 검색어 주민번호2
  99. * =====================================================================================
  100. */
  101. model.refresh();
  102. /*if( checkOpener() ){
  103. opener.model.makeNode("/root/temp/okflag");
  104. model.setValue("/root/send/srchcond" , opener.javascript.getParameter("SPAHA00400_PARAM2"));
  105. model.setValue("/root/send/srchpid" , opener.javascript.getParameter("SPAHA00400_PARAM3"));
  106. if( model.getValue("/root/send/srchcond" ) == "rgstno" ){
  107. ipt_rgstno1.value = opener.javascript.getParameter("SPAHA00400_PARAM8") ;
  108. ipt_rgstno2.value = opener.javascript.getParameter("SPAHA00400_PARAM9") ;
  109. }
  110. model.refresh();
  111. if(model.getValue("/root/send/srchpid") == "")
  112. {
  113. return;
  114. }
  115. fGetPatList(false);
  116. }*/
  117. // var vHealexamflag = opener.javascript.getParameter("SPAHA00400_PARAM10");
  118. // var vHealexamdetlflag = opener.javascript.getParameter("SPAHA00400_PARAM11");
  119. // if( vHealexamflag == "G" && vHealexamdetlflag == "G02"){
  120. // grd_patlst.colAttribute(1, "visiblility") = "visible";
  121. // grd_patlst.colAttribute(2, "visiblility") = "visible";
  122. // }
  123. ]]>
  124. </script>
  125. <submission id="TRAHA04043" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/testinfo" replace="instance" resultref="/root/temp/testinfo"/>
  126. </model>
  127. <script type="javascript">
  128. <![CDATA[
  129. var m_vHealexamflag = "";
  130. var m_vHealexamdetlflag = "";
  131. var m_vPlace = "";
  132. var vDestXPath = opener.javascript.getParameter("SPAHA00400_PARAM5");
  133. ]]>
  134. </script>
  135. </xhtml:head>
  136. <xhtml:body pagewidth="600" pageheight="343" guideline="1,576;2,343;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  137. <group id="group3" scroll="auto" style="left:0px; top:0px; width:576px; height:316px; ">
  138. <caption id="caption1" class="tit_2" style="left:5px; top:5px; width:95px; height:13px; ">재검패키지</caption>
  139. <line id="line1" class="line_1" style="x1:0px; y1:20px; x2:576px; y2:20px; "/>
  140. <datagrid id="grd_patlst" nodeset="/root/main/pkgpidinfo/pkgpidlst/item" caption="선택^코드^명칭^caption1^caption2^caption3^caption4^" colsep="^" colwidth="42, 144, 345, 100, 100, 100, 100" dataheight="23" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="23" rowsep="|" style="left:0px; top:20px; width:576px; height:285px; ">
  141. <col checkvalue="Y,N" ref="sel" type="checkbox"/>
  142. <col ref="pkgcd" style="text-align:center; "/>
  143. <col ref="pkgnm"/>
  144. <col ref="pkgflag" visibility="hidden"/>
  145. <col ref="calcscorcd" visibility="hidden"/>
  146. <col ref="healexamflag" visibility="hidden"/>
  147. <col ref="healexamdetlflag" visibility="hidden"/>
  148. <script type="javascript" ev:event="ondblclick">
  149. <![CDATA[
  150. //fSetPatinfo();
  151. ]]>
  152. </script>
  153. <script type="javascript" ev:event="onaftersort">
  154. <![CDATA[
  155. grd_patlst.gridToInstance();
  156. ]]>
  157. </script>
  158. </datagrid>
  159. </group>
  160. <group id="group1" scroll="auto" style="left:0px; top:316px; width:518px; height:27px; ">
  161. <button id="btn_confirm" class="btn4_letter2" style="left:402px; top:5px; width:56px; height:22px; ">
  162. <caption>확인</caption>
  163. <script type="javascript" ev:event="DOMActivate">
  164. <![CDATA[
  165. var sColSep = "▦";
  166. var sRowSep = "▩";
  167. var pkgNodeList = instance1.selectNodes("/root/main/pkgpidinfo/pkgpidlst/item[sel='Y']");
  168. var CVS = "healexamflag" + sColSep + "healexamdetlflag"+ sColSep + "testcd" + sColSep + "calcscorcd" + sRowSep;
  169. var dataCVS = "";
  170. var duptCd = "";
  171. var acptPkgCd = opener.model.getValue("/root/init/baseinfo/acptcd/G112[cdid='01']/cmt"); //접수비 패키지
  172. for(var i=0; i < pkgNodeList.length; i++) {
  173. var pkgcd = pkgNodeList.item(i).pkgcd.text;
  174. if(opener.instance1.selectNodes("/root/main/info/addlst/item[sel='Y' and testcd='" + pkgcd +"']").length > 0) {
  175. duptCd += pkgNodeList.item(i).pkgnm.text != "" ? pkgNodeList.item(i).pkgnm.text + "," : "";
  176. continue;
  177. }
  178. dataCVS += pkgNodeList.item(i).healexamflag.text + sColSep + pkgNodeList.item(i).healexamdetlflag.text + sColSep
  179. + pkgcd + sColSep + pkgNodeList.item(i).calcscorcd.text + sRowSep;
  180. }
  181. // 접수비 코드가 있을경우
  182. if(acptPkgCd != "") {
  183. //※수가코드가 틀려질 경우 수가코드 가져오는 로직필요
  184. // 검사내역에 있는지 그리고 특검을 선택했는지 확인 그리고 진찰료를 선택했는지 확인
  185. if((opener.instance1.selectNodes("/root/main/info/addlst/item[sel='Y' and testcd='" + acptPkgCd +"']").length < 1)
  186. && (opener.instance1.selectNodes("/root/main/pkgpidinfo/pkgpidlst/item[sel='Y' and healexamdetlflag = 'G03']").length > 0)
  187. && (opener.instance1.selectNodes("/root/main/pkgpidinfo/pkgpidlst/item[sel='Y' and healexamdetlflag = 'G03' and pkgcd='" + acptPkgCd + "']").length < 1)) {
  188. dataCVS += m_vHealexamflag + sColSep + "" + sColSep
  189. + acptPkgCd + sColSep + acptPkgCd + sRowSep;
  190. }
  191. }
  192. if(duptCd != "") {
  193. messageBox("[" + duptCd + "]은 이미 등록 된 패기지","I009");
  194. return false;
  195. }
  196. if(dataCVS == "") {
  197. return false;
  198. }
  199. model.resetInstanceNode("/root/send/testinfo"); // 초기화
  200. model.setValue("/root/send/testinfo/testdata" , CVS + dataCVS);
  201. var cmpycd = opener.model.getValue("/root/main/info/rsrvacptinfo/item/cmpycd");
  202. if(submit("TRAHA04043" , false)) {
  203. var addNodeList = instance1.selectNodes("/root/temp/testinfo/pkg");
  204. var delCnt = 0;
  205. while(pkgNodeList.length > delCnt) {
  206. pkgNodeList.item(delCnt).sel.text = "N";
  207. delCnt++;
  208. }
  209. for(var i=0; i < addNodeList.length; i++) {
  210. opener.grd_addlst.addRow(false,true);
  211. var idx = opener.grd_addlst.rows - 1;
  212. var testcd = addNodeList.item(i).testcd.text;
  213. var healexamdetlflag = addNodeList.item(i).healexamdetlflag.text;
  214. opener.model.removeNodeset("/root/main/calcinfo/pkg[testcd='" + testcd +"']");
  215. opener.model.removeNodeset("/root/main/calcinfo/calc[pkgcd='" + testcd +"']");
  216. //copyNodesetType(vDestXPath , "/root/main/patinfo/item[" + idx + "]", "replace",opener.model, model );
  217. copyNodesetType( "/root/main/calcinfo/pkg", "/root/temp/testinfo/pkg[testcd='" + testcd +"']","after",opener.model, model );
  218. copyNodesetType( "/root/main/calcinfo/calc", "/root/temp/testinfo/calc[pkgcd='" + testcd+"']","after",opener.model, model );
  219. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("sel")) = addNodeList.item(i).pkgflag.text == "P"? "Y" : "N" ;
  220. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("testcd")) = testcd;
  221. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("testnm")) = addNodeList.item(i).testnm.text;
  222. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("pkgflag")) = addNodeList.item(i).pkgflag.text;
  223. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("healexamdetlflag")) = healexamdetlflag;
  224. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("calcscorcd")) = addNodeList.item(i).calcscorcd.text;;
  225. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("hopedd")) = opener.model.getValue("/root/main/info/rsrvacptinfo/item/hopedd");
  226. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("orddd")) = opener.model.getValue("/root/main/info/rsrvacptinfo/item/orddd");
  227. if((healexamdetlflag == "G05" || healexamdetlflag == "G11" || healexamdetlflag == "G07") && cmpycd != "") {
  228. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("uncocd")) = "V02";
  229. }else if ((healexamdetlflag == "G05" || healexamdetlflag == "G11" || healexamdetlflag == "G07") && cmpycd == "") {
  230. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("uncocd")) = "V01";
  231. }else {
  232. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("uncocd")) = "";
  233. }
  234. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("testdiscyn")) = addNodeList.item(i).discyn.text;
  235. opener.grd_addlst.valueMatrix( idx ,opener.grd_addlst.colRef("totpayamt")) = 0;
  236. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("payinsubamt")) = 0;
  237. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("payhealcntrbamt")) = 0;
  238. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("paycmpybamt")) = 0;
  239. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("payownbamt")) = 0;
  240. opener.grd_addlst.valueMatrix( idx , opener.grd_addlst.colRef("owndiscamt")) = 0;
  241. //opener.model.refresh();
  242. }
  243. //1,2차구분의 2차선택체크
  244. opener.model.setValue("/root/main/info/rsrvacptinfo/item/dgflag", "2");
  245. opener.radio1.refresh();
  246. //금액을 셋팅
  247. opener.javascript.fSetAmt();
  248. opener.javascript.fSetChngAmt();
  249. opener.javascript.fSetTotalAmt();
  250. if(opener.case_test.selected == true) {
  251. opener.javascript.fSetPrcpList();
  252. }
  253. }
  254. window.close();
  255. ]]>
  256. </script>
  257. </button>
  258. <button id="btn_cancel" class="btn4_letter2" style="left:461px; top:5px; width:56px; height:22px; ">
  259. <caption>취소</caption>
  260. <script type="javascript" ev:event="DOMActivate">
  261. <![CDATA[
  262. if( checkOpener() ){
  263. // opener.model.setValue("/root/temp/okflag", "") ;
  264. }
  265. window.close();
  266. ]]>
  267. </script>
  268. </button>
  269. <line id="line32" class="line_6" style="x1:0px; y1:0px; x2:518px; y2:0px; "/>
  270. </group>
  271. </xhtml:body>
  272. </xhtml:html>