SPADT63301.js 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435
  1. /**
  2. * 파 일 명 : SPADT63300.js
  3. * 설 명 : (팝업)특조라벨출력 Javascriot
  4. * 설 계 자 : 이훈재
  5. * 작 성 자 : 이훈재
  6. * 수정이력 : 2007.09.29 / 최초작성 / 이훈재
  7. */
  8. var sSndMsg = ""; //라벨출력내용
  9. var iPoint = 0; //라벨출력row
  10. var iCnt = 0; //라벨출력매수
  11. var iImageCnt = 0; //라벨그래픽폰트수
  12. var gTimer = null;
  13. var tkeepflag = false;
  14. /**
  15. * 초기화
  16. */
  17. function fInit() {
  18. var sParam = model.getAttribute("params");
  19. model.makeValue("/root/send/prcpinfo/drugdd", astfMatrixData(sParam, 1, 0));
  20. model.makeValue("/root/send/prcpinfo/drugno", astfMatrixData(sParam, 1, 1));
  21. model.makeValue("/root/send/prcpinfo/ioflag", astfMatrixData(sParam, 1, 2));
  22. model.makeValue("/root/send/prcpinfo/prcpdd", astfMatrixData(sParam, 1, 3));
  23. model.makeValue("/root/send/prcpinfo/orddd", astfMatrixData(sParam, 1, 4));
  24. model.makeValue("/root/send/prcpinfo/cretno", astfMatrixData(sParam, 1, 5));
  25. model.makeValue("/root/send/prcpinfo/prcpgenrflag", astfMatrixData(sParam, 1, 6));
  26. model.makeValue("/root/send/prcpinfo/pid", astfMatrixData(sParam, 1, 7));
  27. model.makeValue("/root/send/prcpinfo/orddeptcd", astfMatrixData(sParam, 1, 8));
  28. model.makeValue("/root/send/prcpinfo/wardcd", astfMatrixData(sParam, 1, 9));
  29. model.makeValue("/root/send/prcpinfo/lblflag", astfMatrixData(sParam, 1, 10));
  30. model.makeValue("/root/send/prcpinfo/prcpflag", astfMatrixData(sParam, 1, 11));
  31. model.makeValue("/root/send/prcpinfo/prntflag", astfMatrixData(sParam, 1, 12));
  32. model.makeValue("/root/send/prcpinfo/drugflag", astfMatrixData(sParam, 1, 13));
  33. model.makeValue("/root/send/prcpinfo/prcpno", astfMatrixData(sParam, 1, 14));
  34. model.makeValue("/root/send/prcpinfo/prcpmixno", astfMatrixData(sParam, 1, 15));
  35. model.makeValue("/root/send/prcpinfo/spclblflag", astfMatrixData(sParam, 1, 16)); // 20100322_laboru.
  36. model.makeValue("/root/send/prcpinfo/prcptims", astfMatrixData(sParam, 1, 17)); // 20100322_laboru.
  37. model.refresh();
  38. var getflag1 = model.getValue("/root/send/prcpinfo/prcpflag");
  39. // alert(getflag1);
  40. if(model.getValue("/root/send/prcpinfo/prcpflag") == "B"){
  41. submit("TRADT63302");
  42. if(model.getValue("/root/main/lbllist/lbllist["+1+"]/pid") != ""){
  43. //fLBLChildTPNPrint();
  44. fLBLChildTPNPrintR(); // 20101220 wify 경북대병원 라벨출력방식 rexpert로 변경
  45. }
  46. } else if(model.getValue("/root/send/prcpinfo/prcpflag") == "R") { // 20110111_laboru_경북대병원_임상약 라벨
  47. submit("TRADT63301");
  48. if(model.getValue("/root/main/lbllist/lbllist["+1+"]/drugno") != ""){
  49. //fLBLPrint();
  50. fLBLPrintCR();
  51. }
  52. }else {
  53. submit("TRADT63301");
  54. if(model.getValue("/root/main/lbllist/lbllist["+1+"]/drugno") != ""){
  55. //fLBLPrint();
  56. fLBLPrintR(); // 20101220 wify 경북대병원 라벨출력방식 rexpert로 변경
  57. }
  58. }
  59. model.refresh();
  60. //gTimer = window.setInterval("fStopTimer()",20000);
  61. window.close();
  62. }
  63. /**
  64. *
  65. */
  66. function fStopTimer() {
  67. window.clearinterval(gTimer);
  68. }
  69. /**
  70. *
  71. */
  72. function fGetImage() {
  73. var pImage = "";
  74. iImageCnt++;
  75. if(iImageCnt > 99){
  76. pImage = "GRAPH"+iImageCnt;
  77. } else if(iImageCnt > 9){
  78. pImage = "GRAPH0"+iImageCnt;
  79. } else {
  80. pImage = "GRAPH00"+iImageCnt;
  81. }
  82. return pImage
  83. }
  84. function fGetDateString( s ){
  85. var dates = "";
  86. if(s.length > 8){
  87. dates = s.substring(0,4) +"/" +s.substring(4,6)+"/" +s.substring(6,8)+" "+s.substring(8,10)+":"+s.substring(10,12)+":"+s.substring(12,14);
  88. } else {
  89. dates = s.substring(0,4) +"/" +s.substring(4,6)+"/" +s.substring(6,8);
  90. }
  91. return dates;
  92. }
  93. // 20101220 wify 경북대병원 라벨출력방식 rexpert로 변경.
  94. function fLBLPrintR() {
  95. /*
  96. 라벨 Sorting 로직
  97. //mgt에서 vo로 리턴
  98. 대분류
  99. - 내복약, 외용약, 주사, 항암제, TPN, 마약,
  100. 중분류
  101. - 방법코드
  102. 소분류
  103. - 내복약,외용약(방법코드), 주사,마약,항암제(mix)
  104. web js 출력로직
  105. 1. mix가 있는경우
  106. 같은mix번호들만 모아서 한라벨에 출력
  107. 2. mix가 없는경우
  108. 2.1 내복약
  109. 2.1.1 라벨그룹
  110. 2.1.1.1 방법코드
  111. 2.2 외용약
  112. 2.2.1 라벨그룹
  113. 2.2.1.1 방법코드
  114. 2.3 주사약
  115. 2.3.1 라벨그룹
  116. 2.4 마약
  117. 2.4.1 방법코드
  118. */
  119. var iBfPoint = 0;
  120. var sPointChk = "N";
  121. var sMixno5 = "";
  122. var sMixno6 = "";
  123. var bCheck = false;
  124. var reprint = "";
  125. var tkeep = "";
  126. var ul = 0;
  127. var sumcls ="";
  128. var ivdroppingflag = "";
  129. for(iPoint = 1; iPoint <= getNodesetCount("/root/main/lbllist/lbllist") ; iPoint++){
  130. if ( model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/sumcls")!=""){
  131. sumcls =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/sumcls");
  132. }
  133. // 20111006_laboru_본원 라벨 수액제가 포함된 경우 abbrnm 을 무조건 IV dropping
  134. if( model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/spcldrug") == "S") {
  135. ivdroppingflag = "Y";
  136. }
  137. }
  138. for(iPoint = 1; iPoint <= getNodesetCount("/root/main/lbllist/lbllist") ; iPoint++){
  139. var sMixno = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  140. if ( model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblprnttims")>0 ){
  141. reprint ="(재)";
  142. }
  143. //차광일 경우 2매 출력
  144. if ( (tkeep = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm"))== "차광"){
  145. iChaTotCnt = 2;
  146. } else {
  147. iChaTotCnt = 1;
  148. if(sMixno != "-" && sMixno != ""){
  149. if(sumcls != "T" && sumcls != "Q" && sumcls != "B"){
  150. bCheck = false;
  151. sMixno5 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  152. for(var iBCnt = iPoint; iBCnt <= getNodesetCount("/root/main/lbllist/lbllist") ; iBCnt++){
  153. sMixno6 = model.getValue("/root/main/lbllist/lbllist["+iBCnt+"]/prcpmixno");
  154. if(sMixno5 == sMixno6){
  155. if (model.getValue("/root/main/lbllist/lbllist["+iBCnt+"]/keepmthd2nm") !=""){
  156. iChaTotCnt = 2;
  157. break;
  158. }
  159. } else {
  160. bCheck = true;
  161. }
  162. if(bCheck){
  163. break;
  164. }
  165. }
  166. }
  167. }
  168. }
  169. iTotPrcpTimes = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  170. /* if(sumcls != "T" || sumcls != "Q" || sumcls != "B" || sumcls != "D" || sumcls != "1"){ // 무균조제일때
  171. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblprntdt") ); // 20120731_무균조제라벨일때 처방일자 대신 출력일자 출력되게 수정
  172. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/coolmthd", "Y");
  173. }*/
  174. var tmpiChaTotCnt = 0;
  175. var tmpiTotPrcpTimes = 0;
  176. if(sMixno != "-" && sMixno != ""){
  177. tmpiChaTotCnt = iChaTotCnt;
  178. iChaTotCnt =1;
  179. tmpiTotPrcpTimes = iTotPrcpTimes;
  180. iTotPrcpTimes = 1;
  181. } else {
  182. var tTotalCnt = getNodesetCount("/root/main/lbllist/lbllist");
  183. var tot = parseInt(iChaTotCnt) * parseInt(iTotPrcpTimes);
  184. // 기존 처방을 끝으로 복사.
  185. var tnt = getNodesetCount("/root/main/lbllist/lbllist");
  186. var tmptnt = tnt;
  187. for(var x = (parseInt(tnt)+parseInt(tot)-1) ; x > (parseInt(tnt)+parseInt(ul)) ; x--) {
  188. model.makeValue("/root/main/lbllist/lbllist["+x+"]", "Y");
  189. model.copyNode("/root/main/lbllist/lbllist[" + x + "]", "/root/main/lbllist/lbllist[" + tmptnt + "]" );
  190. tmptnt--;
  191. }
  192. // 처방 횟수 만큼 처방 복사.
  193. for(var y = parseInt(iPoint) ; y < (parseInt(tot)+parseInt(iPoint)-1) ; y++) {
  194. model.makeNode("/root/main/lbllist/lbllist[" + (y+1) +"]");
  195. model.copyNode("/root/main/lbllist/lbllist[" + (y+1) + "]", "/root/main/lbllist/lbllist[" + y + "]");
  196. }
  197. ul++;
  198. }
  199. //차광일 경우 2매 출력
  200. sPointChk = "N";
  201. var lblname = "";
  202. var cPoint = iPoint;
  203. var cnty = 0;
  204. var tprcpcd = "";
  205. var tprcpnm = "";
  206. for(var iChaCnt = 1 ; iChaCnt <= iChaTotCnt ; iChaCnt++) {
  207. //처방회수 만큼 출력한다.
  208. for(var iCntPrcpTimes = 1 ; iCntPrcpTimes <= iTotPrcpTimes ; iCntPrcpTimes++) {
  209. //재출력시 동일한 리스트를 출력하기 위해 iPoint를 이전 위치로 돌림.
  210. // if(sPointChk == "Y") {
  211. // } else {
  212. // }
  213. //라벨이름
  214. if(sumcls == "T"){
  215. lblname = "[TPN]";
  216. } else if(sumcls == "B"){
  217. lblname = "[소아TPN]";
  218. } else if(sumcls == "D"){
  219. lblname = "[항암제]";
  220. } else if(sumcls == "Q"){
  221. lblname = "[TPN]";
  222. } else if(sumcls == "1"){
  223. lblname = "[면역억제제]";
  224. } else {
  225. lblname = "[무균조제]";
  226. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd", model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/lblprntdt") ); // 20120731_무균조제라벨일때 처방일자 대신 출력일자 출력되게 수정
  227. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/coolmthd", "냉장보관");
  228. }
  229. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/lblname", lblname);
  230. //처방일자
  231. //model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdd", fGetDateString(model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdd")) );
  232. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/drugnobak", model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugno")); // 20130510_barcode에 사용하기 위해 backup
  233. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugno", model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugno") + reprint );
  234. //현재페이지/전체페이지
  235. if(iTotPrcpTimes > 1) {
  236. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/times", iCntPrcpTimes + "-" + iTotPrcpTimes);
  237. }
  238. if(sMixno != "-" && sMixno != ""){
  239. if(sumcls == "T" || sumcls == "Q"){
  240. fTPNDrugMixLBLR(sumcls, iChaCnt, iChaTotCnt);
  241. } else if(sumcls == "B"){
  242. fTPNDrugMixLBLR(sumcls, iChaCnt, iChaTotCnt);
  243. } else {//if(sumcls == "D"){
  244. fAntimeticsMixLBLR(iChaCnt, iChaTotCnt);
  245. }
  246. } else {
  247. if(sumcls == "T" || sumcls == "Q"){
  248. fTPNDrugLBLR(sumcls, iChaCnt, iChaTotCnt, cPoint);
  249. } else if(sumcls == "B"){
  250. fTPNDrugLBLR(sumcls, iChaCnt, iChaTotCnt, cPoint);
  251. } else {// if(sumcls == "D"){ // 항암제
  252. fAntimeticsLBLR(iChaCnt, iChaTotCnt, cPoint);
  253. }
  254. }
  255. if(sMixno != "-" && sMixno != ""){
  256. } else {
  257. cPoint++;
  258. }
  259. }
  260. cnty++;
  261. }
  262. if(sMixno != "-" && sMixno != ""){
  263. } else {
  264. iPoint = cPoint-1;
  265. }
  266. }
  267. if(sMixno != "-" && sMixno != ""){
  268. if(sumcls == "T" || sumcls == "B" || sumcls == "Q" || sMixno.substr(0,1) == "T" ) {
  269. var tTotalCnt2 = getNodesetCount("/root/main/lbllist/lbllist");
  270. var tot2 = parseInt(tmpiChaTotCnt) * parseInt(tmpiTotPrcpTimes);
  271. for(var y = 1 ; y < tot2 ; y++) {
  272. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2))+"]", "Y");
  273. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2)) + "]", "/root/main/lbllist/lbllist[" + 1 + "]");
  274. }
  275. } else if( tkeepflag) {
  276. var tTotalCnt2 = getNodesetCount("/root/main/lbllist/lbllist");
  277. var tot2 = parseInt(tmpiChaTotCnt) * parseInt(tmpiTotPrcpTimes);
  278. for(var y = 1 ; y < tot2 ; y++) {
  279. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2))+"]", "Y");
  280. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2)) + "]", "/root/main/lbllist/lbllist[" + 1 + "]");
  281. }
  282. }
  283. } else {
  284. }
  285. cPoint =1;
  286. if(sMixno != "-" && sMixno != "") {
  287. for(var iChaCnt = 1 ; iChaCnt <= tmpiChaTotCnt ; iChaCnt++) {
  288. //처방회수 만큼 출력한다.
  289. for(var iCntPrcpTimes = 1 ; iCntPrcpTimes <= tmpiTotPrcpTimes ; iCntPrcpTimes++) {
  290. if(tmpiTotPrcpTimes > 1) {
  291. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/times", iCntPrcpTimes + "-" + tmpiTotPrcpTimes);
  292. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", iChaCnt + "/" + tmpiChaTotCnt);
  293. } else if(tmpiChaTotCnt > 1) {
  294. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", iChaCnt + "/" + tmpiChaTotCnt);
  295. }
  296. cPoint++;
  297. }
  298. }
  299. }
  300. // 20111006_laboru_본원 라벨 수액제가 포함된 경우 abbrnm 을 무조건 IV dropping
  301. if(ivdroppingflag == "Y") {
  302. for(iPoint = 1; iPoint <= getNodesetCount("/root/main/lbllist/lbllist") ; iPoint++){
  303. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/abbrnm" , "IV Dropping");
  304. }
  305. }
  306. /////2015년 6월 1일 김치국 처리
  307. if (sumcls != "B" && getUserInfo("dutplceinstcd") == "032") {
  308. // 화면 닫게 만드는 루틴
  309. makeReportPreview(0,0,10, 10, "");
  310. fPrintRexbar_new("RFADT63302",true);
  311. } else {
  312. ////2015년 6월24일 김치국 본원도 출력화면 닫기
  313. makeReportPreview(0,0,10, 10, "");
  314. if (fPrintRexbar_new("RFADT63300", true)){
  315. var mixno = model.getValue("/root/main/lbllist/lbllist/prcpmixno");
  316. mixno = mixno.substr(0,1);
  317. if (mixno == "-" || mixno == "c"|| mixno == "C" ) {
  318. //modal("SPADT63302",0,200,200,"SPADT63302","/root/main/lbllist/lbllist","/root/main/lbllist/lbllist");
  319. modal("SPADT63302",0,200,200,"SPADT63302","/root","/root");
  320. // makeReportPreview(0,0,10, 10, "");
  321. // fPrintRexbar_new("RFADT63303",true); ////2015년 3월17일 김치국
  322. }
  323. }
  324. }
  325. model.refresh();
  326. }
  327. function fPrintRexbar_new(rexnm, closeYn, printCount, dataXPath, paramsXPath, infoXPath){
  328. var posx = '';
  329. var posy = '';
  330. var printnm = '';
  331. if(infoXPath == "" || infoXPath == "undefined" || infoXPath == null) infoXPath = "/root/main/barcdprntsetup/prntsetupinfo";
  332. if(model.getValue(infoXPath + "/setupinfo/rexgbn") != "1") return false;
  333. try{
  334. if(model.getXpathValue("count(" + infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/barnm)") > "0"){
  335. posx = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/xpos");
  336. posy = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/ypos");
  337. printnm = model.getValue(infoXPath + "/setupinfo/pcl/pcllist[barnm='"+rexnm+"']/prtnm");
  338. }else{
  339. posx = model.getValue(infoXPath + "/setupinfo/blank/left");
  340. posy = model.getValue(infoXPath + "/setupinfo/blank/top");
  341. printnm = model.getValue(infoXPath + "/setupinfo/comm01/setupval");
  342. }
  343. if(posx == '') posx = "0";
  344. if(posy == '') posy = "0";
  345. //alert(printnm);
  346. if(closeYn == "true") printnm = "";
  347. exeReportPreview(rexnm, 'XMLSTR', paramsXPath, '', printnm,
  348. '', '', '', '', 'false',
  349. '', '', '', '', '',
  350. printCount, '', 'offsetx=' + posx + ';offsety=' + posy + ';', dataXPath, '',
  351. '');
  352. //exeReportPreview(rexnm, "XMLSTR", "" , "" , "true" , "", "", "", "", "true");
  353. }
  354. catch(e){
  355. alert("출력시 오류가 발생하였습니다\n" + e);
  356. return true;
  357. }
  358. return true;
  359. }
  360. // 20110111_laboru_경북대병원_임상약라벨
  361. function fLBLPrintCR() {
  362. var iBfPoint = 0;
  363. var sPointChk = "N";
  364. var sMixno5 = "";
  365. var sMixno6 = "";
  366. var bCheck = false;
  367. var reprint = "";
  368. var tkeep = "";
  369. var ul = 0;
  370. var sumcls ="";
  371. for(iPoint = 1; iPoint <= getNodesetCount("/root/main/lbllist/lbllist") ; iPoint++){
  372. if ( model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/sumcls")!=""){
  373. sumcls =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/sumcls");
  374. }
  375. }
  376. for(iPoint = 1; iPoint <= getNodesetCount("/root/main/lbllist/lbllist") ; iPoint++){
  377. var sMixno = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  378. if ( model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblprnttims")>0 ){
  379. reprint ="(재)";
  380. }
  381. //차광일 경우 2매 출력
  382. if ( (tkeep = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm"))== "차광"){
  383. iChaTotCnt = 1;
  384. } else {
  385. iChaTotCnt = 1;
  386. if(sMixno != "-" && sMixno != ""){
  387. if(sumcls != "T" && sumcls != "Q" && sumcls != "B"){
  388. bCheck = false;
  389. sMixno5 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  390. for(var iBCnt = iPoint; iBCnt <= getNodesetCount("/root/main/lbllist/lbllist") ; iBCnt++){
  391. sMixno6 = model.getValue("/root/main/lbllist/lbllist["+iBCnt+"]/prcpmixno");
  392. if(sMixno5 == sMixno6){
  393. if (model.getValue("/root/main/lbllist/lbllist["+iBCnt+"]/keepmthd2nm") !=""){
  394. iChaTotCnt = 1;
  395. break;
  396. }
  397. } else {
  398. bCheck = true;
  399. }
  400. if(bCheck){
  401. break;
  402. }
  403. }
  404. }
  405. }
  406. }
  407. iTotPrcpTimes = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  408. /* var tmpiChaTotCnt = 0;
  409. var tmpiTotPrcpTimes = 0;
  410. if(sMixno != "-" && sMixno != ""){
  411. tmpiChaTotCnt = iChaTotCnt;
  412. iChaTotCnt =1;
  413. tmpiTotPrcpTimes = iTotPrcpTimes;
  414. iTotPrcpTimes = 1;
  415. } else {
  416. var tTotalCnt = getNodesetCount("/root/main/lbllist/lbllist");
  417. var tot = parseInt(iChaTotCnt) * parseInt(iTotPrcpTimes);
  418. // 기존 처방을 끝으로 복사.
  419. var tnt = getNodesetCount("/root/main/lbllist/lbllist");
  420. var tmptnt = tnt;
  421. for(var x = (parseInt(tnt)+parseInt(tot)-1) ; x > (parseInt(tnt)+parseInt(ul)) ; x--) {
  422. model.makeValue("/root/main/lbllist/lbllist["+x+"]", "Y");
  423. model.copyNode("/root/main/lbllist/lbllist[" + x + "]", "/root/main/lbllist/lbllist[" + tmptnt + "]" );
  424. tmptnt--;
  425. }
  426. // 처방 횟수 만큼 처방 복사.
  427. for(var y = parseInt(iPoint) ; y < (parseInt(tot)+parseInt(iPoint)-1) ; y++) {
  428. model.makeNode("/root/main/lbllist/lbllist[" + (y+1) +"]");
  429. model.copyNode("/root/main/lbllist/lbllist[" + (y+1) + "]", "/root/main/lbllist/lbllist[" + y + "]");
  430. }
  431. ul++;
  432. } */
  433. //차광일 경우 2매 출력
  434. sPointChk = "N";
  435. var lblname = "";
  436. var cPoint = iPoint;
  437. var cnty = 0;
  438. var tprcpcd = "";
  439. var tprcpnm = "";
  440. for(var iChaCnt = 1 ; iChaCnt <= iChaTotCnt ; iChaCnt++) {
  441. //처방회수 만큼 출력한다.
  442. //for(var iCntPrcpTimes = 1 ; iCntPrcpTimes <= iTotPrcpTimes ; iCntPrcpTimes++) {
  443. //라벨이름
  444. lblname = "[임상연구용 의약품]";
  445. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/lblname", lblname);
  446. //처방일자
  447. //model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdd", fGetDateString(model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdd")) );
  448. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugno", model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugno") + reprint );
  449. // 20110111_laboru_경북대병원
  450. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/prcptims" , model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcptims") + " 회" );
  451. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdayno" , model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdayno") + " 일분" );
  452. //현재페이지/전체페이지
  453. if(iTotPrcpTimes > 1) {
  454. //model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/times", iCntPrcpTimes + "-" + iTotPrcpTimes);
  455. }
  456. //model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd", "투 약 일 : " + model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd") );
  457. if(sMixno != "-" && sMixno != ""){
  458. if(sumcls == "T" || sumcls == "Q"){
  459. fTPNDrugMixLBLR(sumcls, iChaCnt, iChaTotCnt);
  460. } else if(sumcls == "B"){
  461. fTPNDrugMixLBLR(sumcls, iChaCnt, iChaTotCnt);
  462. } else {//if(sumcls == "D"){
  463. fAntimeticsMixLBLR(iChaCnt, iChaTotCnt);
  464. }
  465. } else {
  466. if(sumcls == "T" || sumcls == "Q"){
  467. fTPNDrugLBLR(sumcls, iChaCnt, iChaTotCnt, cPoint);
  468. } else if(sumcls == "B"){
  469. fTPNDrugLBLR(sumcls, iChaCnt, iChaTotCnt, cPoint);
  470. } else {// if(sumcls == "D"){ // 항암제
  471. fAntimeticsLBLR(iChaCnt, iChaTotCnt, cPoint);
  472. }
  473. }
  474. if(sMixno != "-" && sMixno != ""){
  475. } else {
  476. cPoint++;
  477. }
  478. //}
  479. //cnty++;
  480. }
  481. if(sMixno != "-" && sMixno != ""){
  482. } else {
  483. iPoint = cPoint-1;
  484. }
  485. }
  486. if(sMixno != "-" && sMixno != ""){
  487. if(sumcls == "T" || sumcls == "B" || sumcls == "Q" ) {
  488. var tTotalCnt2 = getNodesetCount("/root/main/lbllist/lbllist");
  489. var tot2 = parseInt(tmpiChaTotCnt) * parseInt(tmpiTotPrcpTimes);
  490. for(var y = 1 ; y < tot2 ; y++) {
  491. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2))+"]", "Y");
  492. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2)) + "]", "/root/main/lbllist/lbllist[" + 1 + "]");
  493. }
  494. } else if( tkeepflag) {
  495. var tTotalCnt2 = getNodesetCount("/root/main/lbllist/lbllist");
  496. var tot2 = parseInt(tmpiChaTotCnt) * parseInt(tmpiTotPrcpTimes);
  497. for(var y = 1 ; y < tot2 ; y++) {
  498. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2))+"]", "Y");
  499. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(y) + parseInt(tTotalCnt2)) + "]", "/root/main/lbllist/lbllist[" + 1 + "]");
  500. }
  501. }
  502. } else {
  503. }
  504. /* cPoint =1;
  505. if(sMixno != "-" && sMixno != "") {
  506. for(var iChaCnt = 1 ; iChaCnt <= tmpiChaTotCnt ; iChaCnt++) {
  507. //처방회수 만큼 출력한다.
  508. for(var iCntPrcpTimes = 1 ; iCntPrcpTimes <= tmpiTotPrcpTimes ; iCntPrcpTimes++) {
  509. if(tmpiTotPrcpTimes > 1) {
  510. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/times", iCntPrcpTimes + "-" + tmpiTotPrcpTimes);
  511. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", iChaCnt + " / " + tmpiChaTotCnt);
  512. } else if(tmpiChaTotCnt > 1) {
  513. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", iChaCnt + " / " + tmpiChaTotCnt);
  514. }
  515. cPoint++;
  516. }
  517. }
  518. }
  519. */
  520. makeReportPreview(0,0,10, 10, "");
  521. fPrintRexbar("RFADT63301");
  522. model.refresh();
  523. }
  524. /**
  525. * mix 라벨
  526. */
  527. function fTPNDrugMixLBLR(sc, pChaCnt, pChaTotCnt) {
  528. var sMixno1 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  529. var cnt = 0;
  530. var bContinue = false;
  531. var lblCnts2 ="";
  532. var tims = 0;
  533. var tprcpcd = "";
  534. var tprcpnm = "";
  535. var keepmthdnm = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm");
  536. var keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm");
  537. var keepmthd = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd");
  538. var lblCnts1 =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblcnts1");
  539. var valitime =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime");
  540. var drugDD = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd");
  541. tims = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  542. for(var j = iPoint; j <= getNodesetCount("/root/main/lbllist/lbllist") ; j++){
  543. sMixno2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpmixno");
  544. var qty = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqty");
  545. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqtyunit");
  546. var stndvol = model.getValue("/root/main/lbllist/lbllist["+j+"]/stndvol");
  547. var stndunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/stndunit");
  548. var cntsvol = model.getValue("/root/main/lbllist/lbllist["+j+"]/cntsvol");
  549. var cntsunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/cntsunit");
  550. // tims = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcptims");
  551. var dayno = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpdayno");
  552. var sumcls = model.getValue("/root/main/lbllist/lbllist["+j+"]/sumcls");
  553. var prcpcd = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpcd");
  554. var prcpnm = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpnm");
  555. if(sMixno1 == sMixno2){
  556. if(cnt == 0) {
  557. tprcpcd = prcpcd;
  558. tprcpnm = prcpnm;
  559. unit = cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  560. } else {/*
  561. if(getByteLength(prcpnm) >= 18) {
  562. tprcpcd += "\n";
  563. unit += "\n";
  564. }*/
  565. tprcpcd += "\n" + prcpcd;
  566. tprcpnm += "\n" + prcpnm;
  567. unit += "\n" + cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  568. }
  569. // mix 되어 있는 처방중 항암제가 아닌 일반 약품이 먼저 나올때 보관방법, 차광, 라벨주의사항 copy
  570. var tkeep1 = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm");
  571. var tkeep2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm");
  572. var tlblcnts1 = model.getValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1");
  573. if(tkeep1== "" || tkeep2 == "" || tlblcnts1 == "") {
  574. for(var t = 1 ; t <= getNodesetCount("/root/main/lbllist/lbllist") ; t++) {
  575. var a = model.getValue("/root/main/lbllist/lbllist["+t+"]/keepmthdnm");
  576. var b = model.getValue("/root/main/lbllist/lbllist["+t+"]/keepmthd2nm");
  577. var c = model.getValue("/root/main/lbllist/lbllist["+t+"]/lblcnts1");
  578. if(a != "") {
  579. model.setValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm", a);
  580. }
  581. if(b != "") {
  582. model.setValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm", b);
  583. tkeepflag = true;
  584. }
  585. if(c != "") {
  586. model.setValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1", c);
  587. }
  588. }
  589. } else if(tkeep2 == "차광") {
  590. tkeepflag = true;
  591. }
  592. // 20100510_laboru_rex 중복 출력 막기 위해
  593. if(cnt != 0) {
  594. model.removeNode("/root/main/lbllist/lbllist["+j+"]");
  595. //cPoint--;
  596. j--;
  597. }
  598. cnt++;
  599. } else {
  600. bContinue = true;
  601. }
  602. if(cnt == 5 || bContinue){
  603. break;
  604. }
  605. }
  606. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/unit", unit);
  607. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd", tprcpcd);
  608. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpnm", tprcpnm);
  609. //iPoint = j-1;
  610. if ( sc !="Q" ){
  611. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime", "조제후("+valitime +") 시간이내투여");
  612. }
  613. if(pChaTotCnt > 1) {
  614. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", pChaCnt + "/" + pChaTotCnt);
  615. }
  616. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", "조제일자 : " + fGetDateString(drugDD) );
  617. }
  618. /**
  619. * TPN 라벨
  620. */
  621. function fTPNDrugLBLR(sc, pChaCnt, pChaTotCnt, cPoint) {
  622. var sSumCls1 = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/sumcls");
  623. var cnt = 0;
  624. var bContinue = false;
  625. var lblCnts2 ="";
  626. var tims = 0;
  627. var unit = "";
  628. var tprcpcd = "";
  629. var tprcpnm = "";
  630. var keepmthdnm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthdnm");
  631. var keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthd2nm");
  632. var keepmthd = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthd");
  633. var lblCnts1 =model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/lblcnts1");
  634. var valitime =model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/valitime");
  635. var drugDD = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd");
  636. tims = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcptims");
  637. var qty = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpqty");
  638. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpqtyunit");
  639. var stndvol = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/stndvol");
  640. var stndunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/stndunit");
  641. var cntsvol = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/cntsvol");
  642. var cntsunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/cntsunit");
  643. var dayno = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdayno");
  644. var sumcls = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/sumcls");
  645. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/unit", cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit);
  646. if ( sc !="Q" ){
  647. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/valitime", "조제후("+valitime +") 시간이내투여");
  648. }
  649. if(pChaTotCnt > 1) {
  650. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", pChaCnt + "/" + pChaTotCnt);
  651. }
  652. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd", "조제일자 : " + fGetDateString(drugDD) );
  653. }
  654. function fAntimeticsMixLBLR(pChaCnt, pChaTotCnt) {
  655. var sMixno1 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno");
  656. var cnt = 0;
  657. var bContinue = false;
  658. var lblCnts2 ="";
  659. var tims = 0;
  660. var keepmthdnm = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm");
  661. var keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm");
  662. var keepmthd = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd");
  663. var lblCnts1 =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblcnts1");
  664. var valitime =model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime");
  665. var drugDD = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd");
  666. var totqty = 0;
  667. var totstndvol = 0;
  668. var divcnt = 0;
  669. var tprcpcd = "";
  670. var tprcpnm = "";
  671. tims = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  672. var totvolexptynCnt = 0 ; //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  673. for(var j = iPoint; j <= getNodesetCount("/root/main/lbllist/lbllist") ; j++){
  674. sMixno2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpmixno");
  675. var qty = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqty");
  676. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqtyunit");
  677. var stndvol = model.getValue("/root/main/lbllist/lbllist["+j+"]/stndvol");
  678. var stndunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/stndunit");
  679. var cntsvol = model.getValue("/root/main/lbllist/lbllist["+j+"]/cntsvol");
  680. var cntsunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/cntsunit");
  681. var dayno = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpdayno");
  682. var sumcls = model.getValue("/root/main/lbllist/lbllist["+j+"]/sumcls");
  683. var prcpdelivefact = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpdelivefact");
  684. var voldivcd1 = "";
  685. var voldivcd2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/voldivcd");
  686. var basevol = model.getValue("/root/main/lbllist/lbllist["+j+"]/basevol");
  687. var basevolunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/basevolunit");
  688. var prcpcd = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpcd");
  689. var prcpnm = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpnm");
  690. if(sMixno1 == sMixno2){
  691. if ( model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm") !=""){
  692. keepmthdnm = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm");
  693. }
  694. if ( model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm") !=""){
  695. keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm");
  696. }
  697. if ( model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd") !=""){
  698. keepmthd = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd");
  699. }
  700. if ( model.getValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1") !=""){
  701. lblCnts1 =model.getValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1");
  702. }
  703. if ( model.getValue("/root/main/lbllist/lbllist["+j+"]/valitime") !=""){
  704. valitime =model.getValue("/root/main/lbllist/lbllist["+j+"]/valitime");
  705. }
  706. if(cnt == 0) {
  707. tprcpcd = prcpcd;
  708. tprcpnm = prcpnm;
  709. unit = cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  710. /////2015.7.21 김치국
  711. unitsy = prcpnm +" " + cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  712. /*
  713. if(getByteLength(prcpnm) >= 18) {
  714. tprcpcd += "\n";
  715. unit += "\n";
  716. }*/
  717. //alert("cnt 0 : " + unit);
  718. } else {
  719. tprcpcd += "\n" + prcpcd;
  720. tprcpnm += "\n" + prcpnm;
  721. unit += "\n" + cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  722. /////2015.7.21 김치국
  723. unitsy = prcpnm + " " + cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit;
  724. /*
  725. if(getByteLength(prcpnm) >= 18) {
  726. tprcpcd += "\n";
  727. unit += "\n";
  728. }*/
  729. //alert("cnt 0 이상 : " + unit);
  730. }
  731. // mix 되어 있는 처방중 항암제가 아닌 일반 약품이 먼저 나올때 보관방법, 차광, 라벨주의사항 copy
  732. var tkeep1 = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm");
  733. var tkeep2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm");
  734. var tlblcnts1 = model.getValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1");
  735. if(tkeep1== "" || tkeep2 == "" || tlblcnts1 == "") {
  736. for(var t = 1 ; t <= getNodesetCount("/root/main/lbllist/lbllist") ; t++) {
  737. var a = model.getValue("/root/main/lbllist/lbllist["+t+"]/keepmthdnm");
  738. var b = model.getValue("/root/main/lbllist/lbllist["+t+"]/keepmthd2nm");
  739. var c = model.getValue("/root/main/lbllist/lbllist["+t+"]/lblcnts1");
  740. if(a != "") {
  741. model.setValue("/root/main/lbllist/lbllist["+j+"]/keepmthdnm", a);
  742. }
  743. if(b != "") {
  744. model.setValue("/root/main/lbllist/lbllist["+j+"]/keepmthd2nm", b);
  745. tkeepflag = true;
  746. }
  747. if(c != "") {
  748. model.setValue("/root/main/lbllist/lbllist["+j+"]/lblcnts1", c);
  749. }
  750. }
  751. } else if(tkeep2 == "차광") {
  752. tkeepflag = true;
  753. }
  754. // 20100510_laboru_rex 중복 출력 막기 위해
  755. if(cnt != 0) {
  756. model.removeNode("/root/main/lbllist/lbllist["+j+"]");
  757. j--;
  758. }
  759. cnt++;
  760. if(voldivcd2 != 0 && voldivcd1 != voldivcd2){
  761. voldivcd1 = voldivcd2;
  762. }
  763. if(voldivcd1 == voldivcd2){
  764. //alert("총용량 1 : " + unit);
  765. //총용량
  766. if(cntsunit != basevolunit) {//용량분할기준용량과 단위가 다를경우는 기준용량단위로 환산
  767. totqty += Number(basevol) * Number(qty);
  768. } else {
  769. totqty += Number(cntsvol);
  770. }
  771. //총 volume
  772. totstndvol += Number(stndvol);
  773. //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  774. if (model.getValue("/root/main/lbllist/lbllist["+j+"]/totvolexptyn") == "Y") {
  775. totvolexptynCnt++; // 처방코드중 하나라도 [총VOL제외]에 Check되어 있으면 총 Volume 출력하지 않는다.
  776. }
  777. //용량분할관리대상인 코드의 개수
  778. divcnt++;
  779. if( j < getNodesetCount("/root/main/lbllist/lbllist") ) {
  780. //alert("ddd = " + unit);
  781. var idx = j+1;
  782. var voldivcd3 = model.getValue("/root/main/lbllist/lbllist["+ idx +"]/voldivcd");
  783. var sMixno3 = model.getValue("/root/main/lbllist/lbllist["+idx+"]/prcpmixno");
  784. var sSpcldrug3 = model.getValue("/root/main/lbllist/lbllist["+idx+"]/spcldrug");
  785. if(divcnt > 1 && (sMixno2 != sMixno3 || voldivcd2 != voldivcd3 ) ){ // && sSpcldrug3 != "S"
  786. //alert("ddd 2 = " + unit);
  787. //2010-06-08 계산되어 지면서 소숫점아래의 숫자가 0.009999999999999 발생되는경우가 있음
  788. // (곱셈이라 0.00999999 발생될수 없은 상황인데.. 발생되고 있음 <<<10*0.963+50 = 59.629999999 발생됨>>>)
  789. // 그래서 강제로 4자리 반올림처리함.
  790. totqty = totqty.toString().getRound(-4, "HALF_UP");
  791. var cmt = "";
  792. if(stndvol > 0) {//재구성농도가 있을경우만 volume 출력
  793. //cmt = "총용량 : " + totqty + " " + basevolunit
  794. unit += "\n\n" + "총용량 : " + totqty + " " + basevolunit
  795. unit += " 총 Volume : " + ((Math.floor(totstndvol * 1000))/1000) + " " + stndunit;
  796. //alert("총용량 2 : " + unit);
  797. } else {
  798. //cmt = "총용량 : " + totqty + " " + basevolunit;
  799. unit += "총용량 : " + totqty + " " + basevolunit;
  800. //alert("총용량 3 : " + unit);
  801. }
  802. //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  803. if ( totvolexptynCnt > 0 ) { // 처방코드중 하나라도 [총VOL제외]에 Check되어 있으면 총 Volume 출력하지 않는다.
  804. var cmt = "총용량 : " + totqty + " " + basevolunit;
  805. }
  806. tprcpnm += "\n\n" + cmt;
  807. totqty = 0;
  808. totstndvol = 0;
  809. divcnt = 0;
  810. totvolexptynCnt = 0; //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  811. }
  812. } else if(divcnt > 1 && (j = getNodesetCount("/root/main/lbllist/lbllist")) ){
  813. //2010-06-08 계산되어 지면서 소숫점아래의 숫자가 0.009999999999999 발생되는경우가 있음
  814. // (곱셈이라 0.00999999 발생될수 없은 상황인데.. 발생되고 있음 <<<10*0.963+50 = 59.629999999 발생됨>>>)
  815. // 그래서 강제로 4자리 반올림처리함.
  816. totqty = totqty.toString().getRound(-4, "HALF_UP");
  817. //alert("ddd 3 = " + unit);
  818. var cmt = "";
  819. if(stndvol > 0) {//재구성농도가 있을경우만 volume 출력
  820. //cmt = "총용량 : " + totqty + " " + basevolunit
  821. unit += "\n\n" + "총용량 : " + totqty + " " + basevolunit
  822. unit += " 총 Volume : " + ((Math.floor(totstndvol * 1000))/1000) + " " + stndunit;
  823. //alert("총용량 4 : " + unit);
  824. } else {
  825. //cmt = "총용량 : " + totqty + " " + basevolunit ;
  826. unit += "총용량 : " + totqty + " " + basevolunit ;
  827. //alert("총용량 5 : " + unit);
  828. }
  829. //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  830. if ( totvolexptynCnt > 0 ) { // 처방코드중 하나라도 [총VOL제외]에 Check되어 있으면 총 Volume 출력하지 않는다.
  831. var cmt = "총용량 : " + totqty + " " + basevolunit ;
  832. }
  833. tprcpnm += "\n\n" + cmt;
  834. totqty = 0;
  835. totstndvol = 0;
  836. divcnt = 0;
  837. totvolexptynCnt = 0; //2010-05-25 [요청번호:13894]-특수조제실 마스터에 총VOL제외 컬럼을 삽입하여 체크된 약품에 한해 라벨 출력시 총VOLUME 이 인쇄되지 않도록 처리
  838. }
  839. }
  840. } else {
  841. bContinue = true;
  842. }
  843. if(bContinue){
  844. break;
  845. }
  846. }
  847. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/unit", unit);
  848. //// 2015년 5월14일 김치국 항암제 주사라벨 출력하기
  849. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/unitsy", unitsy); /// prcpnm + " " +
  850. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd", tprcpcd);
  851. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpnm", tprcpnm);
  852. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime", "조제후("+valitime +") 시간이내투여");
  853. // 20130510_실제 조제완료 barcode
  854. //alert(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ioflag")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugnobak")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno"));
  855. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dbarcode", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ioflag")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugnobak")+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpmixno") );
  856. if(pChaTotCnt > 1) {
  857. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", pChaCnt + "/" + pChaTotCnt);
  858. }
  859. if(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/coolmthd") == "냉장보관") {
  860. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", "조제일자 : " + fGetDateString(drugDD) );
  861. } else {
  862. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", "조제일자 : " + fGetDateString(drugDD) );
  863. }
  864. }
  865. /**
  866. * 항암제 라벨
  867. */
  868. function fAntimeticsLBLR(pChaCnt, pChaTotCnt, cPoint) {
  869. var sSumCls1 = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/sumcls");
  870. var cnt = 0;
  871. var bContinue = false;
  872. var lblCnts2 ="";
  873. var tims = 0;
  874. var keepmthdnm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthdnm");
  875. var keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthd2nm");
  876. var keepmthd = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthd");
  877. var lblCnts1 =model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/lblcnts1");
  878. var valitime =model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/valitime");
  879. var drugDD = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd");
  880. sSumCls2 = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/sumcls");
  881. var qty = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpqty");
  882. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpqtyunit");
  883. var stndvol = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/stndvol");
  884. var stndunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/stndunit");
  885. var cntsvol = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/cntsvol");
  886. var cntsunit = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/cntsunit");
  887. tims = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcptims");
  888. var dayno = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpdayno");
  889. var sumcls = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/sumcls");
  890. var keepmthd2nm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/keepmthd2nm");
  891. var prcpnm = model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpnm");
  892. cntsvol = cntsvol.getRound(-4, "HALF_UP");
  893. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/unit", cntsvol+cntsunit+" "+qty+qtyunit+" "+stndvol+stndunit);
  894. //// 2015년 5월14일 김치국 항암제 주사라벨 출력하기
  895. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/unitsy", prcpnm +" "+cntsvol+cntsunit+" "+stndvol+stndunit);
  896. if(valitime != "") {
  897. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/valitime", "조제후("+valitime +") 시간이내투여");
  898. }
  899. if(pChaTotCnt > 1) {
  900. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/prnt_page", pChaCnt + "/" + pChaTotCnt);
  901. }
  902. // 20130510_실제 조제완료 barcode
  903. //alert(model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/ioflag")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugnobak")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpmixno"));
  904. model.makeValue("/root/main/lbllist/lbllist["+cPoint+"]/dbarcode", model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/ioflag")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/drugnobak")+model.getValue("/root/main/lbllist/lbllist["+cPoint+"]/prcpmixno") );
  905. model.setValue("/root/main/lbllist/lbllist["+cPoint+"]/drugdd", "조제일자 : " + fGetDateString(drugDD) );
  906. }
  907. /**
  908. * 소아TPN 라벨출력
  909. */
  910. function fLBLChildTPNPrintR() {
  911. /*
  912. 라벨 Sorting 로직
  913. calclipidcvol != 0 면 라벨 1번 출력
  914. 라벨 2번 출력 기본
  915. 차광이면 2장 출력 (최대 4장출력가능)
  916. */
  917. iPoint = 1;
  918. var sKeepMthd2 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm");
  919. var sOrdLipidVol = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordlipidvol");
  920. //var iTotPrcpTimes = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  921. var cnt = getNodesetCount("/root/main/lbllist/lbllist");
  922. if(sKeepMthd2 != "") {
  923. if(parseFloat(sOrdLipidVol) > 0){
  924. for(var t = 2 ; t <= 4 ; t++) {
  925. model.makeValue("/root/main/lbllist/lbllist[" + t + "]" , "Y");
  926. model.copyNode("/root/main/lbllist/lbllist[" + t + "]", "/root/main/lbllist/lbllist[" + cnt + "]");
  927. }
  928. } else {
  929. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(cnt)+1) + "]" , "Y");
  930. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(cnt)+1) + "]", "/root/main/lbllist/lbllist[" + cnt + "]");
  931. }
  932. } else {
  933. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(cnt)+1) + "]" , "Y");
  934. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(cnt)+1) + "]", "/root/main/lbllist/lbllist[" + cnt + "]");
  935. }
  936. var timscnt = model.getValue("/root/main/lbllist/lbllist/prcptims");
  937. if(sKeepMthd2 != ""){
  938. if(parseFloat(sOrdLipidVol) > 0){
  939. fLBL1ChildTPNPrintR("1/2");
  940. iPoint++;
  941. fLBL1ChildTPNPrintR("2/2");
  942. iPoint++;
  943. }
  944. fLBL2ChildTPNPrintR("1/2");
  945. iPoint++;
  946. fLBL2ChildTPNPrintR("2/2");
  947. } else {
  948. if(parseFloat(sOrdLipidVol) > 0){
  949. fLBL1ChildTPNPrintR("1/1");
  950. iPoint++;
  951. }
  952. fLBL2ChildTPNPrintR("1/1");
  953. }
  954. // 20120424_laboru_소아tpn 라벨 처방 횟수 만큼 반복하여 출력
  955. var totcnt = getNodesetCount("/root/main/lbllist/lbllist");
  956. for(var k = 1 ; k <= totcnt ; k++) {
  957. model.makeValue("/root/main/lbllist/lbllist["+k+"]/times", "1" + "-" + timscnt);
  958. }
  959. var i = 1;
  960. for(var t = 1 ; t < timscnt ; t++) {
  961. for( i ; i <= totcnt ; i++) {
  962. model.makeValue("/root/main/lbllist/lbllist[" + (parseInt(totcnt)+i) + "]" , "Y");
  963. model.copyNode("/root/main/lbllist/lbllist[" + (parseInt(totcnt)+i) + "]", "/root/main/lbllist/lbllist[" + i + "]");
  964. model.makeValue("/root/main/lbllist/lbllist["+(parseInt(totcnt)+i)+"]/times", (parseInt(t)+1) + "-" + timscnt);
  965. }
  966. //i = i *2;
  967. }
  968. //현재페이지/전체페이지
  969. //model.makeValue("/root/main/lbllist/lbllist["+t+"]/times", i + "-" + timscnt);
  970. // for(var t = 1 ; t <= totcnt ; t++) {
  971. // model.makeValue("/root/main/lbllist/lbllist["+t+"]/times", i + "-" + timscnt);
  972. // }
  973. // 20110103_laboru_경북대병원
  974. makeReportPreview(0,0,10, 10, "");
  975. fPrintRexbar("RFADT63300");
  976. model.refresh();
  977. }
  978. /**
  979. * 소아TPN 라벨 1 출력
  980. */
  981. function fLBL1ChildTPNPrintR(prnt_page) {
  982. //처방횟수
  983. var tims = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  984. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/childflag", "Y");
  985. //라벨이름
  986. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/lblname", "[소아정맥영양제]");
  987. //처방명
  988. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd"))
  989. //병실
  990. //sSndMsg += astfPrintOut(600, 40, 3, model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/roomcd"),"");
  991. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/roomcd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/roomcd"));
  992. //페이지
  993. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/prnt_page", prnt_page);
  994. //drugpath
  995. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugpathnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugpathnm"));
  996. //maturation
  997. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/maturationflagnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/maturationflagnm"));
  998. //wt
  999. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/wt", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/wt")+"kg" );
  1000. //환자번호
  1001. //sSndMsg += astfPrintOut(30, 120, 3, model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/pid"),"");
  1002. model.makeValue("/root/main/lbllist/lblist["+iPoint+"]/pid", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/pid"));
  1003. //환자명
  1004. //sSndMsg += astfPrintOut(280, 120, 3, model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/patnm"),"");
  1005. model.makeValue("/root/main/lbllist/lblist["+iPoint+"]/patnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/patnm"));
  1006. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugspdnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugspdnm"));
  1007. //중단
  1008. var drugcd = "";
  1009. var dvol = "";
  1010. var dunit = "";
  1011. drugcd = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lipiddrugcd");
  1012. dvol = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordlipidvol");
  1013. dunit = "ml";
  1014. // 20120731_헤파린 관련 삭제
  1015. //drugcd += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/heparindrugcd");
  1016. //dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordheparinvol");
  1017. //dunit += "\nIU";
  1018. drugcd += "\n\n\n\n열량 : ";
  1019. dvol += "\n\n\n\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordcalr2");
  1020. dunit += "\n\n\n\nKcal";
  1021. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugcd", drugcd);
  1022. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dvol", dvol);
  1023. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dunit", dunit);
  1024. //하단
  1025. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime", "조제후("+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime") +") 시간이내투여");
  1026. //냉장보관
  1027. if(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm") != ""){
  1028. //sSndMsg += astfPrintOut(440, 500, 3, model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm"),"");
  1029. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm"));
  1030. }
  1031. //차광
  1032. //sSndMsg += astfPrintOut(610, 500, 3, model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm"),"");
  1033. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm"));
  1034. //처방입력일시
  1035. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/rgstdt", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblprntdt") ); // 20120731_rgstdt 에서 lblprntdt 로 변경. 처방일에서 조제일자로 변경
  1036. //조제일자
  1037. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd") ); // 20120731_drugdd 에서 drugdd 로 변경. 조제일자에서 적용일자로 변경
  1038. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/lblcnts1", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblcnts1"));
  1039. // 20120731_dextrose 농도, total volume
  1040. //model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dextrose", "Dextrose 농도 : " + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpdexvol") + "%" );
  1041. //model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/totvol", "Total Volume : " + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordvol") + "ml" );
  1042. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/abbrnm", "IV Dropping" ); // 20120731
  1043. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/cpflag", "Y" ); // 20120806_차광여부
  1044. }
  1045. /**
  1046. * 소아TPN 라벨 2 출력
  1047. */
  1048. function fLBL2ChildTPNPrintR(prnt_page) {
  1049. //처방횟수
  1050. var tims = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcptims");
  1051. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/childflag", "Y");
  1052. //상단
  1053. //라벨이름
  1054. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/lblname", "[소아정맥영양제]");
  1055. //처방명
  1056. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd"))
  1057. //병실
  1058. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/roomcd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/roomcd"));
  1059. //페이지
  1060. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/prnt_page", prnt_page);
  1061. //drugpath
  1062. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugpathnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugpathnm"));
  1063. //maturation
  1064. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/maturationflagnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/maturationflagnm"));
  1065. //wt
  1066. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/wt", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/wt")+"kg" );
  1067. //환자번호
  1068. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/pid", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/pid"));
  1069. //환자명
  1070. model.makeValue("/root/main/lbllist/lbllsit["+iPoint+"]/patnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/patnm"));
  1071. //투여속도
  1072. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugspdnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugspdnm"));
  1073. //중단
  1074. var drugcd = "";
  1075. var dvol = "";
  1076. var dunit = "";
  1077. var drugcd1 = "";
  1078. var dvol1 = "";
  1079. var dunit1 = "";
  1080. // rex 좌측
  1081. // 1
  1082. drugcd = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/xcode"); // 20120801_orddrug -> xcode
  1083. dvol = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/xvol"); // 20120801_prcpdistvol -> xvol
  1084. dunit = "ml";
  1085. // 2
  1086. drugcd += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/dexdrugcd");
  1087. dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/yvol"); // 20120801_orddexvol -> yvol
  1088. dunit += "\nml";
  1089. // 3
  1090. drugcd += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/aminodrugcd");
  1091. dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordaminovol");
  1092. dunit += "\nml";
  1093. // 4
  1094. drugcd += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/pdrugcd");
  1095. dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordpvol");
  1096. dunit += "\nml";
  1097. // 5
  1098. drugcd += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/mgdrugcd");
  1099. dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordmgvol");
  1100. dunit += "\nml";
  1101. // 5-1_20121217_추가
  1102. drugcd += "\n"; // + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/zndrugcd");
  1103. dvol += "\n"; // + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordznplusvol");
  1104. dunit += "\n"; // + "ml";
  1105. // rex 우측
  1106. // 6
  1107. drugcd1 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/kdrugcd");
  1108. dvol1 = model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordkvol");
  1109. dunit1 = "ml";
  1110. // 7
  1111. drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/traceeledrugcd");
  1112. dvol1 += "\n" + parseFloat(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/traceelevol")) * parseFloat(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcprate"));
  1113. dunit1 += "\nml";
  1114. // 8
  1115. drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/multivitadrugcd");
  1116. dvol1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordmultivitavol");
  1117. dunit1 += "\nml";
  1118. // 9
  1119. drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/nadrugcd");
  1120. dvol1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordnavol");
  1121. dunit1 += "\nml";
  1122. // 10 2014년 1월27일 김치국 11번째로 이동
  1123. //drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/cadrugcd");
  1124. //dvol1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordcavol");
  1125. //dunit1 += "\nml";
  1126. // 10-1_20121217_조성추가
  1127. drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/heparindrugcd");
  1128. dvol1 += "\n" + parseInt(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordheparinvol"))/5000;
  1129. dunit1 += "\nml";
  1130. // 11 No10을 2014년 1월27일 김치국 11번째로 이동
  1131. drugcd1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/cadrugcd");
  1132. dvol1 += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordcavol");
  1133. dunit1 += "\nml";
  1134. //총열량
  1135. drugcd += "\n열량 : ";
  1136. dvol += "\n" + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordcalr1");
  1137. dunit += "\nKcal";
  1138. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugcd", drugcd);
  1139. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dvol", dvol);
  1140. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dunit", dunit);
  1141. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/drugcd1", drugcd1);
  1142. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dvol1", dvol1);
  1143. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dunit1", dunit1);
  1144. //하단
  1145. //투여제한시간
  1146. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime", "조제후("+model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/valitime") +") 시간이내투여");
  1147. //냉장보관
  1148. if(model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm") != ""){
  1149. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthdnm"));
  1150. }
  1151. //차광
  1152. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/keepmthd2nm"));
  1153. //처방입력일시
  1154. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/rgstdt", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lblprntdt") ); // 20120731_rgstdt 에서 lblprntdt 로 변경. 처방일에서 조제일자로 변경
  1155. //조제일자
  1156. model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/drugdd") ); // 20120731_drugdd 에서 drugdd 로 변경. 조제일자에서 적용일자로 변경
  1157. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/lblcnts1", model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/lbllist"));
  1158. // 20120731_dextrose 농도, total volume
  1159. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/dextrose", "Dextrose 농도 : " + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpdexvol") + "%" );
  1160. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/totvol", "Total Volume : " + model.getValue("/root/main/lbllist/lbllist["+iPoint+"]/ordvol") + "ml" );
  1161. model.makeValue("/root/main/lbllist/lbllist["+iPoint+"]/abbrnm", "IV Dropping" ); // 20120731
  1162. }
  1163. /*
  1164. // 20100202_laboru_byte
  1165. */
  1166. function getByteLength(str) {
  1167. var byteLength = 0;
  1168. for (inx = 0; inx < str.length; inx++) {
  1169. var oneChar = escape(str.charAt(inx));
  1170. if ( oneChar.length == 1 ) {
  1171. byteLength ++;
  1172. } else if (oneChar.indexOf("%u") != -1) {
  1173. byteLength += 2;
  1174. } else if (oneChar.indexOf("%") != -1) {
  1175. byteLength += oneChar.length/3;
  1176. }
  1177. }
  1178. return byteLength;
  1179. }
  1180. function fSleep(numberMillis) {
  1181. var now = new Date();
  1182. var exitTime = now.getTime() + numberMillis;
  1183. while (true) {
  1184. now = new Date();
  1185. if (now.getTime() > exitTime)
  1186. return;
  1187. }
  1188. }