SMMCT00201.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. /* ---------------------------------------------------------------------
  2. 수술 취소 및 변경율 (SMMCT00201.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By taebum
  6. : 2009-09-21 오전 8:53:33
  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. var currDate = getCurrentDate();
  22. model.setValue("/root/main/condition/fromdd" , fCalcDate(currDate,-1));
  23. model.setValue("/root/main/condition/todd" , currDate);
  24. model.refresh();
  25. model.removeNodeSet("/root/main/opcnclupdtrateinfo/opcnclupdtratelist");
  26. grd_opcnclupdtratelst.refresh();
  27. var instcd = getUserInfo("dutplceinstcd");
  28. var rslt_ref = "/root/init/orddeptlist";
  29. //model.setValue("/root/main/cond/orddeptcd", "%");
  30. model.setValue("/root/main/condition/orddrid", "");
  31. //zsdfGetCareOutOrderDepartmentList(instcd, rslt_ref, currDate);
  32. submit("TRMCT00208");
  33. //수술방 정보 조회 by 박영우 20091224
  34. fGetOproomList();
  35. addComboItem("cmb_subdept");
  36. fValueChangedSchCombo();
  37. }
  38. /*
  39. * 1달을 자동 세팅되게 하는 함수
  40. * sDate : 일자(string)
  41. * iFlag : int 1/-1 (1달 이전/이후의 날짜 계산용도)
  42. */
  43. function fCalcDate(sDt,iFlag){
  44. var sDate = sDt.toDate("YYYYMMDD").getAddDate(iFlag, "M").getAddDate(-(iFlag), "D")
  45. //alert(sDt.toDate("YYYYMMDD").getAddDate(iFlag, "M").getAddDate(-(iFlag), "D").getDayOfWeek("K")); -- 해당요일
  46. rtnDate = sDate.getFullYear();
  47. rtnDate = rtnDate.toString() + (( sDate.getMonth() + 1 > 9 ) ? sDate.getMonth() + 1 : "0" + (sDate.getMonth() + 1));
  48. rtnDate = rtnDate.toString() + (( sDate.getDate() > 9 ) ? sDate.getDate() : "0" + sDate.getDate()) ;
  49. return rtnDate;
  50. }
  51. /**
  52. * @group :
  53. * @ver : 2009-09-15 오후 6:45:47
  54. * @by :
  55. * @---------------------------------------------------
  56. * @type : function
  57. * @access : public
  58. * @desc : 조회
  59. * @param :
  60. * @return :
  61. * @---------------------------------------------------
  62. */
  63. function fClickSearchBtn(){
  64. model.resetInstanceNode("/root/send");
  65. var todd = model.getValue("/root/main/condition/todd");
  66. var fromdd = model.getValue("/root/main/condition/fromdd");
  67. var oproomcd = model.getValue("/root/main/condition/oproomcd");
  68. var subdeptcd = model.getValue("/root/main/condition/subdeptcd");
  69. var orddrid = model.getValue("/root/main/condition/orddrid");
  70. var tab = model.getValue("/root/main/condition/tab"); //방별, 과별 선택 탭 by 박영우 20091224
  71. if(fromdd == "" || fromdd == "undefined" || fromdd == null){
  72. model.alert("시작일자는 필수 입력 항목입니다.");
  73. return;
  74. }
  75. if(todd == "" || todd == "undefined" || todd == null){
  76. model.alert("종료일자는 필수 입력 항목입니다.");
  77. return;
  78. }
  79. //현재시간을 비교하여 근무시간 이후일 경우 6개월이상 조회가능 하도록 설정
  80. var sCurrentTm = getCurrentTime().substr(0,4);
  81. var sCurrentDay = getCurrentDate().toDate("YYYYMMDD").getDayOfWeek("K");
  82. if(sCurrentDay == "월" || sCurrentDay == "화" || sCurrentDay == "수" ||
  83. sCurrentDay == "목" || sCurrentDay == "금"){
  84. //오후 5시 이전일 경우 조회 조건은 1달이상 조회되지 않도록 함.
  85. if(sCurrentTm < "1700"){
  86. var sSearchTerm = getDateInterval(fromdd, todd);
  87. if(sSearchTerm > 30){
  88. model.alert("근무시간에는 1달 이상 조회할 수 없습니다.");
  89. return;
  90. }
  91. }
  92. }
  93. model.setValue("/root/send/todd" , todd );
  94. model.setValue("/root/send/fromdd" , fromdd );
  95. model.setValue("/root/send/tab" , tab ); // 방별, 과별, 의사별 구분 추가 by 박영우 20091224
  96. model.setValue("/root/send/oproomcd" , oproomcd );
  97. model.setValue("/root/send/subdeptcd", subdeptcd);
  98. model.setValue("/root/send/orddrid" , orddrid );
  99. model.removeNodeSet("/root/main/opcnclupdtrateinfo/opcnclupdtratelist");
  100. grd_opcnclupdtratelst.refresh();
  101. if(submit("TRMCT00201")){
  102. //Title setting
  103. fSetGridTitle();
  104. }
  105. }
  106. /**
  107. * @group :
  108. * @ver : 2009-09-15 오후 6:45:47
  109. * @by :
  110. * @---------------------------------------------------
  111. * @type : function
  112. * @access : public
  113. * @desc : 진료과 변경시 의사 조회 이벤트
  114. * @param :
  115. * @return :
  116. * @---------------------------------------------------
  117. */
  118. function fValueChangedOrddrCombo(){
  119. var sordclsdeptflag = model.getValue("/root/init/orddeptlist/dept[deptcd = '"+model.getValue("/root/main/condition/subdeptcd")+"']/ordclsdeptflag"); // 대표/분과/서브 구분
  120. var sorddeptkind = model.getValue("/root/init/orddeptlist/dept[deptcd = '"+model.getValue("/root/main/condition/subdeptcd")+"']/orddeptkind"); // 센터/대표 구분
  121. var ssupdeptcd = model.getValue("/root/init/orddeptlist/dept[deptcd = '"+model.getValue("/root/main/condition/subdeptcd")+"']/supdeptcd"); // 상위부서코드
  122. var tab = model.getValue("/root/main/condition/tab"); //방별, 과별 선택 탭 by 박영우 20091224
  123. var sorddeptflag = "";
  124. if (sorddeptkind == "C") { // 센터이면
  125. sorddeptflag = "C";
  126. } else if (sorddeptkind != "C" && sordclsdeptflag == "A") { // 센터가 아니면서 분과이면
  127. sorddeptflag = "A";
  128. } else { // 그외에 기타과
  129. sorddeptflag = "etc";
  130. }
  131. if(model.getValue("/root/main/condition/subdeptcd") == ""){
  132. model.setValue("/root/main/condition/orddrid","");
  133. cmb_orddrid.refresh();
  134. }
  135. model.makeValue("/root/send/reqdata/ordclsdeptflag", sorddeptflag);
  136. model.makeValue("/root/send/reqdata/supdeptcd", ssupdeptcd);
  137. model.makeValue("/root/send/reqdata/prcpspecflag", "Y");
  138. model.makeValue("/root/send/reqdata/orddd", getCurrentDate());
  139. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/condition/subdeptcd"));
  140. if(tab=="D") { //과,의사별일 경우에만 의사리스트 조회 by 박영우 20091224
  141. submit("TRMNO00104"); // 의사리스트 조회
  142. addComboItem("cmb_orddrid");
  143. }
  144. }
  145. /**
  146. * @group :
  147. * @ver : 2009-09-15 오후 6:45:47
  148. * @by :
  149. * @---------------------------------------------------
  150. * @type : function
  151. * @access : public
  152. * @desc : 검색 combo 변경시 이벤트
  153. * @param :
  154. * @return :
  155. * @---------------------------------------------------
  156. */
  157. function fValueChangedSchCombo(){
  158. var sTab = model.getValue("/root/main/condition/tab");
  159. if(sTab == "R"){ //방별
  160. //combo변경시 시간 재조정 by 박영우 20091224
  161. model.removenodeset("/root/main/opcnclupdtrateinfo");
  162. model.setValue("/root/main/condition/oproomcd", "");
  163. model.setValue("/root/main/condition/subdeptcd", "");
  164. model.setValue("/root/main/condition/orddrid", "");
  165. caption14.visible = true;
  166. cmb_oproom.visible = true;
  167. caption7.visible = false;
  168. cmb_subdept.visible = false;
  169. caption1.visible = false;
  170. cmb_orddrid.visible = false;
  171. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("oproomnm"))=false;
  172. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("depthngnm"))=true;
  173. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("usernm"))=true;
  174. model.refresh();
  175. }else if(sTab == "E"){
  176. model.removenodeset("/root/main/opcnclupdtrateinfo");
  177. model.setValue("/root/main/condition/oproomcd", "");
  178. model.setValue("/root/main/condition/subdeptcd", "");
  179. model.setValue("/root/main/condition/orddrid", "");
  180. caption14.visible = false;
  181. cmb_oproom.visible = false;
  182. caption7.visible = true;
  183. cmb_subdept.visible = true;
  184. caption1.visible = false;
  185. cmb_orddrid.visible = false;
  186. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("oproomnm"))=true;
  187. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("depthngnm"))=false;
  188. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("usernm"))=true;
  189. model.refresh();
  190. }else if(sTab == "D"){
  191. model.removenodeset("/root/main/opcnclupdtrateinfo");
  192. model.setValue("/root/main/condition/oproomcd", "");
  193. model.setValue("/root/main/condition/subdeptcd", "");
  194. model.setValue("/root/main/condition/orddrid", "");
  195. caption14.visible = false;
  196. cmb_oproom.visible = false;
  197. caption7.visible = true;
  198. cmb_subdept.visible = true;
  199. caption1.visible = true;
  200. cmb_orddrid.visible = true;
  201. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("oproomnm"))=true;
  202. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("depthngnm"))=false;
  203. grd_opcnclupdtratelst.colHidden(grd_opcnclupdtratelst.colref("usernm"))=false;
  204. model.refresh();
  205. }
  206. }
  207. /**
  208. * @group :
  209. * @ver : 2009-09-15 오후 6:45:47
  210. * @by :
  211. * @---------------------------------------------------
  212. * @type : function
  213. * @access : public
  214. * @desc : 수술방 정보 조회
  215. * @param :
  216. * @return :
  217. * @---------------------------------------------------
  218. */
  219. function fGetOproomList(){
  220. model.setValue("/root/send/fromdd" , getCurrentDate());
  221. //현재일자에 유효한 수술방을 조회한다.
  222. submit("TRMCT00207");
  223. addComboItem("cmb_oproom");
  224. }
  225. /**
  226. * @group :
  227. * @ver : 2009-09-15 오후 6:56:20
  228. * @by :
  229. * @---------------------------------------------------
  230. * @type : function
  231. * @access : public
  232. * @desc : Grid 수술방 Setting
  233. * @param :
  234. * @return :
  235. * @---------------------------------------------------
  236. */
  237. function fSetGridTitle(){
  238. var iGridCnt = getNodesetCnt(model, "/root/main/opcnclupdtrateinfo/opcnclupdtratelist");
  239. var xPath = "/root/main/opcnclupdtrateinfo/opcncltitlelist";
  240. grd_opcnclupdtratelst.valuematrix(0, 9 ) = model.getValue(xPath+"/nm1");
  241. grd_opcnclupdtratelst.valuematrix(0, 10) = model.getValue(xPath+"/nm2");
  242. grd_opcnclupdtratelst.valuematrix(0, 11) = model.getValue(xPath+"/nm3");
  243. grd_opcnclupdtratelst.valuematrix(0, 12) = model.getValue(xPath+"/nm4");
  244. grd_opcnclupdtratelst.valuematrix(0, 13) = model.getValue(xPath+"/nm5");
  245. grd_opcnclupdtratelst.valuematrix(0, 14) = model.getValue(xPath+"/nm6");
  246. grd_opcnclupdtratelst.valuematrix(0, 15) = model.getValue(xPath+"/nm7");
  247. grd_opcnclupdtratelst.valuematrix(0, 16) = model.getValue(xPath+"/nm8");
  248. grd_opcnclupdtratelst.valuematrix(0, 17) = model.getValue(xPath+"/nm9");
  249. grd_opcnclupdtratelst.valuematrix(0, 18) = model.getValue(xPath+"/nm10");
  250. grd_opcnclupdtratelst.valuematrix(0, 19) = model.getValue(xPath+"/nm11");
  251. grd_opcnclupdtratelst.valuematrix(0, 20) = model.getValue(xPath+"/nm12");
  252. grd_opcnclupdtratelst.valuematrix(0, 21) = model.getValue(xPath+"/nm13");
  253. grd_opcnclupdtratelst.valuematrix(0, 22) = model.getValue(xPath+"/nm14");
  254. grd_opcnclupdtratelst.valuematrix(0, 23) = model.getValue(xPath+"/nm15");
  255. grd_opcnclupdtratelst.valuematrix(0, 24) = model.getValue(xPath+"/nm16");
  256. grd_opcnclupdtratelst.valuematrix(0, 25) = model.getValue(xPath+"/nm17");
  257. grd_opcnclupdtratelst.valuematrix(0, 26) = model.getValue(xPath+"/nm18");
  258. grd_opcnclupdtratelst.valuematrix(0, 27) = model.getValue(xPath+"/nm19");
  259. grd_opcnclupdtratelst.valuematrix(0, 28) = model.getValue(xPath+"/nm20");
  260. grd_opcnclupdtratelst.valuematrix(0, 29) = model.getValue(xPath+"/nm21");
  261. grd_opcnclupdtratelst.valuematrix(0, 30) = model.getValue(xPath+"/nm22");
  262. grd_opcnclupdtratelst.valuematrix(0, 31) = model.getValue(xPath+"/nm23");
  263. grd_opcnclupdtratelst.valuematrix(0, 32) = model.getValue(xPath+"/nm24");
  264. grd_opcnclupdtratelst.valuematrix(0, 33) = model.getValue(xPath+"/nm25");
  265. grd_opcnclupdtratelst.valuematrix(0, 34) = model.getValue(xPath+"/nm26");
  266. grd_opcnclupdtratelst.valuematrix(0, 35) = model.getValue(xPath+"/nm27");
  267. if(iGridCnt > 0){
  268. fHiddenGridCol(iGridCnt, grd_opcnclupdtratelst);
  269. grd_opcnclupdtratelst.refresh();
  270. }
  271. }
  272. /**
  273. * @group :
  274. * @ver : 2009-09-22 오전 10:52:15
  275. * @by :
  276. * @---------------------------------------------------
  277. * @type : function
  278. * @access : public
  279. * @desc : 그리드의 1행에 데이터 없는 열 감추기
  280. * @param :
  281. * @return :
  282. * @---------------------------------------------------
  283. */
  284. function fHiddenGridCol(iGridCnt, pGrid){
  285. if(iGridCnt >1){
  286. for(var i = 9; i < 36; i++){
  287. if(pGrid.valuematrix(0, i) == ""){
  288. pGrid.colwidth(i) = 0;
  289. }
  290. }
  291. }
  292. }