SMMCT00104.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. /* ---------------------------------------------------------------------
  2. 수술실 현황판 (SMMCT00104.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By taebum
  6. : 2009-09-15 오후 6:45:43
  7. ---------------------------------------------------------------------- */
  8. /**
  9. * @group :
  10. * @ver : 2009-09-15 오후 6:45:47
  11. * @by :
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 초기화
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInit(){
  21. model.setValue("/root/main/condition/todd" , getCurrentDate());
  22. model.refresh();
  23. model.removeNodeSet("/root/main/operpretcondinfo/operpretcondinfolist");
  24. datagrid1.refresh();
  25. }
  26. /**
  27. * @group :
  28. * @ver : 2009-09-15 오후 6:45:47
  29. * @by :
  30. * @---------------------------------------------------
  31. * @type : function
  32. * @access : public
  33. * @desc : 조회 버튼 클릭시 이벤트
  34. * @param :
  35. * @return :
  36. * @---------------------------------------------------
  37. */
  38. function fOnClickSearchBtn(){
  39. model.resetInstanceNode("/root/send");
  40. var todd = model.getValue("/root/main/condition/todd");
  41. model.setValue("/root/send/todd", todd);
  42. model.removeNodeSet("/root/main/operpretcondinfo/operpretcondinfolist");
  43. datagrid1.refresh();
  44. if(submit("TRMCT00104")){
  45. fSetGridTitle();
  46. }
  47. model.refresh();
  48. }
  49. /**
  50. * @group :
  51. * @ver : 2009-09-15 오후 6:56:20
  52. * @by :
  53. * @---------------------------------------------------
  54. * @type : function
  55. * @access : public
  56. * @desc : Grid 수술방 Setting
  57. * @param :
  58. * @return :
  59. * @---------------------------------------------------
  60. */
  61. function fSetGridTitle(){
  62. var iGridCnt = getNodesetCnt(model, "/root/main/operpretcondinfo/operpretcondinfolist");
  63. var xPath = "/root/main/operpretcondinfo/opertitlelist";
  64. //하진영샘 요청사항-초기 화면은 8시부터 보여지도록 by 박영우 20091214
  65. datagrid1.topRow=17;
  66. datagrid1.valueMatrix(0, 1 ) = model.getValue(xPath+"/oproomnm1");
  67. datagrid1.valueMatrix(0, 2 ) = model.getValue(xPath+"/oproomnm2");
  68. datagrid1.valueMatrix(0, 3 ) = model.getValue(xPath+"/oproomnm3");
  69. datagrid1.valueMatrix(0, 4 ) = model.getValue(xPath+"/oproomnm4");
  70. datagrid1.valueMatrix(0, 5 ) = model.getValue(xPath+"/oproomnm5");
  71. datagrid1.valueMatrix(0, 6 ) = model.getValue(xPath+"/oproomnm6");
  72. datagrid1.valueMatrix(0, 7 ) = model.getValue(xPath+"/oproomnm7");
  73. datagrid1.valueMatrix(0, 8 ) = model.getValue(xPath+"/oproomnm8");
  74. datagrid1.valueMatrix(0, 9 ) = model.getValue(xPath+"/oproomnm9");
  75. datagrid1.valueMatrix(0, 10) = model.getValue(xPath+"/oproomnm10");
  76. datagrid1.valueMatrix(0, 11) = model.getValue(xPath+"/oproomnm11");
  77. datagrid1.valueMatrix(0, 12) = model.getValue(xPath+"/oproomnm12");
  78. datagrid1.valueMatrix(0, 13) = model.getValue(xPath+"/oproomnm13");
  79. datagrid1.valueMatrix(0, 14) = model.getValue(xPath+"/oproomnm14");
  80. datagrid1.valueMatrix(0, 15) = model.getValue(xPath+"/oproomnm15");
  81. datagrid1.valueMatrix(0, 16) = model.getValue(xPath+"/oproomnm16");
  82. datagrid1.valueMatrix(0, 17) = model.getValue(xPath+"/oproomnm17");
  83. datagrid1.valueMatrix(0, 18) = model.getValue(xPath+"/oproomnm18");
  84. datagrid1.valueMatrix(0, 19) = model.getValue(xPath+"/oproomnm19");
  85. datagrid1.valueMatrix(0, 20) = model.getValue(xPath+"/oproomnm20");
  86. datagrid1.valueMatrix(0, 21) = model.getValue(xPath+"/oproomnm21");
  87. datagrid1.valueMatrix(0, 22) = model.getValue(xPath+"/oproomnm22");
  88. datagrid1.valueMatrix(0, 23) = model.getValue(xPath+"/oproomnm23");
  89. datagrid1.valueMatrix(0, 24) = model.getValue(xPath+"/oproomnm24");
  90. datagrid1.valueMatrix(0, 25) = model.getValue(xPath+"/oproomnm25");
  91. datagrid1.valueMatrix(0, 26) = model.getValue(xPath+"/oproomnm26");
  92. datagrid1.valueMatrix(0, 27) = model.getValue(xPath+"/oproomnm27");
  93. datagrid1.valueMatrix(0, 28) = model.getValue(xPath+"/oproomnm28");
  94. datagrid1.valueMatrix(0, 29) = model.getValue(xPath+"/oproomnm29");
  95. datagrid1.valueMatrix(0, 30) = model.getValue(xPath+"/oproomnm30");
  96. datagrid1.valueMatrix(0, 31) = model.getValue(xPath+"/oproomnm31");
  97. datagrid1.valueMatrix(0, 32) = model.getValue(xPath+"/oproomnm32");
  98. datagrid1.valueMatrix(0, 33) = model.getValue(xPath+"/oproomnm33");
  99. datagrid1.valueMatrix(0, 34) = model.getValue(xPath+"/oproomnm34");
  100. datagrid1.valueMatrix(0, 35) = model.getValue(xPath+"/oproomnm35");
  101. datagrid1.valueMatrix(0, 36) = model.getValue(xPath+"/oproomnm36");
  102. datagrid1.valueMatrix(0, 37) = model.getValue(xPath+"/oproomnm37");
  103. datagrid1.valueMatrix(0, 38) = model.getValue(xPath+"/oproomnm38");
  104. datagrid1.valueMatrix(0, 39) = model.getValue(xPath+"/oproomnm39");
  105. datagrid1.valueMatrix(0, 40) = model.getValue(xPath+"/oproomnm40");
  106. if(iGridCnt > 0){
  107. fHiddenGridCol(iGridCnt,datagrid1);
  108. datagrid1.refresh();
  109. }
  110. }
  111. /**
  112. * @group :
  113. * @ver : 2009-09-15 오후 6:56:17
  114. * @by :
  115. * @---------------------------------------------------
  116. * @type : function
  117. * @access : public
  118. * @desc : 그리드의 1행에 데이터 없는 열 감추기 및 수술중일 경우 색상 변경
  119. * @param :
  120. * @return :
  121. * @---------------------------------------------------
  122. */
  123. function fHiddenGridCol(iGridCnt, pGrid){
  124. if(iGridCnt >1){
  125. for(var i = 1; i < 41; i++){
  126. if(pGrid.valueMatrix(0, i) == ""){
  127. pGrid.colwidth(i) = 0;
  128. }
  129. }
  130. var iChngColorCnt = 0;
  131. var sGridColor = "";
  132. //2009-09-28 오후 3:28:10 총계 정보 제외 Grid -1
  133. for(var i = 1; i <= iGridCnt-1; i++){
  134. for(var j = 41; j < pGrid.cols-41; j++){
  135. switch(pGrid.valueMatrix(i, j)){
  136. case "Y" : //수술중 표시
  137. fSetGrdColor(pGrid, i,j-40, "#000000", "#ffe79d", j, iGridCnt, "Y");
  138. break;
  139. case "B" : //수술전 표시
  140. fSetGrdColor(pGrid, i,j-40, "#000000", "#fcd2c1", j, iGridCnt, "Y");
  141. break;
  142. case "A" : //수술후 표시
  143. fSetGrdColor(pGrid, i,j-40, "#000000", "#DFDFDF", j, iGridCnt, "Y");
  144. break;
  145. case "1" : // 정규수술 : 검정
  146. pGrid.cellstyle("color" , i, j-80, i, j-80) = "#000000";
  147. break;
  148. case "2" : // 응급수술 : 빨강
  149. pGrid.cellstyle("color" , i, j-80, i, j-80) = "#FF0000";
  150. break;
  151. case "3" : // 추가수술 : 파랑
  152. pGrid.cellstyle("color" , i, j-80, i, j-80) = "#0000ff";
  153. break;
  154. }//end switch
  155. }//end for j
  156. }//end for i
  157. //합계
  158. pGrid.cellstyle("background-color", iGridCnt, 0, iGridCnt, 41) = "#cce8ff";
  159. }
  160. }
  161. /**
  162. * @group :
  163. * @ver : 2009-09-17 오후 7:53:28
  164. * @by :
  165. * @---------------------------------------------------
  166. * @type : function
  167. * @access : public
  168. * @desc : 그리드의 Cell Color, FontColor 변경 메소드 시작~ 종료시간까지 표시
  169. * @param :
  170. * @return :
  171. * @---------------------------------------------------
  172. */
  173. function fSetGrdColor(pGrid, iRow,iCol,sFontColor, sBackColor, iCurrentCol, iGridCnt, pDataFlag){
  174. pGrid.cellstyle("background-color", iRow, iCol, iRow, iCol) = sBackColor;
  175. //2009-09-28 오전 11:10:42 taebum 요구사항 변경으로 색표시 제외
  176. //pGrid.cellstyle("color" , iRow, iCol, iRow, iCol) = sFontColor;
  177. var sFromTm = pGrid.valueMatrix(iRow, 0);
  178. var sEndTm = pGrid.valueMatrix(iRow, (iCol+120));
  179. var sOpDif = pGrid.valueMatrix(iRow, (iCol+160)); //patinroomdt: 입실시간 추가 by 박영우 20091215
  180. // alert("iRow: "+iRow+" col: "+(iCol+160)+" sPatInRoomTm: "+sPatInRoomTm);
  181. // alert("sFromTm : "+sFromTm+" , sEndTm : "+sEndTm+" , col ; "+(iCol+120)+" title : "+pGrid.valueMatrix(0, (iCol+120)));
  182. var iForcnt = iRow + 1; //for 시작 row
  183. var sCurrentTm = ""; //for row의 수술시작예정시간
  184. if(sFromTm != sEndTm){
  185. var sOpExist = "";
  186. //2009-09-28 오후 3:28:10 총계 정보 제외 Grid -1
  187. for(var i = iForcnt; i<=iGridCnt-1; i++){
  188. sOpExist = pGrid.valueMatrix(i, iCol);
  189. sCurrentTm = pGrid.valueMatrix(i, 0);
  190. //alert("sOpExist : "+sOpExist+", sCurrentTm: "+sCurrentTm);
  191. if((sOpExist == "" || sOpExist == "undefined" || sOpExist == null) &&
  192. sCurrentTm !="" && sCurrentTm != null && sCurrentTm != "undefined"){
  193. if(sCurrentTm < sEndTm){
  194. pGrid.cellstyle("background-color", i, iCol, i, iCol) = sBackColor;
  195. //2009-09-28 오전 11:10:42 taebum 요구사항 변경으로 색표시 제외
  196. //pGrid.cellstyle("color" , i, iCol, i, iCol) = sFontColor;
  197. }else{
  198. break;
  199. }
  200. }
  201. }
  202. //수술예정시간보다 입실시간이 30분 이상 지연될 경우 추가 by 박영우 20091216
  203. if(sOpDif >= 30) {
  204. var oproomnm = model.getValue("/root/main/operpretcondinfo/operpretcondinfolist["+iRow+"]/oproomnm"+iCol);
  205. oproomnm="★ "+oproomnm;
  206. model.setValue("/root/main/operpretcondinfo/operpretcondinfolist["+iRow+"]/oproomnm"+iCol, oproomnm);
  207. }
  208. }
  209. }