SMMND03500.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. /*
  2. HD Scheduling (SMMND03500.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. //** 전역변수 **//
  7. var sRtn = getCurrentDate(); //현재일자 리턴
  8. /**
  9. * @group :
  10. * @ver : 2009.01.22
  11. * @by : 김양수
  12. * @---------------------------------------------------
  13. * @type : function
  14. * @access : public
  15. * @desc : 화면 초기화..
  16. * @param :
  17. * @return :
  18. * @---------------------------------------------------
  19. */
  20. function fInit(){
  21. /** 받아온 Param Setting **/
  22. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/pid",model.getValue("/root/main/temp/bedchnginfo/pid"));
  23. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/hngnm",model.getValue("/root/main/temp/bedchnginfo/hngnm"));
  24. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno1",model.getValue("/root/main/temp/bedchnginfo/bedno"));
  25. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift1",model.getValue("/root/main/temp/bedchnginfo/selectedshift"));
  26. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd",model.getValue("/root/main/temp/bedchnginfo/selecteddd"));
  27. /** 조회일자계산(1개월 후 일자) **/
  28. var sSelecteddd = model.getValue("/root/main/temp/bedchnginfo/selecteddd");
  29. var sRtnOneMonthLater = ((sSelecteddd.toDate().getAddDate(1, "M"))).getDateFormat(); // 1개월 후 일자
  30. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd2",sRtnOneMonthLater);
  31. /** Control에 value Setting **/
  32. //ipt_bedno1.value = model.getValue("/root/main/temp/bedchnginfo/bedno");
  33. //ipt_shift1.value = model.getValue("/root/main/temp/bedchnginfo/selectedshift");
  34. fSrchDetlrSrvInfo(); //상세예약정보 조회
  35. }
  36. /**
  37. * @group :
  38. * @ver : 2009.01.21
  39. * @by : 김양수
  40. * @---------------------------------------------------
  41. * @type : function
  42. * @access : public
  43. * @desc : 상세 예약정보 조회(환자개인별)
  44. * @param :
  45. * @return :
  46. * @---------------------------------------------------
  47. */
  48. function fSrchDetlrSrvInfo(){
  49. //* 환자 등록번호 입력여부 체크 *//
  50. if(model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/pid") == ""){
  51. messageBox("등록번호를 입력하십시오.", "E"); model.setFocus("ipt_pid");
  52. return;
  53. }
  54. //* 상세 예약정보 리스트를 조회한다. *//
  55. model.removenode("/root/send");
  56. model.makeNode ("/root/send");
  57. model.makeValue ("/root/send/reqdata/pid" ,model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/pid"));
  58. model.makeValue ("/root/send/reqdata/srchdd1",model.getValue("/root/main/temp/bedchnginfo/selecteddd")); //선택된날자~1개월후날자조회를 위해
  59. model.makeValue ("/root/send/reqdata/srchdd2",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd2"));
  60. model.makeValue ("/root/send/reqdata/dialflag", "H");
  61. model.removeNodeset("/root/main/detlrsrvlist/detlrsrvinfo");
  62. submit("TRMND01103", false);
  63. //grd_cvrt.refresh();
  64. //grd_cvrt.allstyle("all", "background-color") = "white";
  65. grd_cvrt.refresh();
  66. fSetDialSeat(1);
  67. }
  68. /**
  69. * @group :
  70. * @ver : 2009.01.21
  71. * @by : 김양수
  72. * @---------------------------------------------------
  73. * @type : function
  74. * @access : public
  75. * @desc : 투석자리변경데이터 셋팅
  76. * @param :
  77. * @return :
  78. * @---------------------------------------------------
  79. */
  80. function fSetDialSeat(iRow){
  81. //var iRow = grd_cvrt.row;
  82. //var sShift = grd_cvrt.textmatrix(iRow,6); //shift
  83. //var sBedNo = grd_cvrt.textmatrix(iRow,8); //Bed No
  84. //var sRsrvdd = grd_cvrt.textmatrix(iRow,4); //rsrvdd
  85. var sShift = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("shiftflag")); //shift
  86. var sBedNo = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("dialseatflag")); //Bed No
  87. var sRsrvdd = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("rsrvdd")); //rsrvdd
  88. var sCretno = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("cretno")); //cretno-kys-20091218
  89. var sHdCretno = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("hdcretno")); //hdcretno-kys-20091218
  90. opt_shift1 .value = sShift; // 기존Shift
  91. opt_bedno1.value = sBedNo; //기존BedNo
  92. ipt_shift1 .value = sShift; // 변경Shift
  93. ipt_bedno1.value = sBedNo; // 변경BedNo
  94. opt_rsrvdd.value = sRsrvdd; //예약일자
  95. opt_cretno1 .value = sCretno; // 기존Cretno
  96. opt_hdcretno1.value = sHdCretno; //기존HdCretno
  97. }
  98. function fUseridPopup(pPath, pNodeID, pNodeNM, pNodeRrgsNo1, pNodeRrgsNo2, pDOC) {
  99. model.removeNodeset("/root/properties/parameters/SendData/SendDatavalue");
  100. modal("SMMNE03700", 1, event.screenX-100, event.screenY-100, "SMMNE03700", "/root/main/detlrsrvlist/detlrsrvsrch/pid", "/root/init/searchitem");
  101. var pParam = model.getValue("/root/properties/parameters/SendData/SendDatavalue");
  102. var pParamValue = pParam.split("|");
  103. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/pid", pParamValue[0]);
  104. model.setValue("/root/main/detlrsrvlist/detlrsrvsrch/hngnm", pParamValue[1]);
  105. ipt_pid.refresh();
  106. opt_hngnm.refresh();
  107. }
  108. /**
  109. * @group :
  110. * @ver : 2009.01.21
  111. * @by : 김양수
  112. * @---------------------------------------------------
  113. * @type : function
  114. * @access : public
  115. * @desc : 투석자리관리 테이블에서 투석자리 수정(교환)시 저장
  116. * @param :
  117. * @return :
  118. * @---------------------------------------------------
  119. */
  120. function fSaveChngPos(){
  121. //** 교환 정보 **//
  122. var shift_org = "", shift_chg = "";
  123. var sPatName = "";
  124. //** 입력값 체크 **//
  125. if(model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/pid") == ""){
  126. messageBox("등록번호를 입력하십시오.", "E"); model.setFocus("ipt_pid");
  127. return;
  128. }
  129. if(model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2") == "" ) {
  130. messageBox("변경할 Shift값을 입력하십시오.", "E"); model.setFocus("ipt_shift1"); return;
  131. }
  132. if(model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno2") == "") {
  133. messageBox("변경할 Bed No를 입력하십시오.", "E"); model.setFocus("ipt_bedno1"); return;
  134. }
  135. if((model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2") == model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift1")) && (model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno2") == model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno1"))) {
  136. messageBox("변경된 값이 없습니다. 변경할 값을 입력하십시오.", "E"); model.setFocus("ipt_shift1"); return;
  137. }
  138. if(model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd") >= sRtn ){ //현재일자 이후의 예약 Bed정보 변경
  139. //** 선택한 자리에 예약환자가 있는지 Select **//
  140. model.removeNodeset("/root/main/send");
  141. model.makeNode ("/root/main/send");
  142. model.makeValue ("/root/main/send/reqdata/srchdd1" ,model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd"));
  143. model.makeValue ("/root/main/send/reqdata/dialshift2",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2"));
  144. model.makeValue ("/root/main/send/reqdata/dialflag", "H");
  145. model.makeValue ("/root/main/send/reqdata/bedno2",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno2"));
  146. //model.removeNode("/root/main/chklist");
  147. //model.makeNode ("/root/main/chklist");
  148. submit("TRMND03204");
  149. sPatName = model.getValue("/root/main/chklist/chkinfo/hngnm");
  150. shift_org = model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift1");
  151. shift_chg = model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2");
  152. model.removeNodeset("/root/main/send");
  153. model.makeNode ("/root/main/send");
  154. //** 교환하는 환자자리 Setting **//
  155. model.makeValue ("/root/main/send/savedata/dialshift1" ,model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift1")); //기존 Shift
  156. model.makeValue ("/root/main/send/savedata/bedno1",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno1")); //기존 Bed No
  157. model.makeValue ("/root/main/send/savedata/pid" ,model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/pid")); //교환하는 pid
  158. model.makeValue ("/root/main/send/savedata/rsrvdd",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd")); //예약일자
  159. model.makeValue ("/root/main/send/savedata/dialshift2", model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2")); //변경 shift
  160. model.makeValue ("/root/main/send/savedata/bedno2",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno2")); //변경 Bed No
  161. if(getNodesetCount("/root/main/chklist/chkinfo") == 1){ //20091218-추가-kys-배정된 예약이 있는경우 cretno와 hdcretno를 setting한다.
  162. model.makeValue ("/root/main/send/savedata/cretno",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/cretno1"));
  163. model.makeValue ("/root/main/send/savedata/hdcretno",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/hdcretno1"));
  164. }
  165. //** 동일한 Shift인지를 비교 **//
  166. if(shift_org == shift_chg){ //동일Shift
  167. if(getNodesetCount("/root/main/chklist/chkinfo") == 1){ //변경하고자 하는 bed에 예약환자가 있을시 메시지창
  168. var sRtnMsg = messageBox("변경하고자 하는 투석자리는 " + sPatName + " 환자가 배정되어 있습니다. 교환하시겠습니까?", "Q");
  169. if(sRtnMsg != 6){
  170. return;
  171. }
  172. //예일 경우 환자 교환처리
  173. model.makeValue ("/root/main/send/savedata[2]/dialshift1" ,model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift2")); //기존 Shift
  174. model.makeValue ("/root/main/send/savedata[2]/bedno1",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno2")); //기존 Bed No
  175. model.makeValue ("/root/main/send/savedata[2]/pid" ,model.getValue("/root/main/chklist/chkinfo/pid")); //교환되는 pid
  176. model.makeValue ("/root/main/send/savedata[2]/rsrvdd",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/srchdd")); //예약일자
  177. model.makeValue ("/root/main/send/savedata[2]/dialshift2", model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/dialshift1")); //변경 shift
  178. model.makeValue ("/root/main/send/savedata[2]/bedno2",model.getValue("/root/main/detlrsrvlist/detlrsrvsrch/bedno1")); //변경 Bed No
  179. model.makeValue ("/root/main/send/savedata[2]/cretno" ,model.getValue("/root/main/chklist/chkinfo/cretno")); //추가-kys-20091218
  180. model.makeValue ("/root/main/send/savedata[2]/hdcretno" ,model.getValue("/root/main/chklist/chkinfo/hdcretno")); //추가-kys-20091218
  181. }
  182. //변경하고자하는 bed에 예약이 없는경우 그대로 적용
  183. }else{ //Shift변경
  184. if(getNodesetCount("/root/main/chklist/chkinfo") == 1){ //변경하고자 하는 bed에 예약환자가 있을시 메시지창
  185. messageBox("변경하고자 하는 투석자리는 배정된 자리입니다. 확인후 다시 선택하시기 바랍니다. ", "I"); return;
  186. }
  187. //변경하고자하는 bed에 예약이 없는경우 그대로 적용
  188. }
  189. if(submit("TXMND03302")){
  190. //** 투석자리 초기화 **//
  191. //opt_shift1 .value = ""; // 기존Shift
  192. //opt_bedno1.value = ""; //기존BedNo
  193. //ipt_shift1 .value = ""; // 변경Shift
  194. //ipt_bedno1.value = ""; // 변경BedNo
  195. fSrchDetlrSrvInfo(); //상세 예약정보 조회
  196. }
  197. }else{
  198. messageBox("과거 예약정보입니다.", "I", "투석자리를 교환 할 수 없습니다.") ;
  199. }
  200. }