SPADT61304.xjs 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name :
  4. * Job Name :
  5. * Creator :
  6. * Make Date : 2016-08-04
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2016-08-04 Live Converter TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. var sSndMsg = ""; //라벨출력내용
  16. var iPoint = 0; //라벨출력row
  17. var iCnt = 0; //라벨출력매수
  18. var iImageCnt = 0; //라벨그래픽폰트수
  19. var ordflag = "";
  20. var iTotalPageNum = 0;
  21. var mPoint = 0;
  22. //var iPageCnt = 1; //페이지번호 조회
  23. var iPageCnt = 0;
  24. var iPageCntO = 0; //외래 큰라벨출력양식 사용
  25. var nextPage = false;
  26. var vCnt = 0;
  27. //=======================================================================================
  28. // Function
  29. //---------------------------------------------------------------------------------------
  30. /****************************************************************************************
  31. * Argument : N/A
  32. * Description : 초기화
  33. ****************************************************************************************/
  34. function fInit() {
  35. var sParam = opener.frmf_getParameter("params");
  36. dsf_setCSVToDs("ds_send_prcpinfo",sParam);
  37. dsf_makeValue(ds_send_prcpinfo,"prntflag","string","O");
  38. var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
  39. ds_main_lbllist.clear();
  40. dsf_setTypeFormat(ds_send_prcpinfo, "drugno:INT");
  41. var oParam = {};
  42. oParam.id = "TRADT61301";
  43. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  44. oParam.method = "reqGetOutPrintLBLData";
  45. oParam.inds = "req=ds_send_prcpinfo";
  46. oParam.outds = "ds_main_lbllist=lbllist";
  47. oParam.async = false;
  48. oParam.callback = "cf_TRADT61301";
  49. tranf_submit(oParam);
  50. // trace(ds_send_prcpinfo.saveXML());
  51. // trace(ds_main_lbllist.saveXML());
  52. if(!utlf_isNull(ds_main_lbllist.getColumn(0,"drugkindnm"))){
  53. if(ds_send_prcpinfo.getColumn(0,"liquidflag") == "Y"){
  54. fLiquidLBLPrint();
  55. } else {
  56. if (ds_send_prcpinfo.getColumn(0,"lblkindflag") == "S") {
  57. fLBLPrint_knu("S");
  58. } else {
  59. ///2015년 3월11일 김치국 외래 주사약큰라벨 Flag 만듬
  60. var Vdrugkind = ds_main_lbllist.getColumn(0,"drugkindnm")
  61. if ( Vdrugkind == "[주사약]" && dutplceinstcd == "031" ){
  62. fLBLPrint_knu("LJ");
  63. } else {
  64. fLBLPrint_knu("L");
  65. }
  66. }
  67. }
  68. } else {
  69. this.close();
  70. }
  71. }
  72. function cf_TRADT61301(sSvcId, nErrorCode, sErrorMsg) {
  73. if(nErrorCode < 0) return;
  74. ds_main_prnt_lbllist.clear();
  75. dsf_copyColInfo(ds_main_prnt_lbllist,ds_main_lbllist);
  76. }
  77. /****************************************************************************************
  78. * Argument : N/A
  79. * Description : 물약라벨출력
  80. ****************************************************************************************/
  81. function fLiquidLBLPrint() {
  82. var reprint = "";
  83. for(iPoint = 0; iPoint < ds_main_lbllist.rowcount ; iPoint++){
  84. if ( ds_main_lbllist.getColumn(iPoint,"lblprnttims")>0 ){
  85. reprint ="(재)";
  86. }
  87. //시작(X, Y)
  88. sSndMsg += astfStartFormat(0, 0);
  89. var sDD = utlf_getCurrentDate();
  90. var sTM = utlf_getCurrentTime();
  91. var iPageCnt = ds_main_prnt_lbllist.addRow();
  92. ds_main_prnt_lbllist.copyRow(iPageCnt,ds_main_lbllist,iPoint);
  93. dsf_makeValue(ds_main_prnt_lbllist,"fprnttime","string","출 력 : " + fPrntTime(sDD, sTM),iPageCnt);
  94. ds_main_prnt_lbllist.setColumn(iPageCnt,"rcptdd", "수 납 : " + fDateFormat(ds_main_lbllist.getColumn(iPoint,"rcptdd"), "MD"));
  95. var tpid = ds_main_lbllist.getColumn(iPoint,"pid")+" ("+ds_main_lbllist.getColumn(iPoint,"drugno")+reprint+")" ;
  96. ds_main_prnt_lbllist.setColumn(iPageCnt,"pid" , tpid);
  97. //라벨내용
  98. var dayqty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"dayprcpqty"));
  99. var qtyunit = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpqtyunit"));
  100. var tims = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcptims"));
  101. var dayno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpdayno"));
  102. var qty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpqty"));
  103. var totqty = parseInt(dayqty)*parseInt(dayno);
  104. //1일 X회 Xml씩 X일분
  105. qty = Math.round(qty*10) / 10;
  106. var mthd1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1"));
  107. var mthd2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2"));
  108. var mthd3 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  109. //용법
  110. if ( utlf_isNull(mthd1) && utlf_isNull(mthd2) && utlf_isNull(mthd3) ){
  111. var tunit = "1일 "+tims+"회 "+qty+qtyunit+"씩 "+dayno+"일분" + "\n" + ds_main_lbllist.getColumn(iPoint,"abbrnm");
  112. dsf_makeValue(ds_main_prnt_lbllist,"unit","string", tunit,iPageCnt);
  113. } else {
  114. var tunit = "1일 "+tims+"회 "+qty+qtyunit+"씩 "+dayno+"일분" + "\n" + mthd1 + " " + mthd2 + " " + mthd3;
  115. dsf_makeValue(ds_main_prnt_lbllist,"unit","string", tunit,iPageCnt);
  116. }
  117. //약품코드 + 총용량 + 약품명
  118. var prcpnm = "[ "+ds_main_lbllist.getColumn(iPoint,"prcpcd")+" ] "+parseFloat(ds_main_lbllist.getColumn(iPoint,"totdrugqty")) + " " +ds_main_lbllist.getColumn(iPoint,"prcpnm");
  119. dsf_makeValue(ds_main_prnt_lbllist,"prcpcd","string", prcpnm,iPageCnt);
  120. //보관방법
  121. var lblcnts1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"lblcnts1"));
  122. if ( utlf_isNull(lblcnts1) ) {
  123. if(!utlf_isNull(ds_main_lbllist.getColumn(iPoint,"keepmthd"))) {
  124. dsf_makeValue(ds_main_prnt_lbllist,"keepmthd","string", "< "+ds_main_lbllist.getColumn(iPoint,"keepmthd")+" >",iPageCnt);
  125. }
  126. } else {
  127. //주의사항
  128. dsf_makeValue(ds_main_prnt_lbllist,"keepmthd","string", lblcnts1,iPageCnt);
  129. }
  130. //iPageCnt++;
  131. }
  132. // dsf_createDs("ds_main_barcdprntsetup");
  133. // ds_main_barcdprntsetup.copyData(ds_init_barcdprntsetup);
  134. rptf_printRexbarMulti("RFADT61301", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", null, "lf_complete");
  135. }
  136. /****************************************************************************************
  137. * Argument : type -
  138. * Description : 경북대병원 외래 큰라벨 출력 양식
  139. ****************************************************************************************/
  140. function fLBLPrint_knu(type) {
  141. /*
  142. 라벨 Sorting 로직
  143. < 정제 >
  144. 1. 단독조제는 따로 한장으로
  145. 2. 용법코드 5자리인 것중 5번째 자리 값(식후 10분, 식전 10분 등..)이 같은 것끼리 한장으로
  146. 3. 그외 나머지는 용법코드 같은 같은 것끼리 한장으로
  147. < 산제 >
  148. 1.용법코드 전체가 같은 것끼리 한장으로
  149. */
  150. var prcpnum = "";
  151. var prcpCnt = 14; // 20101030_laboru_경북대병원_라벨 한 페이지에 최고 8개에서 14개 출력되게 변경
  152. var sDD = utlf_getCurrentDate();
  153. var sTM = utlf_getCurrentTime();
  154. // trace(ds_main_lbllist.saveXML());
  155. for(iPoint = 0; iPoint < ds_main_lbllist.rowcount ; iPoint++){//sysf_trace(iPoint);
  156. var lblprntyn = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"lblprntyn"));
  157. if(lblprntyn == "N") {
  158. ds_main_lbllist.deleteRow(iPoint);
  159. } else {
  160. iPageCntO = ds_main_prnt_lbllist.addRow();
  161. ds_main_prnt_lbllist.copyRow(iPageCntO,ds_main_lbllist,iPoint);
  162. if ( ds_main_lbllist.getColumn(iPoint,"lblprnttims") > 0 ){
  163. dsf_setTypeFormat(ds_main_prnt_lbllist,"drugno:STRING"); //재 자를 넣기위한 형변환
  164. ds_main_prnt_lbllist.setColumn(iPageCntO,"drugno", ds_main_prnt_lbllist.getColumn(iPageCntO,"drugno") + "(재)");
  165. // trace(iPageCntO + " / " + ds_main_prnt_lbllist.saveXML());
  166. }
  167. //바코드(변환)
  168. // 20101030_laboru_경북대병원_atc drugkind 구분자에 의한 바코드 출력 형식
  169. // t : "ATC" , p : 산제 바코드, e : blank
  170. if(ds_main_lbllist.getColumn(iPoint,"atc_drugkind") == "t" && ds_main_lbllist.getColumn(iPoint,"atcyn") == "Y" ) { //2013년 8월1일 김치국
  171. dsf_makeValue(ds_main_prnt_lbllist,"barcode2","string","ATC",iPageCntO);
  172. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string","",iPageCntO);
  173. } else if(ds_main_lbllist.getColumn(iPoint,"atc_drugkind") == "p") {
  174. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string",ds_main_lbllist.getColumn(iPoint,"barcode"),iPageCntO);
  175. } else {
  176. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string","",iPageCntO);
  177. }
  178. var sumcls = ds_main_lbllist.getColumn(iPoint,"sumcls");
  179. var mthdcd = ds_main_lbllist.getColumn(iPoint,"mthdcd");
  180. if (mthdcd == "ZZZ" || mthdcd == "A10PQ") { //기타용법이거나 '필요시 복용하십시오' 용법인 경우도 단독라벨출력
  181. sumcls = mthdcd;
  182. }
  183. //복용기간 계산시 수납일자를 기준으로 하고 출력
  184. rcptdd = ds_main_lbllist.getColumn(iPoint,"rcptdd");
  185. if(type == "S") {
  186. dsf_makeValue(ds_main_prnt_lbllist,"fprnttime","string","출 력 : " + fPrntTime(sDD, sTM),iPageCntO);
  187. ds_main_prnt_lbllist.setColumn(iPageCntO,"prcpdd","처 방 : " + fDateFormat(ds_main_lbllist.getColumn(iPoint,"prcpdd"), "MD"));
  188. }
  189. //보관방법 고가 출력
  190. var sKeepmthd = ds_main_lbllist.getColumn(iPoint,"keepmthd");
  191. var sExpnyn = ds_main_lbllist.getColumn(iPoint,"expnyn");
  192. var sExpnnm = "";
  193. if(sExpnyn == "Y") sExpnnm = "고가";
  194. if(!utlf_isNull(sKeepmthd)) {
  195. ds_main_prnt_lbllist.setColumn(iPageCntO,"keepmthd", "<"+sKeepmthd+">" );
  196. }
  197. if(!utlf_isNull(sExpnnm)) {
  198. dsf_makeValue(ds_main_prnt_lbllist,"expnnm","string","<"+sExpnnm+">",iPageCntO);
  199. }
  200. //20101229 이선경 수정 : atc구분이 산제아닐때만 단독라벨 적용
  201. var atc_drugkind = ds_main_lbllist.getColumn(iPoint,"atc_drugkind");
  202. var sDrugKindcd = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  203. var sMixno = ds_main_lbllist.getColumn(iPoint,"prcpmixno");
  204. if(type == "S" && sDrugKindcd == "[주사약]"){
  205. // if(sMixno != "-"){
  206. // fMixLBL_knu();
  207. // } else if(fChkIndependInj(iPoint)){
  208. // fIndependPrint_knu(type);
  209. // } else {
  210. // fInjDrugLBL_knu();
  211. // }
  212. } else if(atc_drugkind != "p" && fChkSumcls(iPoint)){
  213. //단독라벨출력
  214. // trace("단독라벨출력");
  215. fIndependPrint_knu(type);
  216. } else {
  217. //일반라벨출력
  218. // trace("일반라벨출력");
  219. fGnrlPrint_knu(type);
  220. }
  221. } // 20110519_laboru
  222. }
  223. // dsf_createDs("ds_main_barcdprntsetup");
  224. // ds_main_barcdprntsetup.copyData(ds_init_barcdprntsetup);
  225. if(ds_main_prnt_lbllist.rowcount > 0) {
  226. if(type == "L1") { //본원큰라벨
  227. ds_main_lbllist.clear();
  228. ds_main_lbllist.copyData(ds_main_prnt_lbllist);
  229. //sysf_trace("1");
  230. rptf_printRexbar("RFADT62303", "", "/root/main/lbllist/lbllist", ds_main_lbllist, "", "lf_complete");
  231. } else if(type == "L"){ //큰라벨
  232. if (ds_send_prcpinfo.getColumn(0,"lblkindflag") == "L2"){//경북대병원 큰라벨(본원_외래약국 ) 김치국 20120808
  233. //sysf_trace("2");
  234. rptf_printRexbarMulti("RFADT61302", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", "", "lf_complete");
  235. } else {
  236. //sysf_trace("3");
  237. rptf_printRexbarMulti("RFADT61300", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", "", "lf_complete");
  238. }
  239. } else if(type == "LJ"){ //주사큰라벨 ///2015년 3월11일 김치국 주사큰라벨 Flag 만듬
  240. if (ds_send_prcpinfo.getColumn(0,"lblkindflag") == "L2"){//경북대병원 큰라벨(본원_외래약국 ) 김치국 20120808
  241. //sysf_trace("4");
  242. rptf_printRexbarMulti("RFADT61302", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", "", "lf_complete");
  243. } else {
  244. //sysf_trace("5");
  245. rptf_printRexbarMulti("RFADT61305", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", "", "lf_complete");
  246. }
  247. } else if(type == "S") { //작은라벨
  248. ds_main_lbllist.clear();
  249. ds_main_lbllist.copyData(ds_main_prnt_lbllist);
  250. //sysf_trace("6");
  251. rptf_printRexbar("RFADT62302", "", "/root/main/lbllist/lbllist", ds_main_lbllist, "", "lf_complete");
  252. }
  253. }
  254. }
  255. /****************************************************************************************
  256. * Argument : type -
  257. * Description : 외래 큰라벨 출력 양식(단독)
  258. ****************************************************************************************/
  259. function fIndependPrint_knu(type) {
  260. //라벨내용
  261. var drugkindnm = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"drugkindnm"));
  262. var qty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpqty"));
  263. var dayqty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"dayprcpqty"));
  264. var qtyunit = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpqtyunit"));
  265. var tims = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcptims"));
  266. var dayno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpdayno")); //처방일수
  267. var mthddayno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"dayno")); //용법일수
  268. var packunit = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"packunit")); //약품마스터의 수량단위
  269. //2013년 8월1일 김치국 ATC전송되지 않는 정제약 처리위해 추가 ~~~~ 여기에서
  270. var atcyn = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"atcyn")); //ATC라벨 YN
  271. var prcpnm = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpnm")); //처방 명칭
  272. var prcpmixno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpmixno")); //분리번호
  273. //2013년 8월1일 김치국 ATC전송되지 않는 정제약 처리위해 추가 ~~~ 까지
  274. var mth = ""; //용법내용설명
  275. var mth_qty = ""; // 날수 내용설명 김치국 20120808 'L2' 처리
  276. //경북대병원 큰라벨(본원_외래약국 ) 김치국 20120808 'L2' 처리
  277. var hostype = utlf_transNullToEmpty(ds_send_prcpinfo.getColumn(0,"lblkindflag"));
  278. if(utlf_isNull(mthddayno) || mthddayno == 0) {
  279. mthddayno = 1;
  280. }
  281. if (drugkindnm == "[주사약]"){
  282. //용법2
  283. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4")),iPageCntO);
  284. } else if (drugkindnm == "[외용약]"){
  285. var val = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2"))
  286. + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  287. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCntO);
  288. } else if (drugkindnm == "[내복약]"){
  289. var sumcls = ds_main_lbllist.getColumn(iPoint,"sumcls");
  290. if( sumcls == "DM" || sumcls == "DS" || sumcls == "DT" || sumcls == "DX" || sumcls == "DG" ){ //20091110 이선경 수정 : 라벨그룹이 마약(경구), 수제, ptp, 기타약일경우 약품마스터의 수량단위를 출력 20110512_laboru_pack 추가
  291. var tmpqty = Math.round(qty * 10) / 10;
  292. if(packunit == "T" || packunit == "C") {
  293. if(type == "L1") {
  294. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  295. mth = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2")) + " "
  296. + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " " +fChkFloat(qty)+"정씩 "+ utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  297. } else if(type == "L") {
  298. if (hostype == "L2") {
  299. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  300. mth_qty = fChkFloat(qty)+"정씩 " ;
  301. } else {
  302. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"정씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  303. }
  304. } else if(type == "S") {
  305. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"정씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  306. }
  307. } else {
  308. if(packunit == "cap" || packunit == "tab" ) {
  309. packunit = "알"; // 20110413_laboru_경북대병원_단위가 cap, tab 일때 알로 바꾸기
  310. }
  311. if(type == "L1") {
  312. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  313. mth = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2")) + " "
  314. + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " " +fChkFloat(tmpqty)+ packunit +"씩 "+ utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  315. } else if(type == "L") {
  316. if (hostype == "L2") {
  317. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  318. mth_qty = fChkFloat(tmpqty)+ packunit +"씩 " ;
  319. } else {
  320. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(tmpqty)+ packunit +"씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  321. }
  322. } else if(type == "S") {
  323. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(tmpqty)+ packunit +"씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  324. }
  325. }
  326. } else {
  327. if(type == "L1") {
  328. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  329. mth = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2")) + " "
  330. + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " " +fChkFloat(qty)+"포[정]씩 "+ utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  331. } else if(type == "L"){
  332. if (hostype == "L2") {
  333. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+(dayno*mthddayno)+"일분",iPageCntO);
  334. //2013년 8월1일 김치국 ATC전송되지 않는 정제약 중 믹스 번호 70이하 처리위해 추가
  335. if (atcyn == "N" && prcpmixno <= 70 ) {
  336. mth_qty = fChkFloat(qty)+"알씩 " ;
  337. }else{
  338. mth_qty = fChkFloat(qty)+"포[정]씩 " ;
  339. }
  340. } else {
  341. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"포[정]씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  342. }
  343. } else if(type == "S"){
  344. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"포[정]씩 "+(dayno*mthddayno)+"일분",iPageCntO);
  345. }
  346. }
  347. if(type == "L" || type == "S") {
  348. mth = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2")) + " "
  349. + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  350. var strchk = mth.substring(mth.length - 1, mth.length);
  351. if(strchk == "후" || strchk == "시" || strchk == "간" || strchk == "중" || strchk == "분") {
  352. mth += "에 ";
  353. } else {
  354. mth += " ";
  355. }
  356. /////본원 외래 약국 큰라벨은 수량을 후에 별도로 나타내기 2012.8.29 김치국
  357. if (hostype == "L2") {
  358. mth += mth_qty ;
  359. }
  360. mth += utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  361. }
  362. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",mth,iPageCntO);
  363. }
  364. // 2010.03.18 pymi
  365. if(!fChkSumcls(iPoint) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  366. var val = "";
  367. } else {
  368. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  369. var val = parseFloat(ds_main_lbllist.getColumn(iPoint,"totdrugqty"))+" "+ds_main_lbllist.getColumn(iPoint,"prcpnm");
  370. if(sumcls == "DT" ) { //20100707_ laboru_PTP 라벨 표시
  371. val += " (PTP)";
  372. }
  373. dsf_makeValue(ds_main_prnt_lbllist,"prcpcd","string",val,iPageCntO);
  374. }
  375. // iPageCntO++;
  376. }
  377. /****************************************************************************************
  378. * Argument : type -
  379. * Description : 외래 큰라벨 출력 양식(일반)
  380. ****************************************************************************************/
  381. function fGnrlPrint_knu(type) {
  382. var cnt = 0;
  383. var ordCnt = 0;
  384. var tmppc = "";
  385. var sndprcpcnt = 1;
  386. //라벨내용
  387. var drugkindnm = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"drugkindnm"));
  388. var qty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpqty"));
  389. var dayqty = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"dayprcpqty"));
  390. var tims = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcptims"));
  391. var dayno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpdayno"));//처방일수
  392. var mthddayno = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"dayno")); //용법일수
  393. //약코드 출력
  394. var drugkind1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"drugkindnm"));
  395. var dayno1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpdayno"));
  396. var mthd1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthd1"));
  397. var mthd2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthd2"));
  398. var mthd3 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthd3"));
  399. var mthdcd1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcd"));
  400. var mthdcdfive1 = mthdcd1.substring(4,5);
  401. var mthdcdthree1 = mthdcd1.substring(2,3);
  402. var cntpatt1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"cntpatt"));
  403. var mthdcntsno = iPageCntO;
  404. var mthdcnts_end = ""; //용법내용설명
  405. var mthdcd5nm = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcd5nm")); //약품코드5번째자리명칭 (용법세분류)
  406. var prcpmixno1 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"prcpmixno"));
  407. //경북대병원 큰라벨(본원_외래약국 ) 김치국 20120808 'L2' 처리
  408. var hostype = utlf_transNullToEmpty(ds_send_prcpinfo.getColumn(0,"lblkindflag"));
  409. if(utlf_isNull(mthddayno) || mthddayno == 0) {
  410. mthddayno = 1;
  411. }
  412. if( drugkindnm != "[내복약]") {
  413. if (drugkindnm == "[주사약]"){
  414. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4")),iPageCntO);
  415. } else if (drugkindnm == "[외용약]"){
  416. var val = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2"))
  417. + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  418. if(type == "L1") {
  419. val += utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  420. } else {
  421. val += "\n" + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4"));
  422. }
  423. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCntO);
  424. }
  425. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){ //fLBLPrint_knu 에서 돌고있는 루프 iPoint
  426. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  427. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  428. var mthd4 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd1"));
  429. var mthd5 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd2"));
  430. var mthd6 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd3"));
  431. //20101229 이선경 수정 : atc구분이 산제아닐때만 단독라벨 적용
  432. var atc_drugkind = ds_main_lbllist.getColumn(j,"atc_drugkind");
  433. if((drugkind1 == drugkind2) && (dayno1 == dayno2) && (mthd1 == mthd4 && mthd2 == mthd5 && mthd3 == mthd6) && !(fChkSumcls(j) && atc_drugkind != "p") ){
  434. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  435. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  436. // 2010.03.18 pymi
  437. if(!fChkSumcls(j) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  438. var val = "";
  439. } else {
  440. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  441. var val = prcpqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  442. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",tmppc,iPageCntO);
  443. sndprcpcnt++;
  444. }
  445. cnt++;
  446. iPoint = j ;
  447. } else {
  448. // iPageCntO++;
  449. iPoint = j - 1;
  450. break;
  451. }
  452. if(cnt == 12){ // 20101030_laboru_경북대병원_라벨 한 페이지에 최고 8개에서 14개 출력되게 변경
  453. // iPageCntO++;
  454. break;
  455. }
  456. }
  457. sndprcpcnt = 1;
  458. } else if (drugkindnm == "[내복약]"){
  459. var lbltims = 0;
  460. var unit = "";
  461. var mthdcnts = ""; //용법내용
  462. var mthdcnts1 = 0; //아침
  463. var mthdcnts2 = 0; //점심
  464. var mthdcnts3 = 0; //저녁
  465. var mthdcnts4 = 0; //취침전
  466. var mthdcnts5 = 0; //특수용법
  467. var mthdtims = 0; //용법횟수
  468. lbl_tims = mthd2.split(",");
  469. if ( mthdcd1 == "ZZZ" ){
  470. lbltims = tims;
  471. } else if ( mthd3.indexOf("취침") > -1 ) {
  472. lbltims = lbl_tims.length +1;
  473. } else if(mthd2.indexOf("마다") > -1){
  474. lbltims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  475. } else {
  476. lbltims = lbl_tims.length;
  477. }
  478. tims = lbltims;
  479. dsf_makeValue(ds_main_prnt_lbllist,"samedrugflag","string","Y",iPageCntO);
  480. if(lbltims == 1) {
  481. if(mthd2.indexOf("마다") == -1) {
  482. if(type == "L1") {
  483. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  484. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + "에" + " 1포씩"; // 20110411_laboru_에 추가
  485. } else if(type == "L") {
  486. if (hostype == "L2") {
  487. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  488. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " 1포씩";
  489. } else {
  490. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 1포씩 "+dayno+"일분",iPageCntO);
  491. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  492. }
  493. } else if(type == "S") {
  494. unit = mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분" + "\n";
  495. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  496. }
  497. } else {
  498. if(type == "L1") {
  499. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  500. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"))+ "에" + " 1포씩"; // 20110411_laboru_에 추가
  501. } else if(type == "L") {
  502. if (hostype == "L2") {
  503. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  504. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " 1포씩";
  505. } else {
  506. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 1포씩 "+dayno+"일분",iPageCntO);
  507. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  508. }
  509. } else if(type == "S") {
  510. unit = mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분" + "\n";
  511. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  512. }
  513. }
  514. } else {
  515. if(type == "L1") {
  516. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  517. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"))+ "에" + " 1포씩"; // 20110411_laboru_에 추가
  518. } else if(type == "L") {
  519. if (hostype == "L2") {
  520. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분",iPageCntO);
  521. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3")) + " 1포씩";
  522. } else {
  523. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdcdthree1+ "회 1포씩 "+dayno+"일분",iPageCntO);
  524. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  525. }
  526. } else if(type == "S") {
  527. unit = mthddayno + "일 "+mthdcdthree1+ "회 "+dayno+"일분" + "\n";
  528. mthdcnts_end = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  529. }
  530. }
  531. if(cntpatt1.substring(0,1) == "1" && mthdcnts1 == 0) {
  532. mthdcnts1++;
  533. mthdtims++;
  534. }
  535. if(cntpatt1.substring(1,2) == "1" && mthdcnts2 == 0) {
  536. mthdcnts2++;
  537. mthdtims++;
  538. }
  539. if(cntpatt1.substring(2,3) == "1" && mthdcnts3 == 0) {
  540. mthdcnts3++;
  541. mthdtims++;
  542. }
  543. if(cntpatt1.substring(3,4) == "1" && mthdcnts4 == 0) {
  544. mthdcnts4++;
  545. mthdtims++;
  546. }
  547. if(cntpatt1.substring(4,5) == "1") {
  548. mthdcnts5++;
  549. }
  550. if(mthdtims == 0) {
  551. mthdtims = mthdcdthree1;
  552. }
  553. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){ //fLBLPrint_knu 에서 돌고있는 루프 iPoint
  554. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  555. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  556. var mthd4 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd1"));
  557. var mthd5 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd2"));
  558. var mthd6 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthd3"));
  559. //20101229 이선경 수정 : atc구분이 산제아닐때만 단독라벨 적용
  560. var atc_drugkind = ds_main_lbllist.getColumn(j,"atc_drugkind");
  561. var mthdcd2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"mthdcd"));
  562. var mthdcdfive2 = mthdcd2.substring(4,5);
  563. var cntpatt2 = ds_main_lbllist.getColumn(j,"cntpatt");
  564. var prcpmixno2 = ds_main_lbllist.getColumn(j,"prcpmixno");
  565. //20110102 이선경 수정 : 라벨출력시 묶어주는 기준은 용법코드 5번째자리(식후30분후..)와 일수
  566. if(atc_drugkind == "p") {
  567. if(dayno1 == dayno2 && (mthdcd1 == mthdcd2 || (mthdcdfive1 == "P" && (mthdcd2 == "A11D" || mthdcd2 == "A11DI") ) ) && prcpmixno1 == prcpmixno2) {
  568. var lblcnts2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"lblcnts2"));
  569. var totdrugqty = ds_main_lbllist.getColumn(j,"totdrugqty");
  570. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  571. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  572. if(lblcnts2.length > 0) {
  573. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2" ,"string",ds_main_prnt_lbllist.getColumn(iPageCntO,"lblcnts2") + "\n" + lblcnts2,iPageCntO);
  574. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string","Y",iPageCntO);
  575. }
  576. //용법코드의 아침, 점심, 저녁, 취침전 출력
  577. if(cntpatt2.substring(0,1) == "1" && mthdcnts1 == 0) {
  578. mthdcnts1++;
  579. mthdtims++;
  580. }
  581. if(cntpatt2.substring(1,2) == "1" && mthdcnts2 == 0) {
  582. mthdcnts2++;
  583. mthdtims++;
  584. }
  585. if(cntpatt2.substring(2,3) == "1" && mthdcnts3 == 0) {
  586. mthdcnts3++;
  587. mthdtims++;
  588. }
  589. if(cntpatt2.substring(3,4) == "1" && mthdcnts4 == 0) {
  590. mthdcnts4++;
  591. mthdtims++;
  592. }
  593. if(cntpatt2.substring(4,5) == "1") {
  594. mthdcnts5++;
  595. }
  596. //용법코드의 최대횟수 출력함
  597. if(mthdtims == 0) mthdtims = 1;
  598. if(type == "L1") {
  599. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthdtims+ "회 "+dayno2+"일분",iPageCntO);
  600. } else if(type == "L"){
  601. if (hostype == "L2") {
  602. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdtims+ "회 "+dayno2+"일분",iPageCntO);
  603. } else {
  604. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdtims+ "회 1포씩 "+dayno2+"일분",iPageCntO);
  605. }
  606. } else if(type == "S") {
  607. unit = mthddayno + "일 "+mthdtims+ "회 "+dayno+"일분" + "\n";
  608. }
  609. var val = totdrugqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  610. if(type == "L1" || type == "L") {
  611. if(sndprcpcnt > 12) {
  612. var prePage = iPageCntO;
  613. // iPageCntO++;
  614. sndprcpcnt = 1;
  615. iPageCntO = ds_main_prnt_lbllist.addRow();
  616. ds_main_prnt_lbllist.copyRow(iPageCntO,ds_main_prnt_lbllist,prePage);
  617. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string", "N",iPageCntO);
  618. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp1" ,"string", "", iPageCntO);
  619. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp2" ,"string", "", iPageCntO);
  620. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp3" ,"string", "", iPageCntO);
  621. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp4" ,"string", "", iPageCntO);
  622. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp5" ,"string", "", iPageCntO);
  623. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp6" ,"string", "", iPageCntO);
  624. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp7" ,"string", "", iPageCntO);
  625. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp8" ,"string", "", iPageCntO);
  626. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp9" ,"string", "", iPageCntO);
  627. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp10" ,"string", "", iPageCntO);
  628. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp11" ,"string", "", iPageCntO);
  629. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp12" ,"string", "", iPageCntO);
  630. }
  631. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",val,iPageCntO);
  632. } else if(type == "S") {
  633. if(sndprcpcnt > 4){
  634. var prePage = iPageCntO;
  635. // iPageCntO++;
  636. sndprcpcnt = 1;
  637. iPageCntO = ds_main_prnt_lbllist.addRow();
  638. ds_main_prnt_lbllist.copyRow(iPageCntO,ds_main_prnt_lbllist,prePage);
  639. }
  640. if(sndprcpcnt == 1) {
  641. ds_main_prnt_lbllist.setColumn(iPageCntO,"prcpnm", val);
  642. } else {
  643. ds_main_prnt_lbllist.setColumn(iPageCntO,"prcpnm", ds_main_prnt_lbllist.getColumn(iPageCntO,"prcpnm") + "\n" + val);
  644. }
  645. }
  646. sndprcpcnt++;
  647. iPoint = j;
  648. } else {
  649. // iPageCntO++;
  650. iPoint = j - 1;
  651. break;
  652. }
  653. } else if((mthdcdfive1 == mthdcdfive2 && dayno1 == dayno2 && !(fChkSumcls(j) && atc_drugkind != "p") && prcpmixno1 == prcpmixno2)
  654. || (dayno1 == dayno2 && mthdcdfive1 == "P" && (mthdcd2 == "A11D" || mthdcd2 == "A11DI") && prcpmixno1 == prcpmixno2 ) ) {
  655. //20110102 이선경 수정 : 라벨출력시 묶어주는 기준은 용법코드 5번째자리(식후30분후..)와 일수
  656. //예외적으로 일수가 같고 식후30분과 취침전용법은 같이 묶어줌
  657. var lblcnts2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"lblcnts2"));
  658. var totdrugqty = ds_main_lbllist.getColumn(j,"totdrugqty");
  659. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  660. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  661. if(lblcnts2.length > 0) {
  662. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2" ,"string",ds_main_prnt_lbllist.getColumn(iPageCntO,"lblcnts2") + "\n" + lblcnts2,iPageCntO);
  663. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string","Y",iPageCntO);
  664. }
  665. //용법코드의 아침, 점심, 저녁, 취침전 출력
  666. if(cntpatt2.substring(0,1) == "1" && mthdcnts1 == 0) {
  667. mthdcnts1++;
  668. mthdtims++;
  669. }
  670. if(cntpatt2.substring(1,2) == "1" && mthdcnts2 == 0) {
  671. mthdcnts2++;
  672. mthdtims++;
  673. }
  674. if(cntpatt2.substring(2,3) == "1" && mthdcnts3 == 0) {
  675. mthdcnts3++;
  676. mthdtims++;
  677. }
  678. if(cntpatt2.substring(3,4) == "1" && mthdcnts4 == 0) {
  679. mthdcnts4++;
  680. mthdtims++;
  681. }
  682. //용법코드의 최대횟수 출력함
  683. if(mthdtims == 0) mthdtims = 1;
  684. if(type == "L1") {
  685. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthdtims+ "회 "+dayno2+"일분",iPageCntO);
  686. } else if(type == "L"){
  687. if (hostype == "L2") {
  688. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdtims+ "회 "+dayno2+"일분",iPageCntO);
  689. } else {
  690. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+mthdtims+ "회 1포씩 "+dayno2+"일분",iPageCntO);
  691. }
  692. } else if(type == "S") {
  693. unit = mthddayno + "일 "+mthdtims+ "회 "+dayno+"일분" + "\n";
  694. }
  695. var val = totdrugqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  696. if(type == "L1" || type == "L") {
  697. if(sndprcpcnt > 12) {
  698. var prePage = iPageCntO;
  699. // iPageCntO++;
  700. sndprcpcnt = 1;
  701. iPageCntO = ds_main_prnt_lbllist.addRow();
  702. ds_main_prnt_lbllist.copyRow(iPageCntO,ds_main_prnt_lbllist,prePage);
  703. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string", "N",iPageCntO);
  704. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp1" ,"string", "", iPageCntO);
  705. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp2" ,"string", "", iPageCntO);
  706. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp3" ,"string", "", iPageCntO);
  707. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp4" ,"string", "", iPageCntO);
  708. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp5" ,"string", "", iPageCntO);
  709. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp6" ,"string", "", iPageCntO);
  710. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp7" ,"string", "", iPageCntO);
  711. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp8" ,"string", "", iPageCntO);
  712. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp9" ,"string", "", iPageCntO);
  713. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp10" ,"string", "", iPageCntO);
  714. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp11" ,"string", "", iPageCntO);
  715. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp12" ,"string", "", iPageCntO);
  716. }
  717. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",val,iPageCntO);
  718. } else if(type == "S") {
  719. if(sndprcpcnt > 4){
  720. var prePage = iPageCntO;
  721. // iPageCntO++;
  722. sndprcpcnt = 1;
  723. iPageCntO = ds_main_prnt_lbllist.addRow();
  724. ds_main_prnt_lbllist.copyRow(iPageCntO,ds_main_prnt_lbllist,prePage);
  725. }
  726. if(sndprcpcnt == 1) {
  727. ds_main_prnt_lbllist.setColumn(iPageCntO,"prcpnm", val);
  728. } else {
  729. ds_main_prnt_lbllist.setColumn(iPageCntO,"prcpnm", ds_main_prnt_lbllist.getColumn(iPageCntO,"prcpnm") + "\n" + val);
  730. }
  731. }
  732. sndprcpcnt++;
  733. iPoint = j;
  734. } else {
  735. // iPageCntO++;
  736. iPoint = j - 1;
  737. break;
  738. }
  739. }
  740. /*
  741. 아침, 점심, 저녁, 취침전 찍지 않는 예외 용법
  742. 1. 횟수 패턴 5번째 자리값이 1인 경우
  743. 2. 용법코드 4번째 자리값이 E (시간마다) 인 경우
  744. 3. 용법코드 4번째 자리값이 D (의사지시대로) 인 경우
  745. 4. 용법코드 5번째 자리값이 Q (의사지시대로) 인 경우
  746. */
  747. if(mthdcnts5 > 0 || mthdcd1.substring(3,4) == "E" || (mthdcd1.substring(3,4) == "D" && mthdcnts4 < 1) || mthdcd1.substring(4,5) == "Q") {
  748. mthdcnts = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2"))
  749. + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  750. } else {
  751. if(mthdcnts1 > 0) {
  752. mthdcnts = "아침 ";
  753. }
  754. if(mthdcnts2 > 0) {
  755. mthdcnts += "점심 ";
  756. }
  757. if(mthdcnts3 > 0) {
  758. mthdcnts += "저녁 ";
  759. }
  760. if(mthdcdfive1 == "P" ) {
  761. mthdcnts += "식후30분"; // 20110412_laboru_
  762. }
  763. if(mthdcdfive1 == "I" ) {
  764. mthdcnts += "식후즉시"; // 20110412_laboru_
  765. }
  766. if(mthdcdfive1 == "B" ) {
  767. mthdcnts += "식전10분"; // 20110412_laboru_
  768. }
  769. if(mthdcdfive1 == "A" ) {
  770. mthdcnts += "식전30분"; // 20110412_laboru_
  771. }
  772. if(mthdcdfive1 == "C" ) {
  773. mthdcnts += "식전1시간"; // 20110412_laboru_
  774. }
  775. if(mthdcdfive1 == "D" ) {
  776. mthdcnts += "식전2시간"; // 20110412_laboru_
  777. }
  778. if(mthdcdfive1 == "E" ) {
  779. mthdcnts += "공복"; // 20110412_laboru_
  780. }
  781. if(mthdcdfive1 == "M" ) {
  782. mthdcnts += "식사도중"; // 20110412_laboru_
  783. }
  784. if(mthdcdfive1 == "W" ) {
  785. mthdcnts += "식사와 함께"; // 20110412_laboru_
  786. }
  787. if(mthdcdfive1 == "T" ) {
  788. mthdcnts += "식후2시간"; // 20110412_laboru_
  789. }
  790. if(mthdcdfive1 == "F" ) {
  791. mthdcnts += "식후1시간"; // 20120725_laboru_
  792. }
  793. if(mthdcdfive1 == "H" ) {
  794. mthdcnts += "일어난 직후"; // 20120725_laboru_
  795. }
  796. if(mthdcdfive1 == "Q" ) {
  797. mthdcnts += "의사지시대로"; // 20120725_laboru_
  798. }
  799. if(mthdcnts_end == "취침전에") {
  800. //mthdcnts += mthdcd5nm;
  801. } else {
  802. //mthdcnts += mthdcnts_end;
  803. }
  804. if(mthdcnts4 > 0) {
  805. if(!utlf_isNull(mthdcnts)) {
  806. mthdcnts += "과 취침전에 ";
  807. } else {
  808. mthdcnts = utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts1")) + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts2"))
  809. + " " + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts3"));
  810. }
  811. } else {
  812. mthdcnts += "에 ";
  813. }
  814. }
  815. for(var p = mthdcntsno ; p < ds_main_prnt_lbllist.rowcount ; p++){
  816. if (hostype == "L2") {
  817. mthdcnts = mthdcnts + " 1포씩 " ;
  818. }
  819. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",unit + mthdcnts + utlf_transNullToEmpty(ds_main_lbllist.getColumn(iPoint,"mthdcnts4")),p);
  820. }
  821. }
  822. }
  823. /****************************************************************************************
  824. * Argument : N/A
  825. * Description : ontimer 중지
  826. ****************************************************************************************/
  827. function fStopTimer() {
  828. gTimer = 0;
  829. this.killTimer(0);
  830. }
  831. /****************************************************************************************
  832. * Argument : numberMillis - 슬립할 시간(1/1000초)
  833. * Description : 타임슬립
  834. ****************************************************************************************/
  835. function fSleep(numberMillis) {
  836. var now = new Date();
  837. var exitTime = now.getTime() + numberMillis;
  838. while(true) {
  839. now = new Date();
  840. if (now.getTime() > exitTime) return;
  841. }
  842. }
  843. /****************************************************************************************
  844. * Argument : N/A
  845. * Description : 라벨출력
  846. ****************************************************************************************/
  847. function fLBLPrint() {
  848. /*
  849. 라벨 Sorting 로직
  850. //mgt에서 vo로 리턴
  851. 대분류
  852. - 내복약, 외용약, 주사, 항암제, TPN, 마약,
  853. 중분류
  854. - 방법코드
  855. 소분류
  856. - 내복약,외용약(방법코드), 주사,마약,항암제(mix)
  857. web js 출력로직
  858. 1 약종류(내복약/주사약/외용약)
  859. 1.1 방법코드
  860. 1.2 처방수량
  861. */
  862. var prcpnum = "";
  863. var prcpCnt = 14; // 20101030_laboru_경북대병원_라벨 한 페이지에 최고 8개에서 14개 출력되게 변경
  864. for(iPoint = 0; iPoint < ds_main_lbllist.rowcount ; iPoint++){
  865. var iPageCnt = ds_main_prnt_lbllist.addRow();
  866. ds_main_prnt_lbllist.copyRow(iPageCnt,ds_main_lbllist,iPoint);
  867. //바코드(변환)
  868. // 20101030_laboru_경북대병원_atc drugkind 구분자에 의한 바코드 출력 형식
  869. // t : "ATC" , p : 산제 바코드, e : blank
  870. if(ds_main_lbllist.getColumn(iPoint,"atc_drugkind") == "t" ) {
  871. dsf_makeValue(ds_main_prnt_lbllist,"barcode2","string","ATC",iPageCnt);
  872. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string","",iPageCnt);
  873. } else if(ds_main_lbllist.getColumn(iPoint,"atc_drugkind") == "p") {
  874. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string", ds_main_lbllist.getColumn(iPoint,"barcode"),iPageCnt);
  875. } else {
  876. dsf_makeValue(ds_main_prnt_lbllist,"barcode","string", "",iPageCnt);
  877. }
  878. var sumcls = ds_main_lbllist.getColumn(iPoint,"sumcls");
  879. var mthdcd = ds_main_lbllist.getColumn(iPoint,"mthdcd");
  880. if (mthdcd == "ZZZ" || mthdcd == "A10PQ") { //기타용법이거나 '필요시 복용하십시오' 용법인 경우도 단독라벨출력
  881. sumcls = mthdcd;
  882. }
  883. //복용기간 계산시 수납일자를 기준으로 하고 출력
  884. rcptdd = ds_main_lbllist.getColumn(iPoint,"rcptdd");
  885. //20101229 이선경 수정 : atc구분이 산제아닐때만 단독라벨 적용
  886. var atc_drugkind = ds_main_lbllist.getColumn(iPoint,"atc_drugkind");
  887. if(atc_drugkind != "p" && fChkSumcls(i)){
  888. //단독라벨출력
  889. if(ds_send_prcpinfo.getColumn(0,"lblkindflag") == "L1"){//경북대병원 큰라벨(본원)
  890. fIndependPrint2();
  891. } else {
  892. fIndependPrint();
  893. }
  894. } else {
  895. //일반라벨출력
  896. if(ds_send_prcpinfo.getColumn(0,"lblkindflag") == "L1"){//경북대병원 큰라벨(본원)
  897. fGnrlPrint2();
  898. } else {
  899. fGnrlPrint();
  900. }
  901. }
  902. }
  903. // dsf_createDs("ds_main_barcdprntsetup");
  904. // ds_main_barcdprntsetup.copyData(ds_init_barcdprntsetup);
  905. if(ds_send_prcpinfo.getColumn(0,"lblkindflag") == "L1"){//경북대병원 큰라벨(본원)
  906. ds_main_lbllist.clearData();
  907. ds_main_lbllist.copyData(ds_main_prnt_lbllist);
  908. rptf_printRexbar("RFADT62303", "", "/root/main/lbllist/lbllist", ds_main_lbllist, "", "lf_complete");
  909. } else {
  910. rptf_printRexbarMulti("RFADT61300", "", "/root/main/prnt/lbllist^/root/send/prcpinfo", "ds_main_prnt_lbllist^ds_send_prcpinfo", "", "lf_complete");
  911. }
  912. }
  913. /****************************************************************************************
  914. * Argument : N/A
  915. * Description : 단독라벨출력
  916. ****************************************************************************************/
  917. function fIndependPrint() {
  918. //라벨내용
  919. var drugkindnm = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  920. var qty = ds_main_lbllist.getColumn(iPoint,"prcpqty");
  921. var dayqty = ds_main_lbllist.getColumn(iPoint,"dayprcpqty");
  922. var qtyunit = ds_main_lbllist.getColumn(iPoint,"prcpqtyunit");
  923. var tims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  924. var dayno = ds_main_lbllist.getColumn(iPoint,"prcpdayno"); //처방일수
  925. var mthddayno = ds_main_lbllist.getColumn(iPoint,"dayno"); //용법일수
  926. var packunit = ds_main_lbllist.getColumn(iPoint,"packunit"); //약품마스터의 수량단위
  927. if (drugkindnm == "[주사약]"){
  928. //용법2
  929. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  930. } else if (drugkindnm == "[외용약]"){
  931. var val = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts3") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  932. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCnt);
  933. } else if (drugkindnm == "[내복약]"){
  934. var sumcls = ds_main_lbllist.getColumn(iPoint,"sumcls");
  935. if( sumcls == "DM" || sumcls == "DS" || sumcls == "DT" || sumcls == "DX"){ //20091110 이선경 수정 : 라벨그룹이 마약(경구), 수제, ptp, 기타약일경우 약품마스터의 수량단위를 출력
  936. var tmpqty = Math.round(qty * 10) / 10;
  937. if(packunit == "T" || packunit == "C") {
  938. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"정씩 "+(dayno*mthddayno)+"일분",iPageCnt);
  939. } else {
  940. if(packunit == "cap" || packunit == "tab") {
  941. packunit = "알"; // 20110413_laboru_경북대병원_단위가 cap, tab 일때 알로 바꾸기
  942. }
  943. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(tmpqty)+ packunit +"씩 "+(dayno*mthddayno)+"일분",iPageCnt);
  944. }
  945. } else {
  946. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+"회 "+fChkFloat(qty)+"포[정]씩 "+(dayno*mthddayno)+"일분",iPageCnt);
  947. }
  948. var mth = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + " "
  949. + ds_main_lbllist.getColumn(iPoint,"mthdcnts3") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  950. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",mth,iPageCnt);
  951. }
  952. // 2010.03.18 pymi
  953. if(!fChkSumcls(iPoint) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  954. var val = "";
  955. } else {
  956. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  957. var val = parseFloat(ds_main_lbllist.getColumn(iPoint,"totdrugqty"))+" "+ds_main_lbllist.getColumn(iPoint,"prcpnm");
  958. dsf_makeValue(ds_main_prnt_lbllist,"prcpcd","string",val,iPageCnt);
  959. }
  960. // iPageCnt++;
  961. }
  962. /****************************************************************************************
  963. * Argument : N/A
  964. * Description : 단독라벨출력2
  965. ****************************************************************************************/
  966. function fIndependPrint2() {
  967. //라벨내용
  968. var drugkindnm = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  969. var qty = ds_main_lbllist.getColumn(iPoint,"prcpqty");
  970. var dayqty = ds_main_lbllist.getColumn(iPoint,"dayprcpqty");
  971. var qtyunit = ds_main_lbllist.getColumn(iPoint,"prcpqtyunit");
  972. var tims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  973. var dayno = ds_main_lbllist.getColumn(iPoint,"prcpdayno"); //처방일수
  974. var mthddayno = ds_main_lbllist.getColumn(iPoint,"dayno"); //용법일수
  975. var packunit = ds_main_lbllist.getColumn(iPoint,"packunit"); //약품마스터의 수량단위
  976. if (drugkindnm == "[주사약]"){
  977. //용법2
  978. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  979. } else if (drugkindnm == "[외용약]"){
  980. var val = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts3") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  981. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCnt);
  982. } else if (drugkindnm == "[내복약]"){
  983. var sumcls = ds_main_lbllist.getColumn(iPoint,"sumcls");
  984. if( sumcls == "DM" || sumcls == "DS" || sumcls == "DT" || sumcls == "DX"){ //20091110 이선경 수정 : 라벨그룹이 마약(경구), 수제, ptp, 기타약일경우 약품마스터의 수량단위를 출력
  985. var tmpqty = Math.round(qty * 10) / 10;
  986. if(packunit == "T" || packunit == "C") {
  987. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+ (dayno*mthddayno)+"일분",iPageCnt);
  988. } else {
  989. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+ (dayno*mthddayno)+"일분",iPageCnt);
  990. }
  991. } else {
  992. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+"회 "+ (dayno*mthddayno)+"일분",iPageCnt);
  993. }
  994. var mth = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + " "
  995. + ds_main_lbllist.getColumn(iPoint,"mthdcnts3") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  996. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",mth,iPageCnt);
  997. }
  998. ds_main_prnt_lbllist.setColumn(iPageCnt,"drugno", "<" + ds_main_prnt_lbllist.getColumn(iPageCnt,"drugno") + ">");
  999. // 2010.03.18 pymi
  1000. if(!fChkSumcls(iPoint) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  1001. var val = "";
  1002. } else {
  1003. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  1004. var val = parseFloat(ds_main_lbllist.getColumn(iPoint,"totdrugqty"))+" "+ds_main_lbllist.getColumn(iPoint,"prcpnm");
  1005. dsf_makeValue(ds_main_prnt_lbllist,"prcpcd","string",val,iPageCnt);
  1006. }
  1007. // iPageCnt++;
  1008. }
  1009. /****************************************************************************************
  1010. * Argument : N/A
  1011. * Description : 일반라벨출력
  1012. ****************************************************************************************/
  1013. function fGnrlPrint() {
  1014. var cnt = 0;
  1015. var ordCnt = 0;
  1016. var tmppc = "";
  1017. var sndprcpcnt = 1;
  1018. //라벨내용
  1019. var drugkindnm = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  1020. var qty = ds_main_lbllist.getColumn(iPoint,"prcpqty");
  1021. var dayqty = ds_main_lbllist.getColumn(iPoint,"dayprcpqty");
  1022. var tims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  1023. var dayno = ds_main_lbllist.getColumn(iPoint,"prcpdayno"); //처방일수
  1024. var mthddayno = ds_main_lbllist.getColumn(iPoint,"dayno"); //용법일수
  1025. //약코드 출력
  1026. var drugkind1 = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  1027. var dayno1 = ds_main_lbllist.getColumn(iPoint,"prcpdayno");
  1028. var mthd1 = ds_main_lbllist.getColumn(iPoint,"mthd1");
  1029. var mthd2 = ds_main_lbllist.getColumn(iPoint,"mthd2");
  1030. var mthd3 = ds_main_lbllist.getColumn(iPoint,"mthd3");
  1031. var mthdcd = ds_main_lbllist.getColumn(iPoint,"mthdcd");
  1032. if( drugkindnm != "[내복약]") {
  1033. if (drugkindnm == "[주사약]"){
  1034. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  1035. } else if (drugkindnm == "[외용약]"){
  1036. var val = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + ds_main_lbllist.getColumn(iPoint,"mthdcnts3");
  1037. val += "\n" + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  1038. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCnt);
  1039. }
  1040. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){
  1041. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  1042. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  1043. var mthd4 = ds_main_lbllist.getColumn(j,"mthd1");
  1044. var mthd5 = ds_main_lbllist.getColumn(j,"mthd2");
  1045. var mthd6 = ds_main_lbllist.getColumn(j,"mthd3");
  1046. if((drugkind1 == drugkind2) && (dayno1 == dayno2) && (mthd1 == mthd4 && mthd2 == mthd5 && mthd3 == mthd6) && !fChkSumcls(j)){
  1047. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  1048. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  1049. // 2010.03.18 pymi
  1050. if(!fChkSumcls(j) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  1051. var val = "";
  1052. } else {
  1053. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  1054. var val = prcpqty +" "+ds_main_lbllist.getColumn(j,"prcpnm");
  1055. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",tmppc,iPageCnt);
  1056. sndprcpcnt++;
  1057. }
  1058. cnt++;
  1059. iPoint = j ;
  1060. } else {
  1061. // iPageCnt++;
  1062. iPoint = j - 1;
  1063. break;
  1064. }
  1065. if(cnt == 12){ // 20101030_laboru_경북대병원_라벨 한 페이지에 최고 8개에서 14개 출력되게 변경
  1066. // iPageCnt++;
  1067. break;
  1068. }
  1069. }
  1070. sndprcpcnt = 1;
  1071. } else if (drugkindnm == "[내복약]"){
  1072. var lbltims = 0;
  1073. lbl_tims = mthd2.split(",");
  1074. if ( mthdcd == "ZZZ" ){
  1075. lbltims = tims;
  1076. } else if ( mthd3.indexOf("취침") > -1 ) {
  1077. lbltims = lbl_tims.length +1;
  1078. } else if(mthd2.indexOf("마다") > -1){
  1079. lbltims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  1080. } else {
  1081. lbltims = lbl_tims.length;
  1082. }
  1083. tims = lbltims;
  1084. dsf_makeValue(ds_main_prnt_lbllist,"samedrugflag","string","Y",iPageCnt);
  1085. if(lbltims == 1) {
  1086. if(mthd2.indexOf("마다") == -1) {
  1087. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+lbltims+ "회 1포씩 "+dayno+"일분",iPageCnt);
  1088. } else {
  1089. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+tims+ "회 1포씩 "+dayno+"일분",iPageCnt);
  1090. }
  1091. } else {
  1092. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",mthddayno + "일 "+lbltims+ "회 1포씩 "+dayno+"일분",iPageCnt);
  1093. }
  1094. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string" ,ds_main_lbllist.getColumn(iPoint,"mthd1") + ds_main_lbllist.getColumn(iPoint,"mthd2")
  1095. +ds_main_lbllist.getColumn(iPoint,"mthd3") + "\n" + ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  1096. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){
  1097. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  1098. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  1099. var mthd4 = ds_main_lbllist.getColumn(j,"mthd1");
  1100. var mthd5 = ds_main_lbllist.getColumn(j,"mthd2");
  1101. var mthd6 = ds_main_lbllist.getColumn(j,"mthd3");
  1102. if((drugkind1 == drugkind2) && (dayno1 == dayno2) && (mthd1 == mthd4 && mthd2 == mthd5 && mthd3 == mthd6) && !fChkSumcls(j)){
  1103. var lblcnts2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"lblcnts2"));
  1104. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  1105. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  1106. if(lblcnts2.length > 0) {
  1107. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2","string",ds_main_prnt_lbllist.getColumn(iPageCnt,"lblcnts2") + "\n" + lblcnts2,iPageCnt);
  1108. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag","string","Y",iPageCnt);
  1109. }
  1110. if(sndprcpcnt > 12) {
  1111. var prePage = iPageCnt;
  1112. // iPageCnt++;
  1113. sndprcpcnt = 1;
  1114. iPageCnt = ds_main_prnt_lbllist.addRow();
  1115. ds_main_prnt_lbllist.copyRow(iPageCnt,ds_main_prnt_lbllist,prePage);
  1116. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string", "N",iPageCnt);
  1117. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp1" ,"string", "",iPageCnt);
  1118. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp2" ,"string", "",iPageCnt);
  1119. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp3" ,"string", "",iPageCnt);
  1120. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp4" ,"string", "",iPageCnt);
  1121. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp5" ,"string", "",iPageCnt);
  1122. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp6" ,"string", "",iPageCnt);
  1123. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp7" ,"string", "",iPageCnt);
  1124. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp8" ,"string", "",iPageCnt);
  1125. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp9" ,"string", "",iPageCnt);
  1126. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp10" ,"string", "",iPageCnt);
  1127. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp11" ,"string", "",iPageCnt);
  1128. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp12" ,"string", "",iPageCnt);
  1129. }
  1130. var val = prcpqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  1131. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",val,iPageCnt);
  1132. sndprcpcnt++;
  1133. iPoint = j;
  1134. } else {
  1135. // iPageCnt++;
  1136. iPoint = j - 1;
  1137. break;
  1138. }
  1139. }
  1140. }
  1141. }
  1142. /****************************************************************************************
  1143. * Argument : N/A
  1144. * Description : 일반라벨출력2
  1145. * : 경북대병원 병동약국에서 외래환자처방을 큰라벨(본원)으로 출력함
  1146. ****************************************************************************************/
  1147. function fGnrlPrint2() {
  1148. var cnt = 0;
  1149. var ordCnt = 0;
  1150. var tmppc = "";
  1151. var sndprcpcnt = 1;
  1152. //라벨내용
  1153. var drugkindnm = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  1154. var qty = ds_main_lbllist.getColumn(iPoint,"prcpqty");
  1155. var dayqty = ds_main_lbllist.getColumn(iPoint,"dayprcpqty");
  1156. var tims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  1157. var dayno = ds_main_lbllist.getColumn(iPoint,"prcpdayno"); //처방일수
  1158. var mthddayno = ds_main_lbllist.getColumn(iPoint,"dayno"); //용법일수
  1159. //약코드 출력
  1160. var drugkind1 = ds_main_lbllist.getColumn(iPoint,"drugkindnm");
  1161. var dayno1 = ds_main_lbllist.getColumn(iPoint,"prcpdayno");
  1162. var mthd1 = ds_main_lbllist.getColumn(iPoint,"mthd1");
  1163. var mthd2 = ds_main_lbllist.getColumn(iPoint,"mthd2");
  1164. var mthd3 = ds_main_lbllist.getColumn(iPoint,"mthd3");
  1165. var mthdcd = ds_main_lbllist.getColumn(iPoint,"mthdcd");
  1166. if( drugkindnm != "[내복약]") {
  1167. if (drugkindnm == "[주사약]"){
  1168. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  1169. } else if (drugkindnm == "[외용약]"){
  1170. var val = ds_main_lbllist.getColumn(iPoint,"mthdcnts1") + ds_main_lbllist.getColumn(iPoint,"mthdcnts2") + ds_main_lbllist.getColumn(iPoint,"mthdcnts3");
  1171. val += "\n" + ds_main_lbllist.getColumn(iPoint,"mthdcnts4");
  1172. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",val,iPageCnt);
  1173. }
  1174. ds_main_prnt_lbllist.setColumn(iPageCnt,"drugno", "<" + ds_main_prnt_lbllist.getColumn(iPageCnt,"drugno") + ">");
  1175. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){
  1176. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  1177. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  1178. var mthd4 = ds_main_lbllist.getColumn(j,"mthd1");
  1179. var mthd5 = ds_main_lbllist.getColumn(j,"mthd2");
  1180. var mthd6 = ds_main_lbllist.getColumn(j,"mthd3");
  1181. if((drugkind1 == drugkind2) && (dayno1 == dayno2) && (mthd1 == mthd4 && mthd2 == mthd5 && mthd3 == mthd6) && !fChkSumcls(j)){
  1182. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  1183. prcpqty = Math.ceil( prcpqty * tims * 1000)/1000 ;
  1184. // 2010.03.18 pymi
  1185. if(!fChkSumcls(j) && ds_send_prcpinfo.getColumn(0,"lbl5") == "Y") {
  1186. var val = "";
  1187. } else {
  1188. // 20101027_laboru_경북대병원_라벨 출력물 처방코드 삭제
  1189. var val = prcpqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  1190. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string",tmppc,iPageCnt);
  1191. sndprcpcnt++;
  1192. }
  1193. cnt++;
  1194. iPoint = j ;
  1195. } else {
  1196. // iPageCnt++;
  1197. iPoint = j - 1;
  1198. break;
  1199. }
  1200. if(cnt == 12){ // 20101030_laboru_경북대병원_라벨 한 페이지에 최고 8개에서 14개 출력되게 변경
  1201. // iPageCnt++;
  1202. break;
  1203. }
  1204. }
  1205. sndprcpcnt = 1;
  1206. } else if (drugkindnm == "[내복약]"){
  1207. var lbltims = 0;
  1208. lbl_tims = mthd2.split(",");
  1209. if ( mthdcd == "ZZZ" ){
  1210. lbltims = tims;
  1211. } else if ( mthd3.indexOf("취침") > -1 ) {
  1212. lbltims = lbl_tims.length +1;
  1213. } else if(mthd2.indexOf("마다") > -1){
  1214. lbltims = ds_main_lbllist.getColumn(iPoint,"prcptims");
  1215. } else {
  1216. lbltims = lbl_tims.length;
  1217. }
  1218. tims = lbltims;
  1219. dsf_makeValue(ds_main_prnt_lbllist,"samedrugflag","string","Y",iPageCnt);
  1220. if(lbltims == 1) {
  1221. if(mthd2.indexOf("마다") == -1) {
  1222. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",lbltims+ "회 "+dayno+"일분",iPageCnt);
  1223. } else {
  1224. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",tims+ "회 "+dayno+"일분",iPageCnt);
  1225. }
  1226. } else {
  1227. dsf_makeValue(ds_main_prnt_lbllist,"unit","string",lbltims+ "회 "+dayno+"일분",iPageCnt);
  1228. }
  1229. dsf_makeValue(ds_main_prnt_lbllist,"mthdcnts","string",ds_main_lbllist.getColumn(iPoint,"mthd1") + ds_main_lbllist.getColumn(iPoint,"mthd2")
  1230. + ds_main_lbllist.getColumn(iPoint,"mthd3") + " " + ds_main_lbllist.getColumn(iPoint,"mthdcnts4"),iPageCnt);
  1231. ds_main_prnt_lbllist.setColumn(iPageCnt,"drugno", "<" + ds_main_prnt_lbllist.getColumn(iPageCnt,"drugno") + ">");
  1232. for(var j = iPoint; j < ds_main_lbllist.rowcount ; j++){
  1233. var drugkind2 = ds_main_lbllist.getColumn(j,"drugkindnm");
  1234. var dayno2 = ds_main_lbllist.getColumn(j,"prcpdayno");
  1235. var mthd4 = ds_main_lbllist.getColumn(j,"mthd1");
  1236. var mthd5 = ds_main_lbllist.getColumn(j,"mthd2");
  1237. var mthd6 = ds_main_lbllist.getColumn(j,"mthd3");
  1238. if((drugkind1 == drugkind2) && (dayno1 == dayno2) && (mthd1 == mthd4 && mthd2 == mthd5 && mthd3 == mthd6) && !fChkSumcls(j)){
  1239. var lblcnts2 = utlf_transNullToEmpty(ds_main_lbllist.getColumn(j,"lblcnts2"));
  1240. var prcpqty = ds_main_lbllist.getColumn(j,"totdrugqty")/ds_main_lbllist.getColumn(j,"prcptims");
  1241. prcpqty = Math.ceil( prcpqty * tims*1000)/1000 ;
  1242. if(lblcnts2.length > 0) {
  1243. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2","string", ds_main_prnt_lbllist.getColumn(iPageCnt,"lblcnts2") + "\n" + lblcnts2,iPageCnt);
  1244. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag","string", "Y",iPageCnt);
  1245. }
  1246. if(sndprcpcnt > 12) {
  1247. var prePage = iPageCnt;
  1248. // iPageCnt++;
  1249. sndprcpcnt = 1;
  1250. iPageCnt = ds_main_prnt_lbllist.addRow();
  1251. ds_main_prnt_lbllist.copyRow(iPageCnt,ds_main_prnt_lbllist,prePage);
  1252. dsf_makeValue(ds_main_prnt_lbllist,"lblcnts2flag" ,"string", "N",iPageCnt);
  1253. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp1" ,"string", "",iPageCnt);
  1254. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp2" ,"string", "",iPageCnt);
  1255. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp3" ,"string", "",iPageCnt);
  1256. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp4" ,"string", "",iPageCnt);
  1257. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp5" ,"string", "",iPageCnt);
  1258. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp6" ,"string", "",iPageCnt);
  1259. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp7" ,"string", "",iPageCnt);
  1260. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp8" ,"string", "",iPageCnt);
  1261. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp9" ,"string", "",iPageCnt);
  1262. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp10" ,"string", "",iPageCnt);
  1263. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp11" ,"string", "",iPageCnt);
  1264. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp12" ,"string", "",iPageCnt);
  1265. }
  1266. var val = prcpqty+" "+ds_main_lbllist.getColumn(j,"prcpnm");
  1267. dsf_makeValue(ds_main_prnt_lbllist,"sndprcp"+sndprcpcnt,"string", val,iPageCnt);
  1268. sndprcpcnt++;
  1269. iPoint = j;
  1270. } else {
  1271. // iPageCnt++;
  1272. iPoint = j - 1;
  1273. break;
  1274. }
  1275. }
  1276. }
  1277. }
  1278. function fGetImage() {
  1279. var pImage = "";
  1280. iImageCnt++;
  1281. if(iImageCnt > 99){
  1282. pImage = "GRAPH"+iImageCnt;
  1283. } else if(iImageCnt > 9){
  1284. pImage = "GRAPH0"+iImageCnt;
  1285. } else {
  1286. pImage = "GRAPH00"+iImageCnt;
  1287. }
  1288. return pImage
  1289. }
  1290. /****************************************************************************************
  1291. * Argument : sDD - 일자
  1292. * Description : 출력일자 형식
  1293. ****************************************************************************************/
  1294. function fDateFormat(sDD) {
  1295. return sDD.substr(0,4)+"/"+sDD.substr(4,2)+"/"+sDD.substr(6,2);
  1296. }
  1297. /****************************************************************************************
  1298. * Argument : qty - 대상숫자
  1299. * Description : 실수체크
  1300. ****************************************************************************************/
  1301. function fChkFloat(qty) {
  1302. var fQty = parseFloat(qty);
  1303. var fRst = "";
  1304. if(fQty%1 == 0){
  1305. fRst = parseInt(qty);
  1306. } else {
  1307. fRst = qty;
  1308. }
  1309. return fRst;
  1310. }
  1311. /****************************************************************************************
  1312. * Argument : cnt - 순번
  1313. * Description : fChkSumcls
  1314. ****************************************************************************************/
  1315. function fChkSumcls(cnt) {
  1316. var chk = false;
  1317. var sSumcls = ds_main_lbllist.getColumn(cnt,"sumcls");
  1318. var sSnglyn = ds_main_lbllist.getColumn(cnt,"atcifsnglyn");
  1319. var sDrugindependpackflag = ds_main_lbllist.getColumn(cnt,"drugindependpackflag");
  1320. var atcyn = ds_main_lbllist.getColumn(cnt,"atcyn");
  1321. var atc_drugkind = ds_main_lbllist.getColumn(cnt,"atc_drugkind");
  1322. var prcpnm = ds_main_lbllist.getColumn(cnt,"prcpnm");
  1323. if(sSumcls == "DI" || sSumcls == "DS"|| sSumcls == "DX"|| sSumcls == "DT" || sSumcls == "DM" || sSumcls == "IH"|| sSumcls == "IO" || sSumcls == "DG" // 20110512_laboru_pack 추가
  1324. || sSumcls == "IS"|| sSumcls == "IX"|| sSumcls == "X" || sSumcls == "ZZZ" || sSumcls == "A10PQ" || sSumcls == "I"){
  1325. chk = true;
  1326. }
  1327. if ( sSumcls == "D" && sSnglyn =="Y" ) {
  1328. chk = true;
  1329. }
  1330. if ( sDrugindependpackflag =="Y"){
  1331. chk = true;
  1332. }
  1333. //2013년 8월1일 김치국 ATC전송시 키지 않는 믹스 번호 70이하 데이타는 단독 라벨 출력 되게
  1334. if ( atcyn =="N" ){
  1335. chk = true;
  1336. }
  1337. return chk;
  1338. }
  1339. /****************************************************************************************
  1340. * Argument : sDD - 일자
  1341. * : sTM - 일시
  1342. * Description : 출력시간 형식 만들기
  1343. ****************************************************************************************/
  1344. function fPrntTime(sDD, sTM) {
  1345. return sDD.substr(4,2)+" / "+sDD.substr(6,2)+" "+sTM.substr(0,2)+":"+sTM.substr(2,2)+":"+sTM.substr(4,2);
  1346. }
  1347. function lf_complete() {
  1348. this.close();
  1349. }
  1350. //////////////////////////////////////////////////SPADT62305.xjs////////////////////////////////////////////////////
  1351. // fLBLPrint_knu 함수에서 호출하는 부분이 있어 가져오긴했지만 해당 xjs 파일을 include하지 않는다.
  1352. // 호출하는 분기를 탈일이 없나보다. 전환은 하지 않음. 추후 필요하다면 전환한다. NHS
  1353. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1354. /**
  1355. * 병동작은라벨 mix 라벨 (경북대병원)
  1356. */
  1357. function fMixLBL_knu() {
  1358. var sMixno1 = model.getValue("/root/main/prnt/lbllist["+iPageCntO+"]/prcpmixno");
  1359. var cnt = 0;
  1360. var unit = "";
  1361. var tprcpcd = "";
  1362. var tprcpnm = "";
  1363. var prePage = iPageCntO;
  1364. for(var j = iPoint; j <= getNodesetCount("/root/main/lbllist/lbllist") ; j++){
  1365. sMixno2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpmixno");
  1366. var qty = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqty");
  1367. var dayqty = model.getValue("/root/main/lbllist/lbllist["+j+"]/dayprcpqty");
  1368. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqtyunit");
  1369. var tims = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcptims");
  1370. var dayno = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpdayno");
  1371. var prcpnm= model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpnm");
  1372. var prcpcd = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpcd");
  1373. //prcpnm = prcpnm.substr(0,7);
  1374. if(sMixno1 == sMixno2){
  1375. if(cnt == 0) {
  1376. tprcpcd = prcpcd;
  1377. tprcpnm = fChkFloat(dayqty);
  1378. tprcpnm += " " + prcpnm;
  1379. unit = fChkFloat(dayqty)+qtyunit+ " "+tims+ " "+dayno;
  1380. } else {
  1381. tprcpcd += "\n" + prcpcd;
  1382. tprcpnm += "\n" + fChkFloat(dayqty) + " " + prcpnm;
  1383. unit += "\n" + fChkFloat(dayqty)+qtyunit+ " "+tims+ " "+dayno;
  1384. }
  1385. if(cnt != 0) {
  1386. model.removeNode("/root/main/lbllist/lbllist["+j+"]");
  1387. j--
  1388. }
  1389. cnt++;
  1390. } else {
  1391. iPageCntO++;
  1392. j--;
  1393. break;
  1394. }
  1395. if(cnt == 5){
  1396. iPageCntO++;
  1397. break;
  1398. }
  1399. }
  1400. //alert(model.getValue("/root/main/prnt/lbllist["+prePage+"]/prcpnm" ));
  1401. //iPoint = j;
  1402. // 20101101_laboru_경북대병원_라벨 출력물 처방코드 삭제
  1403. //model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd" , tprcpcd );
  1404. model.setValue("/root/main/prnt/lbllist["+prePage+"]/prcpnm" , tprcpnm );
  1405. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/unit" , unit );
  1406. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/mthdcnts", "N6");
  1407. model.setValue("/root/main/prnt/lbllist["+prePage+"]/lblcnts2", "");
  1408. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/pageflag", "N");
  1409. }
  1410. /**
  1411. * 주사약 단독라벨 검증작업
  1412. */
  1413. function fChkIndependInj(cnt) {
  1414. var sLBLGrup = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/lblgrup");
  1415. var sExp = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/expnyn");
  1416. var sKeepmthd = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/keepmthd");
  1417. var sSelfprcpflag = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/selfprcpflag");
  1418. var sDrugindependpackflag = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/drugindependpackflag");
  1419. var sRst = false;
  1420. if(sLBLGrup == "IH" || sLBLGrup == "IO" || sLBLGrup == "IS" || sLBLGrup == "IX") sRst = true;
  1421. if(sExp == "Y" || sKeepmthd != "" || sSelfprcpflag == "Y") sRst = true;
  1422. if(sDrugindependpackflag == "Y") sRst = true;
  1423. //2010-06-29 [보관방법:냉장주사/고위험주사] 단독출력
  1424. var sDngryn = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/dngryn"); //고위험주사 여부
  1425. var sKeepmthdyn = model.getValue("/root/main/lbllist/lbllist["+cnt+"]/keepmthdyn"); //냉장주사 여부
  1426. if(sDngryn == "Y" || sKeepmthdyn=="Y" ) sRst = true;
  1427. return sRst;
  1428. }
  1429. /**
  1430. * 병동작은라벨 주사약 라벨(경북대병원)
  1431. */
  1432. function fInjDrugLBL_knu() {
  1433. var sSumCls1 = model.getValue("/root/main/prnt/lbllist["+iPageCntO+"]/sumcls");
  1434. var cnt = 0;
  1435. var unit = "";
  1436. var tprcpcd = "";
  1437. var tprcpnm = "";
  1438. var prePage = iPageCntO;
  1439. for(var j = iPoint; j <= getNodesetCount("/root/main/lbllist/lbllist") ; j++){
  1440. if(cnt != 0 && fChkIndependInj(j)){
  1441. //주사가 뭉쳐서 나오다가 단독주사를 만날경우 단독주사는 출력하지 아니함.
  1442. iPageCntO++;
  1443. break;
  1444. }
  1445. sSumCls2 = model.getValue("/root/main/lbllist/lbllist["+j+"]/sumcls");
  1446. var qty = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqty");
  1447. var dayqty = model.getValue("/root/main/lbllist/lbllist["+j+"]/dayprcpqty");
  1448. var qtyunit = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpqtyunit");
  1449. var tims = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcptims");
  1450. var dayno = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpdayno");
  1451. var prcpnm = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpnm");
  1452. var prcpcd = model.getValue("/root/main/lbllist/lbllist["+j+"]/prcpcd");
  1453. var val = parseFloat(model.getValue("/root/main/lbllist/lbllist["+j+"]/totdrugqty"));
  1454. //alert(val+ "\n" + prcpnm);
  1455. //prcpnm = prcpnm.substr(0,7);
  1456. if(cnt == 0) {
  1457. tprcpcd = prcpcd;
  1458. tprcpnm = val + " " + prcpnm;
  1459. unit = fChkFloat(dayqty)+qtyunit+ " "+tims+ " "+dayno;
  1460. } else {
  1461. tprcpcd += "\n" + prcpcd;
  1462. tprcpnm += "\n" + val + " " + prcpnm;
  1463. unit += "\n" + fChkFloat(dayqty)+qtyunit+ " "+tims+ " "+dayno;
  1464. }
  1465. if(cnt != 0) {
  1466. model.removeNode("/root/main/lbllist/lbllist["+j+"]");
  1467. j--
  1468. }
  1469. cnt++;
  1470. if(cnt == 5 || fChkIndependInj(j)){
  1471. j++;
  1472. iPageCntO++;
  1473. break;
  1474. }
  1475. }
  1476. // 20101101_laboru_경북대병원_라벨 출력물 처방코드 삭제
  1477. //model.setValue("/root/main/lbllist/lbllist["+iPoint+"]/prcpcd" , tprcpcd );
  1478. model.setValue("/root/main/prnt/lbllist["+prePage+"]/prcpnm" , tprcpnm );
  1479. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/unit" , unit );
  1480. model.setValue("/root/main/prnt/lbllist["+prePage+"]/lblcnts2", "");
  1481. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/pageflag", "N");
  1482. if(!fChkIndependInj(iPoint)) {
  1483. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/mthdcnts", "N6");
  1484. } else {
  1485. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/inusedrugflag", "Y");
  1486. }
  1487. //iPoint = j-1;
  1488. //보관방법 고가 출력
  1489. var sKeepmthd = model.getValue("/root/main/prnt/lbllist["+prePage+"]/keepmthd");
  1490. var sExpnyn = model.getValue("/root/main/prnt/lbllist["+prePage+"]/expnyn");
  1491. var sExpnnm = "";
  1492. if(sExpnyn == "Y") sExpnnm = "고가";
  1493. if(sKeepmthd != ""){
  1494. model.setValue("/root/main/prnt/lbllist["+prePage+"]/keepmthd", "<"+sKeepmthd+">" );
  1495. }
  1496. if(sExpnnm != ""){
  1497. model.makeValue("/root/main/prnt/lbllist["+prePage+"]/expnnm", "<"+sExpnnm+">" );
  1498. }
  1499. }
  1500. //////////////////////////////////////////////////SPADT62305.xjs////////////////////////////////////////////////////]]></Script>