SPMMO21500_사전심사대상.xfdl 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMMO21500" position="absolute 0 0 791 478" titletext="사전심사 요구 -- 문의사항이 있을 경우 심사실(본원.T5076, 칠곡.T2184)로 문의 바랍니다.!!" oninit="SPMMO21500_oninit" onload="SPMMO21500_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button position="absolute 400 0 456 20" id="button1" class="btn4" visible="false" text="확인" onclick="button1_onclick"/>
  8. <Grid position="absolute 0 25 791 130" id="errlist2" binddataset="ds_err2_prcpmsglist" autofittype="col" selecttype="multiarea">
  9. <Formats>
  10. <Format id="default">
  11. <Columns>
  12. <Column size="0"/>
  13. <Column size="80"/>
  14. <Column size="287"/>
  15. <Column size="423"/>
  16. </Columns>
  17. <Rows>
  18. <Row size="24" band="head"/>
  19. <Row size="24"/>
  20. </Rows>
  21. <Band id="head">
  22. <Cell/>
  23. <Cell col="1" text="처방코드"/>
  24. <Cell col="2" text="처방명"/>
  25. <Cell col="3" text="심사내용"/>
  26. </Band>
  27. <Band id="body">
  28. <Cell displaytype="checkbox" edittype="checkbox" text="bind:prcppkspec"/>
  29. <Cell col="1" displaytype="normal" edittype="none" style="align:left middle;" text="bind:prcpcd" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  30. <Cell col="2" style="align:left middle;" text="bind:prcpnm" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  31. <Cell col="3" style="align:left middle;" text="bind:errmsg" suppress="1" suppressalign="middle,over"/>
  32. </Band>
  33. </Format>
  34. </Formats>
  35. </Grid>
  36. <Grid position="absolute 0 161 791 451" id="errlist1" binddataset="ds_err1_prcpmsglist" autofittype="col" oncelldblclick="errlist1_oncelldblclick" selecttype="multiarea" autosizingtype="row" cellsizingtype="row">
  37. <Formats>
  38. <Format id="default">
  39. <Columns>
  40. <Column size="0"/>
  41. <Column size="80"/>
  42. <Column size="200"/>
  43. <Column size="250"/>
  44. <Column size="0"/>
  45. <Column size="261"/>
  46. <Column size="0"/>
  47. </Columns>
  48. <Rows>
  49. <Row size="24" band="head"/>
  50. <Row size="24"/>
  51. </Rows>
  52. <Band id="head">
  53. <Cell/>
  54. <Cell col="1" text="처방코드"/>
  55. <Cell col="2" text="처방명"/>
  56. <Cell col="3" text="심사내용"/>
  57. <Cell col="4" text="사유코드"/>
  58. <Cell col="5" text="처방사유(심사팀전달)"/>
  59. <Cell col="6" text="cnfrmk"/>
  60. </Band>
  61. <Band id="body">
  62. <Cell displaytype="checkbox" edittype="checkbox" text="bind:prcppkspec"/>
  63. <Cell col="1" displaytype="normal" edittype="none" style="align:left middle;linespace:3;" text="bind:prcpcd" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  64. <Cell col="2" style="align:left middle;linespace:3;" text="bind:prcpnm" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  65. <Cell col="3" style="align:left middle;linespace:3;" text="bind:errmsg" wordwrap="word" suppress="1" suppressalign="middle,over"/>
  66. <Cell col="4" style="align:left middle;" text="bind:cnfcd"/>
  67. <Cell col="5" style="align:left middle;" text="bind:cnfmsg"/>
  68. <Cell col="6" text="bind:cnfrmk"/>
  69. </Band>
  70. </Format>
  71. </Formats>
  72. </Grid>
  73. <Static text="사전심사 대상 처방에 대해" position="absolute 5 458 155 478" id="cap_inform" style="color:red;"/>
  74. <Button position="absolute 160 458 348 478" id="btn_bfjudg" class="btn3" enable="false" text="심사 요구 하시겠습니까?" onclick="btn_bfjudg_onclick"/>
  75. <Button position="absolute 366 458 554 478" id="btn_chgpayflag" class="btn3" text="본인 100%로 하시겠습니까?" onclick="btn_chgpayflag_onclick"/>
  76. <Button position="absolute 571 458 791 478" id="btn_close" class="btn3" text="처방변경을 하시겠습니까? (닫기)" onclick="btn_close_onclick"/>
  77. <Static id="Static00" text="무조건 비급여대상" position="absolute 0 0 138 25" class="tit_1"/>
  78. <Static id="Static01" text="사전심사 대상" class="tit_1" position="absolute 0 136 114 161"/>
  79. </Layout>
  80. </Layouts>
  81. <Objects>
  82. <Dataset id="ds_result_prcperrlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  83. <ColumnInfo>
  84. <Column id="flag" type="STRING" size="256" sumtext="에러구분: 1:에러, 2:병용금기, 3:연령금기"/>
  85. <Column id="prcpcd" type="STRING" size="256" sumtext="에러처방코드"/>
  86. <Column id="prcpnm" type="STRING" size="256" sumtext="에러처방이름"/>
  87. <Column id="errmsg" type="STRING" size="256" sumtext="에러내용"/>
  88. <Column id="errrow" type="STRING" size="256" sumtext="오류Row.병용금기 약품묶음"/>
  89. <Column id="prcppkspec" type="STRING" size="256" sumtext="D/C처방오류정보:D/C처방 오류시 색변경을 위해..."/>
  90. <Column id="delflag" type="STRING" size="256" sumtext="삭제flag"/>
  91. </ColumnInfo>
  92. </Dataset>
  93. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  94. <ColumnInfo>
  95. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  96. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  97. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  98. </ColumnInfo>
  99. <Rows>
  100. <Row/>
  101. </Rows>
  102. </Dataset>
  103. <Dataset id="ds_result_prcpmsglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  104. <ColumnInfo>
  105. <Column id="instcd" type="STRING" size="256" sumtext="기관기호"/>
  106. <Column id="msgdd" type="STRING" size="256" sumtext="메세지일자"/>
  107. <Column id="msgno" type="STRING" size="256" sumtext="메세지번호"/>
  108. <Column id="histno" type="STRING" size="256" sumtext="메세지이력번호"/>
  109. <Column id="pid" type="STRING" size="256" sumtext="환자번호"/>
  110. <Column id="orddd" type="STRING" size="256" sumtext="진료일자"/>
  111. <Column id="cretno" type="STRING" size="256" sumtext="생성번호"/>
  112. <Column id="ordtype" type="STRING" size="256" sumtext="진료구분 (O:외래, I:입원, E:응급, S:건진)"/>
  113. <Column id="orddeptcd" type="STRING" size="256" sumtext="진료과"/>
  114. <Column id="msgseq" type="STRING" size="256" sumtext="메세지상세번호"/>
  115. <Column id="msgcls" type="STRING" size="256" sumtext="메세지종류"/>
  116. <Column id="prcpdd" type="STRING" size="256" sumtext="처방일자"/>
  117. <Column id="prcpcd" type="STRING" size="256" sumtext="처방코드"/>
  118. <Column id="prcpnm" type="STRING" size="256" sumtext="처방명"/>
  119. <Column id="errcd" type="STRING" size="256" sumtext="오류코드"/>
  120. <Column id="errmsg" type="STRING" size="256" sumtext="오류메세지"/>
  121. <Column id="errdisc" type="STRING" size="256" sumtext="오류설명"/>
  122. <Column id="cnfcd" type="STRING" size="256" sumtext="확인코드"/>
  123. <Column id="cnfmsg" type="STRING" size="256" sumtext="확인메세지"/>
  124. <Column id="cnfrmk" type="STRING" size="256" sumtext="확인비고"/>
  125. <Column id="errrow" type="STRING" size="256" sumtext="오류Row.병용금기 약품묶음"/>
  126. <Column id="prcppkspec" type="STRING" size="256" sumtext="D/C처방오류정보:D/C처방 오류시 색변경을 위해..."/>
  127. </ColumnInfo>
  128. </Dataset>
  129. <Dataset id="ds_result_saveflaginfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  130. <Dataset id="ds_err1_prcpmsglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  131. <Dataset id="ds_err2_prcpmsglist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  132. <Dataset id="ds_result_savedrprcplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  133. </Objects>
  134. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  135. * System Name :
  136. * Job Name :
  137. * Creator :
  138. * Make Date : 2014-12-10
  139. * Description :
  140. *---------------------------------------------------------------------------------------
  141. * Modify Date Modifier Modify Description
  142. *---------------------------------------------------------------------------------------
  143. * 2014-12-10 Live Converter TF->XP
  144. *
  145. *---------------------------------------------------------------------------------------
  146. ****************************************************************************************/
  147. include "com_commonxp::comm_main.xjs";
  148. function SPMMO21500_oninit(obj:Form, e:InitEventInfo)
  149. {
  150. frmf_initForm(obj);
  151. }
  152. function SPMMO21500_onload(obj:Form, e:LoadEventInfo)
  153. {
  154. try {
  155. ds_result_saveflaginfo.copyData(arg_ds_result_saveflaginfo);
  156. ds_result_savedrprcplist.copyData(arg_ds_result_savedrprcplist);
  157. ds_result_prcperrlist.copyData(arg_ds_result_prcperrlist);
  158. } catch(e) {
  159. sysf_catchTrace(e);
  160. }
  161. var sPrcpPkSpec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  162. var waitCnt = 0;
  163. var cnclCnt = 0;
  164. //var srcErrNodeList = model.instances(0).selectNodes ("/root/result/prcperrlist");
  165. //무조건비급여 대상 instance
  166. //var destNode2 = model.instances(0).selectSingleNode( "/root/err2" );
  167. var cnt2 = 0;
  168. //사전심사 대상 instance
  169. //var destNode1 = model.instances(0).selectSingleNode( "/root/err1" );
  170. var cnt1 = 0;
  171. //opener에서 받은 instance 없으면, 리스트 조회 (2011.03.17 JJE)
  172. if( ds_result_saveflaginfo.rowcount < 1 ){
  173. ds_send.setColumn(0, "pid", opener.ds_paminfo.getColumn(0, "pid"));
  174. ds_send.setColumn(0, "cretno", opener.ds_paminfo.getColumn(0, "cretno"));
  175. ds_send.setColumn(0, "orddd", opener.ds_paminfo.getColumn(0, "orddd"));
  176. var oParam = {};
  177. oParam.id = "TRMMO21501";
  178. oParam.service = "bfjudgcareapp.BfJudgCareMngt";
  179. oParam.method = "reqGetWaitBfJudgPrcpList";
  180. oParam.inds = "req=ds_send";
  181. oParam.outds = "ds_result_prcperrlist=prcperrlist"; // ds_result_prcperrlist
  182. oParam.async = false;
  183. tranf_submit(oParam);
  184. // 허만호, 2015.09.16, TRMMO21501에서는 ref가 TRMMO21502와 달라 그리드에 데이터 셋팅을 위함
  185. for(var i = 0; i < ds_result_prcperrlist.rowcount; i++) {
  186. ds_result_prcpmsglist.addRow();
  187. ds_result_prcpmsglist.setColumn(i, "errmsg", ds_result_prcperrlist.getColumn(i, "prcperr"));
  188. ds_result_prcpmsglist.setColumn(i, "prcppkspec", ds_result_prcperrlist.getColumn(i, "dcprcppkspec"));
  189. ds_result_prcpmsglist.setColumn(i, "prcpcd", ds_result_prcperrlist.getColumn(i, "prcpcd"));
  190. ds_result_prcpmsglist.setColumn(i, "prcpnm", ds_result_prcperrlist.getColumn(i, "prcpnm"));
  191. ds_result_prcpmsglist.setColumn(i, "errrow", ds_result_prcperrlist.getColumn(i, "errrow"));
  192. ds_result_prcpmsglist.setColumn(i, "delflag", ds_result_prcperrlist.getColumn(i, "delflag"));
  193. }
  194. // ds_result_prcperrlist 컬럼중 errmsg, prcppkspec은 맵파일에서 이름이 서로 다른데 실제 쿼리에선 둘 다 없다.
  195. } else {
  196. var oParam = {};
  197. oParam.id = "TRMMO21502";
  198. oParam.service = "prcpmngtapp.PrcpMngt";
  199. oParam.method = "reqGetPrcpBfJudgMsgList";
  200. oParam.inds = "req=ds_result_saveflaginfo";
  201. oParam.outds = "ds_result_prcpmsglist=prcpmsglist";
  202. oParam.async = false;
  203. tranf_submit(oParam);
  204. }
  205. dsf_copyColInfo(ds_err1_prcpmsglist, ds_result_prcpmsglist);
  206. dsf_copyColInfo(ds_err2_prcpmsglist, ds_result_prcpmsglist);
  207. //화면 그리드에 데이터 셋팅
  208. for ( var i = 0; i < ds_result_prcpmsglist.rowcount; i++ ) {
  209. sPrcpPkSpec = ds_result_prcpmsglist.getColumn(i, "prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  210. if( sPrcpPkSpec == "Y" || sPrcpPkSpec == "2" ){
  211. var row = ds_err2_prcpmsglist.addRow();
  212. ds_err2_prcpmsglist.copyRow(row, ds_result_prcpmsglist, i);
  213. cnt2++;
  214. }else{ //else : W
  215. var row = ds_err1_prcpmsglist.addRow();
  216. ds_err1_prcpmsglist.copyRow(row, ds_result_prcpmsglist, i);
  217. cnt1++;
  218. }
  219. }
  220. if ( cnt2 > 0 ) {
  221. ds_err2_prcpmsglist.rowposition = -1;
  222. //btn_err2.selected = true;
  223. }
  224. if ( cnt1 > 0 ) {
  225. ds_err1_prcpmsglist.rowposition = -1;
  226. btn_bfjudg.visible = true;
  227. btn_bfjudg.enable = true;
  228. //btn_err1.selected = true;
  229. }
  230. // 처방리스트중 사전심사중인지
  231. // 사전심사 거부된 리스트인지 조회해서
  232. // 버튼을 hidden 시킨다.
  233. var sCnts = ds_result_savedrprcplist.rowcount;
  234. if (sCnts > 0 ) {
  235. for (var i = 0; i < sCnts; i++ ) {
  236. var drprcpetc9 = ds_result_savedrprcplist.getColumn(0, "drprcpetc9");
  237. if (drprcpetc9 == "W") {
  238. waitCnt ++;
  239. }
  240. if (drprcpetc9 == "X") {
  241. cnclCnt++;
  242. }
  243. }
  244. }
  245. // 무조건 비급여 대상과 사전심사대상에 같은 수가만 존재할경우 심사요구를 막고 본인100% 저장을 유도 노회식
  246. if(ds_err1_prcpmsglist.rowcount > 1 && ds_err2_prcpmsglist.rowcount > 1) {
  247. var vflag = 1;
  248. var vprcpcnt = 0;
  249. for(var i = 0 ; i < ds_err1_prcpmsglist.rowcount; i++) {
  250. var vprcpcd = ds_err1_prcpmsglist.getColumn(i, "prcpcd");
  251. vprcpcnt = 0;
  252. for(var j = 0 ; j < ds_err2_prcpmsglist.rowcount ; j++) {
  253. if(ds_err2_prcpmsglist.getColumn(j, "prcpcd") == vprcpcd) {
  254. vprcpcnt++;
  255. }
  256. }
  257. if(vprcpcnt == 0) {
  258. vflag = 0
  259. }
  260. }
  261. if(vflag > 0) {
  262. btn_bfjudg.enable = false;
  263. }
  264. }
  265. }
  266. function button1_onclick(obj:Button, e:ClickEventInfo)
  267. {
  268. close();
  269. }
  270. function errlist1_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  271. {
  272. if(e.row < 0 || e.col < 0) return;
  273. var nRow = e.row;
  274. var sPrcpCd = ds_err1_prcpmsglist.getColumn(nRow, "prcpcd");
  275. var sCnfRmk = ds_err1_prcpmsglist.getColumn(nRow, "cnfrmk"); // EMR.MMOHRESN 처방 사유 테이블의 resnflag 사유구분(M0530)
  276. var sHardCdNo = "";
  277. if(sCnfRmk == "015") { // PET/CT 처방 사유
  278. sHardCdNo = "455";
  279. } else {
  280. sHardCdNo = "457"; // 기본 사유
  281. }
  282. frmf_setParameter ("SPMMO90300_hardcdno" , sHardCdNo);
  283. frmf_modal("SPMMO90300", "SPMMO90300", null, null, null, null, null, null, null, null, null, null, "M");
  284. if(frmf_getParameter ("SPMMO90300_rtn" ) == "Y") {
  285. var sHardCd = frmf_getParameter ("SPMMO90300_hardcd" ) ;
  286. var sHardNm = frmf_getParameter ("SPMMO90300_hardnm" ) ;
  287. var checkLength = ds_err1_prcpmsglist.rowcount;
  288. var resnCnt = 0;
  289. var sUserId = "";
  290. for ( var i = 0; i < checkLength; i++ ) {
  291. if ( sPrcpCd == ds_err1_prcpmsglist.getColumn(i, "prcpcd") ) {
  292. ds_err1_prcpmsglist.setColumn(i, "cnfcd", sHardCd);
  293. ds_err1_prcpmsglist.setColumn(i, "cnfmsg", sHardNm);
  294. }
  295. }
  296. }
  297. frmf_clearParameter ("SPMMO90300_rtn");
  298. frmf_clearParameter ("SPMMO90300_hardcd");
  299. frmf_clearParameter ("SPMMO90300_hardnm");
  300. }
  301. function btn_bfjudg_onclick(obj:Button, e:ClickEventInfo)
  302. {
  303. // 처방사유, 심사팀 전달사항 저장 2014.11.12 엄영만
  304. var checkLength = ds_err1_prcpmsglist.rowcount;
  305. var resnCnt = 0;
  306. var sUserId = "";
  307. if ( checkLength > 0 ) {
  308. sUserId = sysf_getUserInfo("userid");
  309. ds_err1_prcpmsglist.addColumn("userid", "string");
  310. for ( var i = 0; i < checkLength; i++ ) {
  311. ds_err1_prcpmsglist.setColumn(i, "userid", sUserId);
  312. if ( "016" != ds_err1_prcpmsglist.getColumn(i, "cnfrmk" ) && "-" == ds_err1_prcpmsglist.getColumn(i, "cnfcd")) {
  313. resnCnt++;
  314. }
  315. }
  316. if (resnCnt > 0) {
  317. sysf_messageBox ( "처방사유(심사팀전달) '필수입력 항목' 중 사유가 선택되지 않은 처방이", "I010" );
  318. return;
  319. }
  320. dsf_setDefaultVal(ds_err1_prcpmsglist, "cnfcd:-,cnfmsg:-,cnfrmk:-");
  321. dsf_createDs("ds_temp_TXMMO21502");
  322. dsf_copyColInfo(ds_temp_TXMMO21502, ds_err1_prcpmsglist);
  323. if( utlf_isNull(ds_err1_prcpmsglist.getColumn(0, "msgdd")) ){
  324. ds_temp_TXMMO21502.clearData();
  325. }else{
  326. ds_temp_TXMMO21502.copyData(ds_err1_prcpmsglist);
  327. }
  328. var oParam = {};
  329. oParam.id = "TXMMO21502";
  330. oParam.service = "prcpmngtapp.PrcpMngt";
  331. oParam.method = "reqExeBfJudeMsgList";
  332. oParam.inds = "req=ds_temp_TXMMO21502";
  333. oParam.async = false;
  334. tranf_submit(oParam);
  335. } // End of 처방사유, 심사팀 전달사항 저장 2014.11.12 엄영만
  336. var prcpcd = "";
  337. var dcprcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  338. var errrow = 0;
  339. var srcNodeListMainLength = opener.ds_main_prcplist.rowcount;
  340. opener.ds_main_prcplist.enableevent = false;
  341. for (var i = 0; i < ds_err1_prcpmsglist.rowcount ; i++) {
  342. prcpcd = ds_err1_prcpmsglist.getColumn(i, "prcpcd");
  343. errrow = ds_err1_prcpmsglist.getColumn(i, "errrow");
  344. for ( var j = 0; j < srcNodeListMainLength; j++ ) {
  345. if ( prcpcd == opener.ds_main_prcplist.getColumn(j, "prcpcd" ) && (j + 1 == errrow || errrow == 0)) {
  346. opener.ds_main_prcplist.setColumn(j, "drprcpetc9", "W");
  347. if( opener.ds_main_prcplist.getColumn(j, "status") == "-" ){ //만일 이미 임시저장해놓은 처방인 경우 저장할 처방이 없어서 블러킹되므로, status를 U로 바꿔준다 (2011.02.14 JJE)
  348. opener.ds_main_prcplist.setColumn(j, "status", "U");
  349. }
  350. }
  351. }
  352. }
  353. for (var i = 0; i < ds_err2_prcpmsglist.rowcount; i++) {
  354. prcpcd = ds_err2_prcpmsglist.getColumn(i, "prcpcd");
  355. prcppkspec = ds_err2_prcpmsglist.getColumn(i, "prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  356. errrow = ds_err2_prcpmsglist.getColumn(i, "errrow");
  357. for ( var j = 0; j < srcNodeListMainLength; j++ ) {
  358. if ( prcpcd == opener.ds_main_prcplist.getColumn(j, "prcpcd" ) && (j + 1 == errrow || errrow == 0)) {
  359. if( prcppkspec == "2" ) { //무조건 사전심사 항목은 선택에 무관하게 본인부담으로 변경. 단, 처방코드로 비교하고 있으므로.. 하나의 처방코드가 2개 이상의 룰에 해당되고 일부는 무조건비급여, 일부는 사전심사인 경우 각각의 처리가 안됨. (2010.12.24 전지은)
  360. opener.ds_main_prcplist.setColumn(j, "payflagcd", "2"); //일반
  361. } else {
  362. opener.ds_main_prcplist.setColumn(j, "payflagcd", "1"); //본인부담
  363. }
  364. opener.ds_main_prcplist.setColumn(j, "drprcpetc9", "Y");
  365. if( opener.ds_main_prcplist.getColumn(j, "status" ) == "-" ){ //만일 이미 임시저장해놓은 처방인 경우 저장할 처방이 없어서 블러킹되므로, status를 U로 바꿔준다 (2011.02.14 JJE)
  366. opener.ds_main_prcplist.setColumn(j, "status", "U");
  367. }
  368. }
  369. }
  370. }
  371. opener.ds_main_prcplist.enableevent = true;
  372. opener.frmf_setParameter("SPMMO21500_rntValue", "REQ");
  373. close();
  374. }
  375. function btn_chgpayflag_onclick(obj:Button, e:ClickEventInfo)
  376. {
  377. var prcpcd = "";
  378. var prcppkspec = ""; //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  379. var errrow = 0;
  380. var srcNodeListMainLength = opener.ds_main_prcplist.rowcount;
  381. opener.ds_main_prcplist.enableevent = false;
  382. for (var i = 0; i < ds_err1_prcpmsglist.rowcount; i++) {
  383. prcpcd = ds_err1_prcpmsglist.getColumn(i, "prcpcd");
  384. prcppkspec = ds_err1_prcpmsglist.getColumn(i, "prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  385. errrow = ds_err1_prcpmsglist.getColumn(i, "errrow");
  386. for ( var j = 0; j < srcNodeListMainLength; j++ ) {
  387. if ( prcpcd == opener.ds_main_prcplist.getColumn(j, "prcpcd") && (j + 1 == errrow || errrow == 0)){
  388. if( prcppkspec == "2" || prcppkspec == "W2" ) {
  389. opener.ds_main_prcplist.setColumn(j, "payflagcd", "2"); //일반
  390. } else {
  391. opener.ds_main_prcplist.setColumn(j, "payflagcd", "1"); //본인부담
  392. }
  393. opener.ds_main_prcplist.setColumn(j, "drprcpetc9", "Y");
  394. }
  395. }
  396. }
  397. for (var i = 0; i < ds_err2_prcpmsglist.rowcount; i++) {
  398. prcpcd = ds_err2_prcpmsglist.getColumn(i, "prcpcd");
  399. prcppkspec = ds_err2_prcpmsglist.getColumn(i, "prcppkspec"); //Y: 무조건비급여, 2:무조건일반, W:심사요구->비급여변경, W2:심사요구->일반변경
  400. errrow = ds_err2_prcpmsglist.getColumn(i, "errrow");
  401. for ( var j = 0; j < srcNodeListMainLength; j++ ) {
  402. if ( prcpcd == opener.ds_main_prcplist.getColumn(j, "prcpcd" ) && (j + 1 == errrow || errrow == 0) ) {
  403. //무조건 사전심사 항목은 선택에 무관하게 본인부담으로 변경. 단, 처방코드로 비교하고 있으므로.. 하나의 처방코드가 2개 이상의 룰에 해당되고 일부는 무조건비급여, 일부는 사전심사인 경우 각각의 처리가 안됨. (2010.12.24 전지은)
  404. if( prcppkspec == "2" || prcppkspec == "W2" ) {
  405. opener.ds_main_prcplist.setColumn(j, "payflagcd", "2"); //일반
  406. } else {
  407. opener.ds_main_prcplist.setColumn(j, "payflagcd", "1"); //본인부담
  408. }
  409. opener.ds_main_prcplist.setColumn(j, "drprcpetc9", "Y");
  410. }
  411. }
  412. }
  413. opener.ds_main_prcplist.enableevent = true;
  414. opener.frmf_setParameter("SPMMO21500_rntValue", "chgPayFlag");
  415. close();
  416. }
  417. function btn_close_onclick(obj:Button, e:ClickEventInfo)
  418. {
  419. opener.frmf_setParameter("SPMMO21500_rntValue", "PrcpChg");
  420. close();
  421. }
  422. ]]></Script>
  423. </Form>
  424. </FDL>