SPMMO09700.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 임신부관리 (SPMMO09700_임신부관리관리.xrw - JScript )
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. */
  6. var sCONDITION_PATH = "/root/main/cond";
  7. var sEXPT_INFO_PATH = "/root/main/info/exptpatinfo";
  8. var sEXPT_LIST_PATH = "/root/main/list/exptpatlist"
  9. /**
  10. * @desc : 화면 초기화
  11. * @
  12. * @param :
  13. * @return :
  14. * @---------------------------------------------------
  15. */
  16. function fInitialize(){
  17. zbcfGetCodeList(new Array("M0627" ), new Array("/root/init/M0627"));
  18. var sPid = getPatientInfo("pid");
  19. if(isNull(sPid)) {
  20. messageBox ("선택된 환자 정보가 없습니다." , "E" );
  21. window.close();
  22. return;
  23. }
  24. model.setValue(sCONDITION_PATH + "/pid", sPid);
  25. model.setValue(sCONDITION_PATH + "/excpcls", "007"); // 임신부
  26. model.setValue(sCONDITION_PATH + "/srchflag", "");
  27. fSearch(); // 임신부 리스트 조회
  28. fSelectExptPatInfo(); // 임신부 정보 조회
  29. }
  30. /**
  31. * @desc : 예외환자 조회
  32. * @
  33. * @param :
  34. * @return :
  35. * @---------------------------------------------------
  36. */
  37. function fSearch(){
  38. model.copyNode("/root/send/reqdata", sCONDITION_PATH);
  39. if(submit("TRMMO09502")){
  40. model.resetInstanceNode(sEXPT_INFO_PATH);
  41. model.refreshpart(sEXPT_LIST_PATH);
  42. group_info.refresh();
  43. group_list.refresh();
  44. }
  45. }
  46. /**
  47. * @desc : 예외환자정보 선택 - 상세 정보를 보여줌, 수정할 수 있도록 처리함
  48. * @
  49. * @param :
  50. * @return :
  51. * @---------------------------------------------------
  52. */
  53. function fSelectExptPatInfo(){
  54. model.resetInstanceNode(sEXPT_INFO_PATH);
  55. var currow = grd_exptpatlist.row;
  56. if(currow > 0) {
  57. model.setValue(sCONDITION_PATH + "/genrdd", model.getValue(sEXPT_LIST_PATH + "[" + currow + "]/genrdd"));
  58. model.setValue(sCONDITION_PATH + "/genrno", model.getValue(sEXPT_LIST_PATH + "[" + currow + "]/genrno"));
  59. model.setValue(sCONDITION_PATH + "/histno", model.getValue(sEXPT_LIST_PATH + "[" + currow + "]/histno"));
  60. } else {
  61. model.setValue(sCONDITION_PATH + "/genrdd", "");
  62. model.setValue(sCONDITION_PATH + "/genrno", 0);
  63. model.setValue(sCONDITION_PATH + "/histno", 0);
  64. }
  65. model.copyNode("/root/send/reqdata", sCONDITION_PATH);
  66. if(submit("TRMMO09702")){
  67. group_info.refresh();
  68. }
  69. }
  70. /**
  71. * @desc : 신규작성 버튼 클릭
  72. * @
  73. * @param :
  74. * @return :
  75. * @---------------------------------------------------
  76. */
  77. function fNewRgst(){
  78. model.resetInstanceNode(sEXPT_INFO_PATH);
  79. model.setValue(sCONDITION_PATH + "/genrdd", "");
  80. model.setValue(sCONDITION_PATH + "/genrno", 0);
  81. model.setValue(sCONDITION_PATH + "/histno", 0);
  82. model.copyNode("/root/send/reqdata", sCONDITION_PATH);
  83. if(submit("TRMMO09702")){
  84. group_info.refresh();
  85. }
  86. }
  87. /**
  88. * @desc : 예외환자정보 저장
  89. * @
  90. * @param :
  91. * @return :
  92. * @---------------------------------------------------
  93. */
  94. function fSaveExptPatInfo(){
  95. var sStatus = model.getValue(sEXPT_INFO_PATH + "/status");
  96. if(sStatus != "I" && sStatus != "U" && sStatus != "D") {messageBox("처리할수 없는 작업 입니다. \n\n신규 작성 하시려면 신규작성 버튼 클릭후 저장 하세요.", "C999"); return; }
  97. var sPid = model.getValue(sEXPT_INFO_PATH + "/pid");
  98. if(sPid == ""){messageBox("등록번호를", "C001"); return;}
  99. var sSex = model.getValue(sEXPT_INFO_PATH + "/sex");
  100. if(sSex == "M"){messageBox("남자는 임신부 등록이 불가능 합니다.", "E999"); return;}
  101. //20170109 엄영만 직종코드가 의사가 아니면 저장 불가 처리
  102. var jobkindcd = getUserInfo("jobkindcd");
  103. if(!fContainsHardCD("69", jobkindcd)) {
  104. messageBox("의사직종의 사용자가 아니므로 저장 할 수 없습니다.", "E999");
  105. return;
  106. }
  107. var excpcls = model.getValue(sEXPT_INFO_PATH + "/excpcls");
  108. if(isNull(excpcls)){
  109. model.setValue(sEXPT_INFO_PATH + "/excpcls", "007"); // 임신부 분류
  110. }
  111. model.copyNode("/root/send/savedata", sEXPT_INFO_PATH);
  112. if(submit("TXMMO09501")){
  113. var rsltnode = model.instance1.selectNodes(sEXPT_LIST_PATH);
  114. if(rsltnode.length > 0){
  115. model.setValue(sCONDITION_PATH + "/srchflag", "");
  116. group_list.refresh();
  117. grd_exptpatlist.row = 1;
  118. fSelectExptPatInfo();
  119. }
  120. }
  121. }