SPMNP00330.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /* ---------------------------------------------------------------------
  2. 수술기록 장기이식 정보 등록 (SPMNP00330_장기이식기록.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. : taebum
  6. : 2008-07-08 오전 9:30:10
  7. ---------------------------------------------------------------------- */
  8. var sOprsrvno = ""; //수술예약번호
  9. var sRecvFlag = "";
  10. var sRecvData = "";
  11. var sOpcnfmdd = "";
  12. /**
  13. * 화면 초기화
  14. *
  15. */
  16. function fInit(){
  17. sRecvFlag = opener.javascript.getParameter("SMMNP00300_OrSearchFlag");
  18. sRecvData = opener.javascript.getParameter("SMMNP00300_OrSearchCondition");
  19. opener.javascript.setParameter("SMMNP00300_OrSearchFlag", "");
  20. opener.javascript.setParameter("SMMNP00300_OrSearchCondition", "");
  21. if(sRecvFlag != "true"){
  22. messageBox("현재 화면의 분만정보는 수술기록 화면에서만 연동 합니다.", "");
  23. group3.disabled = true;
  24. return;
  25. }
  26. var sRecvArr = null;
  27. if(sRecvData != "" && sRecvData != null && sRecvData != "undefined"){
  28. sRecvArr = sRecvData.split("▨");
  29. if(sRecvArr[1] != null && sRecvArr[1] != "" && sRecvArr[1] != "undefined"){
  30. var sDataArr = sRecvArr[1].split("▥");
  31. sOpcnfmdd = sDataArr[0];
  32. model.setValue("/root/init/pinfo", sDataArr[0]);
  33. model.setValue("/root/init/pinfo2", sDataArr[1]);
  34. model.setValue("/root/init/pinfo3", sDataArr[2]);
  35. //output2.refresh();
  36. }
  37. if(sRecvArr[0] != null && sRecvArr[0] != "" && sRecvArr[0] != "undefined"){
  38. var sRecvPinfoArr = sRecvArr[0].split("▥");
  39. sOprsrvno = sRecvPinfoArr[0]; //수술예약번호
  40. }
  41. model.refresh();
  42. }
  43. if(sOprsrvno != "" && sOprsrvno != null && sOprsrvno != "undefined"){
  44. model.setValue("/root/init/HideData/oprsrvno", sOprsrvno);
  45. //수술예약번호가 존재할 경우 정상 조회 처리
  46. fSearchOrInfo();
  47. }
  48. }
  49. /**
  50. * 장기 이식 정보 조회
  51. *
  52. */
  53. function fSearchOrInfo(){
  54. if(sOprsrvno == "" || sOprsrvno == "undefined" || sOprsrvno == null) {
  55. messageBox("현재 화면의 적출물정보는 수술기록 화면에서만 연동 합니다.", "");
  56. group1.disabled = true;
  57. return;
  58. }
  59. model.removeNodeSet("/root/main/OrganLists/organlist");
  60. datagrid4.rebuild();
  61. model.removenode("/root/send");
  62. model.makeValue("/root/send/oprsrvno", sOprsrvno);
  63. model.makeValue("/root/send/searchdd", sOpcnfmdd);
  64. submit("TRMNP00318");
  65. }
  66. /**
  67. * 저장 버튼 클릭 시 valid check
  68. *
  69. */
  70. function isValidForSave(){
  71. var iRow = datagrid4.row;
  72. for (var i=1; i <= iRow; i++) {
  73. if(datagrid4.valueMatrix(i, 3) == "" || datagrid4.valueMatrix(i, 3) == null){
  74. messageBox(i+" 번째 이식구분 값을 다시" ,"C001");
  75. return false;
  76. }
  77. if(datagrid4.valueMatrix(i, 4) == "" || datagrid4.valueMatrix(i, 4) == null){
  78. messageBox(i+"공/수여자 값을 다시" ,"C001");
  79. return false;
  80. }
  81. if(datagrid4.valueMatrix(i, 5) == "" || datagrid4.valueMatrix(i, 5) == null){
  82. messageBox(i+" 번째 장기종류 값을 다시" ,"C001");
  83. return false;
  84. }
  85. if(datagrid4.valueMatrix(i, 10) == "Y"){ //보관검체가 Y 일 경우.
  86. if(datagrid4.valueMatrix(i, 13) == "" && (datagrid4.valueMatrix(i, 14) == "" || datagrid4.valueMatrix(i, 14) == null)){
  87. messageBox(i+" 번째 보관자 이름을 다시" ,"C001");
  88. return false;
  89. }
  90. }
  91. }
  92. return true;
  93. }
  94. /**
  95. * 저장 버튼 클릭 시 이벤트
  96. *
  97. */
  98. function onclickSaveBtn(){
  99. if(!isValidForSave()){
  100. return;
  101. }
  102. model.makeValue("/root/send/organlist" , datagrid4.getUpdateData()); // 장기이식정보
  103. submit("TXMNP00312");
  104. fSearchOrInfo();
  105. }
  106. /**
  107. * 초를 시/분/초로 계산하여 리턴.
  108. */
  109. function fCalcSecToTime(pSec, iRow, iCol){
  110. if(pSec == "" || pSec == null || pSec == "undefined"){
  111. return;
  112. }
  113. var iSec = parseInt(pSec);
  114. var iReturnSec = iSec%60;
  115. //최대 입력시간은 1시간을 넘지 않는다고 함. 그래서 무한 루프 안 돌림. taebum
  116. var iReturnMin = parseInt(iSec/60);
  117. if(iReturnMin > 59){
  118. iReturnMin = parseInt(iReturnMin%60);
  119. }//7200 2580 20
  120. var iReturnTime = parseInt(iSec/(60*60));
  121. var sResultSec = "";
  122. var sResultMin = "";
  123. var sResultTime = "";
  124. if((iReturnSec+"").length == 1){
  125. sResultSec = "0"+iReturnSec;
  126. }else{
  127. sResultSec = ""+iReturnSec;
  128. }
  129. if((iReturnMin+"").length == 1){
  130. sResultMin = "0"+iReturnMin;
  131. }else{
  132. sResultMin = ""+iReturnMin;
  133. }
  134. if((iReturnTime+"").length == 1){
  135. sResultTime = "0"+iReturnTime;
  136. }else{
  137. sResultTime = ""+iReturnTime;
  138. }
  139. datagrid4.valueMatrix(iRow, iCol) = sResultTime+":"+sResultMin+":"+sResultSec;
  140. datagrid4.refresh();
  141. }