SMMND03500.xjs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type ="xscript4.0"><![CDATA[/*
  3. HD Scheduling (SMMND03500.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. //** 전역변수 **//
  8. var sRtn = utlf_getCurrentDate(); //현재일자 리턴
  9. /**
  10. * _group :
  11. * _ver : 2009.01.22
  12. * _by : 김양수
  13. * _---------------------------------------------------
  14. * _type : function
  15. * _access : public
  16. * _desc : 화면 초기화..
  17. * _param :
  18. * _return :
  19. * _---------------------------------------------------
  20. */
  21. function fInit(){
  22. /** 받아온 Param Setting **/
  23. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "pid",ds_main_temp_bedchnginfo.getColumn(0, "pid"));
  24. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "hngnm",ds_main_temp_bedchnginfo.getColumn(0, "hngnm"));
  25. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "bedno1",ds_main_temp_bedchnginfo.getColumn(0, "bedno"));
  26. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "dialshift1",ds_main_temp_bedchnginfo.getColumn(0, "selectedshift"));
  27. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "srchdd",ds_main_temp_bedchnginfo.getColumn(0, "selecteddd"));
  28. /** 조회일자계산(1개월 후 일자) **/
  29. var sSelecteddd = ds_main_temp_bedchnginfo.getColumn(0, "selecteddd");
  30. var sRtnOneMonthLater = ((sSelecteddd.toDate().getAddDate(1, "M"))).getDateFormat(); // 1개월 후 일자
  31. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "srchdd2",sRtnOneMonthLater);
  32. /** Control에 value Setting **/
  33. //ipt_bedno1.value = ds_main_temp_bedchnginfo.getColumn(0, "bedno");
  34. //ipt_shift1.value = ds_main_temp_bedchnginfo.getColumn(0, "selectedshift");
  35. fSrchDetlrSrvInfo(); //상세예약정보 조회
  36. }
  37. /**
  38. * _group :
  39. * _ver : 2009.01.21
  40. * _by : 김양수
  41. * _---------------------------------------------------
  42. * _type : function
  43. * _access : public
  44. * _desc : 상세 예약정보 조회(환자개인별)
  45. * _param :
  46. * _return :
  47. * _---------------------------------------------------
  48. */
  49. function fSrchDetlrSrvInfo(){
  50. //* 환자 등록번호 입력여부 체크 *//
  51. if(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid") == ""){
  52. sysf_messageBox("등록번호를 입력하십시오.", "E"); ipt_pid.setFocus();
  53. return;
  54. }
  55. //* 상세 예약정보 리스트를 조회한다. *//
  56. ds_send.clearData();
  57. dsf_makeValue( ds, "send", "string", "" );
  58. dsf_makeValue( ds_send_reqdata, "pid", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid"));
  59. dsf_makeValue( ds_send_reqdata, "srchdd1", "string", ds_main_temp_bedchnginfo.getColumn(0, "selecteddd")); //선택된날자~1개월후날자조회를 위해
  60. dsf_makeValue( ds_send_reqdata, "srchdd2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd2"));
  61. dsf_makeValue( ds_send_reqdata, "dialflag", "string", "H");
  62. ds_main_detlrsrvlist_detlrsrvinfo.clearData();
  63. // submit("TRMND01103", false);
  64. var oParam = {};
  65. oParam.id = "TRMND01103";
  66. oParam.service = "dialapp.DialPatMngt";
  67. oParam.method = "reqGetDetlRsrvInfo";
  68. oParam.inds = "req=ds_";
  69. oParam.outds = "ds_=detlrsrvinfo";
  70. oParam.async = false;
  71. oParam.callback = "cf_TRMND01103";
  72. tranf_submit(oParam);
  73. /*
  74. function cf_TRMND01103(sSvcId, nErrorCode, sErrorMsg) {
  75. if(nErrorCode < 0) return;
  76. }
  77. function cf_TRMND01103(sSvcId, nErrorCode, sErrorMsg) {
  78. arErrorCode.push(sSvcId, nErrorCode);
  79. }
  80. arErrorCode.pop("TRMND01103") > -1
  81. arErrorCode.pop("TRMND01103") < 0
  82. */
  83. //
  84. //grd_cvrt.refresh();
  85. //grd_cvrt.allstyle("all", "background-color") = "white";
  86. //grd_cvrt.refresh();
  87. fSetDialSeat(1);
  88. }
  89. /**
  90. * _group :
  91. * _ver : 2009.01.21
  92. * _by : 김양수
  93. * _---------------------------------------------------
  94. * _type : function
  95. * _access : public
  96. * _desc : 투석자리변경데이터 셋팅
  97. * _param :
  98. * _return :
  99. * _---------------------------------------------------
  100. */
  101. function fSetDialSeat(iRow){
  102. //var iRow = grd_cvrt.row;
  103. //var sShift = grd_cvrt.textmatrix(iRow,6); //shift
  104. //var sBedNo = grd_cvrt.textmatrix(iRow,8); //Bed No
  105. //var sRsrvdd = grd_cvrt.textmatrix(iRow,4); //rsrvdd
  106. var sShift = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("shiftflag")); //shift
  107. var sBedNo = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("dialseatflag")); //Bed No
  108. var sRsrvdd = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("rsrvdd")); //rsrvdd
  109. var sCretno = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("cretno")); //cretno-kys-20091218
  110. var sHdCretno = grd_cvrt.textmatrix(iRow, grd_cvrt.colRef("hdcretno")); //hdcretno-kys-20091218
  111. opt_shift1 .value = sShift; // 기존Shift
  112. opt_bedno1.value = sBedNo; //기존BedNo
  113. ipt_shift1 .value = sShift; // 변경Shift
  114. ipt_bedno1.value = sBedNo; // 변경BedNo
  115. opt_rsrvdd.value = sRsrvdd; //예약일자
  116. opt_cretno1 .value = sCretno; // 기존Cretno
  117. opt_hdcretno1.value = sHdCretno; //기존HdCretno
  118. }
  119. function fUseridPopup(pPath, pNodeID, pNodeNM, pNodeRrgsNo1, pNodeRrgsNo2, pDOC) {
  120. ds_properties_parameters_SendData_SendDatavalue.clearData();
  121. modal("SMMNE03700", 1, event.screenX-100, event.screenY-100, "SMMNE03700", "ds_main_detlrsrvlist_detlrsrvsrch_pid", "ds_init_searchitem");
  122. var pParam = ds_properties_parameters_SendData.getColumn(0, "SendDatavalue");
  123. var pParamValue = pParam.split("|");
  124. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "pid", pParamValue[0]);
  125. ds_main_detlrsrvlist_detlrsrvsrch.setColumn( 0, "hngnm", pParamValue[1]);
  126. //ipt_pid.refresh();
  127. //opt_hngnm.refresh();
  128. }
  129. /**
  130. * _group :
  131. * _ver : 2009.01.21
  132. * _by : 김양수
  133. * _---------------------------------------------------
  134. * _type : function
  135. * _access : public
  136. * _desc : 투석자리관리 테이블에서 투석자리 수정(교환)시 저장
  137. * _param :
  138. * _return :
  139. * _---------------------------------------------------
  140. */
  141. function fSaveChngPos(){
  142. //** 교환 정보 **//
  143. var shift_org = "", shift_chg = "";
  144. var sPatName = "";
  145. //** 입력값 체크 **//
  146. if(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid") == ""){
  147. sysf_messageBox("등록번호를 입력하십시오.", "E"); ipt_pid.setFocus();
  148. return;
  149. }
  150. if(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2") == "" ) {
  151. sysf_messageBox("변경할 Shift값을 입력하십시오.", "E"); ipt_shift1.setFocus(); return;
  152. }
  153. if(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno2") == "") {
  154. sysf_messageBox("변경할 Bed No를 입력하십시오.", "E"); ipt_bedno1.setFocus(); return;
  155. }
  156. if((ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2") == ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift1")) && (ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno2") == ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno1"))) {
  157. sysf_messageBox("변경된 값이 없습니다. 변경할 값을 입력하십시오.", "E"); ipt_shift1.setFocus(); return;
  158. }
  159. if(ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd") >= sRtn ){ //현재일자 이후의 예약 Bed정보 변경
  160. //** 선택한 자리에 예약환자가 있는지 Select **//
  161. ds_main_send.clearData();
  162. dsf_makeValue( ds_main, "send", "string", "" );
  163. dsf_makeValue( ds_main_send_reqdata, "srchdd1", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd"));
  164. dsf_makeValue( ds_main_send_reqdata, "dialshift2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2"));
  165. dsf_makeValue( ds_main_send_reqdata, "dialflag", "string", "H");
  166. dsf_makeValue( ds_main_send_reqdata, "bedno2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno2"));
  167. //ds_main_chklist.clearData();
  168. //dsf_makeValue( ds_main, "chklist", "string", "" );
  169. // submit("TRMND03204");
  170. var oParam = {};
  171. oParam.id = "TRMND03204";
  172. oParam.service = "dialapp.DialPatMngt";
  173. oParam.method = "reqGetChkBedRsrvInfo";
  174. oParam.inds = "req=ds_";
  175. oParam.outds = "ds_=chkinfo";
  176. oParam.async = false;
  177. oParam.callback = "cf_TRMND03204";
  178. tranf_submit(oParam);
  179. /*
  180. function cf_TRMND03204(sSvcId, nErrorCode, sErrorMsg) {
  181. if(nErrorCode < 0) return;
  182. }
  183. function cf_TRMND03204(sSvcId, nErrorCode, sErrorMsg) {
  184. arErrorCode.push(sSvcId, nErrorCode);
  185. }
  186. arErrorCode.pop("TRMND03204") > -1
  187. arErrorCode.pop("TRMND03204") < 0
  188. */
  189. sPatName = ds_main_chklist_chkinfo.getColumn(0, "hngnm");
  190. shift_org = ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift1");
  191. shift_chg = ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2");
  192. ds_main_send.clearData();
  193. dsf_makeValue( ds_main, "send", "string", "" );
  194. //** 교환하는 환자자리 Setting **//
  195. dsf_makeValue( ds_main_send_savedata, "dialshift1", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift1")); //기존 Shift
  196. dsf_makeValue( ds_main_send_savedata, "bedno1", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno1")); //기존 Bed No
  197. dsf_makeValue( ds_main_send_savedata, "pid", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "pid")); //교환하는 pid
  198. dsf_makeValue( ds_main_send_savedata, "rsrvdd", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd")); //예약일자
  199. dsf_makeValue( ds_main_send_savedata, "dialshift2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2")); //변경 shift
  200. dsf_makeValue( ds_main_send_savedata, "bedno2", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno2")); //변경 Bed No
  201. if(ds_main_chklist_chkinfo.rowcount;== 1){ //20091218-추가-kys-배정된 예약이 있는경우 cretno와 hdcretno를 setting한다.
  202. dsf_makeValue( ds_main_send_savedata, "cretno", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "cretno1"));
  203. dsf_makeValue( ds_main_send_savedata, "hdcretno", "string", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "hdcretno1"));
  204. }
  205. //** 동일한 Shift인지를 비교 **//
  206. if(shift_org == shift_chg){ //동일Shift
  207. if(ds_main_chklist_chkinfo.rowcount;== 1){ //변경하고자 하는 bed에 예약환자가 있을시 메시지창
  208. var sRtnMsg = sysf_messageBox("변경하고자 하는 투석자리는 " + sPatName + " 환자가 배정되어 있습니다. 교환하시겠습니까?", "Q");
  209. if(sRtnMsg != 6){
  210. return;
  211. }
  212. //예일 경우 환자 교환처리
  213. model.makeValue ("ds_main_send_savedata[2]_dialshift1" ,ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift2")); //기존 Shift
  214. model.makeValue ("ds_main_send_savedata[2]_bedno1",ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno2")); //기존 Bed No
  215. model.makeValue ("ds_main_send_savedata[2]_pid" ,ds_main_chklist_chkinfo.getColumn(0, "pid")); //교환되는 pid
  216. model.makeValue ("ds_main_send_savedata[2]_rsrvdd",ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "srchdd")); //예약일자
  217. model.makeValue ("ds_main_send_savedata[2]_dialshift2", ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "dialshift1")); //변경 shift
  218. model.makeValue ("ds_main_send_savedata[2]_bedno2",ds_main_detlrsrvlist_detlrsrvsrch.getColumn(0, "bedno1")); //변경 Bed No
  219. model.makeValue ("ds_main_send_savedata[2]_cretno" ,ds_main_chklist_chkinfo.getColumn(0, "cretno")); //추가-kys-20091218
  220. model.makeValue ("ds_main_send_savedata[2]_hdcretno" ,ds_main_chklist_chkinfo.getColumn(0, "hdcretno")); //추가-kys-20091218
  221. }
  222. //변경하고자하는 bed에 예약이 없는경우 그대로 적용
  223. }else{ //Shift변경
  224. if(ds_main_chklist_chkinfo.rowcount;== 1){ //변경하고자 하는 bed에 예약환자가 있을시 메시지창
  225. sysf_messageBox("변경하고자 하는 투석자리는 배정된 자리입니다. 확인후 다시 선택하시기 바랍니다. ", "I"); return;
  226. }
  227. //변경하고자하는 bed에 예약이 없는경우 그대로 적용
  228. }
  229. // if(submit("TXMND03302")){
  230. var oParam = {};
  231. oParam.id = "TXMND03302";
  232. oParam.service = "dialapp.DialPatMngt";
  233. oParam.method = "reqExeSaveBedChg";
  234. oParam.inds = "req=ds_";
  235. oParam.outds = "";
  236. oParam.async = false;
  237. oParam.callback = "cf_TXMND03302";
  238. tranf_submit(oParam);
  239. /*
  240. function cf_TXMND03302(sSvcId, nErrorCode, sErrorMsg) {
  241. if(nErrorCode < 0) return;
  242. }
  243. function cf_TXMND03302(sSvcId, nErrorCode, sErrorMsg) {
  244. arErrorCode.push(sSvcId, nErrorCode);
  245. }
  246. arErrorCode.pop("TXMND03302") > -1
  247. arErrorCode.pop("TXMND03302") < 0
  248. */
  249. //** 투석자리 초기화 **//
  250. //opt_shift1 .value = ""; // 기존Shift
  251. //opt_bedno1.value = ""; //기존BedNo
  252. //ipt_shift1 .value = ""; // 변경Shift
  253. //ipt_bedno1.value = ""; // 변경BedNo
  254. fSrchDetlrSrvInfo(); //상세 예약정보 조회
  255. }
  256. }else{
  257. sysf_messageBox("과거 예약정보입니다.", "I", "투석자리를 교환 할 수 없습니다.") ;
  258. }
  259. }
  260. ]]></Script>