SMADT20300.xjs 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2015-08-31
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2015-08-31 TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. //////////////////////////////// SMADT20300.xjs ////////////////////////////////////////////
  16. //조회조건에 맞는 데이터가 있는지를 chk
  17. var chk_drugno = 0;
  18. var chk_wardcd = 0;
  19. var chk_pid = 0;
  20. var chk_cnt = 0;
  21. /****************************************************************************************
  22. * Argument : N/A
  23. * Description : 초기화
  24. ****************************************************************************************/
  25. function fInit() {
  26. //특수조제실분리
  27. var drugflag = this.frmf_getMenuParam();
  28. ds_hidden_srchinfo.setColumn(0,"drugflag", drugflag);
  29. if(drugflag == "null" || utlf_isNull(drugflag)) {
  30. ds_hidden_srchinfo.setColumn(0,"drugflag", "S");
  31. }
  32. // grd_prcplist.fixedcellcheckbox(0,grd_prcplist.colRef("sel")) = true;
  33. // grd_sumlist.fixedcellcheckbox(0,grd_sumlist.colRef("sel")) = true;
  34. // grdf_initGrid(group3.grd_sumlist); // 그리드 전체 체크 기능 + 그리드소트
  35. grdf_initGrid(group3.grd_prcplist); // 그리드 전체 체크 기능 + 그리드소트
  36. ds_hidden_srchinfo.setColumn(0,"drugdd" , utlf_getCurrentDate());
  37. ds_hidden_srchinfo.setColumn(0,"drugkindall", "Y");
  38. ds_hidden_srchinfo.setColumn(0,"drugkind" , "D|B|T|C|1");
  39. ds_hidden_srchinfo.setColumn(0,"instcd" , sysf_getUserInfo("dutplceinstcd"));
  40. // if(utlf_isNull(ds_hidden_srchinfo.getColumn(0,"instcd"))) {
  41. // ds_hidden_srchinfo.setColumn(0,"instcd", "031");
  42. // }
  43. if(ds_hidden_srchinfo.getColumn(0,"ioflag") == "O") {
  44. group4.ipt_wardnm.visible = false;
  45. group4.button7.visible = false;
  46. chk_ward.visible = false;
  47. } else if(ds_hidden_srchinfo.getColumn(0,"ioflag") == "I") {
  48. group4.ipt_wardnm.visible = true;
  49. group4.button7.visible = true;
  50. }
  51. //병동 Combo 조회
  52. dsf_makeValue(ds_send_deptinfo,"deptflag","string","W");
  53. var oParam = {};
  54. oParam.id = "TRADT10203";
  55. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  56. oParam.method = "reqGetDeptList";
  57. oParam.inds = "req=ds_send_deptinfo";
  58. oParam.outds = "ds_hidden_deptlist=ward";
  59. oParam.async = false;
  60. oParam.callback = "cf_TRADT10203";
  61. tranf_submit(oParam);
  62. // astfAddCombo("/root/hidden/deptlist", "ward", "wardcd,wardnm", "T,전체");
  63. //바코드프린터설정 초기화
  64. ds_send.setColumn(0,"scrnid",frmf_getScreenID());
  65. var oParam = {};
  66. oParam.id = "TRLLC90101";
  67. oParam.service = "diagtestapplib.LisCommon";
  68. oParam.method = "reqGetSetUpInfo";
  69. oParam.inds = "scrnid=ds_send";
  70. oParam.outds = "ds_main_barcdprntsetup=getSetUpInfo";
  71. oParam.async = false;
  72. //oParam.callback = "cf_TRLLC90101";
  73. tranf_submit(oParam);
  74. var prntsetupinfo = ds_main_barcdprntsetup.getColumn(0,"prntsetupinfo"); //프린터설정 XML형식
  75. lf_convertXmlToDs(prntsetupinfo);
  76. var comm = ds_data_comm02.getColumn(0,"comm");
  77. var prntkind = ds_data_setupinfo.getColumn(0,"prntkind");
  78. if(comm == "2") {
  79. ds_data_comm02.setColumn(0,"comm", "1");
  80. }
  81. if(prntkind == "1") {
  82. ds_data_setupinfo.setColumn(0,"prntkind", "5");
  83. }
  84. // 20101021_laboru_경북대병원_실출고부서 셋팅
  85. var oParam = {};
  86. oParam.id = "TRADT01106";
  87. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  88. oParam.method = "reqGetMisDeptlist";
  89. oParam.inds = "";
  90. oParam.outds = "ds_init_misdeptlist_deptlist=deptlist";
  91. oParam.async = false;
  92. //oParam.callback = "cf_TRADT01106";
  93. tranf_submit(oParam);
  94. group3.combo3.index = 2;
  95. chk_cnt++;
  96. dsf_makeValue(ds_send_suminfo,"mstocdeptcd","string",ds_hidden_prcpsrch.getColumn(0,"stocdeptcd"));
  97. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  98. var colHidnValue = lf_grdBaseColHidn("D");
  99. //1회 기준
  100. if( colHidnValue == "C" ) {
  101. group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpvol"),"size",0);
  102. group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpqty"),"size",0);
  103. } else {
  104. group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpvol2"),"size",0);
  105. group3.grd_prcplist.setFormatColProperty(group3.grd_prcplist.getBindCellIndex("body","prcpqty2"),"size",0);
  106. }
  107. }
  108. function cf_TRADT10203(sSvcId, nErrorCode, sErrorMsg) {
  109. if(nErrorCode < 0) return;
  110. ds_hidden_deptlist.updateColID("deptcd","wardcd");
  111. ds_hidden_deptlist.updateColID("deptnm","wardnm");
  112. dsf_addDsItem(ds_hidden_deptlist,"wardcd","wardnm","전체","T");
  113. if(ds_hidden_deptlist.rowcount > 0) { //조회결과 있을경우 상세 부서 체크박스 보여준다
  114. // var tmp_orgvalue = String(chk_deptcd.getData()).replace(","," ");
  115. var colcnt = 3;
  116. var rowcnt = Math.ceil(ds_hidden_deptlist.rowcount/3)+1;
  117. var sProp = "col="+colcnt+",row="+rowcnt+",cellspacing=4,vcellspacing=0,itemWidth=-1,itemHeight=20,overflow='visible'";
  118. chk_ward.setInitComp(sProp,ds_hidden_deptlist ,"wardcd","wardnm","fn_chk_ward");
  119. // chk_deptcd.setData(tmp_orgvalue.split(" "),null,false);
  120. // var iHeight = (rowcnt*20)+5;
  121. }
  122. }
  123. /****************************************************************************************
  124. * Argument : N/A
  125. * Description : 병동선택
  126. ****************************************************************************************/
  127. function fn_chk_ward() {
  128. ds_hidden_srchinfo.setColumn(0,"ward" ,String(chk_ward.getData()).replace(",","|"));
  129. if(ds_hidden_srchinfo.getColumn(0,"ward").substr(0,1) == "T") {
  130. if(checkAllFlag == "N") {
  131. chk_ward.setCheckAll(true, false);
  132. checkAllFlag = "Y";
  133. }
  134. ds_hidden_srchinfo.setColumn(0,"wardcd",String(chk_ward.getData()).replace(",","|").replace("T|",""));
  135. ds_hidden_srchinfo.setColumn(0,"wardnm",String(chk_ward.getLableData()).replace(",","|").replace("전체|",""));
  136. } else {
  137. if(checkAllFlag == "Y") {
  138. chk_ward.setCheckAll(false, false);
  139. checkAllFlag = "N";
  140. }
  141. ds_hidden_srchinfo.setColumn(0,"wardcd",String(chk_ward.getData()).replace(",","|"));
  142. ds_hidden_srchinfo.setColumn(0,"wardnm",String(chk_ward.getLableData()).replace(",","|"));
  143. }
  144. }
  145. /****************************************************************************************
  146. * Argument : N/A
  147. * Description : 특수조제 마감
  148. ****************************************************************************************/
  149. function fHosSpSum() {
  150. var prcpflag = ds_hidden_srchinfo.getColumn(0,"prcpflag");
  151. var prcpdd = ds_hidden_srchinfo.getColumn(0,"drugdd");
  152. var instcd = ds_hidden_srchinfo.getColumn(0,"instcd");
  153. var drugkind = ds_hidden_srchinfo.getColumn(0,"drugkind");
  154. var chk = "";
  155. if(ds_init.getColumn(0,"autoflag") != "1") {
  156. chk = sysf_messageBox("마감을", "Q004");
  157. } else {
  158. chk = 6;
  159. }
  160. if(chk == 6){
  161. ds_send_suminfo.setColumn(0,"drugkind" , ds_hidden_srchinfo.getColumn(0,"drugkind"));
  162. ds_send_suminfo.setColumn(0,"prcpdd" , prcpdd);
  163. ds_send_suminfo.setColumn(0,"prcpflag" , prcpflag);
  164. ds_send_suminfo.setColumn(0,"instcd" , instcd);
  165. ds_send_suminfo.setColumn(0,"drugflag" , ds_hidden_srchinfo.getColumn(0,"drugflag"));
  166. ds_send_suminfo.setColumn(0,"pid" , ds_hidden_srchinfo.getColumn(0,"pid"));
  167. ds_send_suminfo.setColumn(0,"wardcd" , ds_hidden_srchinfo.getColumn(0,"wardcd"));
  168. //각구분별 마감.( 동시 마감시 구분별 같은 번호가 생성되어 문제됨 )
  169. if ( drugkind.indexOf("D") >-1 ){
  170. ds_send_suminfo.setColumn(0,"kindd","N");
  171. ds_send_suminfo.setColumn(0,"kindb","N");
  172. ds_send_suminfo.setColumn(0,"kindt","N");
  173. ds_send_suminfo.setColumn(0,"kindc","N");
  174. ds_send_suminfo.setColumn(0,"kind1","N");
  175. ds_send_suminfo.setColumn(0,"kindd","");
  176. call_TXADT10201();
  177. }
  178. if ( drugkind.indexOf("B") >-1 ){
  179. ds_send_suminfo.setColumn(0,"kindd","N");
  180. ds_send_suminfo.setColumn(0,"kindb","N");
  181. ds_send_suminfo.setColumn(0,"kindt","N");
  182. ds_send_suminfo.setColumn(0,"kindc","N");
  183. ds_send_suminfo.setColumn(0,"kind1","N");
  184. ds_send_suminfo.setColumn(0,"kindb","");
  185. call_TXADT10201();
  186. }
  187. if ( drugkind.indexOf("T") >-1 ){
  188. ds_send_suminfo.setColumn(0,"kindd","N");
  189. ds_send_suminfo.setColumn(0,"kindb","N");
  190. ds_send_suminfo.setColumn(0,"kindt","N");
  191. ds_send_suminfo.setColumn(0,"kindc","N");
  192. ds_send_suminfo.setColumn(0,"kind1","N");
  193. ds_send_suminfo.setColumn(0,"kindt","");
  194. call_TXADT10201();
  195. }
  196. if ( drugkind.indexOf("C") >-1 ){
  197. ds_send_suminfo.setColumn(0,"kindd","N");
  198. ds_send_suminfo.setColumn(0,"kindb","N");
  199. ds_send_suminfo.setColumn(0,"kindt","N");
  200. ds_send_suminfo.setColumn(0,"kindc","N");
  201. ds_send_suminfo.setColumn(0,"kind1","N");
  202. ds_send_suminfo.setColumn(0,"kindc","");
  203. call_TXADT10201();
  204. }
  205. if ( drugkind.indexOf("1") >-1 ){
  206. ds_send_suminfo.setColumn(0,"kindd","N");
  207. ds_send_suminfo.setColumn(0,"kindb","N");
  208. ds_send_suminfo.setColumn(0,"kindt","N");
  209. ds_send_suminfo.setColumn(0,"kindc","N");
  210. ds_send_suminfo.setColumn(0,"kind1","N");
  211. ds_send_suminfo.setColumn(0,"kind1","");
  212. call_TXADT10201();
  213. }
  214. }
  215. }
  216. function call_TXADT10201() {
  217. dsf_setDefaultVal(ds_send_suminfo, "ioflag:I");
  218. var oParam = {};
  219. oParam.id = "TXADT10201";
  220. oParam.service = "pharmacyprescriptionapp.DrugAccept";
  221. oParam.method = "reqExeInSum";
  222. oParam.inds = "req=ds_send_suminfo";
  223. oParam.outds = "ds_main_sumrslt=result";
  224. oParam.async = false;
  225. oParam.callback = "cf_TXADT10201";
  226. tranf_submit(oParam);
  227. }
  228. function cf_TXADT10201(sSvcId, nErrorCode, sErrorMsg) {
  229. if(nErrorCode < 0) return;
  230. dsf_setTypeFormat(ds_main_sumrslt, "result:INT");
  231. }
  232. /****************************************************************************************
  233. * Argument : N/A
  234. * Description : 마감리스트 조회
  235. ****************************************************************************************/
  236. function fSrchsumData() {
  237. // 20110823_laboru_무균조제 구분 flag 추가
  238. ds_hidden_srchinfo.setColumn(0,"srchmugyunflag","");
  239. var s = ds_hidden_srchinfo.getColumn(0,"drugkind");
  240. if(s.search("C") >= 0 ) {
  241. dsf_makeValue(ds_hidden_srchinfo,"srchmugyunflag","string","Y");
  242. }
  243. ds_send_sumlistinfo.copyData(ds_hidden_srchinfo);
  244. ds_send_sumlistinfo.setColumn(0,"drugkind", fChkDrugkind(ds_send_sumlistinfo.getColumn(0,"drugkind")));
  245. call_TRADT20302();
  246. }
  247. /****************************************************************************************
  248. * Argument : N/A
  249. * Description : 처방 상세조회
  250. ****************************************************************************************/
  251. function fSrchPrcpData() {
  252. //sysf_trace(group3.grd_sumlist.getCellValue(-1,1));
  253. if((ds_main_sumlist.rowposition > -1 && !utlf_isNull(ds_main_sumlist.getColumn(0,"sumdd"))) || ds_init.getColumn(0,"autoflag") == "1") {
  254. if(group3.grd_sumlist.currentcol != 1 && ds_init.getColumn(0,"autoflag") != "1"){
  255. if (ds_main_sumlist.getColumn(ds_main_sumlist.rowposition,"sel")=="Y"){
  256. ds_main_sumlist.setColumn(ds_main_sumlist.rowposition,"sel", "N");
  257. } else {
  258. ds_main_sumlist.setColumn(ds_main_sumlist.rowposition,"sel", "Y");
  259. }
  260. }
  261. ds_send_srchinfo_sumlist.clear();
  262. dsf_copyColInfo(ds_send_srchinfo_sumlist,ds_main_sumlist);
  263. var cnt = 0;
  264. for(var i = 0; i < ds_main_sumlist.rowcount; i++){
  265. if(ds_main_sumlist.getColumn(i,"sel") == "Y"){
  266. // astfCopyNodeSet("/root/send/srchinfo/sumlist", "/root/main/sumlist/sumlist["+i+"]");
  267. ds_send_srchinfo_sumlist.copyRow(ds_send_srchinfo_sumlist.addRow(),ds_main_sumlist,i);
  268. dsf_makeValue(ds_send_srchinfo_sumlist,"drugflag","string",ds_hidden_srchinfo.getColumn(0,"drugflag"),cnt);
  269. dsf_makeValue(ds_send_srchinfo_sumlist,"pid" ,"string",ds_hidden_srchinfo.getColumn(0,"pid") ,cnt);
  270. cnt++;
  271. }
  272. }
  273. if(cnt == 0){
  274. ds_main_masterinfo_grid1.clearData();
  275. } else {
  276. // nodeList = instance1.selectNodes("/root/send/srchinfo/sumlist");
  277. var rCSV = dsf_getDsCSV(ds_send_srchinfo_sumlist);
  278. dsf_setCSVToDs("ds_send_data1",rCSV);
  279. call_TRADT20301();
  280. }
  281. if(ds_main_masterinfo_grid1.rowcount > 0) group3.grd_prcplist.setCellProperty("Head",11,"text",1);
  282. else group3.grd_prcplist.setCellProperty("Head",11,"text","");
  283. for ( var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  284. ds_main_masterinfo_grid1.setColumn(i,"sel","Y");
  285. }
  286. } else if(group3.grd_sumlist.getCellValue(-1,1) == 1){ // 전체 선택
  287. // if(ds_main_sumlist.rowposition > -1){
  288. // if ( ds_main_sumlist.getColumn(ds_main_sumlist.rowposition,"sel")=="Y"){
  289. // ds_main_sumlist.setColumn(ds_main_sumlist.rowposition,"sel", "N");
  290. // } else {
  291. // ds_main_sumlist.setColumn(ds_main_sumlist.rowposition,"sel", "Y");
  292. // }
  293. // }
  294. ds_send_srchinfo_sumlist.clear();
  295. dsf_copyColInfo(ds_send_srchinfo_sumlist,ds_main_sumlist);
  296. var cnt = 0;
  297. for(var i = 0; i < ds_main_sumlist.rowcount; i++){
  298. if(ds_main_sumlist.getColumn(i,"sel") == "Y"){
  299. // astfCopyNodeSet("/root/send/srchinfo/sumlist", "/root/main/sumlist/sumlist["+i+"]");
  300. ds_send_srchinfo_sumlist.copyRow(ds_send_srchinfo_sumlist.addRow(),ds_main_sumlist,i);
  301. dsf_makeValue(ds_send_srchinfo_sumlist,"drugflag","string",ds_hidden_srchinfo.getColumn(0,"drugflag"),cnt);
  302. dsf_makeValue(ds_send_srchinfo_sumlist,"pid" ,"string",ds_hidden_srchinfo.getColumn(0,"pid") ,cnt);
  303. cnt++;
  304. }
  305. }
  306. if(cnt == 0){
  307. ds_main_masterinfo_grid1.clearData();
  308. } else {
  309. // nodeList = instance1.selectNodes("/root/send/srchinfo/sumlist");
  310. var rCSV = dsf_getDsCSV(ds_send_srchinfo_sumlist);
  311. dsf_setCSVToDs("ds_send_data1",rCSV);
  312. call_TRADT20301();
  313. }
  314. if(ds_main_masterinfo_grid1.rowcount > 0) group3.grd_prcplist.setCellProperty("Head",11,"text",1);
  315. else group3.grd_prcplist.setCellProperty("Head",11,"text","");
  316. for (var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  317. ds_main_masterinfo_grid1.setColumn(i,"sel","Y");
  318. }
  319. } else if(group3.grd_sumlist.getCellValue(-1,1) != 1){ // 전체 해제
  320. ds_send_srchinfo_sumlist.clear();
  321. dsf_copyColInfo(ds_send_srchinfo_sumlist,ds_main_sumlist);
  322. var cnt = 0;
  323. for(var i = 0; i < ds_main_sumlist.rowcount; i++){
  324. if(ds_main_sumlist.getColumn(i,"sel") == "Y"){
  325. // astfCopyNodeSet("/root/send/srchinfo/sumlist", "/root/main/sumlist/sumlist["+i+"]");
  326. ds_send_srchinfo_sumlist.copyRow(ds_send_srchinfo_sumlist.addRow(),ds_main_sumlist,i);
  327. dsf_makeValue(ds_send_srchinfo_sumlist,"drugflag","string",ds_hidden_srchinfo.getColumn(0,"drugflag"),cnt);
  328. dsf_makeValue(ds_send_srchinfo_sumlist,"pid" ,"string",ds_hidden_srchinfo.getColumn(0,"pid") ,cnt);
  329. cnt++;
  330. }
  331. }
  332. if(cnt == 0){
  333. ds_main_masterinfo_grid1.clearData();
  334. } else {
  335. // nodeList = instance1.selectNodes("/root/send/srchinfo/sumlist");
  336. var rCSV = dsf_getDsCSV(ds_send_srchinfo_sumlist);
  337. dsf_setCSVToDs("ds_send_data1",rCSV);
  338. call_TRADT20301();
  339. }
  340. if(ds_main_masterinfo_grid1.rowcount > 0) group3.grd_prcplist.setCellProperty("Head",11,"text",1);
  341. else group3.grd_prcplist.setCellProperty("Head",11,"text","");
  342. for (var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  343. ds_main_masterinfo_grid1.setColumn(i,"sel","Y");
  344. }
  345. }
  346. }
  347. function call_TRADT20301() {
  348. var oParam = {};
  349. oParam.id = "TRADT20301";
  350. oParam.service = "pharmacyprescriptionapp.MpsCheck";
  351. oParam.method = "reqGetSpclDrugPatPrcpList";
  352. oParam.inds = "req=ds_send_srchinfo_sumlist";
  353. oParam.outds = "ds_main_masterinfo_grid1=grid1";
  354. oParam.async = false;
  355. oParam.callback = "cf_TRADT20301";
  356. tranf_submit(oParam);
  357. }
  358. function cf_TRADT20301(sSvcId, nErrorCode, sErrorMsg) {
  359. if(nErrorCode < 0) return;
  360. dsf_setDefaultVal(ds_main_masterinfo_grid1,"sel:N")
  361. }
  362. function call_TRADT20302() {
  363. var oParam = {};
  364. oParam.id = "TRADT20302";
  365. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  366. oParam.method = "reqGetSpSumList";
  367. oParam.inds = "req=ds_send_sumlistinfo";
  368. oParam.outds = "ds_main_sumlist=sumlist";
  369. oParam.async = false;
  370. oParam.callback = "cf_TRADT20302";
  371. tranf_submit(oParam);
  372. }
  373. function cf_TRADT20302(sSvcId, nErrorCode, sErrorMsg) {
  374. if(nErrorCode < 0) return;
  375. group3.grd_sumlist.setCellProperty("Head",1,"text","");
  376. ds_main_masterinfo_grid1.clearData();
  377. }
  378. /****************************************************************************************
  379. * Argument : N/A
  380. * Description :
  381. ****************************************************************************************/
  382. function fSrchPrcpDataRe() {
  383. if ( !utlf_isNull(ds_main_sumlist.getColumn(0,"sumdd")) && ds_main_sumlist.rowposition > -1){
  384. ds_send_srchinfo_sumlist.clear();
  385. dsf_copyColInfo(ds_send_srchinfo_sumlist,ds_main_sumlist);
  386. var cnt = 0;
  387. for(var i = 0; i < ds_main_sumlist.rowcount; i++){
  388. if(ds_main_sumlist.getColumn(i,"sel") == "Y"){
  389. // astfCopyNodeSet("/root/send/srchinfo/sumlist", "/root/main/sumlist/sumlist["+i+"]");
  390. ds_send_srchinfo_sumlist.copyRow(ds_send_srchinfo_sumlist.addRow(),ds_main_sumlist,i);
  391. dsf_makeValue(ds_send_srchinfo_sumlist,"drugflag","string",ds_hidden_srchinfo.getColumn(0,"drugflag"),cnt);
  392. dsf_makeValue(ds_send_srchinfo_sumlist,"pid" ,"string",ds_hidden_srchinfo.getColumn(0,"pid") ,cnt);
  393. cnt++;
  394. }
  395. }
  396. if(cnt == 0){
  397. ds_main_masterinfo_grid1.clearData();
  398. } else {
  399. // nodeList = instance1.selectNodes("/root/send/srchinfo/sumlist");
  400. var rCSV = dsf_getDsCSV(ds_send_srchinfo_sumlist);
  401. dsf_setCSVToDs("ds_send_data1",rCSV);
  402. call_TRADT20301();
  403. group3.grd_prcplist.setCellProperty("Head",11,"text","");
  404. }
  405. }
  406. }
  407. /****************************************************************************************
  408. * Argument : N/A
  409. * Description : 처방전/라벨 출력
  410. ****************************************************************************************/
  411. function fPrcpMPSPrint() {
  412. //처방전 및 라벨 출력
  413. var chk_mpsflag = ds_hidden_srchinfo.getColumn(0,"mpsflag");
  414. var chk_lblyn = ds_hidden_srchinfo.getColumn(0,"lblyn");
  415. // 20100324_laboru_처방구분, 등록번호, D#, Mix, 약품코드 차례로 다를때 라벨 출력하기 위함.
  416. var drugno = "";
  417. var tmpdrugno = "";
  418. var prcpflagnm = "";
  419. var pid = "";
  420. var tmppid = "";
  421. var prcpmixno = "";
  422. var tmpprcpmixno = "";
  423. var tmpprcpflagnm = "";
  424. var prtldg = "";
  425. var tmpprtldg = "";
  426. var prcpcd = "";
  427. var tmpprcpcd = "";
  428. var autoyn = ds_init.getColumn(0,"autoflag"); // 자동출력 여부
  429. var lblprnttims = 0; // 라벨출력횟수
  430. var prnttims = 0; // 처방전 출력횟수
  431. var spclblflag = "Y"; // 20100324_laboru_특조실 라벨 출력 일때.
  432. //처방전 출력 데이터 조회
  433. var cnt = 0;
  434. ds_send_prcpinfo.clear();
  435. dsf_copyColInfo(ds_send_prcpinfo,ds_main_masterinfo_grid1);
  436. ds_send_prcpinfo.addRow();
  437. for(var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  438. if(ds_main_masterinfo_grid1.getColumn(i,"sel") == "Y"){
  439. prnttims = ds_main_masterinfo_grid1.getColumn(i,"prnttims");
  440. lblprnttims = ds_main_masterinfo_grid1.getColumn(i,"lblprnttims");
  441. ds_send_prcpinfo.copyRow(0,ds_main_masterinfo_grid1,i);
  442. var drugno = ds_send_prcpinfo.getColumn(0,"drugno");
  443. var wardcd = ds_send_prcpinfo.getColumn(0,"wardcd");
  444. var pid = ds_send_prcpinfo.getColumn(0,"pid");
  445. var prcpmixno = ds_send_prcpinfo.getColumn(0,"prcpmixno");
  446. var prcpflagnm = ds_send_prcpinfo.getColumn(0,"prcpflagnm");
  447. var prtldg = ds_send_prcpinfo.getColumn(0,"prtldg");
  448. var prcpcd = ds_send_prcpinfo.getColumn(0,"prcpcd");
  449. if (tmpdrugno != drugno ){
  450. dsf_makeValue(ds_send_prcpinfo,"drugflag","string",ds_hidden_srchinfo.getColumn(0,"drugflag"));
  451. //처방전 출력
  452. if (!utlf_isNull(chk_mpsflag)) {
  453. if(autoyn != "1" || prnttims == 0) { //자동출력은 처음 한번만
  454. fHosInMPSPrint();
  455. fSleep(2000);
  456. }
  457. }
  458. tmpdrugno = drugno;
  459. }
  460. // 20100324_laboru_라벨 출력 처방구분
  461. if(prcpflagnm != tmpprcpflagnm) {
  462. if (!utlf_isNull(chk_lblyn)) {
  463. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  464. fHosInLBLPrint();
  465. fSleep(2000);
  466. }
  467. }
  468. cnt++;
  469. } else if(pid != tmppid) { // 환자번호
  470. if (chk_lblyn != "" ) {
  471. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  472. fHosInLBLPrint();
  473. fSleep(2000);
  474. }
  475. }
  476. cnt++;
  477. } else if(prtldg != tmpprtldg) { // D#
  478. if (chk_lblyn != "" ) {
  479. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  480. fHosInLBLPrint();
  481. fSleep(2000);
  482. }
  483. }
  484. cnt++;
  485. } else if(prcpmixno != tmpprcpmixno) { // Mix
  486. if (chk_lblyn != "" ) {
  487. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  488. fHosInLBLPrint();
  489. fSleep(2000);
  490. }
  491. }
  492. cnt++;
  493. } else if(prcpcd != tmpprcpcd && prcpmixno == "-") { // 약품코드
  494. if (chk_lblyn != "" ) {
  495. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  496. fHosInLBLPrint();
  497. fSleep(2000);
  498. }
  499. }
  500. cnt++;
  501. } else if(prcpmixno == "-" ) { // prcpmixno 가 "-" 이면서 같은 약품 코드라도 각각 출력. mix 번호가 있고 같은 약품 코드인 경우는 Mix Case 에 걸림.
  502. if (chk_lblyn != "" ) {
  503. if(autoyn != "1" || lblprnttims == 0 ) { //자동출력은 처음 한번만
  504. fHosInLBLPrint();
  505. fSleep(2000);
  506. }
  507. }
  508. cnt++;
  509. }
  510. // 20100324_laboru_전 상태 기억
  511. tmpprcpflagnm = prcpflagnm;
  512. tmppid = pid;
  513. tmpprtldg = prtldg;
  514. tmpprcpmixno = prcpmixno;
  515. tmpprcpcd = prcpcd;
  516. }
  517. }
  518. if( cnt == 0){
  519. sysf_messageBox("처방전을 출력할 환자리스트가 없거나 선택된 환자가", "I004");
  520. }
  521. }
  522. /****************************************************************************************
  523. * Argument : N/A
  524. * Description : 처방전 출력
  525. ****************************************************************************************/
  526. function fHosInMPSPrint() {
  527. var sParam = "";
  528. var arr;
  529. var sexage = ds_send_prcpinfo.getColumn(0,"sexage");
  530. arr = sexage.split('/');
  531. sParam = "drugdd▦drugno▦ioflag▦prcpdd▦orddd▦cretno▦prcpgenrflag▦pid▦orddeptcd▦wardcd▦"
  532. sParam += "lblflag▦prcpflag▦prntflag▦drugflag▦sumcls▦sumdt▦prcpno▦drugcd▦hngnm▦orddeptcd▦orddeptnm▦sex▦age▦timeflag▩";
  533. sParam += ds_send_prcpinfo.getColumn(0,"drugdd") +"▦"+
  534. ds_send_prcpinfo.getColumn(0,"drugno") +"▦"+
  535. ds_send_prcpinfo.getColumn(0,"ioflag") +"▦"+
  536. ds_send_prcpinfo.getColumn(0,"prcpdd") +"▦"+
  537. ds_send_prcpinfo.getColumn(0,"orddd") +"▦"+
  538. ds_send_prcpinfo.getColumn(0,"cretno") +"▦"+
  539. ds_send_prcpinfo.getColumn(0,"prcpgenrflag") +"▦"+
  540. ds_send_prcpinfo.getColumn(0,"pid") +"▦"+
  541. ds_send_prcpinfo.getColumn(0,"orddeptcd") +"▦"+
  542. ds_send_prcpinfo.getColumn(0,"wardcd") +"▦"+
  543. ds_send_prcpinfo.getColumn(0,"lblflag") +"▦"+
  544. ds_send_prcpinfo.getColumn(0,"prcpflag") +"▦"+
  545. ds_send_prcpinfo.getColumn(0,"prntflag") +"▦"+
  546. ds_send_prcpinfo.getColumn(0,"drugflag") +"▦"+
  547. ds_send_prcpinfo.getColumn(0,"sumcls") +"▦"+
  548. ds_send_prcpinfo.getColumn(0,"sumdt") +"▦"+
  549. ds_send_prcpinfo.getColumn(0,"prcpno") +"▦"+
  550. ds_send_prcpinfo.getColumn(0,"prcpcd") +"▦"+
  551. ds_send_prcpinfo.getColumn(0,"hngnm") +"▦"+
  552. ds_send_prcpinfo.getColumn(0,"orddeptcd") +"▦"+
  553. ds_send_prcpinfo.getColumn(0,"orddeptnm") +"▦"+
  554. arr[0] +"▦"+
  555. arr[1] +"▦"+
  556. ds_hidden_srchinfo.getColumn(0,"timeflag") +"▩";
  557. // model.setAttribute("params", sParam);
  558. frmf_setParameter("params", sParam);
  559. // div_prnt.fInit();
  560. frmf_modal("SPADT63200", "SPADT63200", null, null, 0, 200, 200, null, null, null, null, null, "M");
  561. // model.setAttribute("params", "");
  562. }
  563. /****************************************************************************************
  564. * Argument : N/A
  565. * Description : 라벨 출력
  566. ****************************************************************************************/
  567. function fHosInLBLPrint() {
  568. var sParam = "";
  569. sParam = "drugdd▦drugno▦ioflag▦prcpdd▦orddd▦cretno▦prcpgenrflag▦pid▦orddeptcd▦wardcd▦lblflag▦prcpflag▦prntflag▦drugflag▦prcpno▦prcpmixno▦spclblflag▩";
  570. sParam += ds_send_prcpinfo.getColumn(0,"drugdd") +"▦"+
  571. ds_send_prcpinfo.getColumn(0,"drugno") +"▦"+
  572. ds_send_prcpinfo.getColumn(0,"ioflag") +"▦"+
  573. ds_send_prcpinfo.getColumn(0,"prcpdd") +"▦"+
  574. ds_send_prcpinfo.getColumn(0,"orddd") +"▦"+
  575. ds_send_prcpinfo.getColumn(0,"cretno") +"▦"+
  576. ds_send_prcpinfo.getColumn(0,"prcpgenrflag") +"▦"+
  577. ds_send_prcpinfo.getColumn(0,"pid") +"▦"+
  578. ds_send_prcpinfo.getColumn(0,"orddeptcd") +"▦"+
  579. ds_send_prcpinfo.getColumn(0,"wardcd") +"▦"+
  580. ds_send_prcpinfo.getColumn(0,"lblflag") +"▦"+
  581. ds_send_prcpinfo.getColumn(0,"prcpflag") +"▦"+
  582. ds_send_prcpinfo.getColumn(0,"prntflag") +"▦"+
  583. ds_send_prcpinfo.getColumn(0,"drugflag") +"▦";
  584. // 20100322_laboru_mix 번호 있을때 없을때 구분.
  585. if(ds_send_prcpinfo.getColumn(0,"prcpmixno") == "-") {
  586. sParam += ds_send_prcpinfo.getColumn(0,"prcpno")+"▦"+""+"▦"+"Y"+"▦"+"▩";
  587. } else {
  588. sParam += ""+"▦"+ds_send_prcpinfo.getColumn(0,"prcpmixno")+"▦"+"N"+"▦"+"▩";
  589. }
  590. // model.setAttribute("params", sParam);
  591. frmf_setParameter("params", sParam);
  592. var objArg = new Object();
  593. objArg.arg_ds_init_barcdprntsetup = ds_main_barcdprntsetup;
  594. frmf_modal("SPADT63300", "SPADT63300", objArg, null, 0, 200, 200, null, null, null, null, null, "M");
  595. // model.setAttribute("params", "");
  596. }
  597. /****************************************************************************************
  598. * Argument : N/A
  599. * Description : 집계표 출력
  600. ****************************************************************************************/
  601. function fSumPrint() {
  602. ds_send_srchinfo_sumlist.clear();
  603. dsf_copyColInfo(ds_send_srchinfo_sumlist,ds_main_masterinfo_grid1);
  604. var cnt = 0;
  605. var cntD = 0;
  606. var cntB = 0;
  607. var cntT = 0;
  608. var cnt1 = 0;
  609. var cntC = 0;
  610. var sumcls = "";
  611. for(var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  612. if(ds_main_masterinfo_grid1.getColumn(i,"sel") == "Y"){
  613. ds_send_srchinfo_sumlist.copyRow(ds_send_srchinfo_sumlist.addRow(),ds_main_masterinfo_grid1,i);
  614. cnt++;
  615. if(ds_main_masterinfo_grid1.getColumn(i,"sumcls") == "D"){
  616. cntD++;
  617. } else if(ds_main_masterinfo_grid1.getColumn(i,"sumcls") == "B"){
  618. cntB++;
  619. } else if(ds_main_masterinfo_grid1.getColumn(i,"sumcls") == "T"){
  620. cntT++;
  621. } else if(ds_main_masterinfo_grid1.getColumn(i,"sumcls") == "1"){
  622. cnt1++;
  623. } else {
  624. cntC++;
  625. }
  626. }
  627. }
  628. if(cnt == 0){
  629. sysf_messageBox("마감리스트에서 출력할 데이터를", "C002");
  630. } else {
  631. // 20100205 이선경 수정 : 마감일자로도 조회되도록 적용일자, 마감일자 구분자 셋팅
  632. dsf_makeValue(ds_send_srchinfo_sumlist,"timeflag","string",ds_hidden_srchinfo.getColumn(0,"timeflag"));
  633. if(cntD > 0) {
  634. ds_send_srchinfo_sumlist.setColumn(0,"sumcls", "D");
  635. call_TRADT20303_print();
  636. }
  637. if(cntB > 0) {
  638. ds_send_srchinfo_sumlist.setColumn(0,"sumcls", "B");
  639. call_TRADT20303_print();
  640. }
  641. if(cntT > 0) {
  642. ds_send_srchinfo_sumlist.setColumn(0,"sumcls", "T");
  643. call_TRADT20303_print();
  644. }
  645. if(cnt1 > 0) {
  646. ds_send_srchinfo_sumlist.setColumn(0,"sumcls", "1");
  647. call_TRADT20303_print();
  648. }
  649. if(cntC > 0) {
  650. ds_send_srchinfo_sumlist.setColumn(0,"sumcls", "C");
  651. call_TRADT20303_print();
  652. }
  653. }
  654. }
  655. function call_TRADT20303_print() {
  656. var oParam = {};
  657. oParam.id = "TRADT20303";
  658. oParam.service = "pharmacyprescriptionapp.DrugPrint";
  659. oParam.method = "reqGetSpclDrugSumPrintData";
  660. oParam.inds = "req=ds_send_srchinfo_sumlist";
  661. oParam.outds = "ds_main_sumprintlist_sumlist=sumlist";
  662. oParam.async = false;
  663. oParam.callback = "cf_TRADT20303";
  664. tranf_submit(oParam);
  665. }
  666. function cf_TRADT20303(sSvcId, nErrorCode, sErrorMsg) {
  667. if(nErrorCode < 0) return;
  668. if(ds_main_sumprintlist_sumlist.rowcount > 0) {
  669. var objDOM = rptf_createDOM(); // DOM 객체 설정
  670. var objParam = new Object();
  671. rptf_setNodeListToDOM(objDOM, "/root/main/sumprintlist/sumlist" , ds_main_sumprintlist_sumlist);
  672. objParam.xml_data_XML1 = objDOM.documentElement.source;
  673. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  674. rptf_exeReportPreview30(["RPADT20302"],[objParam], option);
  675. }
  676. }
  677. /****************************************************************************************
  678. * Argument : N/A
  679. * Description : 조제표 출력
  680. ****************************************************************************************/
  681. function fPrcpListPrnt() {
  682. var ioflag = "";
  683. var sumcls = "";
  684. var cntD = 0;
  685. var cntB = 0;
  686. var cntT = 0;
  687. var cnt1 = 0;
  688. var cntC = 0;
  689. //2010-03-20 TPN 조제표 코드별 집계 표시
  690. // model.removeNodeset("/root/temp/prntdrugsumlist");
  691. ds_temp_prntdrugsumlist_sumclsB_prntdrugsum.clearData();
  692. ds_temp_prntdrugsumlist_sumclsT_prntdrugsum.clearData();
  693. for(var i = 0; i < ds_main_masterinfo_grid1.rowcount; i++){
  694. if(ds_main_masterinfo_grid1.getColumn(i,"sel") == "Y"){
  695. sumcls = ds_main_masterinfo_grid1.getColumn(i,"sumcls");
  696. if(sumcls == "D") {
  697. //항암제 조제표 개수
  698. cntD++;
  699. } else if(sumcls == "B") {
  700. //소아TPN 조제표 개수
  701. cntB++;
  702. } else if(sumcls == "T") {
  703. //TPN 조제표 개수
  704. cntT++;
  705. } else if(sumcls == "1") {
  706. //면역억제제 조제표 개수
  707. cnt1++;
  708. } else {
  709. //무균조제 조제표 개수
  710. cntC++;
  711. }
  712. //2010-03-20 TPN 조제표 코드별 집계 표시([특조완료]인경우만 Count) Start
  713. if ( (sumcls == "T") || (sumcls == "B") ) { //TPN(T) 및 소아TPN(B)일경우만 해당
  714. var Tmpdrugstat = ds_main_masterinfo_grid1.getColumn(i,"drugstat");
  715. var Tmpdrugstatnm = ds_main_masterinfo_grid1.getColumn(i,"drugstatnm");
  716. if( Tmpdrugstat != "ND" && Tmpdrugstatnm != "반환" ) { //조제보유 및 반환이 아닌경우만 Count
  717. var Tmp_sumclsPath = "";
  718. if (sumcls == "T") Tmp_sumclsPath = "ds_temp_prntdrugsumlist_sumclsT";
  719. if (sumcls == "B") Tmp_sumclsPath = "ds_temp_prntdrugsumlist_sumclsB";
  720. Tmp_drugcd = ds_main_masterinfo_grid1.getColumn(i,"prcpcd");
  721. Tmp_prcpqty = ds_main_masterinfo_grid1.getColumn(i,"prcpqty");
  722. var rowcnt = objects[Tmp_sumclsPath + "_prntdrugsum"].rowcount;
  723. var TmpTotCnt = 0;
  724. var drugcnt = 0;
  725. if ( Number(rowcnt) > 0) {
  726. for(var j = 0; j < rowcnt; j++){
  727. if ( objects[Tmp_sumclsPath + "_prntdrugsum"].getColumn(j,"drugcd") == Tmp_drugcd ) { //동일코드 있을경우 갯수 더하기
  728. drugcnt = Number(objects[Tmp_sumclsPath + "_prntdrugsum"].getColumn(j,"sum")) + Number(Tmp_prcpqty);
  729. dsf_makeValue(objects[Tmp_sumclsPath + "_prntdrugsum"],"sum","string",drugcnt,j);
  730. TmpTotCnt++;
  731. }
  732. }
  733. }
  734. if ((sumcls == "B") && (Number(rowcnt) ==0) ) { //소악TPN에 [DLMCT1]란 빈공란 추가
  735. dsf_makeValue(objects[Tmp_sumclsPath + "_prntdrugsum"],"drugcd" ,"string","DLMCT1");
  736. dsf_makeValue(objects[Tmp_sumclsPath + "_prntdrugsum"],"sum" ,"string","");
  737. rowcnt++;
  738. }
  739. if (TmpTotCnt == 0 ) { //해당되는 코드가 없을 경우는 생성.
  740. dsf_makeValue(objects[Tmp_sumclsPath + "_prntdrugsum"],"drugcd" ,"string",Tmp_drugcd ,Number(rowcnt));
  741. dsf_makeValue(objects[Tmp_sumclsPath + "_prntdrugsum"],"sum" ,"string",Tmp_prcpqty,Number(rowcnt));
  742. }
  743. }
  744. }
  745. //2010-03-20 TPN 조제표 코드별 집계 표시([특조완료]인경우만 Count) End
  746. }
  747. }
  748. if(cntD == 0 && cntT == 0 && cntB == 0 && cntC == 0 && cnt1 == 0){
  749. sysf_messageBox("마감리스트에서 출력할 데이터를", "C002");
  750. }
  751. if(cntD > 0) {
  752. var objDOM = rptf_createDOM(); // DOM 객체 설정
  753. var objParam = new Object();
  754. rptf_setNodeListToDOM(objDOM, "/root/main/masterinfo/grid1" , ds_main_masterinfo_grid1);
  755. objParam.xml_data_XML1 = objDOM.documentElement.source;
  756. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  757. rptf_exeReportPreview30(["RPADT20303"],[objParam], option);
  758. }
  759. if(cntB > 0) {
  760. var objDOM1 = rptf_createDOM(); // DOM 객체 설정
  761. var objDOM2 = rptf_createDOM(); // DOM 객체 설정
  762. var objParam = new Object();
  763. rptf_setNodeListToDOM(objDOM1, "/root/main/masterinfo/grid1" , ds_main_masterinfo_grid1);
  764. rptf_setNodeListToDOM(objDOM2, "/root/temp/prntdrugsumlist/sumclsB/prntdrugsum" , ds_temp_prntdrugsumlist_sumclsB_prntdrugsum);
  765. objParam.xml_data_XML1 = objDOM1.documentElement.source;
  766. objParam.xml_data_XML2 = objDOM2.documentElement.source;
  767. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  768. rptf_exeReportPreview30(["RPADT20305"],[objParam], option);
  769. }
  770. if(cntT > 0) {
  771. var objDOM1 = rptf_createDOM(); // DOM 객체 설정
  772. var objDOM2 = rptf_createDOM(); // DOM 객체 설정
  773. var objParam = new Object();
  774. rptf_setNodeListToDOM(objDOM1, "/root/main/masterinfo/grid1" , ds_main_masterinfo_grid1);
  775. rptf_setNodeListToDOM(objDOM2, "/root/temp/prntdrugsumlist/sumclsT/prntdrugsum" , ds_temp_prntdrugsumlist_sumclsT_prntdrugsum);
  776. objParam.xml_data_XML1 = objDOM1.documentElement.source;
  777. objParam.xml_data_XML2 = objDOM2.documentElement.source;
  778. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  779. rptf_exeReportPreview30(["RPADT20308"],[objParam], option);
  780. }
  781. if(cnt1 > 0) {
  782. var objDOM = rptf_createDOM(); // DOM 객체 설정
  783. var objParam = new Object();
  784. rptf_setNodeListToDOM(objDOM, "/root/main/masterinfo/grid1" , ds_main_masterinfo_grid1);
  785. objParam.xml_data_XML1 = objDOM.documentElement.source;
  786. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  787. rptf_exeReportPreview30(["RPADT20310"],[objParam], option);
  788. }
  789. if(cntC > 0) {
  790. var objDOM = rptf_createDOM(); // DOM 객체 설정
  791. var objParam = new Object();
  792. rptf_setNodeListToDOM(objDOM, "/root/main/masterinfo/grid1" , ds_main_masterinfo_grid1);
  793. objParam.xml_data_XML1 = objDOM.documentElement.source;
  794. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0";
  795. rptf_exeReportPreview30(["RPADT20309"],[objParam], option);
  796. }
  797. }
  798. /****************************************************************************************
  799. * Argument : N/A
  800. * Description : 반환리스트 출력
  801. ****************************************************************************************/
  802. function fRtnListPrnt() {
  803. if(ds_hidden_srchinfo.getColumn(0,"ioflag") == "I"){
  804. ds_hidden_rtninfo.clear();
  805. ds_hidden_rtninfo.copyData(ds_hidden_srchinfo);
  806. var matrix_val = ds_hidden_rtninfo.getColumn(0,"drugkind");
  807. var col_data = "";
  808. var drugkind = "";
  809. var col_flag = "|";
  810. col_data = matrix_val.split(col_flag); //구분자를 통한 array 생성
  811. var chk = col_data.length;
  812. for(var i = 0; i < chk; i++){
  813. if ( utlf_isNull(drugkind) ) {
  814. drugkind = "'" + col_data[i] + "'";
  815. } else {
  816. drugkind += ",'" + col_data[i] + "'";
  817. }
  818. }
  819. ds_hidden_rtninfo.setColumn(0,"drugkind", drugkind);
  820. //1일기준인지 1회기준인지 체크하여 컬럼을 hidden
  821. var colHidnValue = lf_grdBaseColHidn("D");
  822. if( colHidnValue == "C") {//1회 기준
  823. dsf_makeValue(ds_hidden_rtninfo,"prcpqtychk","string","Y");
  824. }
  825. // 렉스퍼트 서버 쿼리 실행 전환하는것... 보류중.
  826. // exeReportPreview("RPADT20306", "XML", "/root/hidden/rtninfo", "", "");
  827. // exeReportPreview("RPADT20307", "XML", "/root/hidden/rtninfo", "", "");
  828. var objParam = new Object();
  829. objParam.ioflag = ds_hidden_rtninfo.getColumn(0,"ioflag");
  830. objParam.instcd = ds_hidden_rtninfo.getColumn(0,"instcd");
  831. objParam.drugdd = ds_hidden_rtninfo.getColumn(0,"drugdd");
  832. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  833. rptf_exeReportPreview30(["RPADT20306"],[objParam], option);
  834. rptf_exeReportPreview30(["RPADT20307"],[objParam], option);
  835. } else {
  836. }
  837. }
  838. /****************************************************************************************
  839. * Argument : sDrugkind - 약품종류 구분
  840. * Description : 처방구분 만들기
  841. ****************************************************************************************/
  842. function fChkDrugkind(sDrugkind) {
  843. var arrVal = sDrugkind.split("|");
  844. var dk_val = "";
  845. for( var i = 0; i < arrVal.length; i++ ) {
  846. if(dk_val == ""){
  847. if(arrVal[i] == "T"){
  848. dk_val = "T|Q";
  849. } else {
  850. dk_val = arrVal[i];
  851. }
  852. } else {
  853. if(arrVal[i] == "T"){
  854. dk_val += "|T|Q";
  855. } else {
  856. dk_val += "|"+arrVal[i];
  857. }
  858. }
  859. }
  860. return dk_val;
  861. }
  862. function fSleep(numberMillis) {
  863. var now = new Date();
  864. var exitTime = now.getTime() + numberMillis;
  865. while (true) {
  866. now = new Date();
  867. if (now.getTime() > exitTime)
  868. return;
  869. }
  870. }
  871. /****************************************************************************************
  872. * Argument : N/A
  873. * Description : 그리드 스타일 설정.
  874. ****************************************************************************************/
  875. function fn_setGridStyle(){
  876. /* 퇴원예고 수납일경우 색보이기*/
  877. group3.grd_prcplist.setCellProperty("body", group3.grd_prcplist.getBindCellIndex("body","pid"), "background" ,"EXPR(dschstat=='퇴원예고'||dschstat=='퇴원수납'?'#f7a08b':'')");
  878. group3.grd_prcplist.setCellProperty("body", group3.grd_prcplist.getBindCellIndex("body","pid"), "background2","EXPR(dschstat=='퇴원예고'||dschstat=='퇴원수납'?'#f7a08b':'')");
  879. var startCol = group3.grd_prcplist.getBindCellIndex("body","sel");
  880. var endCol = group3.grd_prcplist.getBindCellIndex("body","dschdd");
  881. for( var i = startCol; i <= endCol; i++) {
  882. group3.grd_prcplist.setCellProperty("body", i, "background" ,"EXPR(execprcphistcdnm=='DC전'?'#b9e5fb':execprcphistcdnm=='반납'?'#fec34d':'')");
  883. group3.grd_prcplist.setCellProperty("body", i, "background2","EXPR(execprcphistcdnm=='DC전'?'#b9e5fb':execprcphistcdnm=='반납'?'#fec34d':'')");
  884. }
  885. group3.grd_prcplist.setCellProperty("body", group3.grd_prcplist.getBindCellIndex("body","prcpcd"), "background" ,"EXPR(prcpexecdeptnm=='ID'?'#d5bfaa':execprcphistcdnm=='DC전'?'#b9e5fb':execprcphistcdnm=='반납'?'#fec34d':'')");
  886. group3.grd_prcplist.setCellProperty("body", group3.grd_prcplist.getBindCellIndex("body","prcpcd"), "background2","EXPR(prcpexecdeptnm=='ID'?'#d5bfaa':execprcphistcdnm=='DC전'?'#b9e5fb':execprcphistcdnm=='반납'?'#fec34d':'')");
  887. }
  888. //////////////////////////////// SMADT20300.xjs ////////////////////////////////////////////]]></Script>