SPMMO21501_사전심사대상급비변경.xfdl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO21501" position="absolute 0 0 794 481" titletext="사전심사 요구 -- 문의사항이 있을 경우 심사실(본원.T5076, 칠곡.T2182)로 문의 바랍니다.!!" oninit="SPMMO21501_oninit" onload="SPMMO21501_onload">
  5. <Layouts>
  6. <Layout>
  7. <Grid position="absolute 0 157 791 447" id="errlist1" binddataset="ds_result_err1" autofittype="col">
  8. <Formats>
  9. <Format id="default">
  10. <Columns>
  11. <Column size="121"/>
  12. <Column size="171"/>
  13. <Column size="423"/>
  14. </Columns>
  15. <Rows>
  16. <Row size="24" band="head"/>
  17. <Row size="24"/>
  18. </Rows>
  19. <Band id="head">
  20. <Cell displaytype="normal" text="처방코드"/>
  21. <Cell col="1" displaytype="normal" text="처방명"/>
  22. <Cell col="2" displaytype="normal" text="오류내용"/>
  23. </Band>
  24. <Band id="body">
  25. <Cell displaytype="normal" text="bind:prcpcd"/>
  26. <Cell col="1" displaytype="normal" text="bind:prcpnm"/>
  27. <Cell col="2" displaytype="normal" text="bind:prcperr"/>
  28. </Band>
  29. </Format>
  30. </Formats>
  31. </Grid>
  32. <Grid position="absolute 0 23 791 128" id="errlist2" binddataset="ds_result_err2" autofittype="col">
  33. <Formats>
  34. <Format id="default">
  35. <Columns>
  36. <Column size="107"/>
  37. <Column size="172"/>
  38. <Column size="454"/>
  39. </Columns>
  40. <Rows>
  41. <Row size="24" band="head"/>
  42. <Row size="24"/>
  43. </Rows>
  44. <Band id="head">
  45. <Cell displaytype="normal" text="처방코드"/>
  46. <Cell col="1" displaytype="normal" text="처방명"/>
  47. <Cell col="2" displaytype="normal" text="오류내용"/>
  48. </Band>
  49. <Band id="body">
  50. <Cell displaytype="normal" text="bind:prcpcd"/>
  51. <Cell col="1" displaytype="normal" text="bind:prcpnm"/>
  52. <Cell col="2" displaytype="normal" text="bind:prcperr"/>
  53. </Band>
  54. </Format>
  55. <Format id="format_copy"/>
  56. </Formats>
  57. </Grid>
  58. <Static text="사전심사 대상 처방에 대해" position="absolute 185 455 335 475" id="cap_inform"/>
  59. <Button position="absolute 340 455 528 477" id="btn_bfjudg" class="btn3" enable="false" text="심사 요구 하시겠습니까?" onclick="btn_bfjudg_onclick"/>
  60. <Button position="absolute 537 455 787 477" id="btn_close" class="btn3" text="급비변경을 취소 하시겠습니까? (닫기)" onclick="btn_close_onclick"/>
  61. <Button id="btn_err2" taborder="1" text="무조건 비급여대상" position="absolute 0 3 120 23" onclick="btn_err2_onclick" class="btn_sw"/>
  62. <Button id="btn_err1" taborder="2" text="사전심사 대상" position="absolute 0 137 101 157" onclick="btn_err1_onclick" class="btn_sw"/>
  63. </Layout>
  64. </Layouts>
  65. <Objects>
  66. <Dataset id="ds_errlist1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  67. <ColumnInfo>
  68. <Column id="dcprcppkspec" type="STRING"/>
  69. <Column id="prcpcd" type="STRING"/>
  70. <Column id="prcpnm" type="STRING"/>
  71. <Column id="prcperr" type="STRING"/>
  72. </ColumnInfo>
  73. </Dataset>
  74. <Dataset id="ds_errlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  75. <ColumnInfo>
  76. <Column id="dcprcppkspec" type="STRING"/>
  77. <Column id="prcpcd" type="STRING"/>
  78. <Column id="prcpnm" type="STRING"/>
  79. <Column id="prcperr" type="STRING"/>
  80. </ColumnInfo>
  81. </Dataset>
  82. <Dataset id="ds_result_err1" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  83. <ColumnInfo>
  84. <Column id="dcprcppkspec" type="STRING"/>
  85. <Column id="prcpcd" type="STRING"/>
  86. <Column id="prcpnm" type="STRING"/>
  87. <Column id="prcperr" type="STRING"/>
  88. </ColumnInfo>
  89. </Dataset>
  90. <Dataset id="ds_result_err2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  91. <ColumnInfo>
  92. <Column id="dcprcppkspec" type="STRING"/>
  93. <Column id="prcpcd" type="STRING"/>
  94. <Column id="prcpnm" type="STRING"/>
  95. <Column id="prcperr" type="STRING"/>
  96. </ColumnInfo>
  97. </Dataset>
  98. <Dataset id="ds_result_prcperrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  99. <Dataset id="ds_result_savedrprcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  100. <Dataset id="ds_err1_prcperrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  101. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  102. </Objects>
  103. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  104. * System Name :
  105. * Job Name :
  106. * Creator :
  107. * Make Date : 2014-12-10
  108. * Description :
  109. *---------------------------------------------------------------------------------------
  110. * Modify Date Modifier Modify Description
  111. *---------------------------------------------------------------------------------------
  112. * 2014-12-10 Live Converter TF->XP
  113. *
  114. *---------------------------------------------------------------------------------------
  115. ****************************************************************************************/
  116. include "com_commonxp::comm_main.xjs";
  117. include "emr_prcpmngtxp::MMO001.xjs";
  118. function SPMMO21501_oninit(obj:Form, e:InitEventInfo)
  119. {
  120. ds_result_err1.clearData(); //model.removenode ( "/root/err1/prcperrlist" );
  121. }
  122. function SPMMO21501_onload(obj:Form, e:LoadEventInfo)
  123. {
  124. var flag = "";
  125. var dcprcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  126. var waitCnt = 0;
  127. var cnclCnt = 0;
  128. //var srcNodeList = model.instances(0).selectNodes ("/root/result/prcperrlist");
  129. var currow = 1;
  130. //무조건비급여 대상 instance
  131. //var destNode2 = model.instances(0).selectSingleNode( "/root/err2" );
  132. var cnt2 = 0;
  133. //사전심사 대상 instance
  134. //var destNode1 = model.instances(0).selectSingleNode( "/root/err1" );
  135. var cnt1 = 0;
  136. //opener에서 받은 instance 없으면, 창 닫음.
  137. if( ds_result_prcperrlist.rowcount < 1 ){ // srcNodeList.length <= 0
  138. close();
  139. }
  140. //화면 그리드에 데이터 셋팅
  141. for ( var i = 0; i < ds_result_prcperrlist.rowcount; i++ ) {
  142. currow = i + 1; // 왜 +1 이지? TF 로우가 1부터 시작해서?
  143. flag = ds_result_prcperrlist.getColumn(currow, "flag");
  144. dcprcppkspec = ds_result_prcperrlist.getColumn(currow, "dcprcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  145. if ( flag == "9" ) {
  146. if( dcprcppkspec == "Y" || dcprcppkspec == "2" ){
  147. ds_result_err2.copyRow(ds_result_err2.addRow(), ds_result_prcperrlist, i); //destNode2.appendChild(srcNodeList.item(i).cloneNode(true));
  148. cnt2++;
  149. }else{ //else : W
  150. ds_result_err1.copyRow(ds_result_err1.addRow(), ds_result_prcperrlist, i); //destNode1.appendChild(srcNodeList.item(i).cloneNode(true));
  151. cnt1++;
  152. }
  153. }
  154. }
  155. if ( cnt2 > 0 ) {
  156. btn_err2.class = "btn4"; //selected = true;
  157. }
  158. if ( cnt1 > 0 ) {
  159. btn_bfjudg.visible = true;
  160. btn_bfjudg.enable = true;
  161. btn_err1.class = "btn4"; //selected = true;
  162. }
  163. // errlist2.rebuild();
  164. // errlist1.rebuild();
  165. /*
  166. errlist2.mergeCells = "bycol";
  167. errlist2.mergeCol(0) = true;
  168. errlist2.mergeCol(1) = true;
  169. errlist2.merge();
  170. errlist1.mergeCells = "bycol";
  171. errlist1.mergeCol(0) = true;
  172. errlist1.mergeCol(1) = true;
  173. errlist1.merge();
  174. errlist2.autoResize = true ; //2010.02.04 JJE 오류내용이 긴 경우 모두 보이지 않아서 resize시킴..
  175. errlist1.autoResize = true ; //2010.02.04 JJE 오류내용이 긴 경우 모두 보이지 않아서 resize시킴..
  176. */
  177. // 처방리스트중 사전심사중인지
  178. // 사전심사 거부된 리스트인지 조회해서
  179. // 버튼을 hidden 시킨다.
  180. var sCnts = ds_result_savedrprcplist.rowcount; // getNodesetCount("/root/result/savedrprcplist")
  181. if (sCnts > 0 ) {
  182. for (i = 0; i < sCnts; i++ ) {
  183. var drprcpetc9 = ds_result_savedrprcplist.getColumn(0, "drprcpetc9"); //model.getValue("/root/result/savedrprcplist/drprcpetc9");
  184. if (drprcpetc9 == "W") {
  185. waitCnt ++;
  186. }
  187. if (drprcpetc9 == "X") {
  188. cnclCnt++;
  189. }
  190. }
  191. }
  192. // 무조건 비급여 대상과 사전심사대상에 같은 수가만 존재할경우 심사요구를 막고 본인100% 저장을 유도 노회식
  193. if( ds_result_err1.rowcount > 1 && ds_result_err2.rowcount > 1 ) { // errlist1.rows > 1 && errlist2.rows > 1
  194. var vflag = 1;
  195. var vprcpcnt = 0;
  196. for(var i = 0 ; i < ds_result_err1.rowcount; i++) {
  197. var vprcpcd = ds_result_err1.getColumn(i, "prcpcd"); //errlist1.valueMatrix(i, errlist1.colRef("prcpcd"));
  198. vprcpcnt = 0;
  199. for(var j = 0 ; j < ds_result_err2.rowcount; j++) {
  200. if( ds_result_err2.getColumn(j, "prcpcd") == vprcpcd ) { // errlist2.valueMatrix(j, errlist2.colRef("prcpcd")) == vprcpcd
  201. vprcpcnt++;
  202. }
  203. }
  204. if(vprcpcnt == 0) {
  205. vflag = 0
  206. }
  207. }
  208. if(vflag > 0) {
  209. btn_bfjudg.enable = false; //disabled = true;
  210. }
  211. }
  212. }
  213. function fClose() {
  214. close();
  215. }
  216. /*
  217. function btn_err2_onclick(obj:Button, e:ClickEventInfo)
  218. {
  219. model.toggle ("case1" );
  220. }
  221. function btn_err1_onclick(obj:Button, e:ClickEventInfo)
  222. {
  223. model.toggle ("case1" );
  224. }
  225. */
  226. function btn_bfjudg_onclick(obj:Button, e:ClickEventInfo)
  227. {
  228. var prcpcd = "";
  229. var dcprcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  230. //var bfJudgInfo = model.instances(0).selectNodes( "/root/err1/prcperrlist" );
  231. if ( ds_err1_prcperrlist.rowcount > 0 ) { // bfJudgInfo.length > 0
  232. ds_send.copyData(ds_err1_prcperrlist); //model.setValue ( "/root/send/cond1", getNodeListCSV(bfJudgInfo));
  233. var oParam = {};
  234. oParam.id = "TXMMO21501";
  235. oParam.service = "prcpmngtapp.PrcpMngt";
  236. oParam.method = "reqExeSetBfJudgPayFlag";
  237. oParam.inds = "req=ds_send";
  238. oParam.async = false;
  239. oParam.callback = "cf_TXMMO21501";
  240. tranf_submit(oParam);
  241. }
  242. close();
  243. }
  244. function cf_TXMMO21501(sSvcId, nErrorCode, sErrorMsg) {
  245. if(nErrorCode < 0) {
  246. sysf_messageBox ( "심사 요구 처리중 오류가 발생하였습니다. 전산실로 문의 하세요.", "E999" );
  247. return;
  248. } else {
  249. sysf_messageBox ( "심사 요구 하였습니다. 심사완료 후 다시 급비 변경하시기 바랍니다.", "I999" );
  250. }
  251. }
  252. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  253. {
  254. close();
  255. }
  256. ]]></Script>
  257. </Form>
  258. </FDL>