SMPAO00101.js 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699
  1. /************************************************************************************************
  2. @author : 채희철
  3. @version : 2007-07-01
  4. 각종 List와 정보들을 초기화 시킨다.
  5. *************************************************************************************************/
  6. var gPatInfoPath = "/main/patinfo/patinfolist";
  7. var gBaseInfoPath = "/main/baseinfo";
  8. var gOpmiInfoPath = "/main/opmiinfo";
  9. var gSendPath = "/send";
  10. var gHiddenRcvPath = "/hidden/rcv1";
  11. var gAcptPath = "/main/list/acpt";
  12. var gPkgPath = "/main/list/pkglist";
  13. var gAcptDtlPath = "/main/list/acptdtl";
  14. var gRcptDtltPath = "/main/list/rcptdtl";
  15. var gChngPath = "/main/info/chnginfo";
  16. var gCardDtlInfoPath = "/main/info/cardinfo";
  17. var gCashDtlInfoPath = "/main/info/cashinfo";
  18. var gHiddenPath = "/hidden/";
  19. var gActListPath = "/main/baseinfo/actlist/otpt";
  20. //1.보험유형
  21. var gsInsu_BoHeom = "11"; //건강보험
  22. var gsInsu_BoHo1 = "21"; //의료급여1
  23. var gsInsu_BoHo2 = "22"; //의료급여2
  24. var gsInsu_HangYeo = "24"; //행여
  25. var gsInsu_JaboKind = "31"; //자보
  26. var gsInsu_SanJae = "41"; //산재
  27. var gsInsu_GongSang = "42"; //공상
  28. var gsInsu_IlBan = "51"; //일반
  29. var gsInsu_ForIn = "61"; //외국인
  30. var gsInsu_ImSang = "71"; //임상시험
  31. //2.유형보조
  32. var gsSupp_BASE = "00"; //정상
  33. var gsSupp_100 = "01"; //전액본인100%
  34. var gsSupp_INGONG = "02"; //인공신장투석
  35. var gsSupp_BOKMAK = "03"; //복막관류슐
  36. var gsSupp_TRANS = "04"; //장기이식
  37. var gsSupp_GAEDUGAESIM = "05"; //개두개심 10%
  38. var gsSupp_AM = "06"; //암 10%
  39. var gsSupp_SJTR = "07"; //보조 산정특례 20
  40. var gsSupp_LESSTHANSIXAGE = "08"; //입원6세미만
  41. var gsSupp_NATRBABY = "09"; //자연분만
  42. var gsSupp_HOMECARE = "10"; //가정간호
  43. var gsSupp_HOMECAREAM = "11"; //가정간호(등록암) 10%
  44. var gsSupp_SUTAK = "12"; //수탁
  45. var gsSupp_JSJA = "14"; //정신과정액
  46. //var gsSupp_HANDI = "71"; //장애인
  47. //var gsSupp_JABH = "B"; //전액보험자부담액(한도액)
  48. //var gsSupp_IMSANG = "T"; //임상연구
  49. //외래등록 선택시
  50. function fSelectOtpt(){
  51. //fExecCancel_auto("S", ""); //실시내역에 분리된건있으면 취소처리
  52. fClickGrid("grd_eactotpt");
  53. fGetActOrdList();
  54. fCItemRefresh();
  55. fRItemRefresh();
  56. }
  57. //외래접수정보조회(사용)
  58. function fGetActOrdList(){
  59. //조회조건 Copy (외래등록)
  60. copyNodeListType("/root" + gSendPath +"/s_otpt", "/root" + gBaseInfoPath +"/otpt_eactotpt/otpt[otpt_checkflag='true']", "replace");
  61. model.copynode("/root" + gBaseInfoPath +"/actlist", "/root/node_bk" + gBaseInfoPath +"/actlist");
  62. //체크된것이 없다면 stop한다는 의미
  63. if(getNodesetCount("/root/hidden/rcv1/h_opmi/opmi/opmi_pid") > 0){
  64. }else{
  65. return;
  66. }
  67. submit("TRPAO00116");
  68. fEactlistClick0();
  69. }
  70. //실시대상 선택
  71. function fActOrdSelect(){
  72. }
  73. function fEinsuCopy(grd_cnt) {
  74. //var grd_cnt = grd_Eactlist.row;
  75. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/otpt_insukind" , model.getvalue("/root/main/outrgst/ptin/ptin_insukind"));
  76. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/otpt_suppkind" , model.getvalue("/root/main/outrgst/ptin/ptin_suppkind"));
  77. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/otpt_insucd" , model.getvalue("/root/main/outrgst/ptin/ptin_insucd"));
  78. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/otpt_suppkindresn" , model.getvalue("/root/main/outrgst/ptin/ptin_suppkindresn"));
  79. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insukind_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insukind"));
  80. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_suppkind_o" , model.getvalue("/root/main/outrgst/ptin/ptin_suppkind"));
  81. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_suppkindresn_o" , model.getvalue("/root/main/outrgst/ptin/ptin_suppkindresn"));
  82. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insucd_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insucd"));
  83. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insucdnm_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insucdnm"));
  84. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insuno_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insuno"));
  85. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insdnm_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insdnm"));
  86. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insdrela_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insdrela"));
  87. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insdrrgstno1_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insdrrgstno1"));
  88. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_insdrrgstno2_o" , model.getvalue("/root/main/outrgst/ptin/ptin_insdrrgstno2"));
  89. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_fromdd_o" , model.getvalue("/root/main/outrgst/ptin/ptin_fromdd"));
  90. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/ptin_todd_o" , model.getvalue("/root/main/outrgst/ptin/ptin_todd"));
  91. model.setvalue("/root" + gBaseInfoPath + "/actlist/otpt["+ grd_cnt +"]/otpt_disccd" , model.getvalue("/root/main/outrgst/ptdc/ptdc_disccd"));
  92. }
  93. //외래등록 선택시, 해당 수납내역 조회
  94. function fGetOpmiList(){
  95. }
  96. //실시정산 완료된건 조회(취소가 가능한 대상)
  97. function fCancelSelectOtpt(){
  98. }
  99. //실시내역 클릭시
  100. function fEactlistClick0() {
  101. for(var a=0; a<grd_Eactlist.rows; a++){
  102. var actr_insukind = model.getValue("/root/main/baseinfo/actlist/actr["+ a +"]/actr_insukind");
  103. grd_Eactlist.cellComboNodeset(a, 6) = "/root/init/basecdlist/suppkind[insukind = '"+actr_insukind+"' and (ioflag = 'A' or ioflag = 'O')]";
  104. // 미실시 내역에 대한 표시 추가
  105. var execyn = model.getValue("/root/main/baseinfo/actlist/actr["+ a +"]/actr_remfact");
  106. if (execyn == "N") {
  107. grd_Eactlist.rowStyle(a,"all","background-color") = "#7BE6B7";
  108. }
  109. }
  110. }
  111. function fEactlistClick() {
  112. var grd_col = grd_Eactlist.col;
  113. var grd_row = grd_Eactlist.row;
  114. var actr_insukind = model.getValue("/root/main/baseinfo/actlist/actr["+ grd_row +"]/actr_insukind");
  115. if(grd_col != "0" && grd_col != "4" && grd_col != "6") {
  116. copyNodeListType( "/root" + gSendPath +"/s_actr", "/root" + gBaseInfoPath +"/actlist/actr["+ grd_row +"]","replace");
  117. //model.makevalue("/root" + gSendPath +"/s_actr/actr/actr_calcflag", model.getvalue("/root" + gBaseInfoPath +"/otpt_eactotpt/otpt["+ grd_eactotpt.row +"]/otpt_calcflag"));
  118. //model.makevalue("/root" + gSendPath +"/s_actr/actr/actr_holdflag", model.getvalue("/root" + gBaseInfoPath +"/otpt_eactotpt/otpt["+ grd_eactotpt.row +"]/otpt_holdflag"));
  119. submit("TRPAO00117");
  120. //조회하기전에 clear
  121. //model.copynode("/root/main/outrgst/m_oscl" , "/root/node_bk/main/outrgst/m_oscl");
  122. //model.copyNode("/root/main/outrgst/m_oscl" , "/root/main/baseinfo/opmilist/h_oscl/oscl");
  123. model.copyNode("/root/main/outrgst/m_oscl" , "/root/hidden/rcv1/h_oscl");
  124. grd_Eoscllist.rebuild();
  125. setTree(grd_Eoscllist, 0, 0, true);
  126. }
  127. }
  128. function fEactlistClick2() {
  129. grd_Eactlist.refresh();
  130. var grd_col = grd_Eactlist.col;
  131. var grd_row = grd_Eactlist.row;
  132. var actr_insukind = model.getValue("/root/main/baseinfo/actlist/actr["+ grd_row +"]/actr_insukind");
  133. if(grd_col == "4") {
  134. grd_Eactlist.cellComboNodeset(grd_row,6) = "/root/init/basecdlist/suppkind[insukind = '"+actr_insukind+"' and (ioflag = 'A' or ioflag = 'O')]";
  135. grd_Eactlist.refresh();
  136. }
  137. }
  138. //2013-01-08 현재 사용하는 곳 없음!!!! OLD CODE!!!
  139. //의료급여 자동승인버튼
  140. function fbtn_proc_org() {
  141. var otpt_cnt = getNodesetCount("/root/hidden/rcv1/sum_otpt/otpt/otpt_pid");
  142. if(getParameter("SPPMC03900_heallifeamtval") == "") {
  143. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  144. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  145. //신보험증번호 조회(보험자격조회)
  146. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  147. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  148. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  149. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //외래진료일자
  150. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  151. "O" + "▦" + //진료형태
  152. "" + "▦" + //퇴원일자
  153. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  154. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  155. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  156. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  157. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  158. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  159. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  160. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  161. setParameter("SPPMC03900_PARM",parm);
  162. setParameter("SPPMC03900_RTN","");
  163. setParameter("SPPMC03900_RTN_osunap","");
  164. setParameter("SPPMC03900_RTN_osunap_msg4","");
  165. fApproveHeallifeAmt2(); //건유비,산전비 조회
  166. fbtn_proc_check();
  167. //alert( "건유비 잔액 :" + getParameter("SPPMC03900_heallifeamtval"));
  168. //alert( "산전비 잔액 :" + getParameter("SPPMC03900_pregremamtval"));
  169. //alert( "건유비 차감액 :" + getParameter("SPPMC03900_heallifeamtclamamt"));
  170. //alert( "산전비 차감액 :" + getParameter("SPPMC03900_pregdmndamt"));
  171. //model.setvalue("/root/etc/heallifeamtval" , "건유비 잔액 :" + getParameter("SPPMC03900_heallifeamtval"));
  172. //model.setvalue("/root/etc/pregremamtval" , "산전비 잔액 :" + getParameter("SPPMC03900_pregremamtval"));
  173. model.setvalue("/root/etc/union_msg" ,"건유비 잔액: " + getParameter("SPPMC03900_heallifeamtval") + " " +
  174. "산전비 잔액: " + getParameter("SPPMC03900_pregremamtval") +'\n' + model.getValue("/root/etc/union_msg"));
  175. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  176. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  177. submit("TRPAO00127");
  178. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  179. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  180. //납부할 금액 세팅
  181. fCalcRcptexptAmt();
  182. }
  183. if(getParameter("SPPMC03900_heallifeamtval") != "" && otpt_cnt == 1) {
  184. setParameter("SPPMC03900_PARM",parm);
  185. setParameter("SPPMC03900_RTN","");
  186. setParameter("SPPMC03900_RTN_osunap","");
  187. setParameter("SPPMC03900_RTN_osunap_msg4","");
  188. if(getParameter("SPPMC03900_heallifeamtclamamt") == "0") {
  189. if(getParameter("SPPMC03900_heallifeamtval") != "0" || model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt") != "0") {
  190. if(messageBox("건유비차감 하시겠습니까?","Q999","") == "6") {
  191. alert("건유비차감");
  192. alert("parm :" + parm);
  193. //fApproveHeallifeAmt3();
  194. fApproveHeallifeAmt();
  195. }
  196. }
  197. }
  198. if(getParameter("SPPMC03900_pregdmndamt") == "0") {
  199. if(getParameter("SPPMC03900_pregremamtval") != "0") {
  200. if(messageBox("산전비차감 하시겠습니까?","Q999","") == "6") {
  201. alert("산전비차감");
  202. //fApproveHeallifeAmt4();
  203. }
  204. }
  205. }
  206. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  207. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  208. submit("TRPAO00127");
  209. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  210. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  211. //납부할 금액 세팅
  212. fCalcRcptexptAmt();
  213. return;
  214. }
  215. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  216. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  217. submit("TRPAO00127");
  218. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  219. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  220. //납부할 금액 세팅
  221. fCalcRcptexptAmt();
  222. }
  223. //의료급여 승인금액 비교처리
  224. function fbtn_proc3() {
  225. //2017/04/03 이정택(실시정산의 경우에는 금액만 재정리 후 리턴처리)
  226. //2017/04/06 이정택(수진월과 수납월이 틀리면 금액만 재정리 후 리턴처리)
  227. var otpt_month = model.getvalue("/root/main/outrgst/m_otpt/otpt/otpt_orddd").substr(0,6); //수진일
  228. var curr_month = getCurrentDate().substr(0,6); //수납일
  229. if(model.getValue("/root/temp3/workgubn")=='E' || otpt_month!=curr_month){
  230. fCalcRcptexptAmt();
  231. return;
  232. }
  233. //2017/04/03 이정택(실시정산의 경우에는 금액만 재정리 후 리턴처리)
  234. //debugger;
  235. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  236. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  237. //신보험증번호 조회(보험자격조회)
  238. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  239. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  240. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  241. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //외래진료일자
  242. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  243. "O" + "▦" + //진료형태
  244. "" + "▦" + //퇴원일자
  245. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  246. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  247. model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_payownbamt") + "▦" + //본인일부부담금
  248. model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_payinsubamt") + "▦" + //기관부담금
  249. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  250. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  251. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  252. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  253. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  254. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  255. setParameter("SPPMC03900_PARM",parm);
  256. //신종플루진료
  257. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  258. setParameter("SPPMC03900_RTN","");
  259. setParameter("SPPMC03900_RTN_osunap","");
  260. setParameter("SPPMC03900_RTN_osunap_msg4","");
  261. fApproveHeallifeAmt2(); //건유비,산전비 조회
  262. model.setvalue("/root/etc/union_msg" ,"건유비 잔액: " + getParameter("SPPMC03900_heallifeamtval") + " " +
  263. "산전비 잔액: " + getParameter("SPPMC03900_pregremamtval") +'\n' + model.getValue("/root/etc/union_msg"));
  264. fbtn_proc_check();
  265. //2017/02/23 이정택 추가(승인시에 잔액이 없어지므로 임시로 노드 생성)
  266. if(!isNull(getParameter("SPPMC03900_heallifeamtval"))){
  267. model.makeValue("/root/tmp58/heallifeamtval", getParameter("SPPMC03900_heallifeamtval"));
  268. }
  269. if(!isNull(getParameter("SPPMC03900_pregremamtval"))){
  270. model.makeValue("/root/tmp58/pregremamtval", getParameter("SPPMC03900_pregremamtval"));
  271. }
  272. //2017/02/23 이정택 추가
  273. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  274. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  275. submit("TRPAO00127");
  276. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt")); //건생비 기승인금액
  277. //model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt")); // 산전비 기승인금액
  278. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_prepregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt")); // 산전비 기승인금액
  279. var SPPMC03900_heallifeamtval = parseInt(getParameter("SPPMC03900_heallifeamtval"));
  280. var SPPMC03900_pregremamtval = parseInt(getParameter("SPPMC03900_pregremamtval"));
  281. //건유비 차감한적이 없을시 예상차감액을 건유비 자리에 보여준다.
  282. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_dracptyn")=="Y"){ // 진료 완료된 건에 대해서 차감 금액 들어가도록 수정(2015/09/25 이정택)
  283. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd")=="2100000000"){ // 산전비는 산부인과에 대해서만 차감 금액 들어가도록 수정(2015/09/25 이정택)
  284. if(SPPMC03900_pregremamtval>0){
  285. var opmi_pregdmndamt = 0;
  286. var opmi_payownbamt100 = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100"); // 급여본인부담금
  287. var opmi_totnopyownbamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"); // 비급여 본인부담금
  288. //var opmi_prepregdmndamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_prepregdmndamt"); // 기산전액
  289. var opmi_prepregdmndamt = model.getValue("/root/temp5/msg4/pregdmndamt"); // 기산전액
  290. var aprv_pregdmndamt = parseInt(opmi_payownbamt100) + parseInt(opmi_totnopyownbamt); // 승인요청금액
  291. if((parseInt(aprv_pregdmndamt) > parseInt(opmi_prepregdmndamt)) && (parseInt(aprv_pregdmndamt)- parseInt(opmi_prepregdmndamt) <= SPPMC03900_pregremamtval)) {
  292. opmi_pregdmndamt = (parseInt(aprv_pregdmndamt) - parseInt(opmi_prepregdmndamt));
  293. }else if((parseInt(aprv_pregdmndamt) > parseInt(opmi_prepregdmndamt)) && (parseInt(aprv_pregdmndamt)- parseInt(opmi_prepregdmndamt) > SPPMC03900_pregremamtval)){
  294. opmi_pregdmndamt = SPPMC03900_pregremamtval;
  295. }
  296. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt",opmi_pregdmndamt);
  297. opt_heallifeamtclamamt.attribute("color") = '#ff0000'; //red
  298. }else if(SPPMC03900_heallifeamtval > 0) {
  299. var opmi_heallifeamtclamamt = 0;
  300. var aprv_heallifeamtclamamt = parseInt(model.getValue("/root/temp5/msg4/heallifeamtclamamt")); //기승인된 건생비
  301. var aprv_req_heallifeamtclamamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100")); // 승인요청금액
  302. if((aprv_req_heallifeamtclamamt > aprv_heallifeamtclamamt) && (aprv_req_heallifeamtclamamt - aprv_heallifeamtclamamt<= SPPMC03900_heallifeamtval)){
  303. opmi_heallifeamtclamamt = aprv_req_heallifeamtclamamt;
  304. }else if((aprv_req_heallifeamtclamamt > aprv_heallifeamtclamamt) && (aprv_req_heallifeamtclamamt - aprv_heallifeamtclamamt> SPPMC03900_heallifeamtval)){
  305. opmi_heallifeamtclamamt = SPPMC03900_heallifeamtval + aprv_heallifeamtclamamt;
  306. }else{
  307. opmi_heallifeamtclamamt = aprv_heallifeamtclamamt;
  308. }
  309. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt",opmi_heallifeamtclamamt);
  310. opt_heallifeamtclamamt.attribute("color") = '#ff0000'; //red
  311. }
  312. }else{ // 산부인과 이외이 경우 체크
  313. if(SPPMC03900_heallifeamtval > 0) {
  314. var opmi_heallifeamtclamamt = 0;
  315. var aprv_heallifeamtclamamt = parseInt(model.getValue("/root/temp5/msg4/heallifeamtclamamt")); //기승인된 건생비
  316. var aprv_req_heallifeamtclamamt = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt100")); // 승인요청금액
  317. if((aprv_req_heallifeamtclamamt > aprv_heallifeamtclamamt) && (aprv_req_heallifeamtclamamt - aprv_heallifeamtclamamt<= SPPMC03900_heallifeamtval)){
  318. opmi_heallifeamtclamamt = aprv_req_heallifeamtclamamt;
  319. }else if((aprv_req_heallifeamtclamamt > aprv_heallifeamtclamamt) && (aprv_req_heallifeamtclamamt - aprv_heallifeamtclamamt> SPPMC03900_heallifeamtval)){
  320. opmi_heallifeamtclamamt = SPPMC03900_heallifeamtval + aprv_heallifeamtclamamt;
  321. }else{
  322. opmi_heallifeamtclamamt = aprv_heallifeamtclamamt;
  323. }
  324. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt",opmi_heallifeamtclamamt);
  325. opt_heallifeamtclamamt.attribute("color") = '#ff0000'; //red
  326. }
  327. }
  328. }
  329. //납부할 금액 세팅
  330. fCalcRcptexptAmt();
  331. }
  332. //의료급여 자동승인처리
  333. function fbtn_proc_4() {
  334. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  335. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  336. //2017/02/22 건생비 분리 승인 관련 프로그램 수정(이정택)
  337. var approveamt = 0; // 기승인된 금액
  338. var requestamt = 0; // 건생비 승인요청 금액
  339. var pregrequestamt = 0; // 산전비 승인요청 금액
  340. var opmi_heallifeamtclamamt= model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt");
  341. var opmi_pregdmndamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt");
  342. //진료과가 산부인과라면
  343. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd")=="2100000000"){
  344. //approveamt = parseInt(model.getValue("/root/temp5/msg4/pregdmndamt")); //기승인된 산전비
  345. if(parseInt(opmi_pregdmndamt)>0){
  346. pregrequestamt = parseInt(opmi_pregdmndamt);
  347. }else{
  348. approveamt = parseInt(model.getValue("/root/temp5/msg4/heallifeamtclamamt")); // 기승인된 건강생활유지비
  349. requestamt = parseInt(opmi_heallifeamtclamamt) - parseInt(approveamt);
  350. }
  351. }else{ // 그 이외과
  352. approveamt = parseInt(model.getValue("/root/temp5/msg4/heallifeamtclamamt")); // 기승인된 건강생활유지비
  353. requestamt = parseInt(opmi_heallifeamtclamamt) - parseInt(approveamt);
  354. }
  355. //2017/02/22 건생비 분리 승인 관련 프로그램 수정(이정택)
  356. //신보험증번호 조회(보험자격조회)
  357. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  358. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  359. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  360. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //외래진료일자
  361. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  362. "O" + "▦" + //진료형태
  363. "" + "▦" + //퇴원일자
  364. requestamt + "▦" +
  365. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  366. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  367. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  368. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  369. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  370. pregrequestamt + "▦" + //산전지원금
  371. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  372. setParameter("SPPMC03900_PARM",parm);
  373. //신종플루진료
  374. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  375. setParameter("SPPMC03900_RTN","");
  376. setParameter("SPPMC03900_RTN_osunap","");
  377. setParameter("SPPMC03900_RTN_osunap_msg4","");
  378. setParameter("SPPMC03900_MSG_YN","N");
  379. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_dracptyn")=="Y"){ // 진료 완료된 건에 대해서 차감 금액 들어가도록 수정(2015/09/25 이정택)
  380. if(model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd")=="2100000000" && pregrequestamt > 0){ //산부인과 산전비 체크
  381. if(messageBox("산전비승인 하시겠습니까?","Q999","") == "6") {
  382. if(fApproveHeallifeAmt() == false){
  383. return false;
  384. }
  385. }else{
  386. return false;
  387. }
  388. }else{ //산부인과 이외의 경우
  389. if(requestamt > 0) {
  390. if(messageBox("건유비승인 하시겠습니까?","Q999","") == "6") {
  391. if(fApproveHeallifeAmt() == false){
  392. return false;
  393. }
  394. }else{
  395. return false;
  396. }
  397. }
  398. }
  399. }
  400. setParameter("SPPMC03900_MSG_YN","");
  401. return true;
  402. }
  403. //의료급여 자동승인버튼
  404. function fbtn_proc3_20150925bak() {
  405. if(getParameter("SPPMC03900_heallifeamtval") == "") {
  406. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  407. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  408. //신보험증번호 조회(보험자격조회)
  409. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  410. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  411. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  412. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //외래진료일자
  413. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  414. "O" + "▦" + //진료형태
  415. "" + "▦" + //퇴원일자
  416. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  417. //model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  418. model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_payownbamt") + "▦" + //본인일부부담금
  419. model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_payinsubamt") + "▦" + //기관부담금
  420. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  421. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  422. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  423. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  424. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  425. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  426. setParameter("SPPMC03900_PARM",parm);
  427. //신종플루진료
  428. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  429. setParameter("SPPMC03900_RTN","");
  430. setParameter("SPPMC03900_RTN_osunap","");
  431. setParameter("SPPMC03900_RTN_osunap_msg4","");
  432. fApproveHeallifeAmt2(); //건유비,산전비 조회
  433. model.setvalue("/root/etc/union_msg" ,"건유비 잔액: " + getParameter("SPPMC03900_heallifeamtval") + " " +
  434. "산전비 잔액: " + getParameter("SPPMC03900_pregremamtval") +'\n' + model.getValue("/root/etc/union_msg"));
  435. fbtn_proc_check();
  436. }
  437. //alert( "건유비 잔액 :" + getParameter("SPPMC03900_heallifeamtval"));
  438. //alert( "산전비 잔액 :" + getParameter("SPPMC03900_pregremamtval"));
  439. //alert( "건유비 차감액 :" + getParameter("SPPMC03900_heallifeamtclamamt"));
  440. //alert( "산전비 차감액 :" + getParameter("SPPMC03900_pregdmndamt"));
  441. model.setValue("/root/send/sum_otpt" , getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  442. model.setvalue("/root/send/mth_nm" , "getMsg4LifeAmt");
  443. submit("TRPAO00127");
  444. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt", model.getValue("/root/temp5/msg4/heallifeamtclamamt"));
  445. model.makevalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , model.getValue("/root/temp5/msg4/pregdmndamt"));
  446. var SPPMC03900_heallifeamtval = parseInt(getParameter("SPPMC03900_heallifeamtval"));
  447. var SPPMC03900_pregremamtval = parseInt(getParameter("SPPMC03900_pregremamtval"));
  448. //건유비 차감한적이 없을시 예상차감액을 건유비 자리에 보여준다.
  449. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt") == "0" && SPPMC03900_heallifeamtval > 0) {
  450. var opmi_heallifeamtclamamt = 0;
  451. if(parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt")) < SPPMC03900_heallifeamtval) {
  452. opmi_heallifeamtclamamt = model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_payownbamt");
  453. }else{
  454. opmi_heallifeamtclamamt = SPPMC03900_heallifeamtval;
  455. }
  456. opmi_heallifeamtclamamt = Math.floor(opmi_heallifeamtclamamt / 10) * 10;
  457. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt",opmi_heallifeamtclamamt);
  458. /*
  459. var restamt = 0;
  460. var totownbamt = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_totownbamt100"));
  461. var totownbamt2 = parseInt(model.getValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_totownbamt2"));
  462. if(model.getvalue("/root/init/basecdlist/P0032[cdid='130']/cdnm") == "Y") {
  463. restamt = (totownbamt - opmi_heallifeamtclamamt) % 100;
  464. }else{
  465. restamt = (totownbamt - opmi_heallifeamtclamamt) % 10;
  466. }
  467. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt" , opmi_heallifeamtclamamt);
  468. model.setValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_restamt" , restamt);
  469. model.setValue("/root/hidden/rcv1/h_opmi/opmi[opmi_orddd = '"+ getCurrentDate()+ "']/opmi_totownbamt2" , totownbamt - restamt);
  470. */
  471. opt_heallifeamtclamamt.attribute("color") = '#ff0000'; //red
  472. }
  473. //산전비 차감한적이 없을시 예상차감액을 산전비 자리에 보여준다.
  474. if(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") == "0" && SPPMC03900_pregremamtval > 0) {
  475. var opmi_pregdmndamt = 0;
  476. if(parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt")) < SPPMC03900_pregremamtval) {
  477. opmi_pregdmndamt = model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_rcptexptamt");
  478. }else{
  479. opmi_pregdmndamt = SPPMC03900_pregremamtval;
  480. }
  481. model.setValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt" , opmi_pregdmndamt);
  482. ipt_pregdmndamt.attribute("color") = '#ff0000'; //red
  483. }
  484. //납부할 금액 세팅
  485. fCalcRcptexptAmt();
  486. }
  487. //의료급여 자동승인버튼
  488. function fbtn_proc_4_20150925bak() {
  489. var opmi_spec_nopayown = parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_totnopyownbamt"))
  490. + parseInt(model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_specownbamt"));
  491. //신보험증번호 조회(보험자격조회)
  492. var parm = model.getValue("/root/main/patinfo/patinfolist/rrgstno1") +
  493. model.getValue("/root/main/patinfo/patinfolist/rrgstno2") + "▦" + //주민번호
  494. model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + //이름
  495. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddd") + "▦" + //외래진료일자
  496. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_cretno") + "▦" + //생성번호
  497. "O" + "▦" + //진료형태
  498. "" + "▦" + //퇴원일자
  499. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payownbamt") + "▦" + //본인일부부담금
  500. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_payinsubamt") + "▦" + //기관부담금
  501. model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + //등록번호
  502. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_orddeptcd") + "▦" + //진료과
  503. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_ownbflag") + "▦" + //본인부담구분
  504. opmi_spec_nopayown + "▦" + //비급여총액(nopyownbamt,allownownbamt,specownbamt)
  505. model.getValue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") + "▦" + //산전지원금
  506. model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_insukind") + "▦"; //보조유형
  507. setParameter("SPPMC03900_PARM",parm);
  508. //신종플루진료
  509. setParameter("SPPMC03900_ETCORD",model.getValue("/root/main/outrgst/m_otpt/otpt/otpt_etcordflag"));
  510. setParameter("SPPMC03900_RTN","");
  511. setParameter("SPPMC03900_RTN_osunap","");
  512. setParameter("SPPMC03900_RTN_osunap_msg4","");
  513. if(getParameter("SPPMC03900_heallifeamtclamamt") == "0") {
  514. if(getParameter("SPPMC03900_heallifeamtval") != "0" && model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_heallifeamtclamamt") != "0") {
  515. if(messageBox("건유비승인 하시겠습니까?","Q999","") == "6") {
  516. if(fApproveHeallifeAmt() == false) return false;
  517. }else{
  518. return false;
  519. }
  520. }
  521. }
  522. if(getParameter("SPPMC03900_pregdmndamt") == "0") {
  523. if(getParameter("SPPMC03900_pregremamtval") != "0" && model.getvalue("/root/main/outrgst/m_opmi/opmi/opmi_pregdmndamt") != "0") {
  524. if(messageBox("산전비승인 하시겠습니까?","Q999","") == "6") {
  525. if(fApprovePreDmndAmt() == false) return false;
  526. }else{
  527. return false;
  528. }
  529. }
  530. }
  531. return true;
  532. }
  533. //실시정산 대상환자 조회
  534. function fCheckActrList() {
  535. if(getNodesetCount("/root/hidden/item1/pidinfo/h_actr/actr/pid") > 0) {
  536. if (model.getValue("/root/temp3/workgubn") == "E") {
  537. modal("SMPAO00107", "0","50", "50", "SMPAO00107", "/root/hidden/item1/pidinfo", "/root/main");
  538. return;
  539. }
  540. if (model.getValue("/root/temp3/workgubn") == "Y") {
  541. //if(messageBox("실시정산내역이 있습니다. [예]실시정산, [아니오]수납","Q999","") == "6") {
  542. if(messageBox("등록암 본인부담 변경(20091201)에 따른 실시정산내역이 있습니다. 실시정산 하시겠습니까? \n[예]실시정산, [아니오]수납","Q999","") == "6") {
  543. model.setValue("/root/temp3/workgubn" , "E");
  544. fSelectWorkgubn();
  545. fSearch();
  546. fCheckActrList();
  547. return;
  548. }
  549. }
  550. }
  551. }
  552. /*
  553. function fECalculate() {
  554. model.copynode("/root/send/s_actr" , "/root/node_bk/send/s_actr");
  555. removeChildren("/root/send/s_actr/actr");
  556. model.setValue("/root/send/sum_otpt" ,getNodeListCSV(instance1.selectNodes("/root/hidden/rcv1/sum_otpt/otpt[otpt_checkflag='true']")));
  557. model.setvalue("/root/send/mth_nm" ,"setOutOrdActr");
  558. //실시정산에 실시내역
  559. for (var cnt = 1; cnt<= getNodesetCount("/root/main/baseinfo/actlist/actr/actr_pid") ; cnt++) {
  560. copyNodeListType("/root/send/s_actr","/root/main/baseinfo/actlist/actr["+cnt+"]","before");
  561. }//End for grd_Eactlist
  562. submit("TRPAO00127");
  563. }
  564. */