PMO001.xjs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/* =================================================================================================
  3. - 외래등록 PMO001.xjs
  4. - 작성자 : 유정란 --> 김도형
  5. - 작성시작일자 : 2007.03.13 --> 2016.08.06
  6. ================================================================================================== */
  7. var gs_olnw = "O" ; //구환 'O' 신환 'N'
  8. var gs_fdrc = "R" ; //신환 'F' 초진 'D' 재진 'R'
  9. var gs_rgtp = "OO"; //접수구분 + 진료형태(외래[O],응급[E])
  10. var gs_prcs = "0" ; //처리단계
  11. var init_ptbs = new Dataset();
  12. var init_otpt = new Dataset();
  13. var init_ptin = new Dataset();
  14. //var init_ptdc = new Dataset();
  15. var init_opmi = new Dataset();
  16. var init_oscl = new Dataset();
  17. var grid_init_h_ptsp = new Dataset();
  18. var grid_init_h_otpt = new Dataset();
  19. var grid_init_h_unco = new Dataset();
  20. var grid_init_h_card = new Dataset();
  21. var grid_init_h_dcgm = new Dataset();
  22. var grid_init_h_dcgm2 = new Dataset();
  23. var grid_init_h_cnst = new Dataset();
  24. var grid_init_h_inbs = new Dataset();
  25. var grid_init_h_hndc = new Dataset();
  26. var grid_init_h_cash = new Dataset();
  27. var grid_init_h_onln = new Dataset();
  28. var grid_init_m_ptin = new Dataset();
  29. //var grid_init_m_ptdc = new Dataset();
  30. var grid_init_m_otpt = new Dataset();
  31. var grid_init_m_opmi = new Dataset();
  32. var grid_init_m_oscl = new Dataset();
  33. var grid_init_m_card = new Dataset();
  34. var grid_init_m_cash = new Dataset();
  35. var grid_init_m_dcgm = new Dataset();
  36. var grid_init_c_otpt = new Dataset();
  37. var grid_init_t_otpt = new Dataset();
  38. var grid_init_h_srdg = new Dataset();
  39. /**---------------------------------------------------
  40. * @desc : 단일구조 인스턴스 초기화
  41. * @---------------------------------------------------
  42. */
  43. function fOneInstanceReset(gubn){
  44. if (gubn == "ptbs") {
  45. ds_main_ptbs.clearData(); //model.resetInstanceNode("/root/main/ptbs");
  46. ds_main_ptbs.addRow();
  47. ds_main_patinfo.clearData(); //model.resetInstanceNode("/root/main/patinfo");
  48. ds_main_patinfo.addRow();
  49. }
  50. else if (gubn == "ptin") {
  51. ds_main_ptin.clearData(); //model.resetInstanceNode("/root/main/ptin");
  52. ds_main_ptin.addRow();
  53. }
  54. else if (gubn == "otpt") {
  55. ds_main_otpt.clearData(); //model.resetInstanceNode("/root/main/otpt");
  56. ds_main_otpt.addRow();
  57. }
  58. else if (gubn == "opmi") {
  59. ds_main_opmi.clearData(); //model.resetInstanceNode("/root/main/opmi");
  60. ds_main_opmi.addRow();
  61. }
  62. else if (gubn == "all"){
  63. ds_main_ptbs.clearData(); //model.resetInstanceNode("/root/main/ptbs");
  64. ds_main_ptbs.addRow();
  65. ds_main_patinfo.clearData(); //model.resetInstanceNode("/root/main/patinfo");
  66. ds_main_patinfo.addRow();
  67. ds_main_ptin.clearData(); //model.resetInstanceNode("/root/main/ptin");
  68. ds_main_ptin.addRow();
  69. //model.resetInstanceNode("/root/main/ptdc");
  70. ds_main_otpt.clearData(); //model.resetInstanceNode("/root/main/otpt");
  71. ds_main_otpt.addRow();
  72. ds_main_otpt_old.clearData(); //model.resetInstanceNode("/root/main/otpt_old");
  73. ds_main_otpt_old.addRow();
  74. ds_main_opmi.clearData(); //model.resetInstanceNode("/root/main/opmi");
  75. ds_main_opmi.addRow();
  76. ds_main_aipm.clearData(); //model.resetInstanceNode("/root/main/aipm");
  77. ds_main_aipm.addRow();
  78. ds_main_icpm.clearData(); //model.resetInstanceNode("/root/main/icpm");
  79. ds_main_icpm.addRow();
  80. ds_hidden_com.clearData(); //model.resetInstanceNode("/root/hidden/com");
  81. ds_hidden_com.addRow();
  82. ds_hidden_flag.clearData(); //model.resetInstanceNode("/root/hidden/flag");
  83. ds_hidden_flag.addRow();
  84. }
  85. //각종 버튼 color 초기화, 콤보박스 활성화 여부, 버튼 활성화 여부
  86. //선택진료여부 버튼 활성화
  87. rdo_specordyn.enable = true;
  88. //특이환자여부 버튼색 초기화
  89. btn_patspcfyn.style.backgroundColor = "#c0c0c0";
  90. }
  91. /**---------------------------------------------------
  92. * @desc : 멀티구조 인스턴스 초기화
  93. * @---------------------------------------------------
  94. */
  95. function fMultiInstanceReset(){
  96. ds_main_h_otpt.clearData(); //model.removeNodeset("/root/main/h_otpt/otpt");
  97. ds_main_h_unco.clearData(); //model.removeNodeset("/root/main/h_unco/unco"); //error
  98. ds_main_h_card.clearData(); //model.removeNodeset("/root/main/h_card/card"); //error
  99. ds_main_h_dcgm.clearData(); //model.removeNodeset("/root/main/h_dcgm/dcgm"); //error
  100. ds_main_h_dcgm2.clearData(); //model.removeNodeset("/root/main/h_dcgm2/dcgm");
  101. ds_main_h_cash.clearData(); //model.removeNodeset("/root/main/h_cash/cash"); //error
  102. ds_main_h_onln.clearData(); //model.removeNodeset("/root/main/h_onln/onln");
  103. ds_main_h_ptsp.clearData(); //model.removeNodeset("/root/main/h_ptsp/ptsp");
  104. ds_main_h_cnst.clearData(); //model.removeNodeset("/root/main/h_cnst/cnst"); //error
  105. ds_main_h_srdg.clearData(); //model.removeNodeset("/root/main/h_srdg/srdg");
  106. //model.removeNodeset("/root/main/h_inbs/inbs");
  107. //model.removeNodeset("/root/main/h_jabo/jabo");
  108. ds_main_h_hndc.clearData(); //model.removeNodeset("/root/main/h_hndc/hndc");
  109. ds_main_m_ptin.clearData(); //model.removeNodeset("/root/main/m_ptin/ptin");
  110. //model.removeNodeset("/root/main/m_ptdc/ptdc");
  111. ds_main_m_otpt.clearData(); //model.removeNodeset("/root/main/m_otpt/otpt");
  112. ds_main_m_opmi.clearData(); //model.removeNodeset("/root/main/m_opmi/opmi");
  113. ds_main_m_oscl.clearData(); //model.removeNodeset("/root/main/m_oscl/oscl");
  114. ds_main_m_card.clearData(); //model.removeNodeset("/root/main/m_card/card");
  115. ds_main_m_cash.clearData(); //model.removeNodeset("/root/main/m_cash/cash");
  116. ds_main_m_dcgm.clearData(); //model.removeNodeset("/root/main/m_dcgm/dcgm");
  117. ds_main_c_otpt.clearData(); //model.removeNodeset("/root/main/c_otpt/otpt");
  118. ds_main_t_otpt.clearData(); //model.removeNodeset("/root/main/t_otpt/otpt");
  119. }
  120. /**---------------------------------------------------
  121. * @desc : 단일 인스턴스 backup
  122. * @---------------------------------------------------
  123. */
  124. function fOneInstanceBackUp(){
  125. init_ptbs = ds_main_ptbs.saveXML(); //instance1.selectSingleNode("/root/main/ptbs").xml;
  126. init_otpt = ds_main_otpt.saveXML(); //instance1.selectSingleNode("/root/main/otpt").xml;
  127. init_ptin = ds_main_ptin.saveXML(); //instance1.selectSingleNode("/root/main/ptin").xml;
  128. //init_ptdc = instance1.selectSingleNode("/root/main/ptdc").xml;
  129. init_opmi = ds_main_opmi.saveXML(); //instance1.selectSingleNode("/root/main/opmi").xml;
  130. init_oscl = ds_main_oscl.saveXML(); //instance1.selectSingleNode("/root/main/oscl").xml;
  131. }
  132. /**---------------------------------------------------
  133. * @desc : 멀티 인스턴스 backup
  134. * @---------------------------------------------------
  135. */
  136. function fCopySingleRow( dsDest:Dataset, dsSrc:Dataset )
  137. {
  138. dsf_copyColInfo(dsDest, dsSrc, true);
  139. dsDest.addRow();
  140. if(dsSrc.rowcount > 0) {
  141. dsDest.copyRow(0, dsSrc, 0);
  142. }
  143. }
  144. function fMultiInstanceBackUp(){
  145. fCopySingleRow(grid_init_h_otpt, ds_main_h_otpt); //grid_init_h_otpt = instance1.selectSingleNode("/root/main/h_otpt");
  146. fCopySingleRow(grid_init_h_unco, ds_main_h_unco); //grid_init_h_unco = instance1.selectSingleNode("/root/main/h_unco");
  147. fCopySingleRow(grid_init_h_card, ds_main_h_card); //grid_init_h_card = instance1.selectSingleNode("/root/main/h_card");
  148. fCopySingleRow(grid_init_h_dcgm, ds_main_h_dcgm); //grid_init_h_dcgm = instance1.selectSingleNode("/root/main/h_dcgm");
  149. fCopySingleRow(grid_init_h_dcgm2,ds_main_h_dcgm2); //grid_init_h_dcgm2 = instance1.selectSingleNode("/root/main/h_dcgm2");
  150. fCopySingleRow(grid_init_h_cash, ds_main_h_cash); //grid_init_h_cash = instance1.selectSingleNode("/root/main/h_cash");
  151. fCopySingleRow(grid_init_h_onln, ds_main_h_onln); //grid_init_h_onln = instance1.selectSingleNode("/root/main/h_onln");
  152. fCopySingleRow(grid_init_h_ptsp, ds_main_h_ptsp); //grid_init_h_ptsp = instance1.selectSingleNode("/root/main/h_ptsp");
  153. fCopySingleRow(grid_init_h_cnst, ds_main_h_cnst); //grid_init_h_cnst = instance1.selectSingleNode("/root/main/h_cnst");
  154. fCopySingleRow(grid_init_h_srdg, ds_main_h_srdg); //grid_init_h_srdg = instance1.selectSingleNode("/root/main/h_srdg");
  155. fCopySingleRow(grid_init_m_ptin, ds_main_m_ptin); //grid_init_m_ptin = instance1.selectSingleNode("/root/main/m_ptin");
  156. //grid_init_m_ptdc = instance1.selectSingleNode("/root/main/m_ptdc");
  157. fCopySingleRow(grid_init_m_otpt, ds_main_m_otpt); //grid_init_m_otpt = instance1.selectSingleNode("/root/main/m_otpt");
  158. fCopySingleRow(grid_init_m_opmi, ds_main_m_opmi); //grid_init_m_opmi = instance1.selectSingleNode("/root/main/m_opmi");
  159. fCopySingleRow(grid_init_m_oscl, ds_main_m_oscl); //grid_init_m_oscl = instance1.selectSingleNode("/root/main/m_oscl");
  160. fCopySingleRow(grid_init_m_card, ds_main_m_card); //grid_init_m_card = instance1.selectSingleNode("/root/main/m_card");
  161. fCopySingleRow(grid_init_m_cash, ds_main_m_cash); //grid_init_m_cash = instance1.selectSingleNode("/root/main/m_cash");
  162. fCopySingleRow(grid_init_m_dcgm, ds_main_m_dcgm); //grid_init_m_dcgm = instance1.selectSingleNode("/root/main/m_dcgm");
  163. fCopySingleRow(grid_init_c_otpt, ds_main_c_otpt); //grid_init_c_otpt = instance1.selectSingleNode("/root/main/c_otpt");
  164. fCopySingleRow(grid_init_t_otpt, ds_main_t_otpt); //grid_init_t_otpt = instance1.selectSingleNode("/root/main/t_otpt");
  165. }
  166. /**---------------------------------------------------
  167. * @desc : 멀티 인스턴스 Copy
  168. * @---------------------------------------------------
  169. */
  170. function fMultiInstanceCopy(){
  171. // var curNode_otpt = instance1.selectSingleNode("/root/main/h_otpt");
  172. // if(curNode_otpt != null)
  173. // model.removeNodeset("/root/main/h_otpt/otpt");
  174. if(ds_main_h_otpt.rowcount > 0) ds_main_h_otpt.clearData();
  175. //grid1.rebuild();
  176. // var curNode_unco = instance1.selectSingleNode("/root/main/h_unco");
  177. // if(curNode_unco != null)
  178. // model.removeNodeset("/root/main/h_unco/unco");
  179. if(ds_main_h_unco.rowcount > 0) ds_main_h_unco.clearData();
  180. // var curNode_card = instance1.selectSingleNode("/root/main/h_card");
  181. // if(curNode_card != null)
  182. // model.removeNodeset("/root/main/h_card/card");
  183. if(ds_main_h_card.rowcount > 0) ds_main_h_card.clearData();
  184. // var curNode_dcgm = instance1.selectSingleNode("/root/main/h_dcgm");
  185. // if(curNode_dcgm != null)
  186. // model.removeNodeset("/root/main/h_dcgm/dcgm");
  187. if(ds_main_h_dcgm.rowcount > 0) ds_main_h_dcgm.clearData();
  188. // var curNode_dcgm2 = instance1.selectSingleNode("/root/main/h_dcgm2");
  189. // if(curNode_dcgm2 != null)
  190. // model.removeNodeset("/root/main/h_dcgm2/dcgm");
  191. if(ds_main_h_dcgm2.rowcount > 0) ds_main_h_dcgm2.clearData();
  192. // var curNode_cash = instance1.selectSingleNode("/root/main/h_cash");
  193. // if(curNode_cash != null)
  194. // model.removeNodeset("/root/main/h_cash/cash");
  195. if(ds_main_h_cash.rowcount > 0) ds_main_h_cash.clearData();
  196. // var curNode_onln = instance1.selectSingleNode("/root/main/h_onln");
  197. // if(curNode_onln != null)
  198. // model.removeNodeset("/root/main/h_onln/onln");
  199. if(ds_main_h_onln.rowcount > 0) ds_main_h_onln.clearData();
  200. // var curNode_cnst = instance1.selectSingleNode("/root/main/h_cnst");
  201. // if(curNode_cnst != null)
  202. // model.removeNodeset("/root/main/h_cnst/cnst");
  203. if(ds_main_h_cnst.rowcount > 0) ds_main_h_cnst.clearData();
  204. // //var curNode_inbs = instance1.selectSingleNode("/root/main/h_inbs");
  205. // //if(curNode_inbs != null)
  206. // // model.removeNodeset("/root/main/h_inbs/inbs");
  207. // var curNode_srdg = instance1.selectSingleNode("/root/main/h_srdg");
  208. // if(curNode_srdg != null)
  209. // model.removeNodeset("/root/main/h_srdg/srdg");
  210. if(ds_main_h_srdg.rowcount > 0) ds_main_h_srdg.clearData();
  211. // //var curNode_jabo = instance1.selectSingleNode("/root/main/h_jabo");
  212. // //if(curNode_jabo != null)
  213. // // model.removeNodeset("/root/main/h_jabo/jabo");
  214. //grid2.Rebuild();
  215. // var curNode_hndc = instance1.selectSingleNode("/root/main/h_hndc");
  216. // if(curNode_hndc != null)
  217. // model.removeNodeset("/root/main/h_hndc/hndc");
  218. if(ds_main_h_hndc.rowcount > 0) ds_main_h_hndc.clearData();
  219. // var curNode_ptsp = instance1.selectSingleNode("/root/main/h_ptsp");
  220. // if(curNode_ptsp != null)
  221. // model.removeNodeset("/root/main/h_ptsp/ptsp");
  222. if(ds_main_h_ptsp.rowcount > 0) ds_main_h_ptsp.clearData();
  223. // //model.removeNodeset("/root/main/h_inpt");
  224. // //model.removeNodeset("/root/main/h_inpt2");
  225. // var curNode_m_ptin = instance1.selectSingleNode("/root/main/m_ptin");
  226. // if(curNode_m_ptin != null)
  227. // model.removeNodeset("/root/main/m_ptin/ptin");
  228. if(ds_main_m_ptin.rowcount > 0) ds_main_m_ptin.clearData();
  229. // //var curNode_m_ptdc = instance1.selectSingleNode("/root/main/m_ptdc");
  230. // // if(curNode_m_ptdc != null)
  231. // // model.removeNodeset("/root/main/m_ptdc/ptdc");
  232. // var curNode_m_otpt = instance1.selectSingleNode("/root/main/m_otpt");
  233. // if(curNode_m_otpt != null)
  234. // model.removeNodeset("/root/main/m_otpt/otpt");
  235. if(ds_main_m_otpt.rowcount > 0) ds_main_m_otpt.clearData();
  236. // var curNode_m_opmi = instance1.selectSingleNode("/root/main/m_opmi");
  237. // if(curNode_m_opmi != null)
  238. // model.removeNodeset("/root/main/m_opmi/opmi");
  239. if(ds_main_m_opmi.rowcount > 0) ds_main_m_opmi.clearData();
  240. // var curNode_m_oscl = instance1.selectSingleNode("/root/main/m_oscl");
  241. // if(curNode_m_oscl != null)
  242. // model.removeNodeset("/root/main/m_oscl/oscl");
  243. if(ds_main_m_oscl.rowcount > 0) ds_main_m_oscl.clearData();
  244. // var curNode_m_card = instance1.selectSingleNode("/root/main/m_card");
  245. // if(curNode_m_card != null)
  246. // model.removeNodeset("/root/main/m_card/card");
  247. if(ds_main_m_card.rowcount > 0) ds_main_m_card.clearData();
  248. // var curNode_m_cash = instance1.selectSingleNode("/root/main/m_cash");
  249. // if(curNode_m_cash != null)
  250. // model.removeNodeset("/root/main/m_cash/cash");
  251. if(ds_main_m_cash.rowcount > 0) ds_main_m_cash.clearData();
  252. // var curNode_m_dcgm = instance1.selectSingleNode("/root/main/m_dcgm");
  253. // if(curNode_m_dcgm != null)
  254. // model.removeNodeset("/root/main/m_dcgm/dcgm");
  255. if(ds_main_m_dcgm.rowcount > 0) ds_main_m_dcgm.clearData();
  256. // var curNode_c_otpt = instance1.selectSingleNode("/root/main/c_otpt");
  257. // if(curNode_c_otpt != null)
  258. // model.removeNodeset("/root/main/c_otpt/otpt");
  259. if(ds_main_c_otpt.rowcount > 0) ds_main_c_otpt.clearData();
  260. //2008-01-10 이동식 추가 - 당일접수내역 초기화
  261. // var curNode_t_otpt = instance1.selectSingleNode("/root/main/t_otpt");
  262. // if(curNode_t_otpt != null)
  263. // model.removeNodeset("/root/main/t_otpt/otpt");
  264. if(ds_main_t_otpt.rowcount > 0) ds_main_t_otpt.clearData();
  265. }
  266. /**---------------------------------------------------
  267. * @desc : 기본 데이터 초기화
  268. * : 각 단위별로 초기화 가능하도록 함수 분리
  269. * @---------------------------------------------------
  270. */
  271. function fBaseDataInit(gubn){
  272. gs_olnw = "O" ; //구환 'O' 신환 'N'
  273. gs_fdrc = "R" ; //신환 'F' 초진 'D' 재진 'R'
  274. gs_rgtp = "OO"; //접수구분 + 진료형태(외래[O],응급[E])
  275. gs_prcs = "0" ; //처리단계
  276. //com, ptbs, otpt, ptin, ptdc, opmi
  277. if (gubn == "com") fBaseDataInitCom();
  278. else if (gubn == "ptbs") fBaseDataInitPtbs();
  279. else if (gubn == "otpt") fBaseDataInitOtpt();
  280. else if (gubn == "ptin") fBaseDataInitPtin();
  281. //else if (gubn == "ptdc") fBaseDataInitPtdc();
  282. else if (gubn == "opmi") fBaseDataInitOpmi();
  283. else if (gubn == "all"){
  284. fBaseDataInitCom();
  285. fBaseDataInitPtbs();
  286. fBaseDataInitOtpt();
  287. fBaseDataInitPtin();
  288. //fBaseDataInitPtdc();
  289. if (!utlf_isNull(ds_main_opmi.getColumn(0, "opmi_payamt"))) fBaseDataInitOpmi();
  290. cmb_suppkind.enable = false;
  291. cmb_suppkindresn.enable = false;
  292. cmb_medamtfreeresn.enable = false;
  293. cmb_fsexamflag.enable = false;
  294. btn_calcscorcalc.enable = true;
  295. btn_save.enable = false;
  296. btn_updt.enable = false;
  297. btn_cncl.enable = true;
  298. btn_stat.style.backgroundColor = "#c0c0c0";
  299. //btn_otpt.selected = false;
  300. //btn_m_otpt.selected = true;
  301. //btn_c_otpt.selected = false;
  302. //model.toggle("case6");
  303. ds_hidden_com.setColumn(0, "cardcashflag" , "Y"); //Y-카드, N-현금영수증, C-현금
  304. ds_hidden_com.setColumn(0, "cash_indinstflag" , "00"); //00-소득공제, 01-지출증비, 02-미승인
  305. //20100401 현금영수증 의무화
  306. //rdo_indyn.disabled = true;
  307. ipt_pid.setFocus();
  308. //필요에 따라 추가
  309. }
  310. }
  311. function fBaseDataInitCom(){
  312. //그대로 사용할지 미정 FInit_detail0()
  313. //진료시간 세팅
  314. ds_main_otpt.setColumn(0, "otpt_ordtm",String(utlf_getCurrentTime()).substring(0,4));
  315. ds_hidden_com.setColumn(0, "menu_erflag","");
  316. //2009-06-06 이동식 수정 - 환자카드발행 구분을 원무공통코드 'P0022' 에 넣고 관리함.
  317. if( ds_init_P0022.lookupExpr("cd == '110'", "nm") != 'N' ){
  318. ds_hidden_com.setColumn(0, "idcard","Y");
  319. }
  320. ds_hidden_com.setColumn(0, "rcptpapr","Y");
  321. ds_hidden_com.setColumn(0, "engrcptpapr","N"); // Default : '' --> 'N'으로 변경함.
  322. ds_hidden_com.setColumn(0, "orgflag","N"); //영수증 원본이 디폴트
  323. ds_hidden_com.setColumn(0, "histstat","R");
  324. //2008-11-27 이동식추가
  325. //자격조회 유무
  326. //2009-07-27 이동식 수정 - 자격조회여부를 원무공통코드 'P0022' 에 넣고 관리함.
  327. if( ds_init_P0022.lookupExpr("cd == '150'", "nm") != 'N' ){
  328. ds_hidden_com.setColumn(0, "searchInsuInfoYN", 'Y');
  329. }
  330. ds_hidden_com.setColumn(0, "rsrvdesc","당일접수");
  331. //임의감면, 미수액 코드 초기화.
  332. //model.resetInstanceNode("/root/hidden/m_etc"); //single row로 남기는 작업을 수행
  333. ds_hidden_m_etc.clearData();
  334. ds_hidden_m_etc.addRow();
  335. //현금영수증 자동승인 여부
  336. if( ds_init_P0022.lookupExpr("cd == '160'", "nm") == 'Y'){
  337. ds_hidden_com.setColumn(0, "autocashyn", ds_init_P0022.lookupExpr("cd == '160'", "nm"));
  338. }
  339. }
  340. function fBaseDataInitPtbs(){
  341. ds_main_ptbs.setColumn(0, "ptbs_engnm","-");
  342. ds_main_ptbs.setColumn(0, "ptbs_chinm","-");
  343. ds_main_ptbs.setColumn(0, "ptbs_btype","-");
  344. ds_main_ptbs.setColumn(0, "ptbs_rh","-");
  345. ds_main_ptbs.setColumn(0, "ptbs_hometel","-");
  346. ds_main_ptbs.setColumn(0, "ptbs_mpphontel","-");
  347. ds_main_ptbs.setColumn(0, "ptbs_etctel1","-");
  348. ds_main_ptbs.setColumn(0, "ptbs_etctel2","-");
  349. ds_main_ptbs.setColumn(0, "ptbs_zipcd1","000");
  350. ds_main_ptbs.setColumn(0, "ptbs_zipcd2","000");
  351. ds_main_ptbs.setColumn(0, "ptbs_zipcdseq","1");
  352. ds_main_ptbs.setColumn(0, "ptbs_highaddr","-");
  353. ds_main_ptbs.setColumn(0, "ptbs_detladdr","-");
  354. ds_main_ptbs.setColumn(0, "ptbs_recmerrela","-");
  355. ds_main_ptbs.setColumn(0, "ptbs_viprem","-");
  356. ds_main_ptbs.setColumn(0, "ptbs_inhospyn","N");
  357. ds_hidden_flag.setColumn(0, "ptbs_flag","-");
  358. }
  359. function fBaseDataInitOtpt(){
  360. ds_main_otpt.setColumn(0, "otpt_orddeptcd","-"); //진료과
  361. ds_main_otpt.setColumn(0, "otpt_orddrid","-"); //진료의사
  362. ds_main_otpt.setColumn(0, "otpt_orddd",PMO001_TODAY); //진료일자
  363. ds_main_otpt.setColumn(0, "otpt_ordtype","O"); //진료형태 =>공통코드 참조
  364. ds_main_otpt.setColumn(0, "otpt_specordyn","N"); //선택진료여부
  365. ds_main_otpt.setColumn(0, "otpt_mskind","M"); //주부유형
  366. ds_main_otpt.setColumn(0, "otpt_insucd","-"); //보험자기호
  367. ds_main_otpt.setColumn(0, "otpt_insukind","-"); //보험유형
  368. ds_main_otpt.setColumn(0, "otpt_suppkind","00"); //보조유형
  369. ds_main_otpt.setColumn(0, "otpt_suppkindresn","-"); //보조유형사유
  370. ds_main_otpt.setColumn(0, "otpt_medamtestmyn","Y"); //진찰료산정여부
  371. ds_main_otpt.setColumn(0, "otpt_medamtfreeresn","00"); //진찰료미산정사유
  372. ds_main_otpt.setColumn(0, "otpt_medamtpostyn","N"); //진찰료선후불 => 확인필요 N 선불, Y 후불
  373. ds_main_otpt.setColumn(0, "otpt_fsexamflag","R"); //초재진
  374. ds_main_otpt.setColumn(0, "otpt_hosoutexptresncd","00"); //분업예외
  375. ds_main_otpt.setColumn(0, "otpt_updtcnclresn","-"); //변경취소사유
  376. ds_main_otpt.setColumn(0, "otpt_disccd","-"); //할인
  377. ds_main_otpt.setColumn(0, "otpt_etcordflag","-"); //연속/기타구분
  378. ds_main_otpt.setColumn(0, "otpt_calcmthdflag","N"); //수가계산형태 : 개별
  379. ds_main_otpt.setColumn(0, "otpt_calcbaseflag",""); //계산기준 : 진료일자, 실시일자 => 확인필요
  380. ds_main_otpt.setColumn(0, "otpt_clincstdyacptflag","N"); //임상시험(연구용)
  381. //2007.07.28 이동식 추가
  382. ds_main_otpt.setColumn(0, "otpt_chrtlendyn","Y"); //차트대출여부
  383. ds_main_otpt.setColumn(0, "otpt_handicaprbookpossnyn","N");
  384. ds_main_otpt.setColumn(0, "otpt_outercdrgstyn","N");
  385. //2007-10-18 이동식 추가
  386. ds_main_otpt.setColumn(0, "otpt_ordreqformflag", "-"); //수급절차 - '-'
  387. ds_hidden_flag.setColumn(0, "otpt_flag","-");
  388. }
  389. function fBaseDataInitPtin(){
  390. ds_main_ptin.setColumn(0, "ptin_insukind","-");
  391. ds_main_ptin.setColumn(0, "ptin_insucd","-");
  392. ds_main_ptin.setColumn(0, "ptin_insunm","-");
  393. ds_main_ptin.setColumn(0, "ptin_insuno","-");
  394. ds_main_ptin.setColumn(0, "ptin_insdnm","-");
  395. ds_main_ptin.setColumn(0, "ptin_insdrrgstno1","-");
  396. ds_main_ptin.setColumn(0, "ptin_insdrrgstno2","-");
  397. ds_main_ptin.setColumn(0, "ptin_insdrela","-");
  398. ds_main_ptin.setColumn(0, "ptin_fromdd",PMO001_TODAY);
  399. ds_main_ptin.setColumn(0, "ptin_todd",PMO001_MAXDATE);
  400. ds_hidden_flag.setColumn(0, "ptin_flag","-");
  401. }
  402. function fBaseDataInitOpmi(){
  403. if(ds_main_opmi.rowcount == 0) {
  404. ds_main_opmi.addRow();
  405. }
  406. ds_main_opmi.setColumn(0, "opmi_payamt","0");
  407. ds_main_opmi.setColumn(0, "opmi_payownbamt","0");
  408. ds_main_opmi.setColumn(0, "opmi_payinsubamt","0");
  409. ds_main_opmi.setColumn(0, "opmi_handcapfund","0");
  410. ds_main_opmi.setColumn(0, "opmi_procsubtamt","0");
  411. ds_main_opmi.setColumn(0, "opmi_ersubtamt","0");
  412. ds_main_opmi.setColumn(0, "opmi_nopyamt","0");
  413. ds_main_opmi.setColumn(0, "opmi_specamt","0");
  414. ds_main_opmi.setColumn(0, "opmi_discamt","0");
  415. ds_main_opmi.setColumn(0, "opmi_reduamt","0");
  416. ds_main_opmi.setColumn(0, "opmi_bloddiscamt","0");
  417. ds_main_opmi.setColumn(0, "opmi_totownbamt","0");
  418. ds_main_opmi.setColumn(0, "opmi_precardamt","0");
  419. ds_main_opmi.setColumn(0, "opmi_precashamt","0");
  420. ds_main_opmi.setColumn(0, "opmi_preonlineamt","0");
  421. ds_main_opmi.setColumn(0, "opmi_mdlrcptamt","0");
  422. ds_main_opmi.setColumn(0, "opmi_premdlrcptamt","0");
  423. ds_main_opmi.setColumn(0, "opmi_uncoamt","0");
  424. ds_main_opmi.setColumn(0, "opmi_cashamt","0");
  425. ds_main_opmi.setColumn(0, "opmi_cardamt","0");
  426. ds_main_opmi.setColumn(0, "opmi_onlineamt","0");
  427. ds_main_opmi.setColumn(0, "opmi_restamt","0");
  428. ds_main_opmi.setColumn(0, "opmi_paydepoamt","0"); //납입금
  429. ds_main_opmi.setColumn(0, "opmi_totamt","0");
  430. ds_main_opmi.setColumn(0, "opmi_totnopyamt","0");
  431. ds_main_opmi.setColumn(0, "opmi_subtamt","0");
  432. ds_main_opmi.setColumn(0, "opmi_totreduamt","0");
  433. ds_main_opmi.setColumn(0, "opmi_pregdmndamt","0");
  434. ds_main_opmi.setColumn(0, "opmi_prepregdmndamt","0");
  435. ds_main_opmi.setColumn(0, "opmi_suppamt","0");
  436. ds_main_opmi.setColumn(0, "opmi_heallifeamtclamamt","0");
  437. //20090701 1.단수처리 고시적용
  438. ds_main_opmi.setColumn(0, "opmi_payinsurestamt","0");
  439. dsf_makeValue(ds_main_opmi, "opmi_payownbamt100", "string", "0");
  440. dsf_makeValue(ds_main_opmi, "opmi_payinsubamt100","string", "0");
  441. dsf_makeValue(ds_main_opmi, "opmi_totownbamt100", "string", "0");
  442. // 20110701 미용목적성형 부가가치세 적용
  443. ds_main_opmi.setColumn(0, "opmi_taxamt","0");
  444. dsf_makeValue(ds_main_opmi, "opmi_targetamt", "string", "0");
  445. ds_main_opmi.setColumn(0, "opmi_paypsnflag","1"); //납부자 세팅 : 본인
  446. ds_hidden_flag.setColumn(0, "opmi_flag","-");
  447. }
  448. //재원환자인지 체크합니다.2007/05/22 조영상
  449. function fInhospynCheck()
  450. {
  451. if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "M"){
  452. //보험유형이 일반인 경우에는 메세지로 확인 후 접수 가능하게 한다.
  453. if( ds_main_otpt.getColumn(0, "otpt_insukind") == gsInsu_IlBan){
  454. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 입원수납할 내역이 있습니다. \n입원수납 후 진행하세요!","I999","");
  455. /*
  456. var retValue = messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 입원수납할 내역이 있습니다. \n입원수납 후 진행하세요! 계속 진행 하시겠습니까?","Q999","");
  457. if( retValue != '6' ){
  458. return false;
  459. }
  460. */
  461. }else{
  462. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 입원수납할 내역이 있습니다. \n입원수납 후 진행하세요!","E999","");
  463. //return false;
  464. }
  465. }else if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "I")
  466. {
  467. //보험유형이 일반인 경우에는 메세지로 확인 후 접수 가능하게 한다.
  468. if( ds_main_otpt.getColumn(0, "otpt_insukind") == gsInsu_IlBan){
  469. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 현재 재원 중입니다!","I999","");
  470. /*
  471. var retValue = messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 현재 재원 중입니다! 계속 진행 하시겠습니까?","Q999","");
  472. if( retValue != '6' ){
  473. return false;
  474. }
  475. */
  476. }else{
  477. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 현재 재원 중입니다!","E999","");
  478. //return false;
  479. }
  480. }else if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "D")
  481. {
  482. if( ds_main_otpt.getColumn(0, "otpt_insukind") == gsInsu_IlBan){
  483. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 당일 DSC/CHEMO 환자입니다!","I999","");
  484. /*
  485. var retValue = messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 당일 DSC/CHEMO 환자입니다! 계속 진행 하시겠습니까?","Q999","");
  486. if( retValue != '6' ){
  487. return false;
  488. }
  489. */
  490. }else{
  491. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 당일 DSC/CHEMO 환자입니다! 입원수납에서 수납하세요!","E999","");
  492. //return false;
  493. }
  494. }else if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "E")
  495. {
  496. if( ds_main_otpt.getColumn(0, "otpt_insukind") == gsInsu_IlBan){
  497. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 응급 환자입니다!","I999","");
  498. /*
  499. var retValue = messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 응급 환자입니다! 계속 진행 하시겠습니까?","Q999","");
  500. if( retValue != '6' ){
  501. return false;
  502. }
  503. */
  504. }else{
  505. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 응급 환자입니다!","E999","");
  506. //return false;
  507. }
  508. //2009-06-26 이동식 추가
  509. //가퇴원환자 메세지
  510. }else if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "T"){
  511. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 가퇴원 환자(퇴원심사 미완료) 입니다!","E999","");
  512. //return false;
  513. }else if (ds_main_ptbs.getColumn(0, "ptbs_inhospyn") == "R"){
  514. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 가퇴원 환자(퇴원심사 완료) 입니다!","E999","");
  515. //return false;
  516. //2008-08-22 이동식 추가 - 외료요율 퇴원환자인 경우 체크 제외
  517. }else if(ds_main_ptbs.getColumn(0, "ptbs_tdaydsch") == "I" && ds_main_otpt.getColumn(0, "otpt_orddd") == utlf_getCurrentDate() ){
  518. //가정간호 당일 퇴원환자 가접수가능
  519. if( ds_main_otpt.getColumn(0, "otpt_insukind") == gsInsu_IlBan){
  520. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 당일퇴원환자입니다!","I999","");
  521. }else{
  522. sysf_messageBox("확인! " + ds_main_ptbs.getColumn(0, "ptbs_hngnm") + " 환자는 당일퇴원환자입니다!","E999","");
  523. }
  524. }
  525. return true;
  526. }
  527. function fSuppKindSelect(){
  528. var otpt_insukind = ds_main_otpt.getColumn(0, "otpt_insukind");
  529. var otpt_suppkind = ds_main_otpt.getColumn(0, "otpt_suppkind");
  530. if(otpt_suppkind != supp_BASE){
  531. trace("1supp_BASE : " + supp_BASE + ", cmb_suppkindresn.enable : " + cmb_suppkindresn.enable);
  532. cmb_suppkindresn.enable = true;
  533. }else{
  534. trace("2supp_BASE : " + supp_BASE + ", cmb_suppkindresn.enable : " + cmb_suppkindresn.enable);
  535. cmb_suppkindresn.enable = false;
  536. //2017/12/18 이정택 추가(보조유형이 비활성화 될때는 보조사유 초기화 처리)
  537. ds_main_otpt.setColumn(0, "otpt_suppkindresn", '-');
  538. //2017/12/18 이정택 추가
  539. }
  540. if(otpt_suppkind == supp_JABH && (otpt_insukind != gsSanJae && otpt_insukind != gsJaboKind)){
  541. sysf_messageBox("전액 보험자부담은 산재/자보인 경우에만 해당합니다!", "E999", "");
  542. ds_main_otpt.setColumn(0, "otpt_suppkind", supp_BASE);
  543. }
  544. }
  545. ]]></Script>