SMMNR06300.xjs 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. (SMMNB06300_투약work list.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. */
  7. var xCondPath = "/root/main/cond";
  8. var xPatInfoPath = "/root/main/paminfo/pamlist";
  9. var xWardDrugListPath = "/root/main/warddruginfo/warddruglist";
  10. var xHiddenWardDrugPath = "/root/hidden/warddruginfo/warddruglist";
  11. var xWardPatList = "/root/main/wardpatinfo/wardpatlist";
  12. //----------------(20080801)
  13. //var xCaption = "환자정보^구분^마약구분^처방코드^처방명^1일용량^단위^1일수량^단위^1일횟수^경로^용법^처방Remark^처방의^처방시간^처방희망일"; //16개
  14. //var colDataidx = 16; //coldataidx이상의 컬럼은 일자data컴럼
  15. //var xCaption = "환자정보^구분^Mix^마약구분^처방코드^처방명^1일용량^단위^1일수량^단위^1일횟수^경로^용법^처방Remark^처방의^처방시간^처방적용일"; //16개
  16. //var colDataidx = 17; //마약구분추가
  17. //var xCaption = "선택^환자정보^구분^Mix^마약구분^처방코드^처방명^1일용량^단위^1일수량^단위^1일횟수^경로^용법^처방Remark^처방의^처방시간^처방적용일"; //16개
  18. //var colDataidx = 18; //선택항목추가(20080910)
  19. //----(20080919)
  20. //var xCaption = "^환자정보^구분^Mix^마약구분^처방코드^처방명^1일용량^단위^1일수량^단위^1일횟수^경로^용법^처방Remark^처방의^처방일시^처방적용일^prcpdd^prcpno"; //20개
  21. //var colDataidx = 20; //prcpdd,prcpno추가(20080910)
  22. var xCaption = "^환자정보^구분^승인^Mix^마약구분^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1회용량^1일용량^단위^1회수량^1일수량^단위^1일횟수^경로^용법^처방Remark^처방의^처방일시^처방적용일^prcpdd^prcpno^처방명ast^처방명출력용"; //25개
  23. var colDataidx = 25; //prcpddast추가(20081121) drprcpetc7, drprcpetc8추가(김병국20110102) 23->25변경
  24. //----------------------------
  25. var testcnt=0;
  26. var arErrorCode = new HashArray();
  27. /**
  28. * @group :
  29. * @ver : 2007.07.11
  30. * @by : 최경용
  31. * @---------------------------------------------------
  32. * @type : function
  33. * @access : public
  34. * @desc : 투약work list 초기값 셋팅 및 초기조회
  35. * @param :
  36. * @return :
  37. * @---------------------------------------------------
  38. */
  39. function fInitialize(){
  40. // 정리
  41. ds_hidden_warddruginfo_warddruglist.clearData();
  42. ds_main_warddruginfo_warddruglist.clearData();
  43. // 환자정보 조회
  44. var sPamInfo = sysf_getGlobalVariable("paminfo");
  45. dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo);
  46. //------------------(20080801)
  47. var sWardCd = "";
  48. var sRoomCD = "";
  49. var sPid = "";
  50. var sPatNm = "";
  51. var sDd = "";
  52. //--------------(20080804)
  53. // 값있으면 투약기록에서 호출
  54. // 값이 없으면 메뉴에서 호출
  55. var openchk = opener.frmf_getParameter("SMMNR06300_Param");
  56. //-------------
  57. //if(checkOpener()){
  58. if( !utlf_isNull(openchk) && openchk != "null" ){
  59. sWardCd = opener.frmf_getParameter("SMMNR06300_Param");
  60. sRoomCD = opener.frmf_getParameter("SMMNR06300_Param1");
  61. sPid = opener.frmf_getParameter("SMMNR06300_Param2");
  62. sPatNm = opener.frmf_getParameter("SMMNR06300_Param3");
  63. sDd = opener.frmf_getParameter("SMMNR06300_Param4");
  64. }else{
  65. sWardCd = ( utlf_isNull(appf_getPatientInfoDetail("wardcd")) ? sysf_getUserInfo("dutplcecd") : appf_getPatientInfoDetail("wardcd"));
  66. sRoomCD = ds_main_paminfo_pamlist.getColumn(0, "roomcd");
  67. sPid = ds_main_paminfo_pamlist.getColumn(0, "pid");
  68. sPatNm = ds_main_paminfo_pamlist.getColumn(0, "hngnm");
  69. }
  70. fGetWardList(); //병동콤보
  71. ds_main_cond.setColumn(0, "orddd", utlf_getCurrentDate());// 기준일에 현재날짜(디폴트);
  72. ds_main_cond.setColumn(0, "wardcd", sWardCd);
  73. fGetRoomList(); //병동에 대한 병실콤보
  74. fGetZoneList(); //ER의 구역 콤보 //------------(20080608)
  75. fnZoneDisp("init"); //----------------------(20080910)
  76. if( utlf_isNull(ds_init_ward.getColumn(ds_init_ward.findRow("wardcd", sWardCd), "wardnm")) ){
  77. return;
  78. }
  79. ds_main_cond.setColumn(0, "roomcd", sRoomCD);
  80. fGetPatList(); //환자명콤보
  81. //-----------------------------(20080906)
  82. fSetsettingrnid();
  83. //-----------------------------(20080906)
  84. //if(checkOpener()){
  85. ds_main_cond.setColumn(0, "pid", sPid);
  86. ds_main_cond.setColumn(0, "hngnm", sPatNm);
  87. if( !utlf_isNull(sPid) ){
  88. ds_main_wardpatinfo_wardpatlist.setColumn(ds_main_wardpatinfo_wardpatlist.findRow("pid", sPid), "check", "1");
  89. }
  90. if( !utlf_isNull(openchk) && openchk != "null" ){
  91. ds_main_cond.setColumn(0, "orddd", sDd);
  92. fClickDrugListBefore(); //------------(20081117)
  93. fWorkListQuery();
  94. //fSettingLine();
  95. //------------------------(20080910)
  96. //투약기록에서 넘어온 값을 투약worklist에서 표시한다.
  97. var sflagChk = utlf_transNullToEmpty(opener.frmf_getParameter("SMMNR06300_Param5"));
  98. var sPathDrug = "ds_main_warddruginfo_warddruglist";
  99. var sCount = 0;
  100. var rows = ds_main_warddruginfo_warddruglist.rowcount;
  101. if( sflagChk.substr(0,1) == "Y" ){
  102. var sPrcpdd = "";
  103. var sPrcpno = "";
  104. sCount = sflagChk.substr(1, sflagChk.length-1);
  105. for( var row=0 ; row<rows ; row++ ){
  106. sPrcpdd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpdd");
  107. sPrcpno = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpno");
  108. //alert(row + "/" + sPrcpdd + "/" + sPrcpno);
  109. //선택된 자료만 출력한다.
  110. if( fnFindParam(sPrcpdd,sPrcpno,sCount) == true ){
  111. ds_main_warddruginfo_warddruglist.setColumn(row, "prtchk", "1");
  112. } else {
  113. ds_main_warddruginfo_warddruglist.setColumn(row, "prtchk", "0");
  114. }
  115. }
  116. } else {
  117. //--------------------(20080927)
  118. if ( rows >= 1) {
  119. ds_main_cond.setColumn(0, "multicheck", "1");
  120. for( var row=0 ; row<rows ; row++ ){
  121. ds_main_warddruginfo_warddruglist.setColumn(row, "prtchk", "1");
  122. }
  123. }
  124. //--------------------(20080927)
  125. }
  126. fClickDrugListAfter(); //------------(20081117)
  127. //------------------------(20080910)
  128. } else {
  129. fClickDrugListBefore(); //------------(20081117)
  130. fWorkListQuery();
  131. //fSettingLine();
  132. fClickDrugListAfter();
  133. }
  134. //------------------(20080801)
  135. }
  136. //---------------------------(20080910)
  137. //파리미터에서 값을 찾는다.
  138. function fnFindParam(sPrcpDd,sPrcpNo,sCount) {
  139. for( var row=6 ; row<=sCount ; row++ ){
  140. sParamNm = "SMMNR06300_Param" + row;
  141. sParamValue = opener.frmf_getParameter(sParamNm);
  142. var sParamArr = sParamValue.split("/");
  143. //alert(sPrcpDd + "/" + sParamArr[0] + "/" + sPrcpNo + "/" + sParamArr[1]);
  144. if( sPrcpDd == sParamArr[0] && sPrcpNo == sParamArr[1] ){
  145. //alert("true");
  146. return true;
  147. }
  148. }
  149. return false;
  150. }
  151. //---------------------------(20080910)
  152. /**
  153. * @group :
  154. * @ver : 2008.09.06
  155. * @by :
  156. * @---------------------------------------------------
  157. * @type : function
  158. * @access : public
  159. * @desc : 내환자가 설정되어 있으면 자동으로 내환자설정시키기(성공)
  160. * @param :
  161. * @param :
  162. * @return :
  163. * @---------------------------------------------------
  164. */
  165. function fSetsettingrnid(){
  166. var sUserId = sysf_getUserId();
  167. var sUserIdFind = ""
  168. for( var i=0 ; i<ds_main_wardpatinfo_settingrn.rowcount ; i++ ){
  169. sUserIdFind = ds_main_wardpatinfo_settingrn.getColumn(i, "settingrnid");
  170. if( sUserId == sUserIdFind ){
  171. ds_main_cond.setColumn(0, "settingrnid", sUserIdFind);
  172. fGetPatList();
  173. return;
  174. }
  175. }
  176. }
  177. /**
  178. * @group :
  179. * @ver : 2007.06.08
  180. * @by : 김보성
  181. * @---------------------------------------------------
  182. * @type : function
  183. * @access : public
  184. * @desc : ER의 응급 리스트 조회 CareCom.js로 빼냄
  185. * @param :
  186. * @param :
  187. * @return :
  188. * @---------------------------------------------------
  189. */
  190. /*function fGetZoneList(){
  191. submit("TRMNR06302");
  192. }*/
  193. /**
  194. * @group :
  195. * @ver : 2007.06.23
  196. * @by : 최경용
  197. * @---------------------------------------------------
  198. * @type : function
  199. * @access : public
  200. * @desc : 병동 리스트 조회
  201. * @param :
  202. * @param :
  203. * @return :
  204. * @---------------------------------------------------
  205. */
  206. function fGetWardList(){
  207. var oParam = {};
  208. oParam.id = "TRMNR00601";
  209. oParam.service = "caremedirecapp.CareMediRec";
  210. oParam.method = "reqGetWMInitData";
  211. oParam.inds = "reqcond=ds_send_reqdata";
  212. oParam.outds = "ds_init_ward=ward ds_init_settingrn=settingrn ds_init_orddd=orddd";
  213. oParam.async = false;
  214. //oParam.callback = "cf_TRMNR00601";
  215. tranf_submit(oParam);
  216. }
  217. /**
  218. * @group :
  219. * @ver : 2007.06.23
  220. * @by : 최경용
  221. * @---------------------------------------------------
  222. * @type : function
  223. * @access : public
  224. * @desc : 투약기록 병동별 병실 리스트 조회
  225. * @param :
  226. * @param :
  227. * @return :
  228. * @---------------------------------------------------
  229. */
  230. function fGetRoomList(){
  231. ds_main_cond.setColumn(0, "roomcd", "");
  232. ds_send_reqdata.copyRow(0, ds_main_cond, 0);
  233. var oParam = {};
  234. oParam.id = "TRMNR00602";
  235. oParam.service = "caremedirecapp.CareMediRec";
  236. oParam.method = "reqGetRoomInitData";
  237. oParam.inds = "reqcond=ds_send_reqdata";
  238. oParam.outds = "ds_init_room_room=room";
  239. oParam.async = false;
  240. //oParam.callback = "cf_TRMNR00602";
  241. tranf_submit(oParam);
  242. dsf_setDefaultVal(ds_init_room_room, "all");
  243. group3.group2.com_roomcd.index = 0;
  244. }
  245. /**
  246. * @group :
  247. * @ver : 2007.07.11
  248. * @by : 최경용
  249. * @---------------------------------------------------
  250. * @type : function
  251. * @access : public
  252. * @desc : com_hngnm 내용 검색
  253. * @param :
  254. * @return :
  255. * @---------------------------------------------------
  256. */
  257. function fGetPatList(){
  258. ds_send_reqdata.copyRow(0, ds_main_cond, 0);
  259. var oParam = {};
  260. oParam.id = "TRMNR00603";
  261. oParam.service = "caremedirecapp.CareMediRec";
  262. oParam.method = "reqGetWardPatList";
  263. oParam.inds = "reqcond=ds_send_reqdata";
  264. oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist ds_main_wardpatinfo_settingrn=settingrn";
  265. oParam.async = false;
  266. //oParam.callback = "cf_TRMNR00603";
  267. tranf_submit(oParam);
  268. dsf_setDefaultVal(ds_main_wardpatinfo_wardpatlist, "check:0");
  269. group3.grd_patlist.setCellProperty("Head", 0, "text", "0");
  270. group3.bolall.value = "0";
  271. ds_main_wardpatinfo_wardpatlist.rowposition = -1;
  272. //group3.grd_patlist.setCellProperty("Head", 0, "expr", "0");
  273. ds_hidden_warddruginfo_warddruglist.clearData();
  274. ds_main_warddruginfo_warddruglist.clearData();
  275. if( ds_main_wardpatinfo_settingrn.rowcount > 0 && ds_main_wardpatinfo_settingrn.getColumn(0, "settingrnnm") == "-" ){
  276. ds_main_wardpatinfo_settingrn.setColumn(0, "settingrnid", "");
  277. }
  278. if( utlf_isNull(ds_main_cond.getColumn(0, "settingrnid")) ){
  279. group3.group2.cmb_settingrn.index = 0;
  280. }
  281. }
  282. /**
  283. * @group :
  284. * @ver : 2007.07.11
  285. * @by : 최경용
  286. * @---------------------------------------------------
  287. * @type : function
  288. * @access : public
  289. * @desc : 조회
  290. * @param :
  291. * @return :
  292. * @---------------------------------------------------
  293. */
  294. var fstdispcol=0, lstdispcol=0; // 20090629
  295. function fWorkListQuery(){
  296. var pid = ds_main_cond.getColumn(0, "pid");
  297. var indd = "";
  298. var cretno = "";
  299. var sHeader = "pid▦indd▦cretno▩"
  300. var sContents = "";
  301. var forcnt = 0;
  302. if( !utlf_isNull(pid) ){
  303. indd = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.findRow("pid", pid), "indd");
  304. cretno = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.findRow("pid", pid), "cretno");
  305. ds_main_cond.setColumn(0, "indd", indd);
  306. ds_main_cond.setColumn(0, "cretno", cretno);
  307. //alert(pid + "/" + indd + "/" + cretno );
  308. sContents = pid + "▦" + indd + "▦" + cretno + "▩";
  309. forcnt++;
  310. } else {
  311. for( var idx=0 ; idx<ds_main_wardpatinfo_wardpatlist.rowcount ; idx++ ){
  312. if( ds_main_wardpatinfo_wardpatlist.getColumn(idx, "check") == "1" ){
  313. sContents += ds_main_wardpatinfo_wardpatlist.getColumn(idx, "pid") + "▦"
  314. + ds_main_wardpatinfo_wardpatlist.getColumn(idx, "indd") + "▦"
  315. + ds_main_wardpatinfo_wardpatlist.getColumn(idx, "cretno") + "▩";
  316. forcnt++;
  317. }
  318. }
  319. }
  320. if ( forcnt < 1 ){
  321. return;
  322. }
  323. var orddd = ds_main_cond.getColumn(0, "orddd");
  324. var yorddd = getDateAddc(orddd,-1);
  325. var torddd = getDateAddc(orddd,1);
  326. ds_main_cond.setColumn(0, "yorddd", yorddd);
  327. ds_main_cond.setColumn(0, "torddd", torddd);
  328. ds_send_reqdata.copyRow(0, ds_main_cond, 0);
  329. dsf_setCSVToDs("ds_send_reqdata_reqpidcond", sHeader + sContents);
  330. var oParam = {};
  331. oParam.id = "TXMNR06301";
  332. oParam.service = "caremedirecapp.CareMediRec";
  333. oParam.method = "reqSetPidInfo";
  334. oParam.inds = "reqpidcond=ds_send_reqdata_reqpidcond";
  335. oParam.outds = "ds_hidden_pidseqnoinfo_pidseqnoinfo=pidseqnoinfo";
  336. oParam.async = false;
  337. oParam.callback = "cf_TXMNR06301";
  338. tranf_submit(oParam);
  339. if( arErrorCode.pop("TXMNR06301") > -1 ){
  340. ds_send_reqdata.setColumn(0, "pidseqno", ds_hidden_pidseqnoinfo_pidseqnoinfo.getColumn(0, "pidseqno"));
  341. }else {
  342. return;
  343. }
  344. //----------------------------
  345. // 조회전 화면 정리
  346. //----------------------------
  347. ds_hidden_warddruginfo_warddruglist.clearData();
  348. ds_main_warddruginfo_warddruglist.clearData();
  349. for( var col=(group3.grd_druglist.getCellCount("Body")-1) ; col>=colDataidx ; col-- ){
  350. group3.grd_druglist.deleteContentsCol("body", col, false);
  351. }
  352. var oParam = {};
  353. oParam.id = "TRMNR06301";
  354. oParam.service = "caremedirecapp.CareMediRec";
  355. oParam.method = "reqGetWorkList";
  356. oParam.inds = "reqcond=ds_send_reqdata";
  357. oParam.outds = "ds_hidden_warddruginfo_warddruglist=warddruglist";
  358. oParam.async = false;
  359. oParam.callback = "cf_TRMNR06301";
  360. tranf_submit(oParam);
  361. if( arErrorCode.pop("TRMNR06301") > -1 ){
  362. dsf_setDefaultVal(ds_hidden_warddruginfo_warddruglist, "ddtm_calc:'',prcpdelivefact:'',orddrnm:'',zonecd:''");
  363. for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
  364. if( ds_hidden_warddruginfo_warddruglist.getColumn(i, "prtchk") == "true" ){
  365. ds_hidden_warddruginfo_warddruglist.setColumn(i, "prtchk", "1");
  366. }else{
  367. ds_hidden_warddruginfo_warddruglist.setColumn(i, "prtchk", "0");
  368. }
  369. }
  370. var inst_cnt = -1;
  371. var prev_prcpno = "";
  372. var drugtmspec = "";
  373. var drugtmspeccal = "";
  374. var medrbaseexistyn = "";
  375. var prcpno = "";
  376. var mod = "";
  377. var quotient = "";
  378. var prcpvol = "";
  379. var prcpvolunitflag = "";
  380. var prcpqty = "";
  381. var prcpqtyunitflag = "";
  382. var carebasedd = "";
  383. var carebasetm = "";
  384. var ast = "";
  385. var aprvstat = "";
  386. var tempddtm = "";
  387. var tempdd = "";
  388. var temptm = "";
  389. var addCol_Array = new Array;
  390. //1.일자추출 -컬럼추가(화면 data)
  391. var cnt = ds_hidden_warddruginfo_warddruglist.rowcount;
  392. //---------------------------------------
  393. //alert("계산시작:" + cnt);(20080801)
  394. if ( cnt <= 0 ) {
  395. sysf_messageBox("조회된자료가 없습니다.","E999");
  396. return;
  397. }
  398. //---------------------------------------
  399. for( var i=0 ; i<cnt ; i++ ){
  400. //alert("i=" +i);
  401. tempddtm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "ddtm");
  402. //--------------------------------------------------(20080610)
  403. //투약된일자(절대일자),변경되일자(절대일자) YYYYMMDDSSMM00
  404. //희망일+설정된시간대==> 절대시간대로 변경한다.(로직) SSMM
  405. //alert("0927:"+ tempddtm);
  406. if( tempddtm.length == 4 ){
  407. tempdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphopedd");
  408. temptm = tempddtm;
  409. //alert("A:" + "/" +tempdd + "/" + temptm);
  410. tempdd = getDateAddc(tempdd, parseInt(tempddtm / 2400));
  411. temptm = tempddtm % 2400;
  412. //alert("B:" + "/" +tempdd + "/" + temptm);
  413. temptm = Math.abs(Number(temptm)).toString();
  414. temptm = fCarec_GetFillZeno(temptm, 4,0);
  415. tempddtm = tempdd + "" + temptm + "" + '00';
  416. }
  417. //alert("tempddtm=" + tempddtm);
  418. //계산된 일자 기록
  419. //alert(tempddtm);
  420. ds_hidden_warddruginfo_warddruglist.setColumn(i, "ddtm_calc", tempddtm);
  421. //--------------------------------------------------
  422. tempdd = tempddtm.substr(0,8);
  423. //alert("i배열=" + tempdd);
  424. //일자배열에 저장
  425. careIsSearchString(addCol_Array,tempdd);
  426. }
  427. //alert("1:" + addCol_Array.length);
  428. if( addCol_Array.length <= 0 ){
  429. sysf_messageBox("일자정보가 없습니다.","E999");
  430. return;
  431. }
  432. //일자 정렬(오름차순)
  433. var addCol_Arr = new Array;
  434. addCol_Arr = sortHashKeysArray(addCol_Array);
  435. //alert("2:" + addCol_Arr.length);
  436. //2.그리드에 컬럼추가
  437. var pGrd = group3.grd_druglist;
  438. var sGrdheader = "";
  439. //-------------------------------------------------------
  440. //컬럼을 늘리기 위해서 빈 row를 만든다.
  441. //model.duplicate(a,b): b->a 인데, 주의 a는 한단계위임)
  442. //-------------------------------------------------------
  443. ds_main_warddruginfo_warddruglist.copyData(ds_temp_warddruginfo_warddruglist);
  444. for( var i=0 ; i<ds_main_warddruginfo_warddruglist.rowcount ; i++ ){
  445. ds_main_warddruginfo_warddruglist.setColumn(i, "prcpkindnm", utlf_trim(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpkindnm")));
  446. }
  447. var tempColIdx;
  448. fstdispcol = Number(colDataidx)+1; // 20090629
  449. for( var k=1 ; k<=addCol_Arr.length ; k++ ){
  450. tempColIdx = Number(colDataidx)+Number(k);
  451. var nCol = pGrd.appendContentsCol();
  452. pGrd.setCellProperty("Body", nCol, "text", "bind:dispdd"+tempColIdx);
  453. pGrd.setCellProperty("Body", nCol, "align", "left");
  454. pGrd.setFormatColProperty(pGrd.getCellCount("Body")-1, "size", 105);
  455. //------------------------------(20080802)
  456. //---(20080802) YYYYMMDD
  457. //일자
  458. //sGrdheader += addCol_Arr[k-1].toString() + "^"; //YYYYMMDD
  459. var sTempDt = addCol_Arr[k-1].toString();
  460. sTempDt = sTempDt.substr(0,4) + "-" + sTempDt.substr(4,2) + "-" + sTempDt.substr(6,2);
  461. //sGrdheader += sTempDt + "^"; //YYYY-MM-DD
  462. pGrd.setCellProperty("Head", nCol, "text", sTempDt);
  463. //------------------------------
  464. }
  465. lstdispcol = tempColIdx; // 20090629
  466. // sGrdheader = sGrdheader.substr(0,sGrdheader.length-1); // 마지막 "^" 제거
  467. // pGrd.caption = pGrd.caption + "^" + sGrdheader;
  468. //alert("3:" + pGrd.caption);
  469. //3.hidden data -> 화면 data)
  470. var preprcpno = "";
  471. var nowprcpno = "";
  472. var hiddenPath = "/root/hidden/warddruginfo/warddruglist";
  473. var dispPath = "/root/main/warddruginfo/warddruglist";
  474. var inst_cnt = -1;
  475. var tempdd = "";
  476. var cnt = ds_hidden_warddruginfo_warddruglist.rowcount;
  477. //헤더를 만들기 위해 있더 자료 삭제
  478. //pGrd.deleteRow(1);
  479. ds_main_warddruginfo_warddruglist.clearData();
  480. for( var i=0 ; i<cnt ; i++ ){
  481. nowprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
  482. //prcpno가 다르면 row 추가
  483. if( preprcpno != nowprcpno ){
  484. //pGrd.addRow(false,false);
  485. ds_main_warddruginfo_warddruglist.addRow();
  486. //row 추가
  487. //alert("row추가:" + preprcpno + "/" + nowprcpno);
  488. inst_cnt++;
  489. //model.makeValue(dispPath + "[" + inst_cnt + "]", "");
  490. //-----------------------------(20080801)
  491. //일반적인 공통사항 복사
  492. // var disppatinfo = model.getValue(hiddenPath + "[" + i + "]/roomcd") + " " +
  493. // model.getValue(hiddenPath + "[" + i + "]/patnm") + " " +
  494. // model.getValue(hiddenPath + "[" + i + "]/sexage") + " " +
  495. // model.getValue(hiddenPath + "[" + i + "]/pid") + " ";
  496. //-------------(20080922)
  497. //var disppatinfo = model.getValue(hiddenPath + "[" + i + "]/pid") + " " +
  498. // model.getValue(hiddenPath + "[" + i + "]/patnm") + " " +
  499. // model.getValue(hiddenPath + "[" + i + "]/roomcd") + " " +
  500. // model.getValue(hiddenPath + "[" + i + "]/sexage");
  501. if( ds_hidden_warddruginfo_warddruglist.getColumn(i, "roomcd") == "ERBD" ){
  502. var disppatinfo = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid").toString().replace(" ","") + " " +
  503. ds_hidden_warddruginfo_warddruglist.getColumn(i, "patnm").toString().replace(" ","") + " " +
  504. ds_hidden_warddruginfo_warddruglist.getColumn(i, "bedposcnts").toString().replace(" ","") + " " +
  505. ds_hidden_warddruginfo_warddruglist.getColumn(i, "sexage").toString().replace(" ","") + " " ;
  506. } else {
  507. var disppatinfo = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid").toString().replace(" ","") + " " +
  508. ds_hidden_warddruginfo_warddruglist.getColumn(i, "patnm").toString().replace(" ","") + " " +
  509. ds_hidden_warddruginfo_warddruglist.getColumn(i, "roomcd").toString().replace(" ","") + " " +
  510. ds_hidden_warddruginfo_warddruglist.getColumn(i, "sexage").toString().replace(" ","") + " " ;
  511. }
  512. //-------------(20080922)
  513. //-----------------------------(20080801)
  514. var dispprcpkindnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpkindnm");
  515. var dispprcpmixno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
  516. var dispprcpcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd");
  517. var dispprcpnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpnm");
  518. var prcpnmprtnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpnmprt");
  519. //----------------------------(20080917)
  520. if( dispprcpmixno != '-' && !utlf_isNull(dispprcpmixno) ){
  521. dispprcpnm = "(" + dispprcpmixno + ")" + dispprcpnm;
  522. prcpnmprtnm = "(" + dispprcpmixno + ")" + prcpnmprtnm;
  523. }
  524. //----------------------------(20080917)
  525. var dispprcpvol = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpvol");
  526. var dispprcpvolunitflag = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpvolunitflag");
  527. var dispprcpqty = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpqty");
  528. var dispprcpqtyunitflag = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpqtyunitflag");
  529. var dispprcptims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcptims");
  530. var dispabbrnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "abbrnm");
  531. var dispdrugmthdspccd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugmthdspccd");
  532. var dispprcpdelivefact = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdelivefact");
  533. var disporddrnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "orddrnm");
  534. var dispfstrgstdt = ds_hidden_warddruginfo_warddruglist.getColumn(i, "fstrgstdt");
  535. var dispprcphopedd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphopedd");
  536. var dispspcldrug = ds_hidden_warddruginfo_warddruglist.getColumn(i, "spcldrug"); //(2008081)
  537. var dispprcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd"); //(20080910)
  538. var dispprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno"); //(20080910)
  539. //----------------------------(20081121)
  540. var dispprcpnmast = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpnmast");
  541. var dispprcpnmprt = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpnmprt");
  542. var ast = ds_hidden_warddruginfo_warddruglist.getColumn(i, "ast");
  543. var aprvstat = ds_hidden_warddruginfo_warddruglist.getColumn(i, "aprvstat");
  544. var tims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "tims"); // 20090629
  545. var mthdcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "mthdcd"); // 20090629
  546. var orgprcpclscd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd"); // 20090629
  547. var roomcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "roomcd"); // 20090629
  548. var patnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "patnm"); // 20090629
  549. var pid = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid"); // 20090629
  550. var prtchk = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prtchk"); // 20090629
  551. var prcphngnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphngnm"); // 20090714
  552. var prcpclscd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpclscd"); // 20091023
  553. var drprcpetc7 = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drprcpetc7"); // 20110202_KNUH_Start
  554. var drprcpetc8 = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drprcpetc8"); // 20110202_KNUH_Start
  555. var zonecd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "zonecd"); // 20110211_KNUH
  556. var pid = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid").toString().replace(" ",""); //20110907
  557. var sexage = ds_hidden_warddruginfo_warddruglist.getColumn(i, "sexage"); //20111230_KNUH_Start 성별/나이(정보추가)
  558. var orddeptnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "orddeptnm"); //20111230_KNUH_Start 부서명(정보추가)
  559. //----------------------------(20081121)
  560. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prtchk", prtchk); //(20080910)
  561. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "patinfo", disppatinfo);
  562. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpkindnm", utlf_trim(dispprcpkindnm));
  563. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpmixno", dispprcpmixno);
  564. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpcd", dispprcpcd);
  565. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpnm", dispprcpnm);
  566. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpvol", dispprcpvol);
  567. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpvolunitflag", dispprcpvolunitflag);
  568. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpqty", dispprcpqty);
  569. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpqtyunitflag", dispprcpqtyunitflag);
  570. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcptims", dispprcptims);
  571. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "abbrnm", dispabbrnm);
  572. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "drugmthdspccd", dispdrugmthdspccd);
  573. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpdelivefact", dispprcpdelivefact);
  574. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "orddrnm", disporddrnm);
  575. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "fstrgstdt", dispfstrgstdt);
  576. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcphopedd", dispprcphopedd);
  577. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "spcldrug", dispspcldrug); //(2008081)
  578. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpdd", dispprcpdd); //(20080910)
  579. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpno", dispprcpno); //(20080910)
  580. //-----------(20081121)
  581. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpnmast", dispprcpnmast);
  582. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpnmprt", dispprcpnmprt);
  583. //-----------(20081121)
  584. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "ast", ast);
  585. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "aprvstat", aprvstat);
  586. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "tims", tims); // 20090629
  587. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prtabbrnm", dispabbrnm); // 20090629
  588. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "orgprcpclscd", orgprcpclscd); // 20090629
  589. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "viewroomcd", roomcd); // 20090629
  590. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "patnm", patnm); // 20090629
  591. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "astyn", ast); // 20090629
  592. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "pid", pid); // 20090629
  593. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcphngnm", prcphngnm); // 20090714
  594. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpclscd", prcpclscd); // 20091023
  595. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "drprcpetc7", drprcpetc7); // 20110202_KNUH_Start
  596. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "drprcpetc8", drprcpetc8); // 20110202_KNUH_Start
  597. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "zonecd", zonecd); // 20110211_KNUH
  598. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "pid", pid); // 20110211_KNUH
  599. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "orddeptnm", orddeptnm); //20111230_KNUH_Start 성별/나이(정보추가)
  600. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "sexage", sexage); //20111230_KNUH_Start 부서명(정보추가)
  601. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "roomcd", ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.findRow("pid", pid), "roomcd")); //20111230_KNUH_Start 부서명(정보추가)
  602. ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcpnmprt", prcpnmprtnm); //191204_AYS_MIX번호 추가
  603. // for(var k = 1; k <= addCol_Arr.length; k++){
  604. // tempColIdx = Number(colDataidx)+Number(k);
  605. // model.makeValue(dispPath + "[" + inst_cnt + "]/dispdd" + tempColIdx,"");
  606. // }
  607. //alert("경로:" + dispPath + "[" + inst_cnt + "]/patinfo");
  608. //now prcpno -> before prcpno
  609. preprcpno = nowprcpno;
  610. }
  611. tempdd = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "ddtm_calc"));
  612. tempdd = tempdd.substr(0,8);
  613. //일자컬럼찾기
  614. var colindex = fnCaptionFind(tempdd);
  615. //alert("colindex:" + colindex + "/inst_cnt:" + inst_cnt);
  616. //컬럼이 있는 경우복사
  617. if (colindex > 0) {
  618. //이번자료
  619. var temptm1 = ds_hidden_warddruginfo_warddruglist.getColumn(i, "ddtm_calc");
  620. //0919
  621. //alert ("temptm1:" + temptm1);
  622. temptm1 = fCarec_GetFillZeno(temptm1.substr(8,4), 4,0);
  623. //0919
  624. //alert ("temptm1:" + temptm1); //0000 인경우도 아직 살아있음
  625. var temptm2 = "";
  626. //기존그리드자료
  627. if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("dispdd"+colindex)) ){
  628. temptm2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "dispdd"+colindex));
  629. }
  630. if (temptm2.length > 0) {
  631. temptm2 = temptm2 + " " + temptm1;
  632. } else {
  633. temptm2 = temptm1;
  634. }
  635. //alert (temptm2 + "/" + temptm1);
  636. //sort 해야함
  637. temptm2 = temptm2.replace(":",""); //(20080804);
  638. //alert("1:" +temptm2);
  639. temptm2 = sortHashKeysString(temptm2);
  640. //alert("2:" +temptm2);
  641. //-----------------------------------(20080801)
  642. // 0900 -> 09:00
  643. temptm2 = temptm2.replace(":","");
  644. var disp1temptm2 = temptm2.split(" ");
  645. var disp2temptm2 = "";
  646. var disp3temptm2 = "";
  647. //0919
  648. //alert(disp1temptm2);
  649. for( var t=0 ; t<disp1temptm2.length ; t++ ){
  650. disp2temptm2 = disp1temptm2[t];
  651. disp2temptm2 = disp2temptm2.replace(":","");
  652. if( !utlf_isNull(disp2temptm2) ){
  653. //alert("1:"+ disp2temptm2);
  654. disp2temptm2 = disp2temptm2.substr(0,2) + ":" + disp2temptm2.substr(2,2);
  655. //alert("2:"+ disp2temptm2);
  656. if( t == (disp1temptm2.length-1) ){
  657. disp3temptm2 += disp2temptm2;
  658. } else {
  659. disp3temptm2 += disp2temptm2 + " ";
  660. }
  661. }
  662. //alert("3:" + disp3temptm2);
  663. }
  664. //alert(temptm2 + "/" + disp3temptm2);
  665. temptm2 = disp3temptm2;
  666. //-----------------------------------
  667. //정리된 시간대 반영
  668. dsf_makeValue(ds_main_warddruginfo_warddruglist, "dispdd"+colindex, "string", temptm2, inst_cnt);
  669. }
  670. }
  671. /* ------------------------------------(같은처방인경우 합치는 기능 막음):요청사항, 구현은 되었음
  672. //--------------------------------------------------------------
  673. //4.머지(화면에서)
  674. //처방적용일이 다르고, 약제,용량,수량,횟수,경로,용법이 같으면
  675. //처방번호가 달라도 row n개를 1개로 합친다.
  676. //--------------------------------------------------------------
  677. var preprcpcd = "";
  678. var preprcpvol = "";
  679. var preprcpqty = "";
  680. var preprcptims = "";
  681. var preabbrnm = "";
  682. var predrugmthdspccd = "";
  683. var nowprcpcd = "";
  684. var nowprcpvol = "";
  685. var nowprcpqty = "";
  686. var nowprcptims = "";
  687. var nowabbrnm = "";
  688. var nowdrugmthdspccd = "";
  689. var delrowyn = "";
  690. var cnt = getNodesetCount("/root/main/warddruginfo/warddruglist");
  691. for(var i = 1; i <= cnt; i++){
  692. model.makeValue(dispPath + "[" + i + "]/delrowyn","N");
  693. }
  694. for(var i = 1; i <= cnt; i++){
  695. preprcpcd = model.getValue(dispPath + "[" + i + "]/prcpcd");
  696. preprcpvol = model.getValue(dispPath + "[" + i + "]/prcpvol");
  697. preprcpqty = model.getValue(dispPath + "[" + i + "]/prcpqty");
  698. preprcptims = model.getValue(dispPath + "[" + i + "]/prcptims");
  699. preabbrnm = model.getValue(dispPath + "[" + i + "]/abbrnm");
  700. predrugmthdspccd= model.getValue(dispPath + "[" + i + "]/drugmthdspccd");
  701. delrowyn = model.getValue(dispPath + "[" + i + "]/delrowyn");
  702. if (delrowyn == "Y") continue;
  703. for (var j=1;j<=cnt;j++) {
  704. if (j==i) continue;
  705. nowprcpcd = model.getValue(dispPath + "[" + j + "]/prcpcd");
  706. nowprcpvol = model.getValue(dispPath + "[" + j + "]/prcpvol");
  707. nowprcpqty = model.getValue(dispPath + "[" + j + "]/prcpqty");
  708. nowprcptims = model.getValue(dispPath + "[" + j + "]/prcptims");
  709. nowabbrnm = model.getValue(dispPath + "[" + j + "]/abbrnm");
  710. nowdrugmthdspccd = model.getValue(dispPath + "[" + j + "]/drugmthdspccd");
  711. if ( nowprcpcd == preprcpcd &&
  712. nowprcpvol == preprcpvol &&
  713. nowprcpqty == preprcpqty &&
  714. nowprcptims == preprcptims &&
  715. nowabbrnm == preabbrnm &&
  716. nowdrugmthdspccd == predrugmthdspccd ) {
  717. preprcpcd = nowprcpcd;
  718. preprcpvol = nowprcpvol;
  719. preprcpqty = nowprcpqty;
  720. preprcptims = nowprcptims;
  721. preabbrnm = nowabbrnm;
  722. predrugmthdspccd = nowdrugmthdspccd;
  723. model.makeValue(dispPath + "[" + j + "]/delrowyn","Y");
  724. for (var col=colDataidx+1;col<=pGrd.cols;col++ ) {
  725. var temptm1 = model.getValue(dispPath + "[" + j + "]/dispdd"+col);
  726. var temptm2 = model.getValue(dispPath + "[" + i + "]/dispdd"+col);
  727. var temptm = "";
  728. //상위loop = 상위loop || ' ' || 하위loop
  729. if (temptm2.length >0 && temptm1.length >0 ) {
  730. temptm = temptm2 + " " + temptm1;
  731. } else if (temptm2.length >0) {
  732. temptm = temptm2;
  733. } else if (temptm1.length >0) {
  734. temptm = temptm1;
  735. } else {
  736. temptm = "";
  737. }
  738. //정렬
  739. if (temptm != "") temptm = sortHashKeysString(temptm);
  740. //값반영
  741. model.makeValue(dispPath + "[" + i +"]/dispdd" + col,temptm);
  742. }
  743. }
  744. }
  745. }
  746. //--------------------------------------------------------------
  747. //5. 그리드 정리1
  748. //합쳐진 row는 숨긴다.
  749. //--------------------------------------------------------------
  750. //for(var i = 1; i <= cnt; i++){
  751. // var delflag = model.getValue(dispPath + "[" + i + "]/delrowyn");
  752. // if (delflag == "Y") pGrd.rowHidden(i) = true;
  753. //}
  754. //return;
  755. for(var i = 1; i <=cnt ; i++){
  756. var delflag = model.getValue(dispPath + "[" + i + "]/delrowyn");
  757. if (delflag == "Y") {
  758. grd_druglist.deleteRow(i);
  759. i--;
  760. }
  761. }
  762. */
  763. //--------------------------------------------------------------
  764. //6. 그리드 정리2
  765. //합쳐진 col는 숨긴다.
  766. //--------------------------------------------------------------
  767. if( group3.grd_druglist.rowcount < 1 ) return;
  768. var fromdd = ds_main_cond.getColumn(0, "orddd"); //조회일자
  769. var todd = getDateAddc(fromdd,1); //조회일자+1
  770. //var sCaption = grd_druglist.caption.split("^");
  771. //------------------(20080802)
  772. //--------------------------------------------------------------
  773. //7. 해당하는 자료만 나오도록 한다.(컬럼)
  774. //--------------------------------------------------------------
  775. var sCaptionDt = "";
  776. for( var i=(group3.grd_druglist.getCellCount("Body")-1) ; i >= colDataidx ; i-- ){
  777. sCaptionDt = group3.grd_druglist.getCellProperty("Head", i, "text");
  778. sCaptionDt = sCaptionDt.replace("-","");
  779. sCaptionDt = sCaptionDt.replace("-",""); //막지말것
  780. if (sCaptionDt >= fromdd && sCaptionDt <= todd) {
  781. } else {
  782. group3.grd_druglist.deleteContentsCol("body", i, false);
  783. }
  784. }
  785. //------------------(20080802)
  786. //------------------(20080802)
  787. //--------------------------------------------------------------
  788. //8. 해당하는 자료만 나오도록 한다.(row)
  789. //--------------------------------------------------------------
  790. var rows = ds_main_warddruginfo_warddruglist.rowcount;
  791. if( rows <= 1 ) return;
  792. var rowidx = 0;
  793. for( var row=1 ; row<=rows ; row++ ){
  794. if( utlf_isNull(group3.grd_druglist.getCellValue(rowidx,colDataidx)) &&
  795. utlf_isNull(group3.grd_druglist.getCellValue(rowidx,colDataidx+1)) ){
  796. ds_main_warddruginfo_warddruglist.deleteRow(rowidx);
  797. rowidx --;
  798. } else {
  799. rowidx ++;
  800. }
  801. }
  802. //------------------(20080802)
  803. //------------------(20080804)
  804. // var srows = getNodesetCount("/root/main/warddruginfo/warddruglist");
  805. //
  806. //
  807. // for(var i = (sCaption.length-1) ; i >= colDataidx ; i--){
  808. //
  809. // sCaptionDt = sCaption[i];
  810. // sCaptionDt = sCaptionDt.replace("-","");
  811. // sCaptionDt = sCaptionDt.replace("-",""); //막지말것
  812. //
  813. // //---------------------(20080803)
  814. // if (sCaptionDt >= fromdd && sCaptionDt <= todd) {
  815. // } else {
  816. // grd_druglist.deleteColumn(i);
  817. // }
  818. //
  819. // //---------------------(20080802)
  820. // // fromdd 이상부터만 조회한다.
  821. // //alert( sCaptionDt + "/" + fromdd);
  822. // //if (sCaptionDt >= fromdd) {
  823. // //} else {
  824. // // grd_druglist.deleteColumn(i);
  825. // //}
  826. // //---------------------(20080802)
  827. // }
  828. //------------------(20080804)
  829. //grd_druglist.refresh();
  830. // model.makeValue("/root/main/cond/title", "투약 work list(" + rdo_drugflag.label + ")");
  831. // model.makeValue("/root/main/cond/printdd", getCurrentDate());
  832. // model.makeValue("/root/main/cond/printtm", getCurrentTime().substr(0,4));
  833. // if(cnt > 0){
  834. // exeReportPreview("RPMNR06301", "XMLSTR" , "" , "" , "false" , "false", "", "", "", "false");
  835. // }else{
  836. // resetReportPreview();
  837. // messageBox("출력할 내용이","I004");
  838. // }
  839. //-----------------------------(20080801)미작업분
  840. //마약,향정신성인 경우
  841. //if(spcldrug == "M"){
  842. //if( spcldrug == "M" || spcldrug == "H" ){
  843. // grd_druglist.cellstyle("font-weight",i+1,1,i+1,grd_colcnt-3) = "bold";
  844. // grd_druglist.cellstyle("font-weight",i+1,grd_colcnt-1,i+1,grd_colcnt-1) = "bold";
  845. //}
  846. var pGrd = group3.grd_druglist;
  847. var pGrdCnt = ds_main_warddruginfo_warddruglist.rowcount;
  848. var pGrdFlag = false;
  849. var pGrdValue = "";
  850. if (pGrdCnt <= 0 ) return;
  851. var pPatinfo = "";
  852. var sExprFont = "EXPR(";
  853. var sExprColor = "EXPR(";
  854. var sExprLine = "EXPR(";
  855. for( var t=0 ;t<pGrdCnt ; t++ ){
  856. pGrdValue = ds_main_warddruginfo_warddruglist.getColumn(t, "spcldrug");
  857. pGrdFlag = false;
  858. if (pGrdValue == "M" || pGrdValue == "H") pGrdFlag = true;
  859. if (pGrdFlag == true) {
  860. sExprFont += "currow == "+t+" ? 'arial,9,bold' : ";
  861. }
  862. //--------------------(20081117)
  863. //머지된것중에서 동일한 경우는 색상변경으로 보이지 않게함
  864. if( pPatinfo == ds_main_warddruginfo_warddruglist.getColumn(t, "patinfo") ){
  865. sExprColor += "currow == "+t+" ? 'white' : ";
  866. } else {
  867. pPatinfo = ds_main_warddruginfo_warddruglist.getColumn(t, "patinfo");
  868. //20110907_KNUH_Start 환자별 구분선 추가(빨간색)
  869. if( t != 0 ){
  870. sExprLine += "currow == "+(t-1)+" ? '3 solid #B0B0B0ff,1 solid #B0B0B0ff,1 solid #ff0000,1 solid #B0B0B0ff' : ";
  871. }
  872. }
  873. //--------------------(20081117)
  874. }
  875. sExprFont += "'arial,9')";
  876. sExprColor += "'')";
  877. for( var i=1 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
  878. group3.grd_druglist.setCellProperty("Body", i, "font", sExprFont);
  879. group3.grd_druglist.setCellProperty("Body", i, "selectfont", sExprFont);
  880. }
  881. for( var i=0 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
  882. if( i>5 && i<16 ){
  883. group3.grd_druglist.setCellProperty("Body", i, "line", sExprLine+"'1 solid #B0B0B0ff,0 none #B0B0B0ff')");
  884. group3.grd_druglist.setCellProperty("Body", i, "selectline", sExprLine+"'1 solid #B0B0B0ff,0 none #B0B0B0ff')");
  885. }else{
  886. group3.grd_druglist.setCellProperty("Body", i, "line", sExprLine+"'')");
  887. group3.grd_druglist.setCellProperty("Body", i, "selectline", sExprLine+"'')");
  888. }
  889. }
  890. group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "patinfo"), "color", sExprColor);
  891. group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "patinfo"), "color2", sExprColor);
  892. group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "patinfo"), "selectcolor", sExprColor);
  893. //-----------------------------
  894. }
  895. }
  896. function cf_TXMNR06301(sSvcId, nErrorCode, sErrorMsg) {
  897. arErrorCode.push(sSvcId, nErrorCode);
  898. }
  899. function cf_TRMNR06301(sSvcId, nErrorCode, sErrorMsg) {
  900. arErrorCode.push(sSvcId, nErrorCode);
  901. }
  902. /**
  903. * @---------------------------------------------------
  904. * @desc : 배열에 문자가 있는지 확인하여 없으면 배열에 추가
  905. * @param : strSrc - 전체 문장
  906. * @param : strFind - 찾을 문장
  907. * @return : boolean
  908. * @---------------------------------------------------
  909. */
  910. function fnCaptionFind(strFind) {
  911. var pGrd = group3.grd_druglist;
  912. var sGrdCap1 = "";//pGrd.caption.split("^");
  913. var col_index = 0;
  914. var sDT = "";
  915. for( var col1=0 ; col1<pGrd.getCellCount("Body") ; col1++ ){
  916. //---------------(20080802)
  917. //if (sGrdCap1[col1] == strFind) {
  918. sDT = utlf_transNullToEmpty(pGrd.getCellProperty("Head", col1, "text"));//sGrdCap1[col1];
  919. sDT = sDT.replace("-","");
  920. sDT = sDT.replace("-",""); //풀지말것
  921. //alert(sDT + "/" + strFind);
  922. if( sDT == strFind ){
  923. col_index = col1;
  924. col_index ++;
  925. break;
  926. }
  927. }
  928. return col_index;
  929. }
  930. /**
  931. * @---------------------------------------------------
  932. * @desc : 배열에 문자가 있는지 확인하여 없으면 배열에 추가
  933. * @param : strSrc - 전체 문장
  934. * @param : strFind - 찾을 문장
  935. * @return : boolean
  936. * @---------------------------------------------------
  937. */
  938. function careIsSearchString(strSrc, strFind){
  939. var flag = false;
  940. for( var i=0 ; i<strSrc.length ; i++ ){
  941. if( strFind.length != 8 ){
  942. if( fCarec_GetFillZeno(strFind,4,0) == fCarec_GetFillZeno(strSrc[i],4,0) ){
  943. flag = true;
  944. break;
  945. }
  946. } else {
  947. if( strFind == strSrc[i] ){
  948. flag = true;
  949. break;
  950. }
  951. }
  952. }
  953. if( flag != true ){
  954. if( strFind.length != 8 ){
  955. strSrc[strSrc.length] = fCarec_GetFillZeno(strFind,4,0);
  956. } else {
  957. strSrc[strSrc.length] = strFind;
  958. }
  959. }
  960. }
  961. /**
  962. * @group :
  963. * @ver : 2007.06.23
  964. * @by : 최경용
  965. * @---------------------------------------------------
  966. * @type : function
  967. * @access : public
  968. * @desc : 정렬
  969. * @param :
  970. * @param :
  971. * @return :
  972. * @---------------------------------------------------
  973. */
  974. function sortHashKeysArray(sColArray){
  975. var temp;
  976. //배열안의 내용 정렬
  977. for( var i=0 ; i<sColArray.length ; i++ ){
  978. for( var j=0 ; j<sColArray.length ; j++ ){
  979. if( sort2(sColArray[i],sColArray[j]) == false ){
  980. temp = sColArray[i];
  981. sColArray[i] = sColArray[j];
  982. sColArray[j] = temp;
  983. }
  984. }
  985. }
  986. return sColArray;
  987. }
  988. function sortHashKeysString(sColString){
  989. var sColArray = new Array;
  990. //string -> 배열로
  991. var sCol = sColString.split(" ");
  992. var temp = "";
  993. for( var i=0 ; i<sCol.length ; i++ ){
  994. //sColArray[i] = Number(sCol[i]);
  995. sColArray[i] = fCarec_GetFillZeno(sCol[i],4,0);
  996. sColArray[i] = sColArray[i].toString().replace(":",""); //-----(20080919)
  997. }
  998. //배열 정렬
  999. for( var i=0 ; i<sColArray.length ; i++ ){
  1000. for( var j=0 ; j<sColArray.length ; j++ ){
  1001. if( sort2(sColArray[i],sColArray[j]) == false ){
  1002. temp = fCarec_GetFillZeno(sColArray[i],4,0);
  1003. sColArray[i] = fCarec_GetFillZeno(sColArray[j],4,0);
  1004. sColArray[j] = fCarec_GetFillZeno(temp,4,0);
  1005. }
  1006. }
  1007. }
  1008. //중복제거
  1009. sColString = "";
  1010. for( var i=0 ; i<sColArray.length ; i++ ){
  1011. if( utlf_isNull(sColArray[i]) ) continue;
  1012. for( var j=(i+1) ; j<sColArray.length ; j++ ){
  1013. if( sColArray[i] == sColArray[j] ) sColArray[j] = "";
  1014. }
  1015. }
  1016. //배열 -> string
  1017. sColString = "";
  1018. for( var i=0 ; i<sColArray.length ; i++ ){
  1019. //if (sColArray[i] == "0000") continue; //---0919
  1020. sColString += sColArray[i] + " ";
  1021. }
  1022. //마지막 " " 제거
  1023. sColString = sColString.substr(0,sColString.length-1);
  1024. //string 리턴
  1025. return sColString;
  1026. }
  1027. //--------------------(20080605)
  1028. // 음수끼리의 정렬은 반대임(기능추가)
  1029. // -1800 < -2000 임 시간이므로
  1030. //--------------------
  1031. function sort2(a,b){
  1032. // 두변수가 전부 음수인 경우(음수,음수) -1800 < -2000
  1033. if( parseInt(a) < 0 && parseInt(b) < 0 ){
  1034. if( parseInt(a) < parseInt(b) ){
  1035. return true;
  1036. }else if( parseInt(a) > parseInt(b) ){
  1037. return false;
  1038. }else{
  1039. var sort = new Array(a,b);
  1040. sort.sort();
  1041. return (sort[0] == a)? false:true;
  1042. }
  1043. } else {
  1044. //그외경우 (음수,양수/양수,음수/양수,양수)
  1045. if(parseInt(a) > parseInt(b)){
  1046. return true;
  1047. }else if(parseInt(a) < parseInt(b)){
  1048. return false;
  1049. }else{
  1050. var sort = new Array(a,b);
  1051. sort.sort();
  1052. return (sort[0] == a)? false:true;
  1053. }
  1054. }
  1055. }
  1056. /**
  1057. * @group :
  1058. * @ver : 20080.06.12
  1059. * @by : 김보성
  1060. * @---------------------------------------------------
  1061. * @type : function
  1062. * @access : public
  1063. * @desc : 조회
  1064. * @param :
  1065. * @return :
  1066. * @---------------------------------------------------
  1067. */
  1068. function fWorkListPrint() {
  1069. var pGrd = group3.grd_druglist;
  1070. var stitle1 = "";
  1071. var stitle2 = "";
  1072. var stitle3 = ""; //--(20080923)
  1073. if( pGrd.rowcount < 1 ){
  1074. sysf_messageBox("자료가 존재하지 않습니다.","E999");
  1075. return;
  1076. }
  1077. //-----------------------------(20080801)
  1078. //stitle1 = com_wardcd.label;
  1079. //stitle2 = "전체";
  1080. //stitle3 = "전체";
  1081. //if (com_roomcd.label.replace("-","") != "") stitle2 = com_roomcd.label + " 호";
  1082. //if (ipt_pid.label != "") stitle2 = opt_hngnm.label;
  1083. //if (rdo_drugflag.label != "") stitle3 = rdo_drugflag.label;
  1084. //model.makeValue("/root/main/cond/title", "투약 work list(" + stitle1 + "-" + stitle2 + "-" + stitle3 + ")");
  1085. //-----------------------------(20080801)
  1086. //-----------------------------(20081119)
  1087. ds_main_cond.setColumn(0, "title", "투약 work list");
  1088. //-----------------------------(20081119)
  1089. //-------------(20080802)
  1090. var tempdd = ds_main_cond.getColumn(0, "orddd"); //printdtfr
  1091. ds_main_cond.setColumn(0, "printdtfr", tempdd);
  1092. var colindex = fnCaptionFind(tempdd);
  1093. colindex --;
  1094. //var sGrdCap1 = pGrd.caption.split("^");
  1095. tempdd = "";
  1096. if( pGrd.getCellCount("Body") > (colindex+1) ){
  1097. tempdd = pGrd.getCellProperty("Head", colindex+1, "text");
  1098. if( !utlf_isNull(tempdd) ){ //2019.05.28.prcphopedd 가 다음날일경우 예외
  1099. tempdd = tempdd.replace("-","");
  1100. tempdd = tempdd.replace("-",""); //주석처리하지말것
  1101. }
  1102. ds_main_cond.setColumn(0, "printdtto", tempdd);
  1103. }
  1104. //-------------(20080802)
  1105. ds_main_cond.setColumn(0, "printdd", utlf_getCurrentDate());
  1106. ds_main_cond.setColumn(0, "printtm", utlf_getCurrentTime().substr(0,4));
  1107. ds_main_prtinfo_cond.copyRow(0, ds_main_cond, 0);
  1108. var rows = ds_main_warddruginfo_warddruglist.rowcount;
  1109. var sPathTemp = "/root/main/prtinfo/warddruginfo/warddruglist";
  1110. var sPathDrug = "/root/main/warddruginfo/warddruglist";
  1111. //------------(20081117)
  1112. var sTempPid = group3.group2.ipt_pid.value;
  1113. //------------(20081117)
  1114. //--------------(20080910)
  1115. var prtflag = false;
  1116. var makerow = 0;
  1117. //--------------(20080910)
  1118. var sPathTemp2 = "/root/main/prtinfo/warddruginfo/warddruglist";
  1119. var sPathDrug2 = "/root/main/warddruginfo/warddruglist";
  1120. ds_main_warddruginfo_warddruglist.filter("prtchk=='1'");
  1121. ds_main_prtinfo_warddruginfo_warddruglist.copyData(ds_main_warddruginfo_warddruglist, true);
  1122. ds_main_warddruginfo_warddruglist.filter("");
  1123. if( ds_main_prtinfo_warddruginfo_warddruglist.rowcount > 0 ){
  1124. prtflag = true;
  1125. } else {
  1126. prtflag = false;
  1127. }
  1128. /*
  1129. for (var row=1;row<= rows;row++ ) {
  1130. //----------------------------(20080910)
  1131. //선택된 자료만 출력한다.
  1132. if (model.getValue(sPathDrug + "[" + row + "]/prtchk") != "true") {
  1133. continue;
  1134. }
  1135. makerow ++;
  1136. prtflag = true;
  1137. //----------------------------
  1138. model.makeNode(sPathTemp + "[" + makerow + "]");
  1139. //---------(20080923)
  1140. //model.makeValue(sPathTemp + "[" + makerow + "]/patinfo", model.getValue(sPathDrug + "[" + row + "]/patinfo"));
  1141. var vpatinfo = new Array;
  1142. vpatinfo = model.getValue(sPathDrug + "[" + row + "]/patinfo").toString().split(" ");
  1143. var vTemp = "";
  1144. for (var i=0;i<vpatinfo.length;i++) {
  1145. vTemp += vpatinfo[i].toString() + "\n";
  1146. }
  1147. model.makeValue(sPathTemp + "[" + makerow + "]/patinfo", vTemp);
  1148. //---------(20080923)
  1149. //---------(20081117)
  1150. //전부이런형태로 출력한다.
  1151. //if (sTempPid != "") {
  1152. // model.makeValue(sPathTemp + "[" + makerow + "]/pid", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/pid"));
  1153. // model.makeValue(sPathTemp + "[" + makerow + "]/patnm", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/patnm"));
  1154. // model.makeValue(sPathTemp + "[" + makerow + "]/sexage", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/sexage"));
  1155. // model.makeValue(sPathTemp + "[" + makerow + "]/roomcd1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/roomcd") + '호');
  1156. // model.makeValue(sPathTemp + "[" + makerow + "]/orddeptnm", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/orddeptnm"));
  1157. //}
  1158. //---------(20081117)
  1159. sTempPid = vpatinfo[0];
  1160. //alert(sTempPid);
  1161. //---------(20081119)
  1162. model.makeValue(sPathTemp + "[" + makerow + "]/pid1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/pid"));
  1163. model.makeValue(sPathTemp + "[" + makerow + "]/patnm1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/patnm"));
  1164. model.makeValue(sPathTemp + "[" + makerow + "]/sexage1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/sexage"));
  1165. model.makeValue(sPathTemp + "[" + makerow + "]/roomcd1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/roomcd") + '호');
  1166. model.makeValue(sPathTemp + "[" + makerow + "]/orddeptnm1", model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + sTempPid + "']/orddeptnm"));
  1167. //---------(20081119)
  1168. model.makeValue(sPathTemp + "[" + makerow + "]/prcpkindnm", model.getValue(sPathDrug + "[" + row + "]/prcpkindnm"));
  1169. model.makeValue(sPathTemp + "[" + makerow + "]/prcpmixno", model.getValue(sPathDrug + "[" + row + "]/prcpmixno"));
  1170. //------------(20080801)
  1171. if ( model.getValue(sPathDrug + "[" + row + "]/spcldrug") == "M" ) { //마약
  1172. model.makeValue(sPathTemp + "[" + makerow + "]/spcldrug", "Y");
  1173. } else if ( model.getValue(sPathDrug + "[" + row + "]/spcldrug") == "H" ) {
  1174. model.makeValue(sPathTemp + "[" + makerow + "]/spcldrug", "Y"); //향정신성
  1175. } else {
  1176. model.makeValue(sPathTemp + "[" + makerow + "]/spcldrug", "N"); //그외
  1177. }
  1178. //-------------
  1179. model.makeValue(sPathTemp + "[" + makerow + "]/prcpcd", model.getValue(sPathDrug + "[" + row + "]/prcpcd"));
  1180. //-----------------------(20080804)
  1181. //model.makeValue(sPathTemp + "[" + row + "]/prcpnm", model.getValue(sPathDrug + "[" + row + "]/prcpnm"));
  1182. var sMixno = model.getValue(sPathDrug + "[" + row + "]/prcpmixno");
  1183. //if (sMixno != "") {
  1184. // model.makeValue(sPathTemp + "[" + makerow + "]/prcpnm", "(" + sMixno + ")" + model.getValue(sPathDrug + "[" + row + "]/prcpnm"));
  1185. //} else {
  1186. model.makeValue(sPathTemp + "[" + makerow + "]/prcpnm", model.getValue(sPathDrug + "[" + row + "]/prcpnm"));
  1187. //}
  1188. //-----------------------
  1189. //model.makeValue(sPathTemp + "[" + row + "]/prcpvol", model.getValue(sPathDrug + "[" + row + "]/prcpvol"));
  1190. model.makeValue(sPathTemp + "[" + makerow + "]/prcpvol", model.getValue(sPathDrug + "[" + row + "]/prcpvol") + "" +
  1191. model.getValue(sPathDrug + "[" + row + "]/prcpvolunitflag"));
  1192. model.makeValue(sPathTemp + "[" + makerow + "]/prcpvolunitflag",model.getValue(sPathDrug + "[" + row + "]/prcpvolunitflag"));
  1193. model.makeValue(sPathTemp + "[" + makerow + "]/prcpqty", model.getValue(sPathDrug + "[" + row + "]/prcpqty") + "" +
  1194. model.getValue(sPathDrug + "[" + row + "]/prcpqtyunitflag"));
  1195. model.makeValue(sPathTemp + "[" + makerow + "]/prcpqtyunitflag",model.getValue(sPathDrug + "[" + row + "]/prcpqtyunitflag"));
  1196. model.makeValue(sPathTemp + "[" + makerow + "]/prcptims", model.getValue(sPathDrug + "[" + row + "]/prcptims"));
  1197. model.makeValue(sPathTemp + "[" + makerow + "]/abbrnm", model.getValue(sPathDrug + "[" + row + "]/abbrnm"));
  1198. model.makeValue(sPathTemp + "[" + makerow + "]/drugmthdspccd", model.getValue(sPathDrug + "[" + row + "]/drugmthdspccd"));
  1199. model.makeValue(sPathTemp + "[" + makerow + "]/prcpdelivefact", model.getValue(sPathDrug + "[" + row + "]/prcpdelivefact"));
  1200. model.makeValue(sPathTemp + "[" + makerow + "]/orddrnm", model.getValue(sPathDrug + "[" + row + "]/orddrnm"));
  1201. model.makeValue(sPathTemp + "[" + makerow + "]/fstrgstdt", model.getValue(sPathDrug + "[" + row + "]/fstrgstdt"));
  1202. model.makeValue(sPathTemp + "[" + makerow + "]/prcphopedd", model.getValue(sPathDrug + "[" + row + "]/prcphopedd"));
  1203. model.makeValue(sPathTemp + "[" + makerow + "]/drprcpetc7", model.getValue(sPathDrug + "[" + row + "]/drprcpetc7"));
  1204. model.makeValue(sPathTemp + "[" + makerow + "]/drprcpetc8", model.getValue(sPathDrug + "[" + row + "]/drprcpetc8"));
  1205. //-----------------(20080802)
  1206. model.makeValue(sPathTemp + "[" + makerow + "]/dispdd1", grd_druglist.ValueMatrix(row,colDataidx ) );
  1207. model.makeValue(sPathTemp + "[" + makerow + "]/dispdd2", grd_druglist.ValueMatrix(row,colDataidx+1) );
  1208. //model.makeValue(sPathTemp + "[" + row + "]/dispdd1", grd_druglist.ValueMatrix(row,colindex ));
  1209. //model.makeValue(sPathTemp + "[" + row + "]/dispdd2", grd_druglist.ValueMatrix(row,colindex+1 ));
  1210. //-----------------(20080802)
  1211. //-----------------------(20081121)
  1212. model.makeValue(sPathTemp + "[" + makerow + "]/prcpnmast", model.getValue(sPathDrug + "[" + row + "]/prcpnmast"));
  1213. //-----------------------(20081217)
  1214. if (sMixno != "") {
  1215. model.makeValue(sPathTemp + "[" + makerow + "]/prcpnmprt", "(" + sMixno + ")" + model.getValue(sPathDrug + "[" + row + "]/prcpnmprt"));
  1216. } else {
  1217. model.makeValue(sPathTemp + "[" + makerow + "]/prcpnmprt", model.getValue(sPathDrug + "[" + row + "]/prcpnmprt"));
  1218. }
  1219. //-----------------------(20081217)
  1220. //model.makeValue(sPathTemp + "[" + makerow + "]/prcpnmprt", model.getValue(sPathDrug + "[" + row + "]/prcpnmprt"));
  1221. //-----------------------(20081121)
  1222. model.makeValue(sPathTemp + "[" + makerow + "]/zonecd", model.getValue(sPathDrug + "[" + row + "]/zonecd"));
  1223. }
  1224. */
  1225. //------------------------(20080910)
  1226. if ( prtflag == true ) {
  1227. //exeReportPreview("RPMNR06301", "XMLSTR" , "/root/temp/prtinfo" , "" , "false" , "false", "", "", "", "false");
  1228. //-----------(20081118)
  1229. //통합함
  1230. //if (sTempPid == "") {
  1231. // exeReportPreview("RPMNR06301", "XMLSTR" , "/root/main/prtinfo");
  1232. //} else {
  1233. //exeReportPreview("RPMNR06302", "XMLSTR" , "/root/main/prtinfo");
  1234. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1235. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/warddruginfo/warddruglist", ds_main_prtinfo_warddruginfo_warddruglist); // 데이터셋
  1236. rptf_setNodeListToDOM(objDOM, "root/main/prtinfo/cond", ds_main_prtinfo_cond); // 데이터셋
  1237. var objParam = new Object();
  1238. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1239. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  1240. rptf_exeReportPreview30(["RPMNR06302"],[objParam], option);
  1241. //}
  1242. //-----------(20081117)
  1243. } else {
  1244. sysf_messageBox("출력할 내용이","I004");
  1245. }
  1246. //------------------------(20080910)
  1247. }
  1248. function fWorkListPrint_OLD(){
  1249. var pid = model.getValue("/root/main/cond/pid");
  1250. var indd = "";
  1251. var cretno = "";
  1252. if(pid != ""){
  1253. indd = model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + pid + "']/indd");
  1254. cretno = model.getValue("/root/main/wardpatinfo/wardpatlist[pid ='" + pid + "']/cretno");
  1255. model.makeValue("/root/main/cond/indd", indd);
  1256. model.makeValue("/root/main/cond/cretno", cretno);
  1257. }
  1258. model.resetInstanceNode("/root/send/reqdata");
  1259. var orddd = model.getValue("/root/main/cond/orddd");
  1260. var yorddd = getDateAddc(orddd,-1);
  1261. var torddd = getDateAddc(orddd,1);
  1262. model.makeValue("/root/main/cond/yorddd", yorddd);
  1263. model.makeValue("/root/main/cond/torddd", torddd);
  1264. model.copynode("/root/send/reqdata", xCondPath);
  1265. model.removeNodeSet("/root/hidden/warddruginfo");
  1266. model.removeNodeSet("/root/main/warddruginfo");
  1267. if(submit("TRMNR06301")){
  1268. var cnt = getNodesetCount("/root/hidden/warddruginfo/warddruglist");
  1269. var inst_cnt = 0;
  1270. var prev_prcpno = "";
  1271. var drugtmspec = "";
  1272. var drugtmspeccal = "";
  1273. var medrbaseexistyn = "";
  1274. var prcpno = "";
  1275. var mod = "";
  1276. var quotient = "";
  1277. var prcpvol = "";
  1278. var prcpvolunitflag = "";
  1279. var prcpqty = "";
  1280. var prcpqtyunitflag = "";
  1281. var carebasedd = "";
  1282. var carebasetm = "";
  1283. for(var i = 1; i <= cnt; i++){
  1284. prcpno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpno");
  1285. drugtmspec = model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec");
  1286. medrbaseexistyn = model.getValue(xHiddenWardDrugPath + "[" + i + "]/medrbaseexistyn");
  1287. if(medrbaseexistyn == "Y"){
  1288. carebasedd = drugtmspec.substr(0,8);
  1289. carebasetm = drugtmspec.substr(8,4);
  1290. if(carebasedd == orddd){
  1291. mod = carebasetm;
  1292. quotient = 0;
  1293. }else if(carebasedd == orddd){
  1294. mod = carebasetm;
  1295. quotient = 1;
  1296. }else{}
  1297. }else if(medrbaseexistyn == "N"){
  1298. mod = fCarec_GetFillZeno(parseInt(Number(drugtmspec) % 2400),4,0);
  1299. quotient = parseInt(Number(drugtmspec) / 2400);
  1300. }
  1301. if(i == 1 || prev_prcpno != prcpno){
  1302. inst_cnt++;
  1303. prcpvol = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpvol");
  1304. prcpvolunitflag = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpvolunitflag");
  1305. prcpqty = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpqty");
  1306. prcpqtyunitflag = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpqtyunitflag");
  1307. model.makeNode(xWardDrugListPath + "[" + inst_cnt + "]");
  1308. model.copynode(xWardDrugListPath + "[" + inst_cnt + "]", xHiddenWardDrugPath + "[" + i + "]");
  1309. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/prcpvolnm", prcpvol + prcpvolunitflag);
  1310. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/prcpqtynm", prcpqty + prcpqtyunitflag);
  1311. model.makeNode(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspeccal");
  1312. model.makeNode(xWardDrugListPath + "[" + inst_cnt + "]/tdrugtmspeccal");
  1313. if(quotient == 0){
  1314. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspeccal", mod);
  1315. }else if(quotient == 1){
  1316. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/tdrugtmspeccal", mod);
  1317. }else{}
  1318. prev_prcpno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpno");
  1319. }else{
  1320. drugtmspeccal = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspeccal");
  1321. tdrugtmspeccal = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/tdrugtmspeccal");
  1322. if(quotient == 0){
  1323. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspeccal", drugtmspeccal + " " + mod);
  1324. }else if(quotient == 1){
  1325. model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/tdrugtmspeccal", tdrugtmspeccal + " " + mod);
  1326. }else{}
  1327. }
  1328. }
  1329. model.makeValue("/root/main/cond/title", "투약 work list(" + rdo_drugflag.label + ")");
  1330. model.makeValue("/root/main/cond/printdd", getCurrentDate());
  1331. model.makeValue("/root/main/cond/printtm", getCurrentTime().substr(0,4));
  1332. if(cnt > 0){
  1333. exeReportPreview("RPMNR06301", "XMLSTR" , "" , "" , "false" , "false", "", "", "", "false");
  1334. }else{
  1335. resetReportPreview();
  1336. messageBox("출력할 내용이","I004");
  1337. }
  1338. }
  1339. }
  1340. /* --------------------------------------------------*/
  1341. /* type : function */
  1342. /* access : public */
  1343. /* desc : 환자정보 가져오기(20080801) */
  1344. /* param : 검색구분 */
  1345. /* return : */
  1346. /* --------------------------------------------------*/
  1347. function fSearchPatInfo(qryflag) {
  1348. var sPath1 = "/root/main/cond";
  1349. var sPath2 = "ds_patinfolist";
  1350. ds_temp_pidinfo.setColumn(0, "pid", ds_main_cond.getColumn(0, "pid_search"));
  1351. ds_temp_pidinfo.setColumn(0, "srchcond", "1");
  1352. //modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/temp", "/root/send"); 17863430
  1353. //modal("../../../pam/commonweb/xrw/SPPMC02500", qryflag,"150", "150", "SPPMC02500", "/root/source", "/root/send");
  1354. var objArg = new Object();
  1355. objArg.arg_ds_send = ds_temp_pidinfo;
  1356. frmf_modal("SPPMC02500","SPPMC02500",objArg,"",qryflag,150,150,"","","","","","M");
  1357. //환자번호 copy
  1358. var popupendflag = frmf_getParameter("SPPMC02500_popupendflag");
  1359. if (popupendflag == "ok"){
  1360. //model.makeValue(sPath1 + "/pid_search", model.getValue(sPath2 + "/pid") );
  1361. ds_main_cond.setColumn(0, "pid", ds_patinfolist.getColumn(0, "pid"));
  1362. ds_main_cond.setColumn(0, "hngnm", ds_patinfolist.getColumn(0, "hngnm"));
  1363. } else {
  1364. ds_main_cond.setColumn(0, "pid", "");
  1365. ds_main_cond.setColumn(0, "hngnm", "");
  1366. }
  1367. }
  1368. //---------------------------(20080910)
  1369. function fnZoneDisp(pFlag) {
  1370. //응급의료센터(2280200000)인 경우
  1371. //병동정보대신에 구역정보가 보임)(20080620)
  1372. if( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='002' && cdid=='"+group3.group2.com_wardcd.value+"'"), "cdid")) ){
  1373. group3.group2.cap_roomcd.visible = false;
  1374. group3.group2.com_roomcd.visible = false;
  1375. //caption17.visible = false;
  1376. //cmb_settingrn.visible = false;
  1377. group3.group2.cap_Zone.visible = true;
  1378. group3.group2.cmb_Zone.visible = true;
  1379. var zonecd = ds_main_paminfo_pamlist.getColumn(0, "sectioncd");
  1380. if( !utlf_isNull(zonecd) && zonecd != "-" ){
  1381. group3.group2.cmb_Zone.value = ds_main_paminfo_pamlist.getColumn(0, "sectioncd");
  1382. } else {
  1383. group3.group2.cmb_Zone.value = "-";
  1384. }
  1385. } else {
  1386. group3.group2.cap_roomcd.visible = true;
  1387. group3.group2.com_roomcd.visible = true;
  1388. //caption17.visible = true;
  1389. //cmb_settingrn.visible = true;
  1390. group3.group2.cap_Zone.visible = false;
  1391. group3.group2.cmb_Zone.visible = false;
  1392. if( pFlag != "init"){
  1393. fGetRoomList();
  1394. ds_main_cond.setColumn(0, "pid", "");
  1395. ds_main_cond.setColumn(0, "hngnm", "");
  1396. ds_main_cond.setColumn(0, "indd", "");
  1397. ds_main_cond.setColumn(0, "cretno", "");
  1398. ds_main_cond.setColumn(0, "roomcd", "");
  1399. ds_main_cond.setColumn(0, "settingrnid", "");
  1400. ds_main_cond.setColumn(0, "zonecd", "");
  1401. ds_hidden_warddruginfo_warddruglist.clearData();
  1402. ds_main_warddruginfo_warddruglist.clearData();
  1403. }
  1404. }
  1405. //fGetPatList();
  1406. }
  1407. //---------------------------(20080910)
  1408. //-------------------(20081117)
  1409. function fClickDrugListBefore() {
  1410. group3.grd_druglist.visible = false;
  1411. group3.bolall.visible = false; //전체선택버튼
  1412. //grpalert.visible = true;
  1413. callLoadingWindow("");
  1414. }
  1415. function fClickDrugListAfter() {
  1416. group3.grd_druglist.visible = true;
  1417. group3.bolall.visible = true; //전체선택버튼
  1418. //grpalert.visible = false;
  1419. removeLoadingWindow();
  1420. }
  1421. //--------원무팀의 입원등록에서 사용하는 것 이용함
  1422. function callLoadingWindow(msg){
  1423. //20080703 이동식 추가
  1424. //환자정보 조회 중 상태 표시
  1425. // body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:435px; top:339px; width:330px; height:120px;");
  1426. // var ivrObjt = document.all("ivr_progress");
  1427. // if( msg == '' || msg == '-' ){
  1428. // msg = "투약worklist 조회 중 입니다...";
  1429. // }
  1430. // ivrObjt.model.makeValue("/root/main/msg", msg);
  1431. // ivrObjt.model.refresh();
  1432. this.setWaitCursor(true);
  1433. }
  1434. function removeLoadingWindow(){
  1435. //20080703 이동식 추가
  1436. //환자정보 조회 중 상태 표시 지우기
  1437. //body.removeChild("ivr_progress");
  1438. this.setWaitCursor(false);
  1439. }
  1440. function WaitLoadingWindow(idx) {
  1441. // var msg = "투약worklist 조회 중 입니다...";
  1442. // //var msg = "투약기록 조회(" + idx + ") 중 입니다...";
  1443. // var ivrObjt = document.all("ivr_progress");
  1444. // model.setFocus("ivr_progress");
  1445. // ivrObjt.model.setFocus("caption75");
  1446. //
  1447. // ivrObjt.model.makeValue("/root/main/msg", msg);
  1448. this.setWaitCursor(true);
  1449. }
  1450. //-------------------(20081117)
  1451. /**
  1452. * @group :
  1453. * @ver : 2009.06.29
  1454. * @by : JA
  1455. * @---------------------------------------------------------------------------------
  1456. * @type : function
  1457. * @access : public
  1458. * @desc : 투약카드 출력 (A2:경구, A4:외용, A60:주사, A61:수액)
  1459. (SMMNR06000.js:fClickDrugPrint)-> 일괄출력기능으로 변경_20090629
  1460. * @param : sLineFlag : "Y" - 투약worklist에서 호출 시 투약카드에 점선기능 추가
  1461. * @return :
  1462. * @---------------------------------------------------------------------------------
  1463. */
  1464. function fAllDrugCardPrint(sLineFlag){
  1465. ds_send_medicard_warddruglist.clearData();
  1466. var prt_row = "1";
  1467. var prt_col = "1";
  1468. var rows = group3.grd_druglist.rowcount;
  1469. var prcpclscd = "";
  1470. var tims = "";
  1471. var mthdcd = "";
  1472. var prcpmixno = "";
  1473. var drugbasetmspec = "";
  1474. var pid = ""; // 20090629
  1475. var prcphopedd = ""; // 처방적용일_20091023
  1476. var medicardcnt = 1; //경구
  1477. //var medicardcnt5 = 1; //주사
  1478. //var medicardcnt7 = 1; //외용
  1479. var prtTims_Array = new Array;
  1480. var prtMthd_Array = new Array;
  1481. var prtBaseTims_Array = new Array;
  1482. var prtMix_Array = new Array;
  1483. var prtPid_Array = new Array; // 20090629
  1484. var k=1;
  1485. ds_send_medicard_warddruglist.clearData();
  1486. for( var i=0 ; i<rows ; i++ ){
  1487. drugbasetmspec = "";
  1488. if( ds_main_warddruginfo_warddruglist.getColumn(i, "prtchk") == "1" ){
  1489. // alert(model.getValue(xWardDrugListPath + "[" + i + "]/prtchk")+"\n"+model.getValue(xWardDrugListPath + "[" + i + "]/pid")+"\n"+model.getValue(xWardDrugListPath + "[" + i + "]/prcpcd"));
  1490. orgprcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd");
  1491. prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpclscd"); // 20091023 //원본 prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/orgprcpclscd");
  1492. tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
  1493. mthdcd = ds_main_warddruginfo_warddruglist.getColumn(i, "mthdcd");
  1494. prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
  1495. pid = ds_main_warddruginfo_warddruglist.getColumn(i, "pid"); // 20090629
  1496. prcphopedd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcphopedd");// 처방적용일_20091023
  1497. orddd = ds_main_cond.getColumn(0, "orddd"); // 조회조건의 업무일자_20091023
  1498. prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"); // 20091230추가
  1499. for( var j=fstdispcol ; j<=lstdispcol ; j++ ){
  1500. if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "dispdd"+j)) ){
  1501. drugbasetmspec += ds_main_warddruginfo_warddruglist.getColumn(i, "dispdd"+j)+" ";
  1502. }
  1503. }
  1504. //경구
  1505. /*원본_20090629_경구약은 따로따로 출력되어도 됨_신미진ITC
  1506. if(prcpclscd == "A2"){
  1507. alert(pid+"\n"+isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd, prtPid_Array, pid));
  1508. if(isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd, prtPid_Array, pid) == -1){
  1509. prtBaseTims_Array[medicardcnt] = drugbasetmspec;
  1510. prtMthd_Array[medicardcnt] = mthdcd;
  1511. prtPid_Array[medicardcnt] = pid // 20090629
  1512. model.makevalue(xWardDrugListPath + "[" + i + "]/soding", medicardcnt);
  1513. medicardcnt++;
  1514. }else{
  1515. model.makeValue(xWardDrugListPath + "[" + i + "]/soding", isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd, prtPid_Array, pid));
  1516. }
  1517. }
  1518. */
  1519. if( prcphopedd == orddd && utlf_isNull(prcpmixno) ){ // 업무일자와 처방적용일자가 동일 한 경우에만 출력, 믹스된 주사제외(믹스주사제 모두 제외여부 확인 필요!!!!!)
  1520. // 주사
  1521. // 수액제외(prcpclscd:A61)_20091023
  1522. if( orgprcpclscd == "A6" && prcpclscd != "A61" ){ // 원본 if(prcpclscd == "A6"){
  1523. if( utlf_isNull(prcpmixno) || isSearchArrayIndex(prtMix_Array, prcpmixno, prtPid_Array, pid) == -1 ){
  1524. prtMix_Array[medicardcnt] = prcpmixno;
  1525. prtPid_Array[medicardcnt] = pid // 20090629
  1526. ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
  1527. medicardcnt++;
  1528. }else{
  1529. ds_main_warddruginfo_warddruglist.setColumn(i, "soding", isSearchArrayIndex(prtMix_Array, prcpmixno, prtPid_Array, pid));
  1530. }
  1531. }
  1532. //외용
  1533. if(orgprcpclscd == "A2" || orgprcpclscd == "A4"){ // 원본 if(prcpclscd == "A2" || prcpclscd == "A4"){
  1534. ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
  1535. medicardcnt++;
  1536. }
  1537. }
  1538. // 투약카드 출력 시 사용
  1539. var drugtmspect = "";
  1540. var drugtmspectime = "";
  1541. var tmpdrugtmspect = "";
  1542. var drugtmspectlist = "";
  1543. var tims = "";
  1544. var space;
  1545. drugbasetmspec= drugbasetmspec.replace(":","");
  1546. drugtmspect = drugbasetmspec.split(" ");
  1547. tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
  1548. // 횟수별 시간공백지정
  1549. if(tims < 4){
  1550. space = " ";
  1551. }else{
  1552. space = " ";
  1553. }
  1554. /*
  1555. for(var j=1; j<drugtmspect.length; j++){
  1556. drugtmspect[j] = drugtmspect[j].replace(":","");
  1557. if(drugtmspect[j].substr(0,2) == "00"){
  1558. drugtmspect[j] = "24" + drugtmspect[j].substr(2,2);
  1559. }
  1560. }
  1561. */
  1562. // Sort기능
  1563. var tempmin=0, tempmax=0;
  1564. for( var j=1 ; j<drugtmspect.length ; j++ ){
  1565. if(Number(drugtmspect[j-1]) > Number(drugtmspect[j])){
  1566. tempmin = drugtmspect[j];
  1567. drugtmspect[j] = drugtmspect[j-1];
  1568. drugtmspect[j-1] = tempmin;
  1569. }
  1570. }
  1571. for(var j=0; j<drugtmspect.length; j++){
  1572. if(Number(drugtmspect[j]) > Number(drugtmspect[j+1])){
  1573. tempmax = drugtmspect[j];
  1574. drugtmspect[j] = drugtmspect[j+1];
  1575. drugtmspect[j+1] = tempmax;
  1576. }
  1577. }
  1578. // 시간형식 설정(ex.1600 -> 4P)
  1579. for(var j=0; j<drugtmspect.length; j++){
  1580. if( !utlf_isNull(drugtmspect[j]) ){
  1581. drugtmspect[j] = drugtmspect[j].replace(":","");
  1582. if(drugtmspect[j].substr(0,2) == "00"){
  1583. drugtmspect[j] = "24" + drugtmspect[j].substr(2,2);
  1584. }
  1585. tmpdrugtmspect = Number(drugtmspect[j]);
  1586. if(tmpdrugtmspect > 1200){
  1587. if(tmpdrugtmspect >= 1300){
  1588. tmpdrugtmspect = tmpdrugtmspect - 1200;
  1589. }
  1590. if(tmpdrugtmspect < 1000){
  1591. tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
  1592. }
  1593. if(String(tmpdrugtmspect).substr(2,2) == "00"){
  1594. drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "P" + space;
  1595. }else{
  1596. drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "P" + space;
  1597. }
  1598. }else if(tmpdrugtmspect <= 1200){
  1599. if(tmpdrugtmspect < 1000){
  1600. tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
  1601. }
  1602. if(String(tmpdrugtmspect).substr(2,2) == "00"){
  1603. drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "A" + space;
  1604. }else{
  1605. drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "A" + space;
  1606. }
  1607. }
  1608. }
  1609. ds_main_warddruginfo_warddruglist.setColumn(i, "tempdrugtmspeccal", drugtmspectime);
  1610. } // end for 투약카드
  1611. } // end if check
  1612. } // end for
  1613. for( var j=0 ; j<rows; j++ ){
  1614. if( ds_main_warddruginfo_warddruglist.getColumn(j, "prtchk") == "1" ){
  1615. ds_main_warddruginfo_warddruglist.setColumn(j, "last", medicardcnt-1);
  1616. ds_main_warddruginfo_warddruglist.setColumn(j, "row", "1");
  1617. ds_main_warddruginfo_warddruglist.setColumn(j, "col", "1");
  1618. ds_main_warddruginfo_warddruglist.setColumn(j, "sLineFlag", sLineFlag); // 20090629
  1619. ds_main_warddruginfo_warddruglist.setColumn(j, "check", ds_main_warddruginfo_warddruglist.getColumn(j, "prtchk")); // 20090629
  1620. var nRow = ds_send_medicard_warddruglist.addRow();
  1621. ds_send_medicard_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, j);
  1622. }
  1623. }
  1624. if(medicardcnt > 1){
  1625. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1626. rptf_setNodeListToDOM(objDOM, "root/send/medicard/warddruglist", ds_send_medicard_warddruglist); // 데이터셋
  1627. var objParam = new Object();
  1628. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1629. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  1630. rptf_exeReportPreview30(["RPMNR00602"],[objParam], option);
  1631. // exeReportPreview("RPMNR00602", "XMLSTR", ""); // 미리보기 기능 있음 TEST용
  1632. } else{
  1633. if(prcpclscd == "A61"){
  1634. sysf_messageBox("수액은 출력되지 않습니다.","I");
  1635. }else{
  1636. sysf_messageBox("투약카드 출력항목이 아닙니다","I");
  1637. }
  1638. }
  1639. }
  1640. /**
  1641. * @group :
  1642. * @ver : 2007.06.25
  1643. * @by : 최경용
  1644. * @--------------------------------------------------------------------
  1645. * @type : function
  1646. * @access : public
  1647. * @desc : 문자열 검색(배열)
  1648. -> SMMNR06000.js에서 투약카드 출력을 위해 가져옴.
  1649. * @param :
  1650. * @return :
  1651. * @--------------------------------------------------------------------
  1652. */
  1653. function isSearchArrayIndex(baseCol_Array, sData, prtPid_Array, pid){
  1654. for(var i = 0; i <= baseCol_Array.length; i++){
  1655. if((baseCol_Array[i]) == sData && prtPid_Array[i] == pid){
  1656. return i;
  1657. }
  1658. }
  1659. return -1;
  1660. }
  1661. function isSearchArrayIndex2(baseCol_Array1, sData1, baseCol_Array2, sData2, prtPid_Array, pid){
  1662. for(var i = 0; i <= baseCol_Array1.length; i++){
  1663. if(baseCol_Array1[i] == sData1 && baseCol_Array2[i] == sData2 && prtPid_Array[i] == pid){
  1664. return i;
  1665. }
  1666. }
  1667. return -1;
  1668. }
  1669. function fSettingLine() {
  1670. var firstpid="";
  1671. var pid ="";
  1672. if(grd_druglist.rows > grd_druglist.fixedRows) {
  1673. firstpid = grd_druglist.valueMatrix(1, grd_druglist.colRef("pid"));
  1674. }
  1675. for(var i = grd_druglist.fixedRows; i < grd_druglist.rows; i++){
  1676. pid = grd_druglist.valueMatrix(i, grd_druglist.colRef("pid"));
  1677. if(firstpid != pid) {
  1678. firstpid = pid;
  1679. //grd_test
  1680. grd_druglist.rowStyle(i-1, "all", "border-bottom-color") = "#ff0000";
  1681. grd_druglist.rowStyle(i-1, "all", "border-top-width") = "3";
  1682. }
  1683. }
  1684. grd_druglist.refresh();
  1685. }
  1686. ]]></Script>