SPMNP00315.js 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. /* ---------------------------------------------------------------------
  2. 수술기록 관찰기록(SMMNP00315.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : Create By 손성훈
  6. : 2012.05.22 오후 08:40
  7. ---------------------------------------------------------------------- */
  8. var sPid = ""; //등록번호
  9. var sOprsrvno = ""; //수술예약번호
  10. var sOphistno = ""; //수술예약 일련번호
  11. var sDoctid = ""; //집도의ID
  12. var sDoctnm = ""; //집도의
  13. var sInstcd = "";
  14. var sOpfromdt = ""; //수술시작일시
  15. var sOproomcd = ""; //수술방코드
  16. var sOpcnfmdd = ""; //수술확정일자
  17. //sSendData = sPid+"▥"+ sOprsrvno +"▥"+ sOphistno +"▥"+ sInstcd +"▥"+ sOpfromdt +"▥"+tempOproomcd+ "▨"+ sSendPinfo +"▨"+sSendDoctinfo;
  18. /**
  19. * 화면 초기화
  20. *
  21. */
  22. function fInit(){
  23. model.removeNodeSet("/root/main/oblist");
  24. model.removeNodeSet("/root/main/paminfo");
  25. datagrid1.refresh();
  26. model.refresh();
  27. var sRecvFlag = opener.javascript.getParameter("SMMNP00300_searchFlag");
  28. var sRecvData = opener.javascript.getParameter("SMMNP00300_SearchCondition");
  29. opener.javascript.setParameter("SMMNP00300_searchFlag", "");
  30. opener.javascript.setParameter("SMMNP00300_SearchCondition", "");
  31. if(sRecvFlag != "true"){
  32. messageBox("관찰기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
  33. group3.disabled = true;
  34. return;
  35. }
  36. var sRecvArr = null;
  37. if(sRecvData != "" && sRecvData != null && sRecvData != "undefined"){
  38. sRecvArr = sRecvData.split("▨");
  39. var sDataArr = sRecvArr[1].split("▥");
  40. if(sRecvArr[1] != null && sRecvArr[1] != "" && sRecvArr[1] != "undefined"){
  41. sOpcnfmdd = sDataArr[0];
  42. model.setValue("/root/init/pinfo", sOpcnfmdd);
  43. model.setValue("/root/init/pinfo2", sDataArr[1]);
  44. model.setValue("/root/init/pinfo3", sDataArr[2]);
  45. }
  46. if(sRecvArr[0] != null && sRecvArr[0] != "" && sRecvArr[0] != "undefined"){
  47. var sRecvPinfoArr = sRecvArr[0].split("▥");
  48. sPid = sRecvPinfoArr[0];
  49. sOprsrvno = sRecvPinfoArr[1]; //수술예약번호
  50. sOphistno = sRecvPinfoArr[2]; //수술예약 일련번호
  51. sInstcd = sRecvPinfoArr[3];
  52. sOpfromdt = sRecvPinfoArr[4]; //수술시작일시
  53. sOproomcd = sRecvPinfoArr[5]; //수술방코드
  54. }
  55. if(sRecvArr[2] != null && sRecvArr[2] != "" && sRecvArr[2] != "undefined"){
  56. var sRecvDoctArr = sRecvArr[2].split("▥");
  57. sDoctnm = sRecvDoctArr[0]; //집도의
  58. sDoctid = sRecvDoctArr[1]; //집도의ID
  59. }
  60. }
  61. if(sOprsrvno != "" && sOprsrvno != null && sOprsrvno != "undefined"){
  62. //수술예약번호가 존재할 경우 정상 조회 처리
  63. fGetRoomInfo();
  64. fSearchMnphOpobserv();
  65. }
  66. }
  67. /**
  68. * 화면 오픈시 수술방 정보와 취급 간호사, 집도의 부서 정보를 조회한다.
  69. *
  70. */
  71. function fGetRoomInfo(){
  72. model.removenode("/root/send");
  73. model.makeValue("/root/send/flag" , "userid" );
  74. model.makeValue("/root/send/searchitem" , "00009006" );
  75. submit("TRMNP00301"); // 수술실의 코드와 명칭을 가져온다.
  76. model.removenode("/root/send");
  77. model.makeValue("/root/send/doctid" , sDoctid);
  78. model.makeValue("/root/send/flag" , "userid");
  79. model.makeValue("/root/send/selectflag" , "userid" );
  80. model.makeValue("/root/send/searchitem" , "" );
  81. model.makeValue("/root/send/searchdd" , sOpcnfmdd );//조회 기준일자
  82. model.makeValue("/root/send/deptflag" , "015" ); //수술실 간호사코드 anstrecmgr - getUserList
  83. submit("TRMNP00316"); //수술방 간호사 정보 및 집도의 리스트 정보 조회
  84. }
  85. /**
  86. * 조회 버튼 클릭시 이벤트
  87. *
  88. */
  89. function fSearchMnphOpobserv(){
  90. if(sOprsrvno == "" || sOprsrvno == "undefined" || sOprsrvno == null) {
  91. messageBox("관찰 기록은 수술기록 화면에서만 연동할 수 있으며 기록 가능합니다.", "");
  92. return;
  93. }
  94. model.removenode("/root/send");
  95. model.makeValue("/root/send/oprsrvno", sOprsrvno);
  96. model.removeNodeSet("/root/main/oblists/oblist");
  97. datagrid1.rebuild();
  98. submit("TRMNP00355");
  99. }
  100. /**
  101. * 추가 버튼 클릭 시 이벤트
  102. *
  103. */
  104. function fOnClickGridAddBtn(){
  105. datagrid1.addRow(true, true);
  106. var i = datagrid1.rows - datagrid1.fixedRows;
  107. if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) == ""){
  108. datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) = model.getValue("/root/init/DisplayData/doctinfo/deptcd");//집도과ID
  109. }
  110. if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) == ""){
  111. datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) = model.getValue("/root/init/DisplayData/doctinfo/deptnm");//집도과명
  112. }
  113. if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) == ""){
  114. datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) = sDoctid;//적출의ID - 집도의
  115. }
  116. if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) == ""){
  117. datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) = sDoctnm;//적출의명
  118. }
  119. }
  120. /**
  121. * 삭제 버튼 클릭 시 이벤트
  122. *
  123. */
  124. function fOnClickGridDeleteBtn(){
  125. var iRow = datagrid1.row;
  126. var iCol = datagrid1.col;
  127. datagrid1.deleteRow(iRow);
  128. }
  129. /**
  130. * Grid Time button 클릭시
  131. *
  132. */
  133. function fOnClickGridTimeBtn(){
  134. var iRow = datagrid1.row;
  135. var iCol = datagrid1.col;
  136. if(iCol == datagrid1.colRef("obrectm")){
  137. datagrid1.textmatrix(iRow, iCol-1) = getCurrentDate();
  138. datagrid1.textmatrix(iRow, iCol) = getCurrentTime().substr(0, 4);
  139. }
  140. }
  141. /**
  142. * 저장시 valid check 및 default info copy
  143. *
  144. */
  145. function validForSave(){
  146. var itotalRow = datagrid1.rows;
  147. var iCol = datagrid1.col;
  148. if(sOprsrvno == "" || sOprsrvno == "undefined" || sOprsrvno == null){
  149. return false;
  150. }
  151. for(var i = datagrid1.fixedRows; i <= itotalRow - datagrid1.fixedRows; i++){
  152. /*
  153. 0 : 데이터는 있지만 변경되지 않은 사항
  154. 1 : new
  155. 2 : update
  156. */
  157. if(datagrid1.textmatrix(i, datagrid1.colRef("oprsrvno")) == ""){
  158. datagrid1.textmatrix(i, datagrid1.colRef("oprsrvno")) = sOprsrvno;
  159. }
  160. if(datagrid1.textmatrix(i, datagrid1.colRef("oproomcd")) == ""){
  161. datagrid1.textmatrix(i, datagrid1.colRef("oproomcd")) = sOproomcd;
  162. }
  163. if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) == ""){
  164. datagrid1.textmatrix(i, datagrid1.colRef("opdeptcd")) = model.getValue("/root/init/DisplayData/doctinfo/deptcd");//집도과ID
  165. }
  166. if(datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) == ""){
  167. datagrid1.textmatrix(i, datagrid1.colRef("opdeptnm")) = model.getValue("/root/init/DisplayData/doctinfo/deptnm");//집도과명
  168. }
  169. if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) == ""){
  170. datagrid1.textmatrix(i, datagrid1.colRef("opdoctid")) = sDoctid;// 집도의
  171. }
  172. if(datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) == ""){
  173. datagrid1.textmatrix(i, datagrid1.colRef("opdoctnm")) = sDoctnm;//집도의명
  174. }
  175. }
  176. return true;
  177. }
  178. /**
  179. * 저장 버튼 클릭 시 이벤트
  180. *
  181. */
  182. function onclickSaveBtn(){
  183. if(!validForSave()) return;
  184. model.removenode("/root/send");
  185. model.makeValue("/root/send/oblists", datagrid1.getUpdateData());
  186. submit("TXMNP00355");
  187. datagrid1.clearStatus();
  188. fSearchMnphOpobserv();
  189. }
  190. //grid Value Changed event
  191. function fGridValueChanged(){
  192. var iRow = datagrid1.row;
  193. var iCol = datagrid1.col;
  194. if(iCol == datagrid1.colRef("obnurid")){
  195. //model.setValue("/root/main/eolists/eolist["+iRow+"]/displayactnurid", datagrid1.valueMartrix(iRow, datagrid1.colRef("search")));
  196. datagrid1.valueMatrix(iRow, datagrid1.colRef("displayobnurid")) = datagrid1.valueMatrix(iRow, datagrid1.colRef("obnurid"));
  197. datagrid1.refresh();
  198. }
  199. }