SMMNO03000.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292
  1. /*
  2. 진료내역상세조회 (SMMNO03000.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var MDdeptcd; // 내과 부서코드
  7. /**
  8. * @group :
  9. * @ver : 2009.10.05
  10. * @by : 성미연
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : 화면 초기화
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fInitialize(){
  20. model.removeNodeset("/root/main/opatlist");
  21. model.refresh();
  22. var instcd = getUserInfo("dutplceinstcd");
  23. var standard_yn = "rcptuseyn";
  24. var ord_deptflag = 'X';
  25. var rslt_ref = "/root/init/orddept";
  26. var sort_field = "depthngnm";
  27. var sort_method = "asc";
  28. var dt = getCurrentDate();
  29. //오늘 날짜로 초기화 하는 부분.(진료일자를 default로 오늘 날짜로 선택함)
  30. model.setValue("/root/main/cond/orddd", dt);
  31. // 간호외래진료부서콤보 (특정하위부서를 포함- 분만실, 육아상담실, 인공신장실)
  32. zsdfGetCareOutOrderDepartmentList(instcd, rslt_ref, dt);
  33. //addComboInstance("/root/init/orddept", "deptcd^depthngnm", "0000000000^전체진료과", "dept"); //진료부서 콤보 전체추가
  34. model.resetInstanceNode("/root/main/cond/orddept");
  35. // 공통코드 스크립트 호출
  36. //zbcfGetCodeList( new Array("Z0008"), new Array("/root/init/comcd"));
  37. var dutplcecd = getUserInfo("dutplcecd"); // 근무지부서코드
  38. var suporddeptcd = getUserInfo("ordsupdeptcd");
  39. if (dutplcecd != "") {
  40. model.setValue("/root/main/cond/orddeptcd", dutplcecd); // 근무지부서코드
  41. fDeptDoctSearch(); // 의사리스트조회
  42. }
  43. // 간호하드코딩 테이블 조회
  44. var pCode = "'065'"; // 조회할 CdGrupID 코드정보
  45. var pDate = getCurrentDate(); //조회기준일자
  46. fGetNursHardCdInfo(pCode, pDate);
  47. MDdeptcd = model.getValue("/root/code/codeinfo/codelist[cdgrupid = '065']/cdid");
  48. model.refresh();
  49. }
  50. /**
  51. * @group :
  52. * @ver : 2007.09.17
  53. * @by : 문창곤
  54. * @---------------------------------------------------
  55. * @type : function
  56. * @access : public
  57. * @desc : 진료과의 의사 조회
  58. * @param :
  59. * @return :
  60. * @---------------------------------------------------
  61. */
  62. function fDeptDoctSearch(typegubn){
  63. cmb_orddr.disabled = false;
  64. model.removeNodeset("/root/main/opatlist");
  65. model.refresh();
  66. if(model.getValue("/root/main/cond/orddeptcd") == "0000000000" && model.getValue("/root/main/cond/pid") == "") {
  67. //messageBox("전체진료과는 현재 조회할 수 없습니다", "E");
  68. //return;
  69. }
  70. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/orddd"));
  71. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  72. var sordclsdeptflag = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/ordclsdeptflag"); // 센터/대표/분과/서브 구분
  73. var ssupdeptcd = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/supdeptcd"); // 상위부서코드
  74. var sorddeptkind = model.getValue("/root/init/orddept/dept[deptcd = '"+model.getValue("/root/main/cond/orddeptcd")+"']/orddeptkind"); // 센터/대표 구분
  75. var sorddeptflag = "";
  76. if (sorddeptkind == "C") { // 센터이면
  77. sorddeptflag = "C";
  78. //} else if (sorddeptkind != "C" && sordclsdeptflag == "A") { // 센터가 아니면서 분과이면
  79. // sorddeptflag = "A";
  80. } else { // 그외에 기타과
  81. sorddeptflag = "etc";
  82. }
  83. model.setValue("/root/main/cond/ordclsdeptflag",sorddeptflag);
  84. model.setValue("/root/main/cond/supdeptcd",ssupdeptcd);
  85. model.makeValue("/root/send/reqdata/ordclsdeptflag", model.getValue("/root/main/cond/ordclsdeptflag"));
  86. model.makeValue("/root/send/reqdata/supdeptcd", model.getValue("/root/main/cond/supdeptcd"));
  87. submit("TRMNO00104");
  88. if(getNodesetCount("/root/init/orddr/orddr") > 0){
  89. for(var i = 0; i < grd_opatmngt.cols;i++) {
  90. grd_opatmngt.colsort(i) = "asc";
  91. }
  92. //addComboInstance("/root/init/orddr", "userid^userdepthngnm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  93. addComboInstance("/root/init/orddr", "userid^userdepthngnm", "AAAAAAAA^전체의사", "orddr"); //진료의콤보 전체추가
  94. model.resetInstanceNode("/root/main/cond/orddr");
  95. } else {
  96. model.makenode("/root/init/orddr");
  97. model.makenode("/root/init/orddr/orddr");
  98. model.makenode("/root/init/orddr/orddr/userid");
  99. model.makenode("/root/init/orddr/orddr/usernm");
  100. //addComboInstance("/root/init/orddr", "userid^userdepthngnm", "00000000^전체의사", "orddr"); //진료의콤보 전체추가
  101. addComboInstance("/root/init/orddr", "userid^userdepthngnm", "AAAAAAAA^전체의사", "orddr"); //진료의콤보 전체추가
  102. cmb_orddr.select(0);
  103. }
  104. model.setValue("/root/main/cond/orddeptnm", cmb_orddept.label);
  105. cmb_orddr.refresh();
  106. model.setValue("/root/main/cond/timeflag", "A");
  107. cmb_timeflag.refresh();
  108. model.setValue("/root/main/cond/stat", "-");
  109. cmb_stat.refresh();
  110. }
  111. /**
  112. * @group :
  113. * @ver : 2009.07.30
  114. * @by : 성미연
  115. * @---------------------------------------------------
  116. * @type : function
  117. * @access : public
  118. * @desc : 외래진료내역 상세조회
  119. * @param :
  120. * @return :
  121. * @---------------------------------------------------
  122. */
  123. function fBtnRefClicked(){
  124. if(isRequiredControls("ipt_orddd", "cmb_orddept", "cmb_orddr", "cmb_timeflag", "cmb_stat")) {
  125. //submit
  126. model.removenode("/root/main/oppatlist");
  127. model.removenode("/root/send/reqdata");
  128. model.makeNode("/root/send/reqdata");
  129. model.makeValue("/root/send/reqdata/orddd", model.getValue("/root/main/cond/orddd"));
  130. model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cond/orddeptcd"));
  131. model.makeValue("/root/send/reqdata/orddrid", model.getValue("/root/main/cond/orddr"));
  132. model.makeValue("/root/send/reqdata/stat", model.getValue("/root/main/cond/stat"));
  133. // model.makeValue("/root/send/reqdata/sortseq", model.getValue("/root/main/condition/sortseq"));
  134. model.makeValue("/root/send/reqdata/ordclsdeptflag", model.getValue("/root/main/cond/ordclsdeptflag"));
  135. model.makeValue("/root/send/reqdata/supdeptcd", model.getValue("/root/main/cond/supdeptcd"));
  136. model.makeValue("/root/send/reqdata/MDdeptcd", MDdeptcd);
  137. model.makeValue("/root/send/reqdata/timeflag", model.getValue("/root/main/cond/timeflag"));
  138. submit("TRMNO00101");
  139. }
  140. }
  141. /**
  142. * @group :
  143. * @ver : 2009.07.30
  144. * @by : 성미연
  145. * @---------------------------------------------------
  146. * @type : function
  147. * @access : public
  148. * @desc : 외래환자설명, 안내문 출력
  149. * @param :
  150. * @param :
  151. * @return :
  152. * @---------------------------------------------------
  153. */
  154. function fClickPrint(){
  155. if (grd_OutRsrvPatList.findRow("Y", 1, grd_OutRsrvPatList.colRef("chk")) == "-1"){
  156. messageBox("선택된 내역이 없습니다.", "I");
  157. return;
  158. }
  159. //var printYN = "N";
  160. for(var i = 0; i < grd_OutRsrvPatList.rows;i++) {
  161. var chk = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + i + "]/chk");
  162. var pid = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + i + "]/pid");
  163. var orddeptcd = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + i + "]/orddeptcd");
  164. var SRow = grd_OutRsrvPatList.findRow(pid, 1, grd_OutRsrvPatList.colRef("pid"));
  165. var SChk = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + SRow + "]/chk");
  166. var SOrddeptcd = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + SRow + "]/orddeptcd");
  167. if(chk == "Y"){
  168. if(SChk == "Y" && orddeptcd == SOrddeptcd && SRow != "-1" && SRow < i){ //다른유형으로 접수됐을 경우 한번만 출력되도록 함
  169. continue;
  170. }else{
  171. model.removenode("/root/temp/printdata");
  172. //send 재구성
  173. model.makeValue("/root/temp/printdata","");
  174. model.copyNode("/root/temp/printdata", "/root/main/outrsrvpatlist/outrsrvpatinfo[" + i + "]");
  175. exeReportPreview("RPMNO02900", "XMLSTR", "", "", "true", "", "", "", "", "true"); //미리보기 뜨지 않음
  176. //exeReportPreview("RPMNO02900", "XMLSTR", "", "", "", "", "", "", "", "true");
  177. }
  178. }
  179. /*
  180. if(chk == "Y"){
  181. for(var k = 0; k < grd_OutRsrvPatList.rows;k++) {
  182. var SPid = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + k + "]/pid");
  183. var SChk = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + k + "]/chk");
  184. var SOrddeptcd = model.getValue("/root/main/outrsrvpatlist/outrsrvpatinfo[" + k + "]/orddeptcd");
  185. if(pid == SPid && SChk == "Y" && orddeptcd == SOrddeptcd && i > k){
  186. printYN = "N";
  187. }else{
  188. printYN = "Y";
  189. }
  190. }
  191. if(printYN == "Y"){
  192. model.removenode("/root/temp/printdata");
  193. //send 재구성
  194. model.makeValue("/root/temp/printdata","");
  195. model.copyNode("/root/temp/printdata", "/root/main/outrsrvpatlist/outrsrvpatinfo[" + i + "]");
  196. //exeReportPreview("RPMNO02900", "XMLSTR", "", "", "true", "", "", "", "", "true"); //미리보기 뜨지 않음
  197. exeReportPreview("RPMNO02900", "XMLSTR", "", "", "", "", "", "", "", "true");
  198. }
  199. }
  200. */
  201. }
  202. grd_OutRsrvPatList.fixedcellischeck(0, grd_OutRsrvPatList.colRef("chk")) = false;
  203. grd_OutRsrvPatList.refresh();
  204. }
  205. /**
  206. * @desc : 콤보박스에 원하는 instance node와 value를 설정
  207. * @
  208. * @param :
  209. * @event :
  210. * @return :
  211. * @---------------------------------------------------
  212. */
  213. function addComboInstance(combopath, nodename, nodeval, parentnode){
  214. nodename = nodename.split("^");
  215. nodeval = nodeval.split("^");
  216. if(nodename.length != nodeval.length){
  217. return;
  218. }
  219. var label = model.instances(0).createElement(nodename[0]);
  220. var val = model.instances(0).createElement(nodename[1]);
  221. var combo = model.instances(0).createElement(parentnode);
  222. label.value = "" + nodeval[0] + "";
  223. val.value = "" + nodeval[1] + "";
  224. combo.appendChild(label);
  225. combo.appendChild(val);
  226. chkNode = model.instances(0).selectSingleNode(combopath);
  227. if(chkNode == null){
  228. model.makeNode(combopath);
  229. srcNode = model.instances(0).selectSingleNode(combopath);
  230. }else{
  231. srcNode = model.instances(0).selectSingleNode(combopath);
  232. }
  233. desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
  234. srcNode.insertBefore(combo, desNode);
  235. model.refresh();
  236. }