SMADC02200.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. /**
  2. * 파 일 명 : SMADC02200.js
  3. * 설 명 : 복약설명서 Javascriot
  4. * 설 계 자 : 공두경
  5. * 작 성 자 : 공두경
  6. * 수정이력 : 2008.01.09 / 최초작성 / 공두경
  7. */
  8. /**
  9. * 초기화
  10. */
  11. function fInit() {
  12. /*model.setValue("/root/temp/patinfo/pid",model.getValue("/root/main/formdata/pid"));
  13. model.setValue("/root/temp/patinfo/hngnm",model.getValue("/root/main/formdata/hngnm"));
  14. model.setValue("/root/temp/patinfo/orddeptcd",model.getValue("/root/main/formdata/orddeptcd"));
  15. model.setValue("/root/temp/patinfo/orddrid",model.getValue("/root/main/formdata/orddrid"));
  16. model.setValue("/root/temp/patinfo/roomcd",model.getValue("/root/main/formdata/roomcd"));
  17. model.setValue("/root/temp/patinfo/orddd",model.getValue("/root/main/formdata/orddd"));*/
  18. // 복약설명서 출력기준
  19. if(model.getValue("/root/temp/srchinfo/difflagcd") == "") {
  20. model.makeValue("/root/temp/srchinfo/difflagcd", "1"); //병원복약기준자료:1, DIF한글:2, DIF영문:3
  21. }
  22. model.makeValue("/root/temp/srchinfo/pimagepath", getDomain()+"/dif/images/", true); //dif이미지경로
  23. if(model.getValue("/root/temp/srchinfo/pid") != ""){
  24. fSrchTmedDescData();
  25. } else {
  26. // 날짜 초기화
  27. model.makeValue("/root/main/tmedinfo/patinfo/prcpdd", getCurrentDate());
  28. }
  29. //model.makeValue("/root/temp/srchinfo/medtypeflag", "N"); //일반약
  30. //복약지도환자조회에서 팝업으로 복약설명서를 열었을 경우 초기에는 전체 조회인데
  31. //일반약으로 자동 체크가 되어 조회 조건과 조회된 내용이 싱크가 안 맞음.
  32. model.makeValue("/root/temp/srchinfo/medtypeflag", "");
  33. // 20121226
  34. model.setValue("/root/temp2/prcpkind","E");
  35. model.refresh();
  36. }
  37. /**
  38. * 복약설명서 조회
  39. */
  40. function fSrchTmedDescData() {
  41. var strBase64 = "";
  42. model.copyNode("/root/send/srchinfo","/root/temp/srchinfo");
  43. model.makeValue("/root/send/srchinfo/prcpkind","E");
  44. submit("TRADC02201",false);
  45. if(model.getValue("/root/temp/srchinfo/medtypeflag") == "D"){
  46. // 2015.1.26 김치국 아래부분 사이즈및 '선택' caption 추가
  47. /*grd_tmedlist.colHidden(2) = true; //사진
  48. grd_tmedlist.colHidden(5) = true; //효능
  49. grd_tmedlist.colHidden(6) = true; //함량 //2008-09-19 1회수량
  50. grd_tmedlist.colHidden(7) = true; //복용횟수
  51. grd_tmedlist.colHidden(8) = true; //용법
  52. grd_tmedlist.colHidden(9) = true; //일수
  53. grd_tmedlist.colHidden(10) = false; //투여스케쥴
  54. grd_tmedlist.caption = "투약번호^사진^약품명 및 용량^약모양 및 색깔^효능^1회수량^복용횟수^용법^일수^투여스케쥴^주의사항";
  55. grd_tmedlist.colWidth(3) = 230; //약품명
  56. grd_tmedlist.colWidth(4) = 240; //성상
  57. grd_tmedlist.colWidth(10) = 150; //투여스케쥴
  58. grd_tmedlist.colWidth(11) = 380; //주의사항*/
  59. grd_tmedlist.colHidden(3) = true; //사진
  60. grd_tmedlist.colHidden(6) = true; //효능
  61. grd_tmedlist.colHidden(7) = true; //함량 //2008-09-19 1회수량
  62. grd_tmedlist.colHidden(8) = true; //복용횟수
  63. grd_tmedlist.colHidden(9) = true; //용법
  64. grd_tmedlist.colHidden(10) = true; //일수
  65. grd_tmedlist.colHidden(11) = false; //투여스케쥴
  66. grd_tmedlist.caption = "선택^투약번호^사진^약품명 및 용량^약모양 및 색깔^효능^1회수량^복용횟수^용법^일수^투여스케쥴^주의사항";
  67. grd_tmedlist.colWidth(4) = 230; //약품명
  68. grd_tmedlist.colWidth(5) = 240; //성상
  69. grd_tmedlist.colWidth(11) = 150; //투여스케쥴
  70. grd_tmedlist.colWidth(12) = 380; //주의사항
  71. model.refresh();
  72. } else {
  73. // 2015.1.26 김치국 아래부분 사이즈및 '선택' caption 추가
  74. /*grd_tmedlist.colHidden(2) = false; //사진
  75. grd_tmedlist.colHidden(5) = false; //효능
  76. grd_tmedlist.colHidden(6) = false; //함량 //2008-09-19 1회수량
  77. grd_tmedlist.colHidden(7) = false; //용법
  78. grd_tmedlist.colHidden(8) = false; //용법
  79. grd_tmedlist.colHidden(9) = false; //일수
  80. grd_tmedlist.colHidden(10) = true; //투여스케쥴
  81. grd_tmedlist.colWidth(3) = 180; //약품명
  82. grd_tmedlist.colWidth(4) = 190; //성상
  83. grd_tmedlist.colWidth(10) = 100; //투여스케쥴
  84. grd_tmedlist.colWidth(11) = 288; //주의사항*/
  85. grd_tmedlist.colHidden(3) = false; //사진
  86. grd_tmedlist.colHidden(6) = false; //효능
  87. grd_tmedlist.colHidden(7) = false; //함량 //2008-09-19 1회수량
  88. grd_tmedlist.colHidden(8) = false; //용법
  89. grd_tmedlist.colHidden(9) = false; //용법
  90. grd_tmedlist.colHidden(10) = false; //일수
  91. grd_tmedlist.colHidden(11) = true; //투여스케쥴
  92. grd_tmedlist.colWidth(4) = 180; //약품명
  93. grd_tmedlist.colWidth(5) = 190; //성상
  94. grd_tmedlist.colWidth(11) = 100; //투여스케쥴
  95. grd_tmedlist.colWidth(12) = 288; //주의사항
  96. grd_tmedlist.caption = "선택^투약번호^사진^약품명 및 용량^성상^효능^1회수량^복용횟수^용법^일수^투여스케쥴^주의사항";
  97. //model.refresh();
  98. for(var i=grd_tmedlist.fixedRows; i < grd_tmedlist.rows; i++){
  99. //DIF의 jpg 이미지를 base64로 인코딩
  100. if(model.getValue("/root/temp/srchinfo/difflagcd") != "1") {
  101. Base64_Preview1.SetViewMode(3);
  102. Base64_Preview1.LoadImage(model.getValue("/root/main/tmedinfo/tmedlist["+ i +"]/pimagepath"));
  103. strBase64 = Base64_Preview1.SaveImageBase64();
  104. if(strBase64 != ""){
  105. model.setValue("/root/main/tmedinfo/tmedlist["+ i +"]/medpic", strBase64);
  106. }
  107. Base64_Preview1.Clear();
  108. strBase64 = "";
  109. }
  110. setImageRefInstance("/root/main/tmedinfo/tmedlist["+i+"]/medpic");
  111. }
  112. //grd_tmedlist.refresh();
  113. for(var i=1;i<=grd_tmedlist.rows;i++){
  114. grd_tmedlist.colWidth(3) = 100;
  115. grd_tmedlist.rowHeight(i) = 70;
  116. //grd_tmedlist.refresh();
  117. }
  118. //grd_tmedlist.refresh();
  119. }
  120. //grd_tmedlist.autoResize = true;
  121. }
  122. /**
  123. * 복약리슽에 처방추가(행추가)
  124. */
  125. function fAddTmedlist() {
  126. var cnt = 0;
  127. model.removeNodeset("/root/send/tmedinfo");
  128. for(var i = grd_prcplist.fixedRows; i < grd_prcplist.rows; i++){
  129. if(model.getValue("/root/main/tmedinfo/prcplist["+i+"]/sel") == "Y"){
  130. astfCopyNodeSet("/root/send/tmedinfo", "/root/main/tmedinfo/prcplist["+i+"]");
  131. cnt++;
  132. }
  133. }
  134. if(cnt != 0){
  135. submit("TRADC02202");
  136. var cnt = getNodesetCount("/root/hidden/meddescinfo/tmedlist");
  137. if(cnt > 0){
  138. for(var a = 1; a <= cnt; a++){
  139. astfCopyNodeSet("/root/main/tmedinfo/tmedlist", "/root/hidden/meddescinfo/tmedlist["+a+"]");
  140. setImageRefInstance("/root/main/tmedinfo/tmedlist["+grd_tmedlist.rows+"]/medpic");
  141. grd_tmedlist.refresh();
  142. grd_tmedlist.colWidth(1) = 100;
  143. grd_tmedlist.rowHeight(grd_tmedlist.rows-1) = 70;
  144. grd_tmedlist.refresh();
  145. }
  146. }
  147. }
  148. }
  149. /**
  150. * 복약설명서 개별출력
  151. */
  152. function fGetTmedlistDtl() {
  153. if(grd_tmedlist.rows > 1){
  154. var Drugno = fGetDrugnoList();
  155. //return;
  156. for(var i = 0; i < Drugno.length; i++){
  157. //model.copyNode("/root/send/tmedinfo/tmedlisth","/root/main/tmedinfo/patinfo");
  158. model.copyNode( "/root/send/tmedinfo","/root/main/tmedinfo");
  159. model.makeValue("/root/send/tmedinfo/patinfo/drugno", Drugno[i]); //투약번호
  160. model.makeValue("/root/send/tmedinfo/patinfo/descformflag", model.getValue("/root/temp/srchinfo/medtypeflag")); //설명서형식구분
  161. for(var j = 1; j <= getNodesetCount("/root/main/tmedinfo/tmedlist"); j++){
  162. if(Drugno[i] == model.getValue("/root/main/tmedinfo/tmedlist["+j+"]/drugno") && model.getValue("/root/main/tmedinfo/tmedlist["+j+"]/drugno") != ""){
  163. model.makeValue("/root/send/tmedinfo/patinfo/cretno", model.getValue("/root/main/tmedinfo/tmedlist["+j+"]/cretno"));
  164. }
  165. /*
  166. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/pid", model.getValue("/root/send/tmedinfo/patinfo/pid")); //pid
  167. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/orddd", model.getValue("/root/send/tmedinfo/patinfo/orddd")); //입원일자(진료일자)
  168. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/prcpdd", model.getValue("/root/send/tmedinfo/patinfo/prcpdd")); //처방일자
  169. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/orddeptcd", model.getValue("/root/send/tmedinfo/patinfo/orddeptcd")); //과코드
  170. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/orddrid", model.getValue("/root/send/tmedinfo/patinfo/orddrid")); //의사코드
  171. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/cretno", model.getValue("/root/send/tmedinfo/patinfo/cretno")); //생성번호
  172. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/prcpgenrflag", model.getValue("/root/send/tmedinfo/patinfo/prcpgenrflag")); //처방형식구분
  173. model.makeValue("/root/send/tmedinfo/tmedlist[" + i + "]/descformflag",model.getValue("/root/send/tmedinfo/patinfo/descformflag")); //설명서형식구분
  174. */
  175. }
  176. submit("TXADC02101"); //일괄출력과 같이 사용함.
  177. opener.model.makeValue( "/root/temp/srchinfo/tmedprntdt" , getCurrentDate() + getCurrentTime().substr(0,4) );
  178. }
  179. }
  180. }
  181. /*조회된 drugno의 값을 배열에 담는다.*/
  182. function fGetDrugnoList(){
  183. var Drugno= new Array();
  184. var nodeCnt = getNodesetCount("/root/main/tmedinfo/tmedlist");
  185. var cnt = 0;
  186. var preDrugno = model.getValue("/root/main/tmedinfo/tmedlist[0]/drugno");
  187. Drugno[cnt] = model.getValue("/root/main/tmedinfo/tmedlist[0]/drugno");
  188. for(var i = 1; i <= nodeCnt; i++){
  189. if(preDrugno != model.getValue("/root/main/tmedinfo/tmedlist["+i+"]/drugno") && model.getValue("/root/main/tmedinfo/tmedlist["+i+"]/drugno") != ""){
  190. cnt++;
  191. Drugno[cnt] = model.getValue("/root/main/tmedinfo/tmedlist["+i+"]/drugno");
  192. preDrugno = model.getValue("/root/main/tmedinfo/tmedlist["+i+"]/drugno");
  193. }
  194. }
  195. return Drugno;
  196. }