SMPMC06502.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. //초기화
  2. function fReady(){
  3. // 초기정보 취득
  4. submit("TRPMC06550");
  5. // 진료과 풀다운 세팅
  6. copyNodesetType("/root/hidden/orddrid", "/root/init/orddrid");
  7. copyNodesetType("/root/hidden/specdrid", "/root/init/orddrid");
  8. addComboItem("cmb_orddeptcd", "전체", "", "above");
  9. // 진료의 풀다운 세팅
  10. addComboItem("cmb_orddrid" , "전체", "", "above");
  11. addComboItem("cmb_specdrid" , "전체", "", "above");
  12. // 진료일자 및 신청일자 기본값 설정
  13. model.setValue("/root/send/ordddfrom", getCurrentDate().toDate().getAddDate(-1,"D").getDateFormat());
  14. model.setValue("/root/send/ordddto", getCurrentDate());
  15. //model.setValue("/root/send/appddfrom", getCurrentDate().toDate().getAddDate(-3,"M").getDateFormat());
  16. //model.setValue("/root/send/appddto", getCurrentDate());
  17. model.refresh();
  18. }
  19. /* 진료과 선택시 진료과의사 설정 */
  20. function fSetOrdDrid() {
  21. var ordDeptCd = model.getValue("/root/send/orddeptcd");
  22. if (ordDeptCd != null && ordDeptCd != "") {
  23. copyNodesetType("/root/hidden/orddrid", "/root/init/orddrid[dp=" + ordDeptCd + "]"); // [accptyn='Y']
  24. } else {
  25. copyNodesetType("/root/hidden/orddrid", "/root/init/orddrid");
  26. }
  27. addComboItem("cmb_orddrid" , "전체", "", "above");
  28. model.refresh();
  29. }
  30. /* 선택진료과 선택시 선택진료과의사 설정 */
  31. function fSetSpecDrid() {
  32. var specDeptCd = model.getValue("/root/send/specdeptcd");
  33. if (specDeptCd != null && specDeptCd != "") {
  34. copyNodesetType("/root/hidden/specdrid", "/root/init/orddrid[dp=" + specDeptCd + "]"); // [accptyn='Y']
  35. } else {
  36. copyNodesetType("/root/hidden/specdrid", "/root/init/orddrid");
  37. }
  38. addComboItem("cmb_specdrid" , "전체", "", "above");
  39. model.refresh();
  40. }
  41. function fSearch() {
  42. if(fValidForm()) {
  43. submit("TRPMC06531");
  44. }
  45. }
  46. /* 검색조건검증 */
  47. function fValidForm() {
  48. var strErrMsg = "";
  49. var hasErr = false;
  50. if(isNull(model.getValue("/root/send/ordddfrom"))) {
  51. strErrMsg += "\r\n진료일자(FROM)"
  52. hasErr = true;
  53. }
  54. if (isNull(model.getValue("/root/send/ordddto"))) {
  55. strErrMsg += "\r\n진료일자(TO)"
  56. hasErr = true;
  57. }
  58. if (hasErr) {
  59. alert("다음 항목은 필수입니다." + strErrMsg);
  60. return false;
  61. } else {
  62. return true;
  63. }
  64. }
  65. /* 초기화 */
  66. function fInit() {
  67. model.resetInstanceNode("/root/main/spiflist");
  68. model.resetInstanceNode("/root/main/rexpert/patappinfo1");
  69. //model.resetInstanceNode("/root/send");
  70. model.refresh();
  71. }
  72. /* 그리드 더블클릭 시 동작 */
  73. function fSelectPatData() {
  74. var pid = model.getValue("/root/main/spiflist[" + grd_spif.row + "]/pid");
  75. var orddd = model.getValue("/root/main/spiflist[" + grd_spif.row + "]/orddd");
  76. for (i = 1; i < grd_spif.rows; i++) {
  77. if (pid == model.getValue("/root/main/spiflist[" + i + "]/pid")
  78. && orddd == model.getValue("/root/main/spiflist[" + i + "]/orddd")) {
  79. model.setValue("/root/main/spiflist[" + i + "]/chk", "true");
  80. } else {
  81. model.setValue("/root/main/spiflist[" + i + "]/chk", "false");
  82. }
  83. }
  84. model.refresh();
  85. }
  86. /* 그리드 선택해제 */
  87. function fDeselectPapData() {
  88. for (i = 1; i < grd_spif.rows; i++) {
  89. model.setValue("/root/main/spiflist[" + i + "]/chk", "false");
  90. }
  91. }
  92. /* 선택진료신청서 출력 */
  93. function fPrint() {
  94. // 출력대상화면 구분
  95. var isScaned = false;
  96. // 출력대상유무구분
  97. var hasData = false;
  98. // 출력대상 선정
  99. for (i = 1; i < grd_spif.rows; i++) {
  100. // SCAN여부 설정
  101. if ("true" == model.getValue("/root/main/spiflist[" + i + "]/chk")
  102. && "Y" == model.getValue("/root/main/spiflist[" + i + "]/scanyn")) {
  103. isScaned = true;
  104. }
  105. // 출력용 데이터 설정
  106. if ("true" == model.getValue("/root/main/spiflist[" + i + "]/chk")) {
  107. hasData = true;
  108. model.removeNodeset("/root/main/rexpert/patappinfo1");
  109. // 재출력용
  110. model.makeValue("/root/main/rexpert/patappinfo1/pid", model.getValue("/root/main/spiflist[" + i + "]/pid"));
  111. model.makeValue("/root/main/rexpert/patappinfo1/hngnm", model.getValue("/root/main/spiflist[" + i + "]/hngnm"));
  112. model.makeValue("/root/main/rexpert/patappinfo1/zipcdaddr", model.getValue("/root/main/spiflist[" + i + "]/zipcdaddr"));
  113. model.makeValue("/root/main/rexpert/patappinfo1/detladdr", model.getValue("/root/main/spiflist[" + i + "]/detladdr"));
  114. model.makeValue("/root/main/rexpert/patappinfo1/tel", model.getValue("/root/main/spiflist[" + i + "]/tel"));
  115. model.makeValue("/root/main/rexpert/patappinfo1/rrgstno1", model.getValue("/root/main/spiflist[" + i + "]/rrgstno1"));
  116. model.makeValue("/root/main/rexpert/patappinfo1/rrgstno2", model.getValue("/root/main/spiflist[" + i + "]/rrgstno2"));
  117. model.makeValue("/root/main/rexpert/patappinfo1/ocrtag", model.getValue("/root/main/spiflist[" + i + "]/ocrtag"));
  118. model.makeValue("/root/main/rexpert/patappinfo1/usernm", model.getValue("/root/main/spiflist[" + i + "]/usernm"));
  119. model.makeValue("/root/main/rexpert/patappinfo1/hospnm", model.getValue("/root/main/spiflist[" + i + "]/hospnm"));
  120. model.makeValue("/root/main/rexpert/patappinfo1/choiflag", model.getValue("/root/main/spiflist[" + i + "]/choiflag"));
  121. // OCR연동용
  122. model.makeValue("/root/main/rexpert/patappinfo1/orddd", model.getValue("/root/main/spiflist[" + i + "]/orddd"));
  123. model.makeValue("/root/main/rexpert/patappinfo1/orddeptcd", model.getValue("/root/main/spiflist[" + i + "]/orddeptcd"));
  124. model.makeValue("/root/main/rexpert/patappinfo1/orddeptnm", model.getValue("/root/main/spiflist[" + i + "]/orddeptnm"));
  125. model.makeValue("/root/main/rexpert/patappinfo1/orddrid", model.getValue("/root/main/spiflist[" + i + "]/orddrid"));
  126. model.makeValue("/root/main/rexpert/patappinfo1/orddrnm", model.getValue("/root/main/spiflist[" + i + "]/orddrnm"));
  127. model.makeValue("/root/main/rexpert/patappinfo1/ioflag", model.getValue("/root/main/spiflist[" + i + "]/ioflag"));
  128. model.makeValue("/root/main/rexpert/patappinfo1/deptengabbr", model.getValue("/root/main/spiflist[" + i + "]/deptengabbr"));
  129. model.makeValue("/root/main/rexpert/patappinfo1/appdd", model.getValue("/root/main/spiflist[" + i + "]/appdd"));
  130. break;
  131. }
  132. }
  133. if (!hasData) {
  134. alert("출력할 대상이 존재하지 않거나, 주유형이 존재하지 않습니다.");
  135. return;
  136. }
  137. // 스캔여부에 따라 해당화면 호출
  138. if (isScaned) {
  139. // 동의서 및 기타출력서식화면
  140. fOpenOcr()
  141. } else {
  142. // 선택구분에 해당하는 양식 출력
  143. if ("B" == model.getValue("/root/main/rexpert/patappinfo1/choiflag")) {
  144. // 위임 동의서 재출력
  145. exeReportPreview("RPPMC06504", "XMLSTR", "/root/main/rexpert", "", "true", "", "", "", "", "true");
  146. } else {
  147. // 선택 동의서 재출력
  148. exeReportPreview("RPPMC06505", "XMLSTR", "/root/main/rexpert", "", "true", "", "", "", "", "true");
  149. }
  150. }
  151. }
  152. /* 동의서 및 기타출력서식화면 호출 */
  153. function fOpenOcr() {
  154. model.removeNodeset("/root/temp/para");
  155. model.makeValue("/root/temp/para/pid", model.getValue("/root/main/rexpert/patappinfo1/pid"));
  156. model.makeValue("/root/temp/para/orddd", model.getValue("/root/main/rexpert/patappinfo1/orddd"));
  157. model.makeValue("/root/temp/para/orddeptcd", model.getValue("/root/main/rexpert/patappinfo1/orddeptcd"));
  158. model.makeValue("/root/temp/para/orddeptnm", model.getValue("/root/main/rexpert/patappinfo1/orddeptnm"));
  159. model.makeValue("/root/temp/para/orddrid", model.getValue("/root/main/rexpert/patappinfo1/orddrid"));
  160. model.makeValue("/root/temp/para/drnm", model.getValue("/root/main/rexpert/patappinfo1/orddrnm"));
  161. model.makeValue("/root/temp/para/ordtype", model.getValue("/root/main/rexpert/patappinfo1/ioflag"));
  162. model.makeValue("/root/temp/para/patnm", model.getValue("/root/main/rexpert/patappinfo1/hngnm"));
  163. model.makeValue("/root/temp/para/rrgstno1", model.getValue("/root/main/rexpert/patappinfo1/rrgstno1"));
  164. model.makeValue("/root/temp/para/rrgstno2", model.getValue("/root/main/rexpert/patappinfo1/rrgstno2"));
  165. model.makeValue("/root/temp/para/cretno", model.getValue("/root/main/rexpert/patappinfo1/cretno"));
  166. model.refresh();
  167. // 동의서 및 기타출력서식화면 호출
  168. modal("SMMRF02300", "", "", "", "SMMRF02300","/root/temp/para","/root/temp/para");
  169. }