SMMNV15000.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. /* ---------------------------------------------------------------------
  2. 인공신장실 대기 환자 안내 전광판 (SMMNV15000_인공신장실전광판(40).xrw ..xfm - JScript )
  3. - Modified by 안도영 (2010-05-18)
  4. ----------------------------------------------------------------------
  5. - Version :
  6. 1) : Ver.1.00.01
  7. : Create By YeoWon Lim
  8. : 2015.05.02
  9. ----------------------------------------------------------------------*/
  10. var submitIntervalTime = 600 * 1000 ; // 인공신장실 요구사항 -> 10분(600초)
  11. // 2010-05-29 안지은 itc 샘, by 안도영
  12. //----------------(20080930)
  13. //var showGrdTime = 7 * 1000 ; // 7초
  14. //var showMsgTime = 10 * 1000 ; // 10초
  15. var showGrdTime = 4 * 1000 ; // 7초
  16. var showMsgTime = 10 * 1000 ; // 10초
  17. //----------------(20080930)
  18. var clockID ; // 하단줄의 시간 interval
  19. var grdintervalID ; // 그리드 조회 interval
  20. var grdintervalIDTop ; // 그리드 상단 올리기 interval
  21. var grdintervalIDDelay ; // 지연
  22. var msgintervalID ; // 안내사항 조회 interval
  23. var msgintervalIDTop ; // msg 상단 올리기 interval
  24. var msgintervalIDDelay ; // 지연
  25. var curShiftFlag = ""; // 조회시점의 shfit 구분
  26. var curShiftFlag2nd = ""; // 자리배치도를 위한 2차 shiftflag 변수
  27. /**
  28. * @group :
  29. * @ver : 2008.02.13
  30. * @by : 임여원
  31. * @---------------------------------------------------
  32. * @type : function
  33. * @access : public
  34. * @desc : 수술 대기 환자 조회 화면 초기화 작업
  35. * @param :
  36. * @param :
  37. * @return :
  38. * @---------------------------------------------------
  39. function fInitializeop(){
  40. model.removeNodeset("/root/main/oppatlist/oppatinfo");
  41. model.removeNodeset("/root/main/msglist/msginfo");
  42. model.setValue("/root/main/cond/oppartrtndd", getCurrentDate());
  43. model.makeValue("/root/main/cond/oppartrtnflag","O"); //수술 대기 환자 조회 화면 플래그 O셋팅
  44. model.refresh();
  45. fSetGrdTimer();
  46. setWindowSize(); //(20080130) 테스트중
  47. model.setFocus("lbl_header");
  48. }
  49. */
  50. /**
  51. * @group :
  52. * @ver : 2009.02.13
  53. * @by : 임여원
  54. * @---------------------------------------------------
  55. * @type : function
  56. * @access : public
  57. * @desc : 분만 대기 환자 조회 화면 초기화 작업
  58. * @param :
  59. * @param :
  60. * @return :
  61. * @---------------------------------------------------
  62. */
  63. function fInitialize(){
  64. /*
  65. model.removeNodeset("/root/main/oppatlist/oppatinfo");
  66. model.removeNodeset("/root/main/msglist/msginfo");
  67. model.setValue("/root/main/cond/oppartrtndd", getCurrentDate());
  68. model.makeValue("/root/main/cond/oppartrtnflag","P"); //분만 대기 환자 조회 화면 플래그 O셋팅
  69. model.refresh();
  70. fSetGrdTimer();
  71. setWindowSize(); //(20080130) 테스트중
  72. */
  73. //var noticeMsg = "Bed 확인후 인공신장실로 들어오시기 바랍니다.";
  74. //model.makeValue("/root/init/msginfo", noticeMsg);
  75. //textarea1.refresh();
  76. grd_waitpatlist.dataHeight = 28; // 기본 40명 리스트 보이기 위한 행높이 조절
  77. grd_dialseat.dataHeight = 37.5; // 기본 공간 모두 사용하기 위한 행높이 조절
  78. fGetStdData(); // 기준자료 및 대기리스트, 자리배치 조회
  79. fSetGrdTimer(); // 타이머 설정
  80. model.setFocus("lbl_header");
  81. }
  82. /*
  83. //--------------------------
  84. // 그리드 top row 제거 실행되는 함수
  85. //--------------------------
  86. function fshowGrdTime() {
  87. model.removenode("/root/main/oppatlist/oppatinfo[1]") ;
  88. setGridColor() ;
  89. model.refresh() ;
  90. }
  91. //--------------------------
  92. // Msg display 실행되는 함수
  93. //--------------------------
  94. function fshowMsgTime() {
  95. model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;
  96. model.removenode("/root/main/msglist/msginfo[1]") ;
  97. model.refresh() ;
  98. }
  99. */
  100. /**
  101. * @group :
  102. * @ver : 2007.10.09
  103. * @by : 문창곤
  104. * @---------------------------------------------------
  105. * @type : function
  106. * @access : public
  107. * @desc : 지정된 시간간격마다 그리드데이터 조회(화면 호출시 처음만 호출된다)
  108. * @param :
  109. * @param :
  110. * @return :
  111. * @---------------------------------------------------
  112. */
  113. function fSetGrdTimer(){
  114. //시간은 1초 단위로 갱신: 무한루프=> 0.1로 변경
  115. //clockID = window.setInterval("clock();", 1000);
  116. clockID = window.setInterval("clock();", 100); //0.1초
  117. //인공신장실 요구사항 -> 1분(60초)
  118. msgintervalID = window.setInterval("fGetStdData();", submitIntervalTime); // 1분
  119. }
  120. /**
  121. * @group :
  122. * @ver : 2007.10.09
  123. * @by : 문창곤
  124. * @---------------------------------------------------
  125. * @type : function
  126. * @access : public
  127. * @desc : DataTime 조회.
  128. * @param :
  129. * @param :
  130. * @return :
  131. * @---------------------------------------------------
  132. */
  133. function clock() {
  134. var datetime = getCurrentDateTime().substring(0, 4) + "년 "
  135. + getCurrentDateTime().substring(4, 6) + "월 "
  136. + getCurrentDateTime().substring(6, 8) + "일 "
  137. + getCurrentDate().toDate().getDayOfWeek("K") + "요일 "
  138. + getCurrentDateTime().substring(8, 11) + "시 "
  139. + getCurrentDateTime().substring(11, 13) + "분 "
  140. + getCurrentDateTime().substring(13, 15) + "초" ;
  141. model.setValue("/root/hidden/time", datetime) ;
  142. caption24.refresh();
  143. //model.refresh();
  144. }
  145. /**
  146. * @group :
  147. * @ver : 2007.10.09
  148. * @by : 문창곤
  149. * @---------------------------------------------------
  150. * @type : function
  151. * @access : public
  152. * @desc : 수술환자 보호자 호출메시지 조회.
  153. * @param :
  154. * @param :
  155. * @return :
  156. * @---------------------------------------------------
  157. function fGetCallMessage(){
  158. var sPath = "/root/main/msglist";
  159. if(getNodesetCount(sPath + "/msginfo") == 0) {
  160. //model.removeNodeset("/root/main/msglist/msginfo") ;
  161. model.removeNodeset(sPath) ;
  162. model.refresh();
  163. model.copyNode("/root/send/reqdata", "/root/main/cond") ;
  164. setErrorOff();
  165. //if ( submit("TRMNP06201",false) == true) {
  166. if ( submit("TRMNV02002",false) == true) {
  167. model.setValue("/root/init/msgStatus","msg:정상");
  168. model.refresh();
  169. model.setValue("/root/init/msgStatus1", "조회" );
  170. model.refresh();
  171. var msgCnt = getNodesetCount(sPath + "/msginfo") ;
  172. if (msgCnt > 0) {
  173. // var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  174. // + 'model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;'
  175. // + 'model.removenode("/root/main/msglist/msginfo[1]") ;'
  176. // + 'model.refresh() ;', showMsgTime) ;
  177. msgintervalIDTop = window.setInterval("fGetCallMessageSub1()", showMsgTime); //10초
  178. }else{
  179. model.setValue("/root/hidden/callmsg", "") ;
  180. tar_callmsg.refresh();
  181. }
  182. } else {
  183. model.setValue("/root/init/msgStatus","msg:장애");
  184. model.removeNodeset(sPath);
  185. model.refresh();
  186. }
  187. }
  188. }
  189. */
  190. //-------------------------------
  191. // 수술환자 보호자 호출메시지 조회.
  192. //-------------------------------
  193. /*
  194. function fGetCallMessageSub1() {
  195. // var timerID = window.setinterval("", 5000) ; //시간지연
  196. model.setValue("/root/hidden/callmsg", model.getValue("/root/main/msglist/msginfo[1]/callmsg")) ;
  197. model.removenode("/root/main/msglist/msginfo[1]") ;
  198. model.setValue("/root/init/msgStatus1", getNodesetCount("/root/main/msglist/msginfo") );
  199. model.refresh();
  200. if ( getNodesetCount("/root/main/msglist/msginfo") == 0) {
  201. model.setValue("/root/init/msgStatus1", "E:"+msgintervalIDTop );
  202. model.refresh() ;
  203. window.clearInterval(msgintervalIDTop);
  204. }
  205. }
  206. */
  207. /**
  208. * @group :
  209. * @ver : 2007.10.09
  210. * @by : 문창곤
  211. * @---------------------------------------------------
  212. * @type : function
  213. * @access : public
  214. * @desc : 수술 및 분만환자 조회.[조회버튼클릭]
  215. * @param :
  216. * @param :
  217. * @return :
  218. * @---------------------------------------------------
  219. function fGetOpPartrtnPatList(){
  220. var sPath = "/root/main/oppatlist";
  221. if(getNodesetCount(sPath + "/oppatinfo") == 0)
  222. {
  223. //(20080211) oppatinfo까지 된것을 막음)
  224. model.removeNodeset(sPath);
  225. model.refresh();
  226. model.copyNode("/root/send/reqdata", "/root/main/cond");
  227. setErrorOff();
  228. if (submit("TRMNP06200",false) == true) {
  229. model.setValue("/root/init/grdStatus","grd:정상");
  230. model.refresh();
  231. model.setValue("/root/init/grdStatus1", "조회" );
  232. model.refresh() ;
  233. var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
  234. if ( ndCnt > 0) {
  235. setGridColor() ;
  236. grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
  237. }
  238. } else {
  239. model.setValue("/root/init/grdStatus","grd:장애");
  240. model.removeNodeset(sPath);
  241. model.refresh();
  242. }
  243. }
  244. }
  245. */
  246. //----------------------------
  247. // 자료를 상단으로 올리는 기능1
  248. //----------------------------
  249. /*
  250. function fGetOpPartrtnPatListSub1() {
  251. // var timerID = window.setinterval("", 5000) ; //상단올리기 지연시킴
  252. model.removenode("/root/main/oppatlist/oppatinfo[1]") ;
  253. setGridColor() ;
  254. model.setValue("/root/init/grdStatus1", getNodesetCount("/root/main/oppatlist/oppatinfo") );
  255. model.refresh() ;
  256. if ( getNodesetCount("/root/main/oppatlist/oppatinfo") == 0) {
  257. model.setValue("/root/init/grdStatus1", "E:"+grdintervalIDTop );
  258. model.refresh() ;
  259. window.clearInterval(grdintervalIDTop);
  260. }
  261. }
  262. */
  263. /**
  264. * @group :
  265. * @ver : 2007.10.09
  266. * @by : 문창곤
  267. * @---------------------------------------------------
  268. * @type : function
  269. * @access : public
  270. * @desc : 수술예약번호 해당 호출메시지 검색
  271. * @param :
  272. * @param :
  273. * @return :
  274. * @---------------------------------------------------
  275. function getCallMsg(Oprsrvno)
  276. {
  277. var msgCnt = getNodesetCount("/root/main/msglist/msginfo") ;
  278. var RtnValue = "NONE" ;
  279. if(msgCnt > 0)
  280. {
  281. for(var i=1;i<=msgCnt;i++)
  282. {
  283. if(Oprsrvno == model.getValue("/root/main/msglist/msginfo["+ i + "]/oprsrvno"))
  284. {
  285. RtnValue = model.getValue("/root/main/msglist/msginfo["+ i + "]/callmsg") ;
  286. model.removenode("/root/main/msglist/msginfo["+ i + "]");
  287. break ;
  288. }
  289. }
  290. }
  291. return RtnValue ;
  292. }
  293. */
  294. /**
  295. * @group :
  296. * @ver : 2007.10.09
  297. * @by : 문창곤
  298. * @---------------------------------------------------
  299. * @type : function
  300. * @access : public
  301. * @desc : 'ESC' or 'Q' 키를 누르면 타이머 해제 및 윈도우 닫기
  302. * @param :
  303. * @param :
  304. * @return :
  305. * @---------------------------------------------------
  306. */
  307. function fClearTimer(){
  308. var keyPressed = event.keyCode ;
  309. if(keyPressed == 27 || keyPressed == 81) // 'ESC' or 'Q' 키가 눌려진 경우
  310. {
  311. var answer = messageBox("인공신장실 대기안내 프로그램을 종료하시겠습니까?", "Q") ;
  312. if(answer == 6) {
  313. if (clockID != "") window.clearInterval(clockID);
  314. if (msgintervalID != "") window.clearInterval(msgintervalID);
  315. if (grdintervalID != "") window.clearInterval(grdintervalID);
  316. if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
  317. if (grdintervalIDTop != "") window.clearInterval(grdintervalIDTop);
  318. model.close() ;
  319. }
  320. }
  321. }
  322. /**
  323. * @group :
  324. * @ver : 2010.05.29
  325. * @by : 안도영
  326. * @---------------------------------------------------
  327. * @type : function
  328. * @access : public
  329. * @desc : 타이머 종료(해당 shift가 아니거나 날짜가 지난 경우)
  330. * @param :
  331. * @param :
  332. * @return :
  333. * @---------------------------------------------------
  334. */
  335. function fEndTimer(){
  336. if (clockID != "") window.clearInterval(clockID);
  337. if (msgintervalID != "") window.clearInterval(msgintervalID);
  338. if (grdintervalID != "") window.clearInterval(grdintervalID);
  339. if (msgintervalIDTop != "") window.clearInterval(msgintervalIDTop);
  340. if (grdintervalIDTop != "") window.clearInterval(grdintervalIDTop);
  341. //model.close() ;
  342. }
  343. /**
  344. * @group :
  345. * @ver : 2007.10.09
  346. * @by : 문창곤
  347. * @---------------------------------------------------
  348. * @type : function
  349. * @access : public
  350. * @desc : 진행상태에 따른 글자색 설정
  351. * @param :
  352. * @param :
  353. * @return :
  354. * @---------------------------------------------------
  355. function setGridColor()
  356. {
  357. var ndCnt = getNodesetCount("/root/main/oppatlist/oppatinfo") ;
  358. var status ;
  359. for(var i=1;i<=ndCnt;i++)
  360. {
  361. status = model.getValue("/root/main/oppatlist/oppatinfo["+ i + "]/opstatcd") ;
  362. if(status == "20" || status == "1") // 수술예정 또는 분만대기중 - 검정색
  363. grd_list.cellStyle("color", i, 3) = "#000000" ;
  364. else if(status == "30" || status == "2") // 수술대기 또는 진통중 - 분홍색
  365. grd_list.cellStyle("color", i, 3) = "#FF82FF" ;
  366. else if(status == "40" || status == "3") // 수술중 또는 분만중 - 빨강색
  367. grd_list.cellStyle("color", i, 3) = "#FF0000" ;
  368. else if(status == "50" || status == "4") // 수술종료 또는 분만완료- 파랑색
  369. grd_list.cellStyle("color", i, 3) = "#0000FF" ;
  370. else if(status == "60" || status == "5") // 회복중 또는 절대안정중 - 녹색
  371. grd_list.cellStyle("color", i, 3) = "#00CC66" ;
  372. else if(status == "70" || status == "6") // 퇴실 또는 안정중 - 청녹색
  373. grd_list.cellStyle("color", i, 3) = "#006600" ;
  374. }
  375. }
  376. */
  377. /* --------------------------------------------------*/
  378. /* type : function */
  379. /* access : public */
  380. /* desc : 수술 진행현황 조회 */
  381. /* --------------------------------------------------*/
  382. function fGetOpPatList(){
  383. var sPath = "/root/main/oppatlist";
  384. if(getNodesetCount(sPath + "/oppatinfo") == 0)
  385. {
  386. //(20080211) oppatinfo까지 된것을 막음)
  387. model.removeNodeset(sPath);
  388. model.makeValue("/root/main/cond/oppartrtnflag","O"); //수술환자 조회 플래그
  389. model.refresh();
  390. model.copyNode("/root/send/reqdata", "/root/main/cond");
  391. setErrorOff();
  392. //if (submit("TRMNP06200",false) == true) {
  393. if (submit("TRMNV02001",false) == true) {
  394. model.setValue("/root/init/grdStatus","grd:정상");
  395. model.refresh();
  396. model.setValue("/root/init/grdStatus1", "조회" );
  397. model.refresh() ;
  398. var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
  399. if ( ndCnt > 0) {
  400. setGridColor() ;
  401. /*
  402. //5초간격으로 자료를 상단으로 올리는 기능
  403. var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  404. + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
  405. + 'setGridColor() ;'
  406. + 'model.refresh() ;', showGrdTime) ;
  407. */
  408. grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
  409. }
  410. } else {
  411. model.setValue("/root/init/grdStatus","grd:장애");
  412. model.removeNodeset(sPath);
  413. model.refresh();
  414. }
  415. }
  416. }
  417. /* --------------------------------------------------*/
  418. /* type : function */
  419. /* access : public */
  420. /* desc : 분만 진행현황 조회 */
  421. /* --------------------------------------------------*/
  422. function fGetPartrtnPatList(){
  423. var sPath = "/root/main/oppatlist";
  424. if(getNodesetCount(sPath + "/oppatinfo") == 0)
  425. {
  426. //(20080211) oppatinfo까지 된것을 막음)
  427. model.removeNodeset(sPath);
  428. model.makeValue("/root/main/cond/oppartrtnflag","P"); //분만환자 조회 플래그
  429. model.refresh();
  430. model.copyNode("/root/send/reqdata", "/root/main/cond");
  431. setErrorOff();
  432. if (submit("TRMNV02001",false) == true) {
  433. model.setValue("/root/init/grdStatus","grd:정상");
  434. model.refresh();
  435. model.setValue("/root/init/grdStatus1", "조회" );
  436. model.refresh() ;
  437. var ndCnt = getNodesetCount(sPath + "/oppatinfo") ;
  438. if ( ndCnt > 0) {
  439. setGridColor() ;
  440. /*
  441. //5초간격으로 자료를 상단으로 올리는 기능
  442. var TimerID = window.setInterval('window.setinterval("", 5000) ;'
  443. + 'model.removenode("/root/main/oppatlist/oppatinfo[1]") ;'
  444. + 'setGridColor() ;'
  445. + 'model.refresh() ;', showGrdTime) ;
  446. */
  447. grdintervalIDTop = window.setInterval("fGetOpPartrtnPatListSub1()", showGrdTime); //100) ; //7초
  448. }
  449. } else {
  450. model.setValue("/root/init/grdStatus","grd:장애");
  451. model.removeNodeset(sPath);
  452. model.refresh();
  453. }
  454. }
  455. }
  456. /**
  457. * @group :
  458. * @ver : 2010.05.27
  459. * @by : 안도영
  460. * @---------------------------------------------------
  461. * @type : function
  462. * @access : public
  463. * @desc : 기준자료 (+대기리스트, 자리배치) 조회
  464. * @param :
  465. * @return :
  466. * @---------------------------------------------------
  467. */
  468. function fGetStdData(){
  469. // 간호하드코딩 테이블로부터 HD 인공신장실 전광판 기준자료 조회_20100526(By 안도영)
  470. var pCode = "'HD'"; // 조회할 CdGrupID 코드정보
  471. var pDate = getCurrentDate(); //조회기준일자
  472. var pTime = getCurrentTime().substring(0,4); //조회기준시간
  473. var mainPath = "/root/temp/shifttimeinfo/shifttimelist";
  474. var initPath = "/root/init/codeinfo/codelist";
  475. fGetNursHardCdInfo(pCode, pDate);
  476. var existFlag_Shift = "N"; // shift 저장 여부
  477. var existFlag_Notice = "N"; // 안내사항 저장 여부
  478. for(var i=1; i<=getNodesetCount(initPath); i++){
  479. if(model.getValue(initPath + "[" + i + "]/cdid") == "1"){ // shift 기준자료
  480. existFlag_Shift = "Y";
  481. }
  482. if(model.getValue(initPath+ "[" + i + "]/cdid") == "9"){ // 안내사항 기준자료
  483. existFlag_Notice = "Y";
  484. }
  485. }
  486. var endCnt = ""; // shfit와 안내사항 저장 여부에 따른 for문 범위 결정
  487. if(existFlag_Shift == "Y"){
  488. if(existFlag_Notice == "Y") endCnt = parseInt(getNodesetCount(initPath))-1;
  489. else endCnt = parseInt(getNodesetCount(initPath));
  490. curShiftFlag = ""; // 현재 shift값 변수 초기화
  491. for(var i=1; i<=endCnt; i++){
  492. model.makeValue(mainPath + "[" + i + "]/shift", model.getValue(initPath + "[" + i + "]/cdid")) // shift 기준자료
  493. if(model.getValue(mainPath + "[" + i + "]/shift") == "5"){
  494. model.makeValue(mainPath + "[" + i + "]/shift", "응급");
  495. }
  496. var timeValue = model.getValue(initPath + "[" + i + "]/grupdetldesc"); // 시작시간과 종료시간
  497. var startTime = "";
  498. var endTime = "";
  499. var timeFlag = "start";
  500. for (var j=0; j< timeValue.length; j++){ // 시작시간과 종료시간의 구분
  501. if(timeFlag == "start"){
  502. if(timeValue.charAt(j) != "@") startTime = startTime + timeValue.charAt(j);
  503. else if (timeValue.charAt(j) == "@") {
  504. timeFlag = "end";
  505. }
  506. }else if(timeFlag == "end"){
  507. endTime = endTime + timeValue.charAt(j);
  508. }
  509. }
  510. for (var k=0; k<startTime.length; k++){ // 대소 비교를 위한 맨 앞의 '0'값 제거
  511. if(startTime.charAt(0) == "0") startTime = startTime.substring(1,4);
  512. if(pTime.charAt(0) == "0") pTime = pTime.substring(1,4);
  513. if(endTime.charAt(0) == "0") endTime = endTime.substring(1,4);
  514. }
  515. if(((parseInt(startTime) < parseInt(pTime))||(parseInt(startTime) == parseInt(pTime))) && ((parseInt(pTime) == parseInt(endTime))||(parseInt(pTime) < parseInt(endTime)))){
  516. curShiftFlag = model.getValue(initPath + "[" + i + "]/cdid"); // 현재 시점의 shift를 결정
  517. }
  518. }
  519. }
  520. else if(existFlag_Shift == "N"){
  521. for(var i=1; i<=4; i++){
  522. if(i==4) model.makeValue(mainPath + "[" + i + "]/shift", "응급"); // shift 기준자료
  523. else model.makeValue(mainPath + "[" + i + "]/shift", i);
  524. model.makeValue(mainPath + "[" + i + "]/starttime", " : "); // starttime 기준자료
  525. model.makeValue(mainPath + "[" + i + "]/endtime", " : "); // endtime 기준자료
  526. }
  527. }
  528. noticeValue = "<안내사항>\n\n ";
  529. if(existFlag_Notice == "Y"){
  530. if(existFlag_Shift == "Y") noticeValue = noticeValue + model.getValue(initPath + "[5]/grupdetldesc"); // shift 존재시
  531. else if (existFlag_Shift == "N") noticeValue = noticeValue + model.getValue(initPath + "[1]/grupdetldesc");
  532. model.setValue("/root/init/guideinfo", noticeValue);
  533. }
  534. fGetWaitListnPosData(); // 대기환자, 자리배치 조회
  535. }
  536. /**
  537. * @group :
  538. * @ver : 2010.05.29
  539. * @by : 안도영
  540. * @---------------------------------------------------
  541. * @type : function
  542. * @access : public
  543. * @desc : 대기환자 리스트, 자리배치도 조회
  544. * @param :
  545. * @return :
  546. * @---------------------------------------------------
  547. */
  548. function fGetWaitListnPosData(){
  549. model.removeNode("/root/send");
  550. model.makeValue("/root/send/srchdd", getCurrentDate());
  551. //model.makeValue("/root/send/srchdd", '20100520'); // 테스트
  552. if(curShiftFlag!=""){
  553. curShiftFlag2nd = curShiftFlag;
  554. }
  555. model.makeValue("/root/send/shiftflag", curShiftFlag);
  556. model.makeValue("/root/send/shiftflag2nd", curShiftFlag2nd);
  557. submit("TRMNV15001", false);
  558. model.refresh();
  559. }
  560. /* ------------------------------------------------- */
  561. /* ------End Of List ------------------------------- */
  562. /* -------------------------------------------------- */