SPMMR09000.xjs 8.9 KB

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