SMMNE05300.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. /**
  2. * 응급실 중증 - Visit 등록 (SMMNE05200.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. - Create : 2009.06.22
  6. */
  7. //20090622 dhkim
  8. function fInit(isInit){
  9. //ipt_drid.dispatch('DOMFocusIn');
  10. //ipt_drid.dispatch('oncursor');
  11. //초기화
  12. model.removenode('/root/cond');
  13. model.makeValue('/root/cond/cptdrid', '');
  14. model.makeValue('/root/cond/drid', '');
  15. if(isInit){
  16. //맥어드레스 가져옴
  17. mmbfGetHardCodeInfo("/root/send/reqdata" , "/root/init/hardcd" , 46);
  18. }
  19. //20090624 dhkim 캡션에 포커스가 선택된 상태로 보여지게 변경
  20. setCaptionFocus(true);
  21. model.refresh();
  22. }
  23. //20090624 dhkim 캡션 포커스 선택상태 변경
  24. function setCaptionFocus(isSelected, itemKd){
  25. if(isSelected){
  26. //선택된상태로 보여짐
  27. capt_drid.attribute("background-color") = '#feff17';
  28. capt_drid.attribute("border-color") = '#ffcc00';
  29. if(itemKd != 'input'){
  30. model.setFocus("ipt_drid");
  31. }
  32. }else{
  33. //선택되지않은 상태로 보여짐
  34. capt_drid.attribute("background-color") = '#ffffff';
  35. capt_drid.attribute("border-color") = '#c0c0c0';
  36. }
  37. //실제포커스는 ipt_drid로 가게 할것
  38. }
  39. //20090622 dhkim
  40. //입력한 내용을 캡션에 보여지게함
  41. //keyStr : event.keyCode
  42. function fSetCaption(keyStr){
  43. model.setValue('/root/cond/cptdrid', keyStr);
  44. model.setValue('/root/cond/drid', keyStr);
  45. model.refresh();
  46. if(keyStr.length == 8){
  47. model.setFocus('btn_save');
  48. btn_save.dispatch('DOMActivate');
  49. }
  50. }
  51. //도착의사저장
  52. function fErVisitSave(){
  53. if(fIsValid()){
  54. //저장
  55. model.removenode('/root/send');
  56. model.makeValue('/root/send/savedata', grd_savedata.getupdatedataAll('i'));
  57. if(!submit('TXMNE05301')){
  58. messageBox('도착시간등록을 실패하였습니다.', 'E999');
  59. //초기화
  60. fInit(false);
  61. return false;
  62. }else{
  63. messageBox('도착시간이 등록되었습니다.', 'E999');
  64. //초기화
  65. fInit(false);
  66. return true;
  67. }
  68. }
  69. }
  70. //20090622 dhkim
  71. //저장전 유효성체크
  72. function fIsValid(){
  73. //응급실에서만 도착시간 입력이 가능합니다. '
  74. var hardcd = model.getValue("/root/init/hardcd/hardcd[hardcd='" + getUserInfo("macaddr") + "']/hardcd");
  75. if(hardcd == ""){
  76. messageBox("응급실에서만 도착시간 체크", "I006");
  77. setCaptionFocus(true);
  78. model.setValue('/root/cond/cptdrid', '');
  79. model.setValue('/root/cond/drid', '');
  80. model.refresh();
  81. return false;
  82. }
  83. if(model.getValue("/root/cond/drid") == ""){
  84. messageBox("사번을 입력하십시오.", "E");
  85. setCaptionFocus(true);
  86. model.setValue('/root/cond/cptdrid', '');
  87. model.setValue('/root/cond/drid', '');
  88. model.refresh();
  89. return false;
  90. }
  91. //20090710 dhkim
  92. //변경요청사항 : * 응급의학과는 visit time을 찍지 않도록함.
  93. // * visit time은 진료과 단위로 한번만 찍어도 되도록 함. call받은 의사가 모두 안찍어도 됨.
  94. //1. 도착등록한 의사의 과를 조회한다.
  95. //2. 도착등록한 의사의 과가 호출된 과인지 조회한다.
  96. //3. 도착등록한 의사가 호출된 의사인지 조회한다.(호출되지 않은 의사가 등록해도 되는건지 확인할것)
  97. //4. 도착등록한 의사가 도착등록 했는지 조회한다.
  98. //5. 도착등록이 안되어있으면 해당의사 소속된 과의 도착정보를 모두 업데이트한다
  99. //20090624 dhkim
  100. //해당의사가 sms 호출한 의사인지 여부를 조회
  101. model.removenode('/root/send');
  102. model.makeValue("/root/send/searchinfo/drid", model.getValue('/root/cond/drid'));
  103. model.makeValue("/root/send/searchinfo/srchflag", "call");
  104. if(!submit("TRMNE05301")){
  105. messageBox('해당의사가 sms 호출한 의사인지 여부 조회를 실패하였습니다.', 'E999');
  106. setCaptionFocus(true);
  107. model.setValue('/root/cond/cptdrid', '');
  108. model.setValue('/root/cond/drid', '');
  109. model.refresh();
  110. return false;
  111. }else{
  112. if(getNodesetCount("/root/hidden/calldryninfo/calldryninfolist") < 1){
  113. messageBox('호출되지 않은 선생님은 도착일시를 입력하실 수 없습니다.', 'E999');
  114. model.setValue('/root/cond/cptdrid', '');
  115. model.setValue('/root/cond/drid', '');
  116. model.refresh();
  117. setCaptionFocus(true);
  118. return false;
  119. }
  120. }
  121. //20090624 dhkim
  122. //이미도착등록했는지 조회
  123. model.removenode('/root/send');
  124. model.makeValue("/root/send/searchinfo/drid", model.getValue('/root/cond/drid'));
  125. model.makeValue("/root/send/searchinfo/srchflag", "arrv");
  126. //★TRMNE05301 에서 조회한 결과값을 가지고 저장을 실행함★
  127. if(!submit("TRMNE05301")){
  128. messageBox('도착등록여부 조회를 실패하였습니다.', 'E999');
  129. setCaptionFocus(true);
  130. model.setValue('/root/cond/cptdrid', '');
  131. model.setValue('/root/cond/drid', '');
  132. model.refresh();
  133. return false;
  134. }else{
  135. if(getNodesetCount("/root/hidden/calldryninfo/calldryninfolist") < 1){
  136. messageBox('이미 도착등록을 하셨거나 호출되지 않았으므로 도착일시를 입력하실 수 없습니다.', 'E999');
  137. setCaptionFocus(true);
  138. model.setValue('/root/cond/cptdrid', '');
  139. model.setValue('/root/cond/drid', '');
  140. model.refresh();
  141. return false;
  142. }
  143. }
  144. return true;
  145. }
  146. /**
  147. * 창닫기
  148. */
  149. function fCloseWindow(){
  150. opener.javascript.setParameter("closeyn","Y");
  151. model.close();
  152. }
  153. /*
  154. function fSetCaptionOld(keyStr){
  155. var preCaptStr = model.getValue('/root/cond/cptdrid');//이전에 입력된 값
  156. if(keyStr == 13){
  157. btn_save.dispatch('DOMActivate');//저장버튼
  158. return ;
  159. }else if(keyStr == 8){//backspace
  160. keyStr = '';
  161. if(preCaptStr.length > 0){
  162. preCaptStr = preCaptStr.substring(0, preCaptStr.length-1);
  163. }
  164. }else if(keyStr == 46){//delete
  165. keyStr = '';
  166. if(preCaptStr.length > 0){
  167. preCaptStr = preCaptStr.substring(1, preCaptStr.length);
  168. //del키는 첫글자부터 지워지도록 수정
  169. keyStr = preCaptStr;
  170. preCaptStr = '';
  171. }
  172. }else if(keyStr == 96 || keyStr == 48){
  173. keyStr = '0';
  174. }else if(keyStr == 97 || keyStr == 49){
  175. keyStr = '1';
  176. }else if(keyStr == 98 || keyStr == 50){
  177. keyStr = '2';
  178. }else if(keyStr == 99 || keyStr == 51){
  179. keyStr = '3';
  180. }else if(keyStr == 100 || keyStr == 52){
  181. keyStr = '4';
  182. }else if(keyStr == 101 || keyStr == 53){
  183. keyStr = '5';
  184. }else if(keyStr == 102 || keyStr == 54){
  185. keyStr = '6';
  186. }else if(keyStr == 103 || keyStr == 55){
  187. keyStr = '7';
  188. }else if(keyStr == 104 || keyStr == 56){
  189. keyStr = '8';
  190. }else if(keyStr == 105 || keyStr == 57){
  191. keyStr = '9';
  192. }
  193. var curStr = preCaptStr + keyStr;
  194. model.setValue('/root/cond/cptdrid', curStr);
  195. model.setValue('/root/cond/drid', curStr);
  196. model.refresh();
  197. if(curStr.length == 8){
  198. ipt_drid.dispatch('DOMFocusOut');
  199. btn_save.dispatch('DOMActivate');
  200. }
  201. }
  202. */