SMMND01100.xjs 57 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[function fLoadMyPatSetting()
  3. {
  4. ds_send.clearData();
  5. ds_send.addRow();
  6. dsf_makeValue( ds_send, "wardcd", "string", sysf_getUserInfo("dutplcecd"));
  7. var oParam = {};
  8. oParam.id = "TRMND03402";
  9. oParam.service = "dialapp.DialPatMngt";
  10. oParam.method = "reqGetWMInitData";
  11. oParam.inds = "reqcond=ds_send";
  12. oParam.outds = "ds_init_settingrn_settingrnlist=settingrnlist";
  13. oParam.async = false;
  14. //oParam.callback = "cf_TRMND03402";
  15. tranf_submit(oParam);
  16. }
  17. function fInitControl()
  18. {
  19. today = new Date();
  20. var isYear, isMonth, ls_day;
  21. isYear = (today.getYear()).toString();
  22. isMonth = (today.getMonth() + 1).toString();
  23. if (isMonth.toString().length == 1) isMonth = ("0".concat(isMonth.toString()));
  24. thisMonth = isYear.concat(isMonth);
  25. if (thisMonth < "200001")
  26. {
  27. ds_main.setColumn( 0, "Year","2000");
  28. ds_main.setColumn( 0, "month","01");
  29. }
  30. else
  31. {
  32. ds_main.setColumn( 0, "year",isYear);
  33. ds_main.setColumn( 0, "month",isMonth);
  34. }
  35. }
  36. function fCreateCalendar()
  37. {
  38. if ( fGetHospitalCalendar() == false)
  39. {
  40. alert(" line 222 : 데이터를 가져오지 못했습니다.");
  41. fInitControl();
  42. return false;
  43. }
  44. else
  45. {
  46. ds_main_cal_weeks.clearData();
  47. }
  48. var row, col;
  49. var sDW = "sun mon tue wed thu fri sat";
  50. var sDay = sDW.split(" ");
  51. var xPath = ds_main_caldatalist_caldatainfo;
  52. var sDW_holi = "sun_holi mon_holi tue_holi wed_holi thu_holi fri_holi sat_holi";
  53. var sDay_holi = sDW_holi.split(" ");
  54. var _oldRow = -1;
  55. var currday = utlf_getCurrentDate().substr(6, 2);
  56. var cellIndex = 0;
  57. for (var i = 0; i < xPath.rowcount; i++)
  58. {
  59. row = parseInt(xPath.getColumn( i, "weekno" ));
  60. for(var j = 0; j < xPath.rowcount; j++)
  61. {
  62. if( ds_main_cal_weeks.rowcount < row)
  63. {
  64. ds_main_cal_weeks.addRow();
  65. }
  66. }
  67. col = xPath.getColumn( i, "dw" ) - 1;
  68. buff = xPath.getColumn( i, "holiflag");
  69. ds_main_cal_weeks.setColumn(row-1, sDay[col], xPath.getColumn( i, "day" ) + " "
  70. + xPath.getColumn( i, "dialsum" ) + "명\n("
  71. + xPath.getColumn( i, "oneshiftsum" ) + "/"
  72. + xPath.getColumn( i, "twoshiftsum" ) + "/"
  73. + xPath.getColumn( i, "threeshiftsum") + "/"
  74. + xPath.getColumn( i, "ershiftsum") + "/"
  75. + xPath.getColumn( i, "pedshiftsum" ) + ")" ); //20180730 소아shift 추가
  76. if(buff == "1")
  77. {
  78. ds_main_cal_weeks.setColumn(row - 1, sDay_holi[col], "#ff0000" );
  79. }
  80. else
  81. {
  82. ds_main_cal_weeks.setColumn(row - 1, sDay_holi[col], "" );
  83. }
  84. if( i == parseInt(currday) )
  85. {
  86. cellIndex = (row - 1) * 7 + col;
  87. }
  88. }
  89. }
  90. function fGetHospitalCalendar()
  91. {
  92. if(ds_send.rowcount < 1)
  93. {
  94. ds_send.addRow();
  95. }
  96. var dd = (ds_main.getColumn(0, "year") + "").concat(ds_main.getColumn(0, "month") + "");
  97. dsf_makeValue( ds_send, "date", "string", "" );
  98. ds_send.setColumn( 0, "date", dd);
  99. ds_main_caldatalist_caldatainfo.clearData();
  100. var oParam = {};
  101. oParam.id = "TRMND01109";
  102. oParam.service = "dialapp.DialPatMngt";
  103. oParam.method = "reqGetcaldata";
  104. oParam.inds = "req=ds_send";
  105. oParam.outds = "ds_main_caldatalist_caldatainfo=caldatainfo";
  106. oParam.async = false;
  107. oParam.callback = "cf_TRMND01109";
  108. tranf_submit(oParam);
  109. }
  110. function cf_TRMND01109(sSvcId, nErrorCode, sErrorMsg)
  111. {
  112. if(nErrorCode < 0)
  113. {
  114. return false;
  115. }
  116. else
  117. {
  118. return true
  119. }
  120. }
  121. function fDone()
  122. {
  123. var year = sRtn.substr(0,4);
  124. var month = sRtn.substr(4,2);
  125. var date = sRtn.substr(6,2);
  126. var currentDate = new Date();
  127. var lstMonthDay = currentDate.getMonthDay(); // 해달 월의 마직막 일
  128. dsf_makeValue( ds_main_condition, "srchdd", "string", sRtn);
  129. dsf_makeValue( ds_main_condition, "year", "string", year);
  130. dsf_makeValue( ds_main_condition, "month", "string", month);
  131. dsf_makeValue( ds_main_condition, "weeks", "string", "1");
  132. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "rsrvdd1", "string", sRtn); // 현재일자
  133. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "srchdd1", "string", sRtn ); // 현재일자
  134. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "srchdd2", "string", (currentDate.getAddDate(1, "M")).getDateFormat()); // 1개월 후 일자
  135. if(frmf_getMenuParam() == "sr")
  136. {
  137. grp_biz.switch1.tabindex = 1;
  138. grp_biz.btn_sr.class = "btn_tab_S"; //.selected = true;
  139. grp_biz.btn_hdsd.class = "btn_tab";
  140. if(grp_biz.switch1.case2.group2.rdo_formflag.value == 1)
  141. {
  142. fSrchDialSeatList();
  143. fAppViral();
  144. }
  145. else if(grp_biz.switch1.case2.group2.rdo_formflag.value == 2)
  146. {
  147. fSrchDialSeatDispos();
  148. }
  149. }
  150. else
  151. {
  152. for(var i = 0; i < ds_main_cal_weeks.rowcount; i++)
  153. {
  154. for(var j = 0; j < 7; j++)
  155. {
  156. var scaldate = String(ds_main_cal_weeks.getColumn(i,j)).split(" ");
  157. var sDay = scaldate[0];
  158. if(sDay < 10)
  159. {
  160. sDay = "0"+sDay;
  161. }
  162. if(date == sDay)
  163. {
  164. ds_main_cal_weeks.clearSelect();
  165. ds_main_cal_weeks.selectRow(i);
  166. ds_main_cal_weeks.rowposition = i;
  167. grp_biz.switch1.case1.grd_calendar.setCellPos(j);
  168. dd = ds_main.getColumn(0, "year") + ds_main.getColumn(0, "month") + date;
  169. dsf_makeValue( ds_main, "selecteddd", "string", dd);
  170. grp_biz.switch1.case1.opt_selecteddd.value = (ds_main.getColumn(0, "year")) + "-" + (ds_main.getColumn(0, "month")) + "-" + String(ds_main.getColumn(0, "selecteddd")).substr(6,2);
  171. dsf_makeValue( ds_main_rsrvlist_rsrvsrch, "srchdd", "string", ds_main.getColumn(0, "selecteddd"));
  172. fSrchDialseat(); //선택된 셀의 일자에 해당하는 자리관리 테이블 조회
  173. fSrchRsrvInfo(); //선택된 셀의 일자에 해당하는 예약환자 리스트 조회
  174. }
  175. }
  176. }
  177. grp_biz.switch1.tabindex = 0;
  178. grp_biz.switch1.case1.grd_calendar.dataheight = 46;
  179. var pid = sysf_getModelProperty("pid");
  180. var node = sysf_getGlobalVariable("paminfo");
  181. dsf_setCSVToDs("ds_temp_paminfo_list", node);
  182. if(!utlf_isNull(ds_temp_paminfo_list.getColumn(0, "pid")))
  183. {
  184. var sSelPid = ds_temp_paminfo_list.getColumn(0, "pid"); // 등록번호
  185. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "pid", sSelPid);
  186. fSrchPat();
  187. }
  188. else
  189. {
  190. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "pid", pid);
  191. fSrchPat();
  192. }
  193. }
  194. }
  195. function fInitRsrvInfo()
  196. {
  197. fClearChildNode(ds_main_cretlist_cretrgvlist_cretrgv);
  198. ds_main_detlrsrvlist_detlrsrvinfo.clearData();
  199. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "hngnm", "string", ""); // 환자명(예약생성정보)
  200. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "rrgstno1", "string", ""); // 주민번호1
  201. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "rrgstno2", "string", ""); // 주민번호2
  202. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "ioflag", "string", ""); // 입원외래구분
  203. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "matndialflag", "string", ""); // 투석구분
  204. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "maintepatrgstdd", "string", ""); // 유지환자등록일자
  205. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "matnflag", "string", ""); // 유지구분
  206. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "prcpinfo", "string", ""); // 지시처방여부
  207. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "centcd", "string", ""); // 센터코드
  208. dsf_makeValue( ds_main_chklist_chkinfo, "existbed", "string", "");
  209. dsf_makeValue( ds_main_chklist_chkinfo, "pidchk", "string", "");
  210. dsf_makeValue( ds_main_chklist_chkinfo, "shitfchk", "string", "");
  211. dsf_makeValue( ds_main_chklist_chkinfo, "bedchk", "string", "");
  212. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "infcflag", "string", ""); // 감염구분
  213. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "pid", "string", ""); // 등록번호(상세 예약정보)
  214. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "hngnm", "string", ""); // 환자명
  215. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "rrgstno1", "string", ""); // 주민번호1
  216. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "rrgstno2", "string", ""); // 주민번호1
  217. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1" , sRtn); // 예약시작일자(현재일자)
  218. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "shiftflag" , "1" ); // Shift구분(1Shift)
  219. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialkindopt", "1" ); // 감염구분(해당없음)]
  220. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "srchdd1", "string", utlf_getCurrentDate()); // 조회일자1
  221. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "srchdd2", "string", utlf_getCurrentDate()); // 조회일자2
  222. }
  223. function fSrchRsrvInfo()
  224. {
  225. ds_send_reqdata.clearData();
  226. dsf_makeValue( ds_send_reqdata, "srchdd", "string", ds_main_rsrvlist_rsrvsrch.getColumn(0, "srchdd"));
  227. dsf_makeValue( ds_send_reqdata, "shiftflag", "string", ds_main_rsrvlist_rsrvsrch.getColumn(0, "shiftflag"));
  228. dsf_makeValue( ds_send_reqdata, "mypid", "string", ds_main_rsrvlist_rsrvsrch.getColumn(0, "mypid"));
  229. ds_main_rsrvlist_rsrvinfo.clearData();
  230. var oParam = {};
  231. oParam.id = "TRMND01104";
  232. oParam.service = "dialapp.DialPatMngt";
  233. oParam.method = "reqGetRsrvInfo";
  234. oParam.inds = "req=ds_send_reqdata";
  235. oParam.outds = "ds_main_rsrvlist_rsrvinfo=rsrvinfo";
  236. oParam.async = false;
  237. tranf_submit(oParam);
  238. }
  239. function fSrchDialseat()
  240. {
  241. if(utlf_isNull(ds_main.getColumn(0, "selectedshift")))
  242. {
  243. sysf_messageBox("자리관리 테이블의 Shift구분을", "C002", "");
  244. }
  245. else
  246. {
  247. ds_send_reqdata.clearData();
  248. ds_send_reqdata.addRow();
  249. dsf_makeValue( ds_send_reqdata, "selecteddd", "string", ds_main.getColumn(0, "selecteddd"));
  250. dsf_makeValue( ds_send_reqdata, "selectedshift", "string", ds_main.getColumn(0, "selectedshift"));
  251. ds_main_dialseatlist_dialseatinfo.clearData();
  252. var oParam = {};
  253. oParam.id = "TRMND01108";
  254. oParam.service = "dialapp.DialPatMngt";
  255. oParam.method = "reqGetDialSeat";
  256. oParam.inds = "req=ds_send_reqdata";
  257. oParam.outds = "ds_main_dialseatlist_dialseatinfo=dialseatinfo";
  258. oParam.async = false;
  259. oParam.callback = "cf_TRMND01108";
  260. tranf_submit(oParam);
  261. }
  262. }
  263. function cf_TRMND01108(sSvcId, nErrorCode, sErrorMsg)
  264. {
  265. if(nErrorCode < 0)
  266. {
  267. sysf_messageBox("투석자리가", "I004", "");
  268. return;
  269. }
  270. else
  271. {
  272. for(var k = 0; k < 5; k++)
  273. {
  274. dsf_makeValue(ds_main_dialseatlist_dialseatinfo, "background" + k , "string", "");
  275. dsf_makeValue(ds_main_dialseatlist_dialseatinfo, "backgroundinfect" + k , "string", "");
  276. }
  277. dsf_setDefaultVal(ds_main_dialseatlist_dialseatinfo, "all");
  278. ds_main_dialseatlist_dialseatinfo.updatecontrol = false;
  279. for(i = 0; i < grp_biz.switch1.case1.grd_dialseat.rowcount;i++)
  280. {
  281. for(j = 0; j < 16 ; j=j+4)
  282. {
  283. if(!utlf_isNull(ds_main_dialseatlist_dialseatinfo.getColumn(i, "dialkindcd_" + ((j / 4) + 1))))
  284. {
  285. var Idx = ds_main_dialseatlist_dialseatinfo.getColumn(i,"dialkindcd_" + ((j / 4) + 1));
  286. ds_main_dialseatlist_dialseatinfo.setColumn( i, "backgroundinfect" + (j / 4), cData[Idx]);
  287. }
  288. }
  289. }
  290. ds_main_dialseatlist_dialseatinfo.updatecontrol = true;
  291. grp_biz.switch1.case1.grd_dialseat.redraw();
  292. }
  293. }
  294. function fChngBedInit()
  295. {
  296. pid_1 = ""; pid_2 = ""; bed_1 = ""; bed_2 = ""; iRow_1 = ""; iRow_2 = ""; iCol_1 = ""; iCol_2 = ""; chk = "N"; hdcretno_1 = ""; hdcretno_2 = ""; //hdcretno 추가 20091218-kys
  297. for(var i = 0; i < ds_main_dialseatlist_dialseatinfo.rowcount; i++)
  298. {
  299. ds_main_dialseatlist_dialseatinfo.setColumn(i, "background0", "");
  300. ds_main_dialseatlist_dialseatinfo.setColumn(i, "background1", "");
  301. ds_main_dialseatlist_dialseatinfo.setColumn(i, "background2", "");
  302. ds_main_dialseatlist_dialseatinfo.setColumn(i, "background3", "");
  303. ds_main_dialseatlist_dialseatinfo.setColumn(i, "background4", "");
  304. }
  305. }
  306. function fChngPos(iRow, iCol)
  307. {
  308. if(utlf_isNull(iRow_1) && utlf_isNull(iCol_1))
  309. {
  310. iRow_1 = iRow;
  311. iCol_1 = iCol;
  312. var _IDX = ((iCol_1 - 2) / 5) + 1;
  313. pid_1 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_1, "pid_" + _IDX ); //자리 수정 할 환자의 등록번호
  314. bed_1 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_1, "dialseatflag_" + _IDX ); //자리 수정 할 환자의 bed
  315. hdcretno_1 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_1, "hdcretno_" + _IDX); //자리 수정 할 환자의 hdcretno 20091218-kys
  316. ds_main_dialseatlist_dialseatinfo.setColumn( iRow_1, "background" + (_IDX - 1), "#ffff99");
  317. }
  318. else if(!utlf_isNull(iRow_1) && utlf_isNull(iRow_2)&& !utlf_isNull(iCol_1) && utlf_isNull(iCol_2))
  319. {
  320. iRow_2 = iRow;
  321. iCol_2 = iCol;
  322. if (iRow_1 == iRow_2 && iCol_1 == iCol_2)
  323. {
  324. iRow_2 = "";
  325. iCol_2 = "";
  326. hdcretno_2 = "";
  327. return;
  328. }
  329. else
  330. {
  331. var _IDX = ((iCol_2 - 2) / 5) + 1;
  332. pid_2 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_2, "pid_" + _IDX ); //자리 수정 할 환자의 등록번호
  333. bed_2 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_2, "dialseatflag_" + _IDX ); //자리 수정 할 환자의 bed
  334. hdcretno_2 = ds_main_dialseatlist_dialseatinfo.getColumn(iRow_2, "hdcretno_" + _IDX); //자리 수정 할 환자의 hdcretno 20091218-kys
  335. ds_main_dialseatlist_dialseatinfo.setColumn( iRow_2, "background" + (_IDX - 1), "#ffff99");
  336. chk = "Y";
  337. }
  338. }
  339. else if(!utlf_isNull(iRow_1) && !utlf_isNull(iRow_2) && !utlf_isNull(iCol_1)&& !utlf_isNull(iCol_2))
  340. {
  341. if ((iRow_1 == iRow && iCol_1 == iCol) || (iRow_2 == iRow && iCol_2 == iCol))
  342. {
  343. return;
  344. }
  345. }
  346. }
  347. function fSaveChngPos()
  348. {
  349. var iRow = ds_main_dialseatlist_dialseatinfo.rowposition;
  350. var iCol = grp_biz.switch1.case1.grd_dialseat.currentcol;
  351. if(ds_main.getColumn(0, "selecteddd") >= sRtn )
  352. {
  353. ds_send_savedata.clearData();
  354. dsf_makeValue( ds_send_savedata, "selecteddd", "string", ds_main.getColumn(0, "selecteddd"));
  355. dsf_makeValue( ds_send_savedata, "selectedshift", "string", ds_main.getColumn(0, "selectedshift"));
  356. dsf_makeValue( ds_send_savedata, "pid_1", "string", pid_1);
  357. dsf_makeValue( ds_send_savedata, "pid_2", "string", pid_2);
  358. dsf_makeValue( ds_send_savedata, "bed_1", "string", bed_1);
  359. dsf_makeValue( ds_send_savedata, "bed_2", "string", bed_2);
  360. dsf_makeValue( ds_send_savedata, "hdcretno_1", "string", hdcretno_1);
  361. dsf_makeValue( ds_send_savedata, "hdcretno_2", "string", hdcretno_2);
  362. var oParam = {};
  363. oParam.id = "TXMND01102";
  364. oParam.service = "dialapp.DialPatMngt";
  365. oParam.method = "reqExeSaveBedInfo";
  366. oParam.inds = "req=ds_send_savedata";
  367. oParam.outds = "";
  368. oParam.async = false;
  369. tranf_submit(oParam);
  370. fChngBedInit(); // 투석자리 수정(교환)정보 초기화
  371. }
  372. else
  373. {
  374. sysf_messageBox("과거 예약정보입니다.", "I", "투석자리를 교환 할 수 없습니다.") ;
  375. }
  376. }
  377. function fSaveChngRsrv()
  378. {
  379. if(ds_main.getColumn(0, "selecteddd") >= sRtn )
  380. {
  381. var iRow = ds_main_rsrvlist_rsrvinfo.rowposition;
  382. var dialseatflag = utlf_transNullToEmpty(ds_main_rsrvlist_rsrvinfo.getColumn(iRow, "dialseatflag"));
  383. ds_send_reqdata.clearData();
  384. dsf_makeValue( ds_send_reqdata, "srchdd", "string", ds_main_rsrvlist_rsrvinfo.getColumn(iRow, "rsrvdd"));
  385. dsf_makeValue( ds_send_reqdata, "shiftflag", "string", ds_main_rsrvlist_rsrvinfo.getColumn(iRow, "shiftflag"));
  386. dsf_makeValue( ds_send_reqdata, "dialseatflag", "string", dialseatflag);
  387. ds_main_rsrvlist_chkinfo.clearData();
  388. var oParam = {};
  389. oParam.id = "TRMND01111";
  390. oParam.service = "dialapp.DialPatMngt";
  391. oParam.method = "getChkRsrvInfo";
  392. oParam.inds = "req=ds_send_reqdata";
  393. oParam.outds = "ds_main_rsrvlist_chkinfo=chkinfo";
  394. oParam.async = false;
  395. tranf_submit(oParam);
  396. if(ds_main_rsrvlist_chkinfo.getColumn(0, "existdialseat") == "N")
  397. {
  398. sysf_messageBox("[" + dialseatflag + "]는 존재하지 않는 Bed입니다.", "E");
  399. fSrchRsrvInfo();
  400. return;
  401. }
  402. if(ds_main_rsrvlist_chkinfo.getColumn(0, "chkdialseat") == "Y")
  403. {
  404. sysf_messageBox("[" + dialseatflag + "]는 이미 예약된 Bed", "E008");
  405. fSrchRsrvInfo();
  406. return;
  407. }
  408. ds_send_savedata.copyData(grdf_getGridUpdateData(grp_biz.switch1.case1.grd_rsrvPat, "all"), true);
  409. var oParam = {};
  410. oParam.id = "TXMND01103";
  411. oParam.service = "dialapp.DialPatMngt";
  412. oParam.method = "reqExeSaveRsrvChng";
  413. oParam.inds = "req=ds_send_savedata";
  414. oParam.outds = "";
  415. oParam.async = false;
  416. tranf_submit(oParam);
  417. fSrchDialseat();
  418. fSrchRsrvInfo();
  419. }
  420. else
  421. {
  422. sysf_messageBox("과거 예약정보는 변경 할 수", "E001", "") ;
  423. }
  424. }
  425. function fSetPid()
  426. {
  427. var iRow = ds_main_rsrvlist_rsrvinfo.rowposition;
  428. var iPid = ds_main_rsrvlist_rsrvinfo.getColumn(iRow, "pid");
  429. grp_biz.switch1.case1.ipt_pid.value = iPid;
  430. grp_biz.switch1.case1.group1.ipt2_pid.value = iPid;
  431. fSrchPat();
  432. }
  433. function fSrchPat2()
  434. {
  435. if(utlf_isNull(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid")))
  436. {
  437. sysf_messageBox("등록번호를 입력하십시오.", "E", ""); grp_biz.switch1.case1.group1.ipt2_pid.setFocus();
  438. fClearChildNode(ds_main_detlrsrvlist_detlrsrvsrch);
  439. return;
  440. }
  441. ds_send_reqdata.clearData();
  442. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid"));
  443. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H");
  444. ds_main_detlrsrvlist_detlrsrvsrch.setColumn(0, "hngnm", ""); //.clearData();
  445. ds_main_detlrsrvlist_detlrsrvsrch.setColumn(0, "rrgstno1", ""); //.clearData();
  446. ds_main_detlrsrvlist_detlrsrvsrch.setColumn(0, "rrgstno2", ""); //.clearData();
  447. var oParam = {};
  448. oParam.id = "TRMND01106";
  449. oParam.service = "dialapp.DialPatMngt";
  450. oParam.method = "reqGetHngInfo2";
  451. oParam.inds = "req=ds_send_reqdata";
  452. oParam.outds = "ds_main_detlrsrvlist_detlrsrvsrch=detlrsrvsrch";
  453. oParam.async = false;
  454. tranf_submit(oParam);
  455. if(utlf_isNull(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "hngnm")))
  456. {
  457. grp_biz.switch1.case1.grp_patinfo.opt2_hngnm.value = "";
  458. grp_biz.switch1.case1.grp_patinfo.opt2_rrgstno1.value = "";
  459. grp_biz.switch1.case1.grp_patinfo.opt2_rrgstno2.value = "";
  460. }
  461. }
  462. function fClearChildNode(dsNode)
  463. {
  464. dsNode.clearData();
  465. dsNode.addRow();
  466. }
  467. function fSrchPat()
  468. {
  469. xCretPath = ds_main_cretlist_cretrgvlist_cretrgv;
  470. xGetPath = ds_main_cretlist_getcrelist_getcreinfo;
  471. if(utlf_isNull(xCretPath.getColumn(0, "pid")))
  472. {
  473. sysf_messageBox("등록번호를 입력하십시오.", "E", "");
  474. grp_biz.switch1.case1.ipt_pid.setFocus();
  475. fInitRsrvInfo(); // 초기화
  476. return;
  477. }
  478. ds_send_reqdata.clearData();
  479. ds_send_reqdata.addRow();
  480. dsf_makeValue( ds_send_reqdata, "pid", "string", xCretPath.getColumn(0, "pid"));
  481. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H" );
  482. dsf_makeValue( ds_send_reqdata, "srchdd1", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd1"));
  483. dsf_makeValue( ds_send_reqdata, "srchdd2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd2"));
  484. ds_main_cretlist_getcrelist.clearData();
  485. ds_main_detlrsrvlist_detlrsrvinfo.clearData();
  486. var oParam = {};
  487. oParam.id = "TRMND01105";
  488. oParam.service = "dialapp.DialPatMngt";
  489. oParam.method = "reqGetHngInfo";
  490. oParam.inds = "req=ds_send_reqdata";
  491. oParam.outds = "ds_main_cretlist_getcrelist_getcreinfo=getcreinfo ds_main_detlrsrvlist_detlrsrvinfo=detlrsrvinfo ds_main_detlrsrvlist_detlrsrvsrch=detlrsrvinfo";
  492. oParam.async = false;
  493. tranf_submit(oParam);
  494. if(utlf_isNull(xGetPath.getColumn(0, "hngnm")))
  495. {
  496. sysf_messageBox("해당환자를찾을 수", "I004", "확인 후 다시 입력하십시오.");
  497. fInitRsrvInfo(); // 초기화
  498. }
  499. else
  500. {
  501. if(xGetPath.getColumn(0, "matndialflag") == "P")
  502. {
  503. sysf_messageBox("복막투석 유지환자로 등록되어 있는 환자", "E008", "투석구분을 변경하십시오.");
  504. fInitRsrvInfo(); // 초기화
  505. return;
  506. }
  507. dsf_makeValue( xCretPath, "hngnm", "string", xGetPath.getColumn(0, "hngnm"));
  508. dsf_makeValue( xCretPath, "rrgstno1", "string", xGetPath.getColumn(0, "rrgstno1"));
  509. dsf_makeValue( xCretPath, "rrgstno2", "string", xGetPath.getColumn(0, "rrgstno2"));
  510. dsf_makeValue( xCretPath, "ioflag", "string", xGetPath.getColumn(0, "ioflag"));
  511. dsf_makeValue( xCretPath, "maintepatrgstdd", "string", xGetPath.getColumn(0, "maintepatrgstdd"));
  512. dsf_makeValue( xCretPath, "matnflag", "string", xGetPath.getColumn(0, "matnflag"));
  513. dsf_makeValue( xCretPath, "matndialflag", "string", xGetPath.getColumn(0, "matndialflag"));
  514. dsf_makeValue( xCretPath, "centcd", "string", xGetPath.getColumn(0, "centcd"));
  515. if ( xCretPath.getColumn(0, "bedopt") == "1")
  516. {
  517. fSrchPastSeat(); //20180521 이전자리 정보가져오기
  518. }
  519. var sInfcFlag = xGetPath.getColumn(0, "infcflag");
  520. xCretPath.setColumn(0, "infcflag", "");
  521. if(sInfcFlag != "-" && !utlf_isNull(sInfcFlag))
  522. {
  523. ds_init_iteminfo_itemlist.clearData();
  524. var sInfcFlagList = sInfcFlag.split(" ");
  525. var sItemListCnt = ds_init_iteminfo_tmp_itemlist.rowcount;
  526. for(var i = 0 ; i < sItemListCnt ; i++)
  527. {
  528. sItemValue = ds_init_iteminfo_tmp_itemlist.getColumn(i, "itemcd");
  529. sItemLavel = ds_init_iteminfo_tmp_itemlist.getColumn(i, "itemnm");
  530. for(var j = 0 ; j < sInfcFlagList.length ; j++)
  531. {
  532. if( sItemValue == sInfcFlagList[j])
  533. {
  534. if(utlf_isNull(xCretPath.getColumn(0, "infcflag")))
  535. {
  536. dsf_makeValue( xCretPath, "infcflag", "string", sInfcFlagList[j]);
  537. dsf_makeValue( xGetPath, "infcflag", "string", sInfcFlagList[j]);
  538. }
  539. insRow = ds_init_iteminfo_itemlist.addRow();
  540. dsf_makeValue( ds_init_iteminfo_itemlist, "itemcd", "string", sItemValue, insRow);
  541. dsf_makeValue( ds_init_iteminfo_itemlist, "itemnm", "string", sItemLavel, insRow);
  542. }
  543. }
  544. }
  545. grp_biz.switch1.case1.cmb_infcflag.enable = true;
  546. }
  547. else
  548. {
  549. ds_init_iteminfo_itemlist.clearData();
  550. ds_init_iteminfo_itemlist.copyData(ds_init_iteminfo_tmp);
  551. grp_biz.switch1.case1.cmb_infcflag.enable = false;
  552. }
  553. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "pid", "string", xCretPath.getColumn(0, "pid"));
  554. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "hngnm", "string", xCretPath.getColumn(0, "hngnm"));
  555. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "rrgstno1", "string", xCretPath.getColumn(0, "rrgstno1"));
  556. dsf_makeValue( ds_main_detlrsrvlist_detlrsrvsrch, "rrgstno2", "string", xCretPath.getColumn(0, "rrgstno2"));
  557. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialkindcd", "string", ds_main_cretlist_getcrelist_getcreinfo.getColumn(0, "infcflag"));
  558. if( utlf_isNull(ds_main_cretlist_getcrelist_getcreinfo.getColumn(0, "infcflag")))
  559. {
  560. grp_biz.switch1.case1.rdo_dialkindcd.enable = false;
  561. grp_biz.switch1.case1.ipt_dialseatflag.value = "";
  562. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialkindcd", "string", "");
  563. dsf_makeValue( ds_main_cretlist_getcrelist_getcreinfo, "infcflag", "string", "");
  564. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialkindopt", "string", "1");
  565. }
  566. else
  567. {
  568. grp_biz.switch1.case1.rdo_dialkindcd.enable = true;
  569. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialkindopt", "string", "");
  570. }
  571. for(var i = 0; i < ds_main_detlrsrvlist_detlrsrvinfo.rowcount; i++)
  572. {
  573. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(i, "status", "");
  574. }
  575. //fSrchPat2();
  576. }
  577. }
  578. function fUseridPopup(pPath, pNodeID, pNodeNM, pNodeRrgsNo1, pNodeRrgsNo2, pDOC, e)
  579. {
  580. frmf_setParameter("senddata", "");
  581. var objArg = new Object();
  582. objArg.arg_searchitem = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, pNodeID);
  583. if(pNodeID == "pid")
  584. {
  585. objArg.arg_searchflag = "userid";
  586. }
  587. else
  588. {
  589. objArg.arg_searchflag = "usernm";
  590. }
  591. frmf_modal("SMMNE03700", "SMMNE03700", objArg, "", "1", e.screenX-100, e.screenY-100, "", "", "", "", "", "M");
  592. var pParam = String(frmf_getParameter("senddata"));
  593. var pParamValue = pParam.split("|");
  594. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "pid", pParamValue[0]);
  595. }
  596. function fChkRsrvRange()
  597. {
  598. var sDwmult = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dwmult");
  599. var sRsrvopt = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvopt");
  600. if(!utlf_isNull(sDwmult))
  601. {
  602. if(sRsrvopt == "3")
  603. {
  604. sysf_messageBox("예약범위와 요일정보가 일치하지 않습니다.", "C", "다시 선택하십시오.");
  605. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "");
  606. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dwmult", "");
  607. return false;
  608. }
  609. else
  610. {
  611. return true;
  612. }
  613. }
  614. else
  615. {
  616. return true;
  617. }
  618. }
  619. function fRsvFlag(sFlag)
  620. {
  621. grp_biz.switch1.case1.chx_DW.setCheckAll(false);
  622. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  623. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dwmult", "");
  624. var s1 = "";
  625. var sRsrvFromDD = String(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd1"));
  626. var sRsrvToDD = String(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd2"));
  627. var dwFlag = String(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvopt"));
  628. var sFromyear = sRsrvFromDD.substr(0,4);
  629. var sFrommonth = sRsrvFromDD.substr(4,2);
  630. var sToyear = sRsrvToDD.substr(0,4) ;
  631. var sTomonth = sRsrvToDD.substr(4,2) ;
  632. if(sFlag == "F")
  633. {
  634. if(dwFlag == 1)
  635. {
  636. grp_biz.switch1.case1.chx_DW.setCheckAll(false);
  637. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  638. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd2", ((((sRsrvFromDD.toDate("YYYYMMDD")).getAddDate(7, "D"))).getDateFormat()));
  639. }
  640. else if(dwFlag == 2)
  641. { //1개월후 일자 구하기
  642. with(new Date(sFromyear, sFrommonth, 1, 12))
  643. { //MM = 1 .. 12
  644. setDate(0);
  645. var date = getDate(); //해당월의 마지막 일
  646. }
  647. s1 += sFromyear;
  648. s1 += sFrommonth;
  649. s1 += date;
  650. grp_biz.switch1.case1.chx_DW.setCheckAll(false);
  651. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  652. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd2", s1);
  653. }
  654. else if(dwFlag == 3)
  655. { //1일
  656. s1 = grp_biz.switch1.case1.input_frDT.value;
  657. var dw = (sRsrvFromDD.toDate()).getDayOfWeek("N"); //요일반환;
  658. var aData = new Array();
  659. aData[0] = dw;
  660. grp_biz.switch1.case1.chx_DW.setData(aData, "", true);
  661. if(aData == "0")
  662. {
  663. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  664. }
  665. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd2", s1);
  666. }
  667. else
  668. { // 사용자지정
  669. if(!utlf_isNull(sRsrvToDD) && sRsrvFromDD > sRsrvToDD)
  670. {
  671. sysf_messageBox("잘못된 예약범위 입니다.", "E");
  672. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1", utlf_getCurrentDate());
  673. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd2", "" );
  674. return;
  675. }
  676. }
  677. }
  678. else if(sFlag == "T")
  679. {
  680. if(dwFlag == 1)
  681. { //1주전 일자 구하기
  682. s1 = getDateCalc(sRsrvToDD, 7);
  683. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1", s1);
  684. }
  685. else if(dwFlag == 2)
  686. { //1개월 전(01일자) 일자 구하기
  687. var date = "01";
  688. s1 += sToyear;
  689. s1 += sTomonth;
  690. s1 += date;
  691. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1", s1);
  692. }
  693. else if(dwFlag == 3)
  694. { //1일
  695. s1 = sRsrvToDD;
  696. var dw = (sRsrvToDD.toDate()).getDayOfWeek("N");
  697. var aData = new Array();
  698. aData[0] = dw;
  699. grp_biz.switch1.case1.chx_DW.setData(aData, "", true);
  700. if(dw == "0")
  701. {
  702. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  703. }
  704. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1", s1);
  705. }
  706. else
  707. { // 사용자지정
  708. if(!utlf_isNull(sRsrvFromDD) && sRsrvFromDD > sRsrvToDD)
  709. {
  710. sysf_messageBox("잘못된 예약범위 입니다.", "E");
  711. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd1", utlf_getCurrentDate());
  712. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvdd2", "" );
  713. return;
  714. }
  715. }
  716. }
  717. }
  718. function fSrchPastSeat()
  719. {
  720. grp_biz.switch1.case1.ipt_dialseatflag.value = "";
  721. ds_send_reqdata.clearData();
  722. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "pid"));
  723. dsf_makeValue( ds_send_reqdata, "rsrvdd1", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd1"));
  724. ds_main_cretlist_getcrelist_getcreinfo_dialseatflag.clearData();
  725. var oParam = {};
  726. oParam.id = "TRMND01102";
  727. oParam.service = "dialapp.DialPatMngt";
  728. oParam.method = "reqGetPastSeat";
  729. oParam.inds = "req=ds_send_reqdata";
  730. oParam.outds = "ds_main_cretlist_getcrelist_getcreinfo_dialseatflag=getcreinfo";
  731. oParam.async = false;
  732. tranf_submit(oParam);
  733. if(utlf_isNull(ds_main_cretlist_getcrelist_getcreinfo_dialseatflag.getColumn(0, "dialseatflag")))
  734. {
  735. sysf_messageBox("이전 투석자리가", "I004", "");
  736. grp_biz.switch1.case1.chk_pastseat.value = "";
  737. }
  738. else
  739. {
  740. grp_biz.switch1.case1.ipt_dialseatflag.enable = false;
  741. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", ds_main_cretlist_getcrelist_getcreinfo_dialseatflag.getColumn(0, "dialseatflag"));
  742. }
  743. }
  744. function fExistBed()
  745. {
  746. var dialseatflag = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialseatflag");
  747. var rsrvfromdd = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd1");
  748. var rsrvtodd = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd2");
  749. var dw = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dw");
  750. dw = dw.replace(",", " ");
  751. var rsrvopt = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvopt");
  752. if(utlf_isNull(rsrvfromdd) || rsrvfromdd == "" || utlf_isNull(rsrvtodd) || rsrvtodd == "")
  753. {
  754. sysf_messageBox("스케줄일자를 먼저 입력하세요.", "E");
  755. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", "");
  756. return false;
  757. }
  758. if(rsrvfromdd > rsrvtodd )
  759. {
  760. sysf_messageBox("스케줄시작일이 종료일보다 이후가 될 수 없습니다.", "E");
  761. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", "");
  762. return false;
  763. }
  764. if(utlf_isNull(rsrvopt) || rsrvopt == "")
  765. {
  766. sysf_messageBox("예약범위를 먼저 선택하세요.", "E");
  767. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", "");
  768. return false;
  769. }
  770. if(rsrvopt != "3" && utlf_isNull(dw) || dw == "")
  771. {
  772. sysf_messageBox("요일을 먼저 선택하세요.", "E");
  773. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", "");
  774. return false;
  775. }
  776. ds_send_reqdata.clearData();
  777. dsf_makeValue( ds_send_reqdata, "dialseatflag", "string", dialseatflag);
  778. dsf_makeValue( ds_send_reqdata, "rsrvfromdd", "string", rsrvfromdd);
  779. dsf_makeValue( ds_send_reqdata, "rsrvtodd", "string", rsrvtodd);
  780. dsf_makeValue( ds_send_reqdata, "dw", "string", dw);
  781. ds_main_chklist_chkinfo.clearData();
  782. var oParam = {};
  783. oParam.id = "TRMND01107";
  784. oParam.service = "dialapp.DialPatMngt";
  785. oParam.method = "getExistBed";
  786. oParam.inds = "req=ds_send_reqdata";
  787. oParam.outds = "ds_main_chklist_chkinfo=chkinfo";
  788. oParam.async = false;
  789. oParam.callback = "cf_TRMND01107";
  790. tranf_submit(oParam);
  791. }
  792. function cf_TRMND01107(sSvcId, nErrorCode, sErrorMsg)
  793. {
  794. if(nErrorCode < 0)
  795. {
  796. return false;
  797. }
  798. else
  799. {
  800. if(utlf_isNull(grp_biz.switch1.case1.opt_existbed.value))
  801. {
  802. sysf_messageBox("존재하지 않는 Bed", "E008", "");
  803. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialseatflag", "string", "");
  804. return false;
  805. }
  806. else
  807. {
  808. grp_biz.switch1.case1.opt_existbed.value = "";
  809. return true;
  810. }
  811. }
  812. }
  813. function fAutoSelDW()
  814. {
  815. var aData = new Array();
  816. grp_biz.switch1.case1.chx_DW.setCheckAll(false);
  817. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dw", "0");
  818. var sel = grp_biz.switch1.case1.rdo_DW.value;
  819. switch (sel)
  820. {
  821. case '1': //월수금
  822. aData[0] = "1";
  823. aData[1] = "3";
  824. aData[2] = "5";
  825. grp_biz.switch1.case1.chx_DW.setData(aData,null,false);
  826. ds_main_cretlist_cretrgvlist_cretrgv.setColumn(0, "dw", "1,3,5");
  827. break;
  828. case '2': //화목토
  829. aData[0] = "2";
  830. aData[1] = "4";
  831. aData[2] = "6";
  832. grp_biz.switch1.case1.chx_DW.setData(aData,null,false);
  833. ds_main_cretlist_cretrgvlist_cretrgv.setColumn(0, "dw", "2,4,6");
  834. break;
  835. case '3': //월수토
  836. aData[0] = "1";
  837. aData[1] = "3";
  838. aData[2] = "6";
  839. grp_biz.switch1.case1.chx_DW.setData(aData,null,false);
  840. ds_main_cretlist_cretrgvlist_cretrgv.setColumn(0, "dw", "1,3,6");
  841. break;
  842. case '4': //월금
  843. aData[0] = "1";
  844. aData[1] = "5";
  845. grp_biz.switch1.case1.chx_DW.setData(aData,null,false);
  846. ds_main_cretlist_cretrgvlist_cretrgv.setColumn(0, "dw", "1,5");
  847. break;
  848. case '5': //화토
  849. aData[0] = "2";
  850. aData[1] = "6";
  851. grp_biz.switch1.case1.chx_DW.setData(aData,null,false);
  852. ds_main_cretlist_cretrgvlist_cretrgv.setColumn(0, "dw", "2,6");
  853. break;
  854. }
  855. }
  856. function fSrchDetlrSrvInfo()
  857. {
  858. if(utlf_isNull(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid")))
  859. {
  860. sysf_messageBox("등록번호를 입력하십시오.", "E"); grp_biz.switch1.case1.group1.ipt2_pid.setFocus();
  861. return;
  862. }
  863. ds_send_reqdata.clearData();
  864. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid"));
  865. dsf_makeValue( ds_send_reqdata, "srchdd1", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd1"));
  866. dsf_makeValue( ds_send_reqdata, "srchdd2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd2"));
  867. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H");
  868. ds_main_detlrsrvlist_detlrsrvinfo.clearData();
  869. var oParam = {};
  870. oParam.id = "TRMND01103";
  871. oParam.service = "dialapp.DialPatMngt";
  872. oParam.method = "reqGetDetlRsrvInfo";
  873. oParam.inds = "req=ds_send_reqdata";
  874. oParam.outds = "ds_main_detlrsrvlist_detlrsrvinfo=detlrsrvinfo";
  875. oParam.async = false;
  876. tranf_submit(oParam);
  877. }
  878. function fCancleMulti()
  879. {
  880. var msg = sysf_messageBox("취소를", "Q003", "");
  881. if(msg == 6)
  882. {
  883. var rows = grdf_getSelectedRows(grp_biz.switch1.case1.grd_cvrt);
  884. ds_main_detlrsrvlist_detlrsrvinfo.updatecontrol = false;
  885. for(var i = 0; i < rows.length; i++)
  886. {
  887. var m_row = rows[i];
  888. dsf_makeValue(ds_main_detlrsrvlist_detlrsrvinfo, "status", "string", "d", m_row);
  889. dsf_makeValue(ds_main_detlrsrvlist_detlrsrvinfo, "copyflag", "string", "Y", m_row);
  890. }
  891. ds_main_detlrsrvlist_detlrsrvinfo.updatecontrol = true;
  892. fSaveChngio("cncl");
  893. }
  894. fSrchDetlrSrvInfo();
  895. }
  896. function fSaveChngio(cflag)
  897. {
  898. var ioflag = "";
  899. var ioflageng = "";
  900. if(cflag == "cncl")
  901. {
  902. }
  903. else if(cflag == "chng")
  904. {
  905. for(var i = 0; i < ds_main_detlrsrvlist_detlrsrvinfo.rowcount; i++)
  906. {
  907. if(ds_main_detlrsrvlist_detlrsrvinfo.getColumn(i, "status") == "u")
  908. {
  909. ioflag = ds_main_detlrsrvlist_detlrsrvinfo.getColumn(i, "ioflag");
  910. if(ioflag == "외래")
  911. {
  912. ioflageng = "O";
  913. }
  914. else if(ioflag == "입원")
  915. {
  916. ioflageng = "I";
  917. }
  918. else if(ioflag == "응급")
  919. {
  920. ioflageng = "E";
  921. }
  922. if(ioflageng == ds_main_detlrsrvlist_detlrsrvinfo.getColumn(i, "ioflagvalue"))
  923. {
  924. sysf_messageBox("같은 입원, 외래 구분으로는 전환저장을 하실수 없습니다. [" + i + "]행","E");
  925. fSrchDetlrSrvInfo(); //결과조회 함수호출
  926. return;
  927. }
  928. }
  929. }
  930. }
  931. ds_temp_rtnmsg.clearData();
  932. var oParam = {};
  933. oParam.id = "TXMND01101";
  934. oParam.service = "dialapp.DialPatMngt";
  935. oParam.method = "reqExeSaveDetlrSrvInfo";
  936. oParam.inds = "req=ds_main_detlrsrvlist_detlrsrvinfo";
  937. oParam.outds = "ds_temp_rtnmsg=rtnmsg";
  938. oParam.async = false;
  939. oParam.callback = "cf_TXMND01101";
  940. tranf_submit(oParam);
  941. }
  942. function cf_TXMND01101(sSvcId, nErrorCode, sErrorMsg)
  943. {
  944. if(nErrorCode < 0)
  945. {
  946. return;
  947. }
  948. else
  949. {
  950. if(ds_temp_rtnmsg.getColumn(0, "rtnmsg") == "X")
  951. {
  952. sysf_messageBox("인공신장실 외래 지정의가 존재하지 않아 외래전환을 ","E001","인공신장실 외래 지정의를 확인 후 다시 시도하십시오.");
  953. }
  954. if(ds_temp_rtnmsg.getColumn(0, "rtnmsg") == "Y")
  955. {
  956. sysf_messageBox("예약취소건중 혈액투석기록한것이 존재하여 예약취소를 ","E001","확인 후 다시 시도하십시오.");
  957. }
  958. fCreateCalendar(); //달력정보 조회
  959. fSrchDetlrSrvInfo(); //결과조회 함수호출
  960. }
  961. }
  962. function fSrchDialSeatList()
  963. {
  964. ds_send_reqdata.clearData();
  965. ds_send_reqdata.addRow();
  966. dsf_makeValue( ds_send_reqdata, "srchdd", "string", ds_main_condition.getColumn(0, "srchdd"));
  967. dsf_makeValue( ds_send_reqdata, "srchdd_1", "string", ds_main_disposdialseatlist_getdisposdialcalinfo.getColumn(1, "basedd"));
  968. dsf_makeValue( ds_send_reqdata, "srchdd_7", "string", ds_main_disposdialseatlist_getdisposdialcalinfo.getColumn(7, "basedd"));
  969. dsf_makeValue( ds_send_reqdata, "shiftflag", "string", ds_main_condition.getColumn(0, "shiftflag"));
  970. ds_main_srchdialseatlist_srchdialseatinfo.clearData();
  971. ds_main_srchdialseatlist_optinfo.clearData();
  972. var oParam = {};
  973. oParam.id = "TRMND01112";
  974. oParam.service = "dialapp.DialPatMngt";
  975. oParam.method = "reqGetDialSeatList";
  976. oParam.inds = "req=ds_send_reqdata";
  977. oParam.outds = "ds_main_srchdialseatlist_srchdialseatinfo=srchdialseatinfo ds_main_srchdialseatlist_optinfo=optinfo";
  978. oParam.async = false;
  979. tranf_submit(oParam);
  980. }
  981. function fChgbedPop(e)
  982. {
  983. popmenu4.trackPopup(e.screenX,e.screenY);
  984. }
  985. function fChgbed()
  986. {
  987. var xpos = this.width;
  988. var ypos = this.height;
  989. var iRow = ds_main_dialseatlist_dialseatinfo.rowposition;
  990. var iCol = grp_biz.switch1.case1.grd_dialseat.currentcol;
  991. var postfix = parseInt(iCol / 5) + 1;
  992. var pid = ds_main_dialseatlist_dialseatinfo.getColumn(iRow, "pid_"+postfix);
  993. var hngnm = ds_main_dialseatlist_dialseatinfo.getColumn(iRow, "hngnm_" + postfix); //자리 수정 할 환자의 이름
  994. var bedno = ds_main_dialseatlist_dialseatinfo.getColumn(iRow, "dialseatflag_" + postfix); //자리 수정 할 환자의 bed //bedno
  995. var hdcretno = ds_main_dialseatlist_dialseatinfo.getColumn(iRow, "hdcretno_" + postfix); //자리 수정 할 환자의 hdcretno-20091218-kys
  996. ds_temp_bedchnginfo.clearData();
  997. dsf_makeValue( ds_temp_bedchnginfo, "pid", "string", pid);
  998. dsf_makeValue( ds_temp_bedchnginfo, "hngnm", "string", hngnm);
  999. dsf_makeValue( ds_temp_bedchnginfo, "bedno", "string", bedno);
  1000. dsf_makeValue( ds_temp_bedchnginfo, "selecteddd", "string", ds_main.getColumn(0, "selecteddd"));
  1001. dsf_makeValue( ds_temp_bedchnginfo, "selectedshift", "string", ds_main.getColumn(0, "selectedshift"));
  1002. var objArg = new Object();
  1003. objArg.arg_ds_main_temp_bedchnginfo = ds_temp_bedchnginfo;
  1004. frmf_modal("SMMND03500", "SMMND03500", objArg, "", "1", xpos-300, ypos, "", "", "", "", "", "M");
  1005. fCreateCalendar();
  1006. fSrchDialseat();
  1007. fSrchRsrvInfo();
  1008. fChngBedInit();
  1009. }
  1010. function fChngioPop(e)
  1011. {
  1012. iRow = ds_main_detlrsrvlist_detlrsrvinfo.rowposition;
  1013. var ParamIoFlag = ds_main_detlrsrvlist_detlrsrvinfo.getColumn(iRow, "ioflag");
  1014. if("응급" == ParamIoFlag )
  1015. {
  1016. popmenu1.trackPopup(e.screenX, e.screenY);
  1017. }
  1018. else if("입원" == ParamIoFlag)
  1019. {
  1020. popmenu2.trackPopup(e.screenX, e.screenY);
  1021. }
  1022. else if("외래" == ParamIoFlag)
  1023. {
  1024. popmenu3.trackPopup(e.screenX, e.screenY);
  1025. }
  1026. }
  1027. function fChngioER_OUT()
  1028. {
  1029. fChngio("응급", "외래");
  1030. }
  1031. function fChngioIN_ER()
  1032. {
  1033. fChngio("입원", "응급");
  1034. }
  1035. function fChngioIN_OUT()
  1036. {
  1037. fChngio("입원", "외래");
  1038. }
  1039. function fChngioOUT_IN()
  1040. {
  1041. fChngio("외래", "입원");
  1042. }
  1043. function fChngioOUT_ER()
  1044. {
  1045. fChngio("외래", "응급");
  1046. }
  1047. function fChngioER_IN()
  1048. {
  1049. fChngio("응급", "입원");
  1050. }
  1051. function fChngio(param1, param2)
  1052. {
  1053. var iRow = ds_main_detlrsrvlist_detlrsrvinfo.rowposition;
  1054. var sOrddd_Old = "";
  1055. var sCretno_Old = "";
  1056. var sGenrflagcd_Old = "";
  1057. var sIoFlag = param2;
  1058. var sParamPid = ds_main_detlrsrvlist_detlrsrvinfo.getColumn(iRow, "pid");
  1059. var sParamRsrvdd = ds_main_detlrsrvlist_detlrsrvinfo.getColumn(iRow, "rsrvdd");
  1060. var sParamShiftFlag = ds_main_detlrsrvlist_detlrsrvinfo.getColumn(iRow, "shiftflag");
  1061. if(sParamShiftFlag == "5")
  1062. {
  1063. sysf_messageBox("응급Shift의 경우 예약취소를 하시기 바랍니다.", "I", "") ;
  1064. return;
  1065. }
  1066. if(param2 == "외래" || param2 == "-" )
  1067. {
  1068. frmf_setParameter("preDiagCond", "InjRoom▦"+sParamPid+"▦"+sParamRsrvdd+"▦▦▦ds");
  1069. fFindDiagInfo();
  1070. var sParamArr = frmf_getParameter("preDiagResult").split("▦");
  1071. sCretno_Old = sParamArr[3];
  1072. sGenrflagcd_Old = sParamArr[4];
  1073. sIoFlag = "외래";
  1074. if(utlf_isNull(sParamArr[1]) && utlf_isNull(sParamArr[2]))
  1075. {
  1076. //sysf_messageBox("가접수 생성시 진단 Copy할 수진 정보가 선택되지 않았습니다.", "I");
  1077. //return;
  1078. }
  1079. else
  1080. {
  1081. if(sGenrflagcd_Old == "O")
  1082. {
  1083. sOrddd_Old = sParamArr[1];
  1084. }
  1085. else
  1086. {
  1087. sOrddd_Old = sParamArr[2];
  1088. }
  1089. }
  1090. }
  1091. if(ds_main_detlrsrvlist_detlrsrvinfo.getColumn(iRow, "rsrvdd") >= sRtn )
  1092. {
  1093. ds_main_detlrsrvlist_detlrsrvinfo.updatecontrol = false;
  1094. if(param2 == "외래" )
  1095. {
  1096. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "ioflag", param2 );
  1097. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "status", "u");
  1098. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "orddd_old", sOrddd_Old ); //과거진료일자
  1099. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "cretno_old", sCretno_Old ); //과거생성번호
  1100. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "genrflagcd_old", sGenrflagcd_Old) ; //과거외래입원구분
  1101. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "orddeptcd_old", ""); //과거진료과
  1102. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "copyflag", "Y" ); //진단처리여부
  1103. ds_main_detlrsrvlist_detlrsrvinfo.setRowType(iRow, Dataset.ROWTYPE_UPDATE);
  1104. }
  1105. else
  1106. {
  1107. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow,"status", "u");
  1108. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "ioflag", param2);
  1109. ds_main_detlrsrvlist_detlrsrvinfo.setColumn(iRow, "copyflag", "Y");
  1110. }
  1111. ds_main_detlrsrvlist_detlrsrvinfo.updatecontrol = true;
  1112. }
  1113. else
  1114. {
  1115. sysf_messageBox("과거 예약정보는 변경 할 수", "E001", "") ;
  1116. }
  1117. }
  1118. function fSelGetDate()
  1119. {
  1120. var fromDate = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd1"); // 예약시작일자
  1121. var endDate = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd2"); // 예약종료일자
  1122. var dwValues = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dw");
  1123. var dwValue = String(dwValues).split(",");
  1124. var sDate = fromDate;
  1125. ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate.clearData();
  1126. for(var i = 0; i <= utlf_getDateInterval(fromDate, endDate); i++)
  1127. {
  1128. var getDw = (sDate.toDate()).getDayOfWeek("N");
  1129. for(var j = 0; j < dwValue.length; j++)
  1130. {
  1131. if(getDw == dwValue[j])
  1132. {
  1133. var d = ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate.addRow();
  1134. dsf_makeValue(ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate, "savedate", "string", sDate, d);
  1135. }
  1136. }
  1137. sDate = ((sDate.toDate("YYYYMMDD")).getAddDate(1, "D")).getDateFormat();
  1138. }
  1139. }
  1140. function fCretRsrvcnts()
  1141. {
  1142. var dw = String(grp_biz.switch1.case1.chx_DW.getData());
  1143. var rsrvcnts="";
  1144. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvcnts","");
  1145. for(var i=0;i<7;i++)
  1146. {
  1147. if(!utlf_isNull(dw.substr(i,1)))
  1148. {
  1149. rsrvcnts = dw.substr(i,1);
  1150. switch (rsrvcnts)
  1151. {
  1152. case '1':
  1153. rsrvcnts = "월";
  1154. break;
  1155. case '2':
  1156. rsrvcnts = "화";
  1157. break;
  1158. case '3':
  1159. rsrvcnts = "수";
  1160. break;
  1161. case '4':
  1162. rsrvcnts = "목";
  1163. break;
  1164. case '5':
  1165. rsrvcnts = "금";
  1166. break;
  1167. case '6':
  1168. rsrvcnts = "토";
  1169. break;
  1170. }
  1171. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "rsrvcnts", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvcnts") + rsrvcnts);
  1172. }
  1173. }
  1174. }
  1175. function fChkDupl()
  1176. {
  1177. var xCretPath = ds_main_cretlist_cretrgvlist_cretrgv;
  1178. if(utlf_isNull(xCretPath.getColumn(0, "pid")))
  1179. {
  1180. sysf_messageBox("환자의 등록번호를 입력하십시오.", "E"); grp_biz.switch1.case1.ipt_pid.setFocus(); return;
  1181. }
  1182. else if(utlf_isNull(xCretPath.getColumn(0, "rsrvdd1"))|| utlf_isNull(xCretPath.getColumn(0, "rsrvdd2")))
  1183. {
  1184. sysf_messageBox("예약범위를 입력하십시오.", "E"); grp_biz.switch1.case1.rdo_flag.setFocus(); return;
  1185. }
  1186. else if(utlf_isNull(xCretPath.getColumn(0, "shiftflag")))
  1187. {
  1188. sysf_messageBox("Shift정보를 입력하십시오.", "E"); grp_biz.switch1.case1.rdo_shift.setFocus(); return;
  1189. }
  1190. else if ((xCretPath.getColumn(0, "shiftflag") != "1") && (xCretPath.getColumn(0, "shiftflag") != "2") && (xCretPath.getColumn(0, "shiftflag") != "3") && (xCretPath.getColumn(0, "shiftflag") != "5") && (xCretPath.getColumn(0, "shiftflag") != "7"))
  1191. {
  1192. sysf_messageBox("Shift정보를 입력하십시오.", "E"); grp_biz.switch1.case1.rdo_shift.setFocus(); return;
  1193. }
  1194. else if((xCretPath.getColumn(0, "rsrvopt") != "3") && (utlf_isNull(xCretPath.getColumn(0, "dw"))) && (utlf_isNull(xCretPath.getColumn(0, "dwmult"))))
  1195. {
  1196. sysf_messageBox("요일정보를 입력하십시오.", "E"); grp_biz.switch1.case1.chx_DW.setFocus(); return;
  1197. }
  1198. else if(utlf_isNull(xCretPath.getColumn(0, "hngnm")))
  1199. {
  1200. sysf_messageBox("환자기본 정보 조회 수행을 하지", "E007", "(등록번호 입력 후 엔터키를 누르십시오.)"); grp_biz.switch1.case1.ipt_pid.setFocus(); return;
  1201. }
  1202. var sChkrsrvdd = "";
  1203. var sRsrvddCnt = ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate.rowcount;
  1204. if(sRsrvddCnt < 1)
  1205. {
  1206. sysf_messageBox("예약범위를 입력하십시오.", "E");
  1207. grp_biz.switch1.case1.rdo_flag.setFocus(); return;
  1208. }
  1209. for(var i = 0 ; i < sRsrvddCnt ; i ++)
  1210. {
  1211. if(utlf_isNull(sChkrsrvdd))
  1212. {
  1213. sChkrsrvdd = ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate.getColumn( i, "savedate");
  1214. }
  1215. else
  1216. {
  1217. sChkrsrvdd += "," + ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate.getColumn( i, "savedate");
  1218. }
  1219. }
  1220. if(utlf_isNull(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialseatflag")))
  1221. {
  1222. fCreatSeat(sChkrsrvdd); //자동 Bed생성
  1223. if(utlf_isNull(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialseatflag")))
  1224. {
  1225. sysf_messageBox("자동지정할 Bed가 존재하지 않습니다.","E");
  1226. return;
  1227. }
  1228. }
  1229. if(!utlf_isNull(grp_biz.switch1.case1.ipt_dialseatflag.value))
  1230. {
  1231. var retn = fExistBed();
  1232. if(retn == false)
  1233. {
  1234. return false;
  1235. }
  1236. }
  1237. ds_send_reqdata.clearData();
  1238. dsf_makeValue( ds_send_reqdata, "pid", "string", xCretPath.getColumn(0, "pid" ));
  1239. dsf_makeValue( ds_send_reqdata, "shiftflag", "string", xCretPath.getColumn(0, "shiftflag" ));
  1240. dsf_makeValue( ds_send_reqdata, "dialseatflag", "string", xCretPath.getColumn(0, "dialseatflag"));
  1241. dsf_makeValue( ds_send_reqdata, "rsrvdd1", "string", xCretPath.getColumn(0, "rsrvdd1" ));
  1242. dsf_makeValue( ds_send_reqdata, "rsrvdd2", "string", xCretPath.getColumn(0, "rsrvdd2" ));
  1243. dsf_makeValue( ds_send_reqdata, "dialseatflag", "string", xCretPath.getColumn(0, "dialseatflag"));
  1244. dsf_makeValue( ds_send_reqdata, "rsrvcnts", "string", xCretPath.getColumn(0, "rsrvcnts").replace(",", " "));
  1245. dsf_makeValue( ds_send_reqdata, "dw", "string", xCretPath.getColumn(0, "dw").replace(",", " "));
  1246. dsf_makeValue( ds_send_reqdata, "chkrsrvdd", "string", sChkrsrvdd);
  1247. //ds_main_chklist.clearData();
  1248. ds_main_chklist_chkinfo.clearData(); //20180723 재정의
  1249. var oParam = {};
  1250. oParam.id = "TRMND01101";
  1251. oParam.service = "dialapp.DialPatMngt";
  1252. oParam.method = "getChkDupl";
  1253. oParam.inds = "req=ds_send_reqdata";
  1254. oParam.outds = "ds_main_chklist_chkinfo=chkinfo";
  1255. oParam.async = false;
  1256. tranf_submit(oParam);
  1257. if(utlf_isNull(ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialseatflag")))
  1258. {
  1259. if(ds_main_chklist_chkinfo.getColumn(0, "existdialseat") == "N")
  1260. {
  1261. sysf_messageBox("[" + xCretPath.getColumn(0, "dialseatflag") + "]는 존재하지 않는 Bed입니다.", "E", "Bed정보를 확인하십시오.");
  1262. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialseatflag", "string", "");
  1263. //ds_main_chklist.clearData();
  1264. ds_main_chklist_chkinfo.clearData();
  1265. return;
  1266. }
  1267. }
  1268. if(!utlf_isNull(ds_main_chklist_chkinfo.getColumn( 0, "shitfchk")) && !utlf_isNull(ds_main_chklist_chkinfo.getColumn( 0, "bedchk")))
  1269. {
  1270. sysf_messageBox("Bed정보가", "E006", "Bed정보를 다시 선택해주십시오.");
  1271. xCretPath.setColumn(0, "dialseatflag", "");
  1272. //ds_main_chklist.clearData();
  1273. ds_main_chklist_chkinfo.clearData();
  1274. return;
  1275. }
  1276. if(utlf_isNull(xCretPath.getColumn(0, "dialseatflag")))
  1277. {
  1278. sysf_messageBox("Bed정보를", "C001", "");
  1279. return;
  1280. }
  1281. var memo = "";
  1282. var dw;
  1283. for(var j = 1; j < 7; j++)
  1284. {
  1285. if(!utlf_isNull(grp_biz.switch1.case1.chx_DW.value.substr(i,1)))
  1286. {
  1287. dw = parseInt(grp_biz.switch1.case1.chx_DW.value.substr(i,1));
  1288. memo = memo + dw;
  1289. }
  1290. }
  1291. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "memo", memo); //요일 정보 저장하기
  1292. fCreateRsv(); //개인별 예약현황 팝업
  1293. }
  1294. function fCreateRsv()
  1295. {
  1296. var objScreenSize = system.getScreenRect("1");
  1297. var xpos = objScreenSize.left;
  1298. var ypos = objScreenSize.top;
  1299. dsf_makeValue( ds_main_cretlist_cretrgvlist_cretrgv, "dialseatflag", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialseatflag"));
  1300. var objArg = new Object();
  1301. objArg.arg_ds_temp_savedata = ds_main_cretlist_cretrgvlist_cretrgv;
  1302. objArg.arg_ds_temp_savedata_getdatelist_getdate = ds_main_cretlist_cretrgvlist_cretrgv_getdatelist_getdate;
  1303. frmf_modal("SMMND02700", "SMMND02700", objArg, "", "1", xpos-300, ypos, "", "", "", "", "", "M");
  1304. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "pid", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "pid"));
  1305. fCreateCalendar(); //예약현황 Calendar 새로고침
  1306. //fSrchPat2();
  1307. fSrchDetlrSrvInfo(); // 상세 예약정보 조회
  1308. fSrchDialseat(); //선택된 셀의 일자에 해당하는 자리관리 테이블 조회
  1309. }
  1310. function fInitSeatInfo()
  1311. {
  1312. grp_biz.switch1.case1.opt_bedchk.value = ""; //opt_bedchk 초기화
  1313. grp_biz.switch1.case1.ipt_dialseatflag.value = "";
  1314. grp_biz.switch1.case1.ipt_dialseatflag.enable = true;
  1315. }
  1316. function fSelCells()
  1317. {
  1318. iRow = ds_main_cal_weeks.currentrow; //.row;
  1319. iCol = grp_biz.switch1.case1.grd_calendar.currentcol; //col;
  1320. if(!utlf_isNull(ds_main_cal_weeks.getColumn(iRow, iCol)))
  1321. {
  1322. var dd;
  1323. var dataarray = ds_main_cal_weeks.getColumn(iRow,iCol).split("\n");
  1324. if (dataarray[0].substr(0,2)< 10 )
  1325. {
  1326. dd = "0" + dataarray[0].substr(0,1);
  1327. }
  1328. else
  1329. {
  1330. dd = dataarray[0].substr(0,2);
  1331. }
  1332. dd = ds_main.getColumn(0, "year") + ds_main.getColumn(0, "month") + dd;
  1333. dsf_makeValue( ds_main, "selecteddd", "string", dd);
  1334. grp_biz.switch1.case1.opt_selecteddd.value = ds_main.getColumn(0, "year") + "-" + ds_main.getColumn(0, "month") + "-" + ds_main.getColumn(0, "selecteddd").substr(6,2); //자리관리 테이블의 일자를 표시
  1335. dsf_makeValue( ds_main_rsrvlist_rsrvsrch, "srchdd", "string", ds_main.getColumn(0, "selecteddd"));
  1336. fSrchDialseat(); //선택된 셀의 일자에 해당하는 자리관리 테이블 조회
  1337. fSrchRsrvInfo(); //선택된 셀의 일자에 해당하는 예약환자 리스트 조회
  1338. }
  1339. else
  1340. {
  1341. sysf_messageBox("해당일자를 정확하게", "C002", "");
  1342. ds_main_dialseatlist_dialseatinfo.clearData(); // 자리관리 테이블 초기화
  1343. ds_main_rsrvlist_rsrvinfo.clearData(); // 예약환자 리스트 초기화
  1344. ds_main.setColumn( 0, "selectedshift", "1");
  1345. ds_main.setColumn( 0, "selecteddd", "");
  1346. ds_main_rsrvlist_rsrvsrch.setColumn( 0, "srchdd" , "");
  1347. ds_main_rsrvlist_rsrvsrch.setColumn( 0, "shiftflag", "");
  1348. grp_biz.switch1.case1.opt_selecteddd.value = "";
  1349. return;
  1350. }
  1351. }
  1352. function fAppViral()
  1353. {
  1354. setGridbackgroundColor(grp_biz.switch1.case2.grd_listsrch, "white");
  1355. lf_setColor2();
  1356. var srchdd = ds_main_condition.getColumn(0, "srchdd"); //grp_biz.switch1.case2.group2.ipt_srchdd.value; //조회일자
  1357. dsf_makeValue( ds_main_srchdialseatlist_optinfo, "srchdd", "string", srchdd.substr(0,4)+"-"+srchdd.substr(4,2)+"-"+srchdd.substr(6,2)+ " ("+(srchdd.toDate()).getDayOfWeek("K")+")");
  1358. dsf_makeValue( ds_main_srchdialseatlist_optinfo, "shiftflag", "string", ds_main_condition.getColumn(0, "shiftflag"));
  1359. chkVitalClick();
  1360. }
  1361. function fCreatSeat(pFlag)
  1362. {
  1363. var dialkindcd = ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "dialkindcd");
  1364. if(dialkindcd == "-")
  1365. {
  1366. dialkindcd = "";
  1367. }
  1368. ds_send_reqdata.clearData();
  1369. ds_send_reqdata.addRow();
  1370. dsf_makeValue( ds_send_reqdata, "rsrvdd1", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd1"));
  1371. dsf_makeValue( ds_send_reqdata, "rsrvdd2", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "rsrvdd2"));
  1372. dsf_makeValue( ds_send_reqdata, "shiftflag", "string", ds_main_cretlist_cretrgvlist_cretrgv.getColumn(0, "shiftflag"));
  1373. dsf_makeValue( ds_send_reqdata, "dialkindcd", "string", dialkindcd);
  1374. dsf_makeValue( ds_send_reqdata, "chkrsrvdd", "string", pFlag);
  1375. ds_main_cretlist_getcrelist_getcreinfo_dialseatflag.clearData();
  1376. var oParam = {};
  1377. oParam.id = "TRMND01110";
  1378. oParam.service = "dialapp.DialPatMngt";
  1379. oParam.method = "reqGetBed";
  1380. oParam.inds = "req=ds_send_reqdata";
  1381. oParam.outds = "ds_main_cretlist_getcrelist_getcreinfo=getcreinfo";
  1382. oParam.async = false;
  1383. tranf_submit(oParam);
  1384. ds_main_cretlist_cretrgvlist_cretrgv.setColumn( 0, "dialseatflag", ds_main_cretlist_getcrelist_getcreinfo.getColumn(0, "dialseatflag"));
  1385. }
  1386. function fFindDiagInfo()
  1387. {
  1388. var sParam = frmf_getParameter("preDiagCond");
  1389. if(utlf_isNull(sParam) || sParam == "" || sParam == "undefined")
  1390. {
  1391. alert("진단명을 생성할 환자 정보가 존재하지 않습니다.");
  1392. return;
  1393. }
  1394. frmf_setParameter("preDiagCond", "");
  1395. var sParamArr = sParam.split("▦");
  1396. var sJobGubn = sParamArr[0];
  1397. var sPid = sParamArr[1];
  1398. var sOrddd = sParamArr[2];
  1399. var sOrddeptcd = sParamArr[3];
  1400. var sOrddrid = sParamArr[4];
  1401. var sResultXpath = sParamArr[5];
  1402. if(sPid == "" || sPid == "undefined" || utlf_isNull(sPid) || sOrddd == "" || sOrddd == "undefined" || utlf_isNull(sOrddd))
  1403. {
  1404. return;
  1405. }
  1406. var sSubmitFlag = "";
  1407. switch(sJobGubn)
  1408. {
  1409. case "HomeCare" :
  1410. sSubmitFlag = "HomeCare";
  1411. break;
  1412. case "InjRoom" :
  1413. sSubmitFlag = "InjRoom";
  1414. break;
  1415. default :
  1416. sSubmitFlag = "Etc";
  1417. break;
  1418. }
  1419. ds_send_diaginfo.clearData();
  1420. dsf_makeValue(ds_send_diaginfo, "pid", "string", sPid, 0);
  1421. dsf_makeValue(ds_send_diaginfo, "orddd", "string", sOrddd, 0);
  1422. dsf_makeValue(ds_send_diaginfo, "orddeptcd", "string", sOrddeptcd, 0);
  1423. dsf_makeValue(ds_send_diaginfo, "orddrid", "string", sOrddrid, 0);
  1424. dsf_makeValue(ds_send_diaginfo, "jobgubn", "string", sSubmitFlag, 0);
  1425. ds_diaginfo_ordinfo.clearData();
  1426. var oParam = {};
  1427. oParam.id = "TRMNC00999";
  1428. oParam.service = "homecareapp.HomeCare";
  1429. oParam.method = "reqGetComDiagFindJob";
  1430. oParam.inds = "req=ds_send_diaginfo";
  1431. oParam.outds = "ds_diaginfo_ordinfo=ordinfo";
  1432. oParam.async = false;
  1433. oParam.callback = "cf_TRMNC00999";
  1434. tranf_submit(oParam);
  1435. if(arErrorCode.pop("TRMNC00999") > -1)
  1436. {
  1437. if(utlf_isNull(ds_diaginfo_ordinfo.getColumn(0, "pid")))
  1438. {
  1439. var param = sPid+"▦"+sOrddd+"▦"+sOrddeptcd+"▦"+sOrddrid;
  1440. frmf_setParameter("SPMNC00900_searchcond", param);
  1441. frmf_modal("SPMNC00900", "SPMNC00900", "", "", "", "", "", "", "", "", "", "", "M");
  1442. return;
  1443. }
  1444. else
  1445. {
  1446. var sPid = ds_diaginfo_ordinfo.getColumn(0, "pid");
  1447. var sOrddd = ds_diaginfo_ordinfo.getColumn(0, "orddd");
  1448. var sIndd = ds_diaginfo_ordinfo.getColumn(0, "indd");
  1449. var sCretno = ds_diaginfo_ordinfo.getColumn(0, "cretno");
  1450. var sGenrflagcd = ds_diaginfo_ordinfo.getColumn(0, "genrflagcd");
  1451. var sOrddeptcd = ds_diaginfo_ordinfo.getColumn(0, "orddeptcd");
  1452. if(utlf_isNull(sGenrflagcd))
  1453. {
  1454. sGenrflagcd = "O";
  1455. }
  1456. if(!utlf_isNull(sPid))
  1457. {
  1458. frmf_setParameter("preDiagResult", sPid+"▦"+sOrddd+"▦"+sIndd+"▦"+sCretno+"▦"+sGenrflagcd +"▦"+sOrddeptcd);
  1459. }
  1460. else
  1461. {
  1462. frmf_setParameter("preDiagResult", "");
  1463. return;
  1464. }
  1465. }
  1466. }
  1467. else
  1468. {
  1469. alert("수진이력 조회시 서버 오류가 발생되었습니다. 다시 조회해 주시기 바랍니다.");
  1470. frmf_setParameter("preDiagResult", "");
  1471. return;
  1472. }
  1473. }
  1474. function cf_TRMNC00999(sSvcId, nErrorCode, sErrorMsg)
  1475. {
  1476. arErrorCode.push(sSvcId, nErrorCode);
  1477. if(nErrorCode < 0) return;
  1478. }]]></Script>