SPMMR09000.js 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. function fInit() {
  2. var vPath = "/root/main/paminfo";
  3. //grd_prcplist.fixedcellcheckbox(0, 0) = true;
  4. model.setValue("/root/send/cond/cond1", parent.opener.opener.model.getValue(vPath + "/pid"));
  5. model.setValue("/root/send/cond/cond2", getNewDate().getAddDate(-6, "M").getDateFormat("YYYYMMDD"));
  6. model.setValue("/root/send/cond/cond3", "0"); //처방권한 구분
  7. model.setValue("/root/send/cond/cond4", getCurrentDate()); //처방일자
  8. model.setValue("/root/send/cond/cond5", "bfprcp"); //전처방 where 조건 구분자
  9. model.setValue("/root/send/cond/cond6", "" ); //최초구분
  10. model.setValue("/root/send/cond/cond7", parent.opener.opener.model.getValue(vPath + "/orddrid"));
  11. model.setValue("/root/send/cond/cond8", getCurrentDate());//parent.opener.opener.model.getValue(vPath + "/orddd"));
  12. model.setValue("/root/send/cond/cond9", parent.opener.opener.model.getValue(vPath + "/ordtype"));
  13. model.setValue("/root/send/cond/cond10", parent.opener.opener.model.getValue(vPath + "/orddeptcd"));
  14. model.setValue("/root/send/cond/cond11", parent.opener.opener.model.getValue(vPath + "/cretno"));
  15. model.setValue("/root/send/cond/cond97", "fromto");
  16. model.setValue("/root/send/cond/cond98", parent.opener.opener.model.getValue(vPath + "/hngnm"));
  17. fGetPrcpList();
  18. model.refresh();
  19. }
  20. /**
  21. * @desc :환자처방정보 가져오기
  22. * @id :
  23. * @event : onclick
  24. * @return : void
  25. * @authur : 박종훈
  26. */
  27. function fGetPrcpList() {
  28. grd_prcplist.rebuildStyle();
  29. var pageInfo = new PAGEINFO();
  30. var prcpdd = getCurrentDate();
  31. var curprcpdd = opener.opener.model.getValue ( "/root/init/prcpdd" );
  32. if (isNull(curprcpdd)) {
  33. curprcpdd = opener.model.getValue ( "/root/init/prcpdd" );
  34. if (isNull(curprcpdd)){
  35. curprcpdd = getCurrentDate();
  36. }
  37. }
  38. var insukind = opener.opener.model.getValue ( "/root/paminfo/list/insukind");
  39. if (isNull(insukind)) {
  40. insukind = model.getValue ( "/root/paminfo/list/insukind");
  41. }
  42. if (!isNull(insukind)){
  43. model.setValue( "/root/send/cond/cond13", insukind ); //외래follow up
  44. }
  45. model.setValue("/root/send/cond/cond14", curprcpdd );
  46. model.setValue("/root/send/cond/cond99", "getBfPrcpSrchInfo" );//검색구분
  47. //처방정보 가져오기(퇴원처방 prcpkindcd = 60)
  48. if(submit("TRMMO00100")) {
  49. var iCols = grd_prcplist.cols -1;
  50. for (var i = 1; i <= getNodesetCount(grd_prcplist.nodeset); i++) {
  51. if (model.getValue(grd_prcplist.nodeset+"["+i+"]/prcpclscd") == "") {
  52. if (model.getValue("/root/send/cond/cond9") != "O") {
  53. model.setValue(grd_prcplist.nodeset+"["+i+"]/tempcol6", model.getValue(grd_prcplist.nodeset+"["+i+"]/tempcol6")+" / "+model.getValue(grd_prcplist.nodeset+"["+i+"]/tempcol7"));
  54. }
  55. grd_prcplist.isReadonly(i, grd_prcplist.colRef("chkcol")) = false;
  56. grd_prcplist.mergeByFree(i, 3, i, iCols);
  57. grd_prcplist.rowStyle(i, "data", "font-weight") = "bold";
  58. } else {
  59. grd_prcplist.isReadonly(i, grd_prcplist.colRef("chkcol")) = true;
  60. }
  61. }
  62. }
  63. }
  64. /**
  65. * 선택한 처방 내역 복사 후 창 닫기
  66. */
  67. function fCnfm() {
  68. var pageInfo = new PAGEINFO();
  69. var prcpkind = ""; //처방종류
  70. var orgprcpnm = ""; //처방명
  71. var drugmthdspccdnm = ""; //용법
  72. var prcpdelivefact = ""; //전달사항
  73. var prcplist = "";
  74. var prcphistcd = ""; //임시,인증구분
  75. var prcpclscd = "";
  76. var tmpdrugmthdspccdnm = "";
  77. var itemCd = "0000080001"; //처방 버튼id에서 가져옴
  78. var nodelistPrcpinfo = model.instances(0).selectNodes("/root/prcpsrch/prcplist[chkcol = 'true' and prcpkindcd != '' and prcphistcd != 'C' and prcphistcd != 'L' and prcphistcd != 'E']");
  79. if(nodelistPrcpinfo.length >= 1){
  80. for(var i = 1; i <= nodelistPrcpinfo.length; i++)
  81. {
  82. var subNode = nodelistPrcpinfo.item(i - 1);
  83. //orgprcpnm = subNode.selectSingleNode("orgprcpnm").text;
  84. tmpdrugmthdspccdnm = subNode.selectSingleNode("drugmthdspccdnm").text;
  85. prcpkind = subNode.selectSingleNode("tempcol13").text;
  86. orgprcpnm = subNode.selectSingleNode("tempcol6").text;
  87. drugmthdspccdnm = subNode.selectSingleNode("tempcol7").text;
  88. prcpclscd = subNode.selectSingleNode("prcpclscd").text;
  89. //2012.06.08 처방 가져오기 개인 설정 조회 엄영만
  90. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/getprcpcnt", "033");
  91. var getprcpcnt = model.getValue("/root/envinit/getprcpcnt/answcnt");
  92. switch(getprcpcnt)
  93. {
  94. case "001" : // 기본값 용법 삭제
  95. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  96. break;
  97. case "002" : // 약품처방 용법표시
  98. if (prcpclscd != "A2" && prcpclscd != "A4" && prcpclscd != "A6") {
  99. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  100. }
  101. break;
  102. default:
  103. drugmthdspccdnm = drugmthdspccdnm.replace(tmpdrugmthdspccdnm, "");
  104. break;
  105. }
  106. drugmthdspccdnm = drugmthdspccdnm.replace(/\[급\]|\[일\]|\[본\]|\(집\)|\[home\]|\[임상\]|\[prn\]/g, "");
  107. prcpdelivefact = subNode.selectSingleNode("prcpdelivefact").text;
  108. prcphistcd = subNode.selectSingleNode("prcphistcd").text;
  109. if(prcphistcd == "T") {
  110. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  111. prcplist += "[임] " + orgprcpnm + " " + drugmthdspccdnm + "\n"
  112. } else {
  113. prcplist += "[임] " + orgprcpnm + "\n"
  114. }
  115. } else {
  116. if (prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6") {
  117. prcplist += orgprcpnm + " " + drugmthdspccdnm + " " + "\n"
  118. }
  119. else {
  120. prcplist += orgprcpnm + "\n"
  121. }
  122. }
  123. }
  124. }
  125. var prerec = opener.model.getValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts");
  126. if (prerec != "") {
  127. prerec = prerec + "\n" + prcplist + "\n";
  128. }
  129. else {
  130. prerec = prcplist + "\n"
  131. }
  132. model.makeValue("/root/send/pid", model.getValue("/root/send/cond/cond1"));
  133. if (submit("TRMMR00301")) {
  134. var nodelistResrvinfo = opener.model.instances(0).selectNodes("/root/main/resvlist");
  135. var resvinfo
  136. if (nodelistResrvinfo.length > 0) {
  137. resvinfo = "진료예약 : ";
  138. var orddd = "";
  139. var ordtm = "";
  140. var orddeptnm = "";
  141. var orddrnm = "";
  142. for (var i = 1; i <= nodelistResrvinfo.length; i++) {
  143. var subNode = nodelistResrvinfo.item(i - 1);
  144. var orddd = subNode.selectSingleNode("orddd").text;
  145. var ordtm = subNode.selectSingleNode("ordtm").text;
  146. var orddeptnm = subNode.selectSingleNode("orddeptnm").text;
  147. var orddrnm = subNode.selectSingleNode("orddrnm").text;
  148. if (i == 1) {
  149. resvinfo += orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  150. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  151. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  152. } else {
  153. resvinfo += " " + orddd.substr(0, 4) + "-" + orddd.substr(4, 2) + "-"
  154. + orddd.substr(6, 2) + " " + ordtm.substr(0, 2) + ":"
  155. + ordtm.substr(2, 2) + ", 진료과 : " + orddeptnm + ", 진료의 : " + orddrnm + "\n";
  156. }
  157. }
  158. } else {
  159. resvinfo = "";
  160. }
  161. }
  162. if (resvinfo != "") {
  163. prerec += resvinfo;
  164. }
  165. opener.model.setValue(pageInfo.recItemRef + "[fstlevlitemcd='" + itemCd + "']/reccnts", prerec);
  166. opener.model.refresh();
  167. window.close();
  168. }
  169. /**
  170. * 창 닫기
  171. */
  172. function fCncl() {
  173. window.close();
  174. }