SMMNW10300.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. /*
  2. 간호처방(집계) (SMMNW10300.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var comdondeptcd, stemcelldeptcd;
  7. /**
  8. * @group :
  9. * @ver : 2007.10.08
  10. * @by : 김진아
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : 화면 초기설정
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function fInit(){
  20. submit("TRMNW10301", false);
  21. cmb_wardlist.refresh();
  22. model.setValue("root/main/cond/issdeptcd" , getUserInfo("dutplcecd") ); // 부서설정 (로그인한 간호사의 소속부서)
  23. cmb_wardlist.value=getUserInfo("dutplcecd");
  24. model.setValue("/root/main/cond/sumfromdd" , getCurrentDate() ); // 집계시작일자 (현재일자)
  25. model.setValue("/root/main/cond/sumtodd" , getCurrentDate() ); // 집계종료일자 (현재일자)
  26. model.setValue("/root/main/cond/prcpattrflag" , "3" ); // 처방속성구분 ("3": 전체)
  27. model.setValue("/root/main/cond/deliveflag" , "1" ); // 불출구분 ("1": 전체)
  28. model.setValue("/root/main/cond/inputpsnflag" , "2" ); // 입력자 ("2": 간호사)
  29. model.setValue("/root/main/cond/sumtotm" , "2359" ); // 집계종료시간
  30. model.setValue("/root/main/cond/sumfromtm" , "0000" ); // 집계시작시간
  31. model.setValue("/root/main/cond/deltprcpsrchflag", "nm" ); // 상세검색 구분 처방코드로 셋팅
  32. model.setValue("/root/main/cond/deptflag" , model.getValue("/root/init/dept["+(cmb_wardlist.focusIndex+1)+"]/deptflag")); // 부서구분
  33. ipt_sumfromdd.disabled = true; // 당일인 경우 날짜수정 불가(Default 당일)
  34. ipt_sumtodd.disabled = true;
  35. //* 그리드 초기화 *//
  36. model.removeNodeset("/root/main/sumprcplist"); // 처방별 집계현황
  37. model.removeNodeset("/root/main/sumpatlist" ); // 환자별 집계현황
  38. // 간호하드코딩 테이블 조회_20090416(ByJA)
  39. var pCode = "'050', '051'"; // 조회할 CdGrupID 코드정보
  40. var pDate = getCurrentDate(); // 조회기준일자
  41. fGetNursHardCdInfo(pCode, pDate);
  42. for(var i=1; i<=getNodesetCount("/root/code/codeinfo/codelist"); i++){
  43. switch (model.getValue("/root/code/codeinfo/codelist["+i+"]/cdgrupid")){
  44. case "050": // 성분헌혈실
  45. comdondeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  46. break;
  47. case "051": // 조혈모세포
  48. stemcelldeptcd = model.getValue("/root/code/codeinfo/codelist["+i+"]/cdid");
  49. break;
  50. }
  51. }
  52. model.refresh();
  53. }
  54. /**
  55. * @group :
  56. * @ver : 2007.10.09
  57. * @by : 김진아
  58. * @---------------------------------------------------
  59. * @type : function
  60. * @access : public
  61. * @desc : 처방별 집계현황조회
  62. * @param : sFlag
  63. "Delt" - 상세처방명을 이용한 검색
  64. "HOME" - 가정간호 간호처방 집계
  65. * @return :
  66. * @---------------------------------------------------
  67. */
  68. function fSrchSumPrcpInfo(sFlag){
  69. // 조회조건 체크
  70. var issdeptcd = model.getValue("/root/main/cond/issdeptcd"); // 부서
  71. var sumfromdd = model.getValue("/root/main/cond/sumfromdd"); // 집계시작일자
  72. var sumtodd = model.getValue("/root/main/cond/sumtodd"); // 집계종료일자
  73. if(cmb_wardlist.label==""){
  74. messageBox("부서가 선택되지 ","E007", "해당부서를 선택 후 다시 조회하십시오.");
  75. model.setFocus("cmb_wardlist");
  76. return;
  77. }
  78. if(sumfromdd.length < 8){
  79. messageBox("집계일시 값이 유효하지 않아 조회룰 수행 ","E001", "확인 후 다시 조회하십시오.");
  80. model.makeValue("/root/main/cond/sumfromdd" , "");
  81. ipt_sumfromdd.refresh();
  82. model.setFocus("ipt_sumfromdd");
  83. return;
  84. }
  85. if(sumtodd.length < 8){
  86. messageBox("집계일시 값이 유효하지 않아 조회룰 수행 ","E001", "확인 후 다시 조회하십시오.");
  87. model.makeValue("/root/main/cond/sumtodd" , "");
  88. ipt_sumtodd.refresh();
  89. model.setFocus("ipt_sumtodd");
  90. return;
  91. }
  92. if(sumfromdd > sumtodd){
  93. messageBox("집계일시 기간이 올바르지 않아 조회룰 수행 ","E001", "확인 후 다시 조회하십시오.");
  94. model.makeValue("/root/main/cond/sumfromdd" , getCurrentDate()); // 집계시작일자 (현재일자)
  95. model.makeValue("/root/main/cond/sumtodd" , getCurrentDate()); // 집계종료일자 (현재일자)
  96. ipt_sumfromdd.refresh();
  97. ipt_sumtodd.refresh();
  98. model.setFocus("ipt_sumfromdd");
  99. return;
  100. }
  101. if(sFlag == "Delt"){
  102. if(model.getValue("/root/main/cond/deltprcpsrchflag")==""){
  103. messageBox("상세조회 처방구분이 선택되지","E007", "처방코드 또는 처방명을 선택 후 다시 검색하십시오.");
  104. model.setFocus("rdo_deltprcpsrchflag"); return;
  105. }
  106. if(model.getValue("/root/main/cond/deltprcpinfo")==""){
  107. messageBox("상세조회 텍스트가 입력되지","E007", "상세조회 텍스트를 입력 후 다시 검색하십시오.");
  108. model.setFocus("ipt_deltprcpinfo"); return;
  109. }
  110. }
  111. fSrchInit(); // 초기화
  112. if(sFlag != "Delt"){
  113. model.setValue("/root/main/cond/deltprcpinfo", "");
  114. }
  115. model.removenode("/root/send");
  116. model.makeNode("/root/send/reqdata");
  117. model.makeValue("/root/send/reqdata/issdeptcd" , model.getValue("/root/main/cond/issdeptcd") ); // 부서정보
  118. model.makeValue("/root/send/reqdata/sumfromdt" , model.getValue("/root/main/cond/sumfromdd") ); // 집계시작일시
  119. model.makeValue("/root/send/reqdata/sumtodt" , model.getValue("/root/main/cond/sumtodd") ); // 집계종료일시
  120. model.makeValue("/root/send/reqdata/prcpattrflag", model.getValue("/root/main/cond/prcpattrflag")); // 처방속성구분
  121. model.makeValue("/root/send/reqdata/deliveflag" , model.getValue("/root/main/cond/deliveflag") ); // 불출구분
  122. model.makeValue("/root/send/reqdata/inputpsnflag", model.getValue("/root/main/cond/inputpsnflag")); // 입력자구분
  123. model.makeValue("/root/send/reqdata/deptflag" , model.getValue("/root/main/cond/deptflag") ); // 부서구분
  124. model.makeValue("/root/send/reqdata/deptelmnyn" , model.getValue("/root/main/cond/deptelmnyn") ); // 우리부서에서 발행한 처방제외여부
  125. // 간호하드코딩작업_20090416(ByJA)
  126. if(model.getValue("/root/main/cond/issdeptcd") == comdondeptcd){ // 성분헌혈실
  127. model.makeValue("/root/send/reqdata/deptflag", "comdon");
  128. }else if(model.getValue("/root/main/cond/issdeptcd") == stemcelldeptcd){ // 조혈모세포
  129. model.makeValue("/root/send/reqdata/deptflag", "stemcell");
  130. }else{
  131. model.makeValue("/root/send/reqdata/deptflag", model.getValue("/root/main/cond/deptflag"));
  132. }
  133. // 상세검색 시
  134. if(sFlag == "Delt"){
  135. model.makeValue("/root/send/reqdata/deltprcpsrchflag", model.getValue("/root/main/cond/deltprcpsrchflag")); // 상세처방조회 구분
  136. model.makeValue("/root/send/reqdata/deltprcpinfo", model.getValue("/root/main/cond/deltprcpinfo")); // 상세처방코드/처방명
  137. }
  138. // 가정간호 간호처방 집계 시_20090109
  139. model.makeValue("/root/send/reqdata/unitflag", sFlag); // 업무구분
  140. submit("TRMNW10302");
  141. grd_sumprcpinfo.allStyle("all", "color") = "black"; // 글자 초기화(검정, 보통굵기)
  142. grd_sumprcpinfo.allStyle("all", "font-weight") = "normal";
  143. for(var i=0; i<grd_sumprcpinfo.rows; i++){
  144. if(model.getValue("/root/main/sumprcplist/sumprcpinfo["+i+"]/reqprid") == "3"){ // 불출구분("3": 월청구) 글자 지정(보라색, 굵게)
  145. grd_sumprcpinfo.rowstyle(i, "all", "color") = "#cc0099";
  146. grd_sumprcpinfo.rowstyle(i, "all", "font-weight") = "bold";
  147. }
  148. }
  149. }
  150. /**
  151. * @group :
  152. * @ver : 2007.10.10
  153. * @by : 김진아
  154. * @---------------------------------------------------
  155. * @type : function
  156. * @access : public
  157. * @desc : 환자별 집계현황조회
  158. * @param :pFlag
  159. * @return :
  160. * @---------------------------------------------------
  161. */
  162. function fSrchSumPatInfo(pFlag){
  163. iRow = grd_sumprcpinfo.row;
  164. iCol = grd_sumprcpinfo.col;
  165. model.removeNodeset("/root/main/sumpatlist");
  166. model.removenode("/root/send");
  167. model.makeNode("/root/send/reqdata");
  168. model.makeValue("/root/send/reqdata/issdeptcd" , model.getValue("/root/main/cond/issdeptcd") ); // 부서정보
  169. model.makeValue("/root/send/reqdata/sumfromdt" , model.getValue("/root/main/cond/sumfromdd") ); // 집계시작일시
  170. model.makeValue("/root/send/reqdata/sumtodt" , model.getValue("/root/main/cond/sumtodd") ); // 집계종료일시
  171. model.makeValue("/root/send/reqdata/prcpattrflag" , model.getValue("/root/main/cond/prcpattrflag")); // 처방속성구분
  172. model.makeValue("/root/send/reqdata/deliveflag" , model.getValue("/root/main/cond/deliveflag") ); // 불출구분
  173. model.makeValue("/root/send/reqdata/inputpsnflag" , model.getValue("/root/main/cond/inputpsnflag")); // 입력자구분
  174. model.makeValue("/root/send/reqdata/deptflag" , model.getValue("/root/main/cond/deptflag") ); // 부서구분
  175. model.makeValue("/root/send/reqdata/deptelmnyn" , model.getValue("/root/main/cond/deptelmnyn") ); // 우리부서에서 발행한 처방제외여부
  176. if(pFlag == "HOME"){ // 가정간호 간호처방 집계의 경우
  177. model.makeValue("/root/main/sumpatlist/prcpnm", model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpnm")); // 처방명
  178. model.makeValue("/root/main/sumpatlist/prcpcd", model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpcd")); // 처방코드
  179. /* 가정간호 처방집계 추가_20090107*/
  180. model.makeValue("/root/main/sumpatlist/prcpcnt" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpcnt")); // 처방수량
  181. model.makeValue("/root/main/sumpatlist/dcprcpcnt" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/dcprcpcnt")); // 반황수량
  182. model.makeValue("/root/main/sumpatlist/orgprcpcnt", model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/orgprcpcnt")); // 실수량
  183. model.makeValue("/root/send/reqdata/prcpcd" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpcd")); // 처방코드
  184. model.makeValue("/root/send/reqdata/prcpnm" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpnm")); // 처방명
  185. model.makeValue("/root/send/reqdata/drugstndunit" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/drugstndunit")); // 재료규격
  186. model.makeValue("/root/send/reqdata/prcpdd" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpdd")); // 처방일자 또는 반납일자
  187. model.makeValue("/root/send/reqdata/prcpclscd" , model.getValue("/root/main/sortsumprcplist/sumprcpinfo["+ iRow +"]/prcpclscd")); // 처방종류구분
  188. } else{
  189. model.makeValue("/root/main/sumpatlist/prcpnm", model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpnm")); // 처방명
  190. model.makeValue("/root/main/sumpatlist/prcpcd", model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpcd")); // 처방코드
  191. /* 가정간호 처방집계 추가_20090107*/
  192. model.makeValue("/root/main/sumpatlist/prcpcnt" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpcnt")); // 처방수량
  193. model.makeValue("/root/main/sumpatlist/dcprcpcnt" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/dcprcpcnt")); // 반황수량
  194. model.makeValue("/root/main/sumpatlist/orgprcpcnt", model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/orgprcpcnt")); // 실수량
  195. model.makeValue("/root/send/reqdata/prcpcd" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpcd")); // 처방코드
  196. model.makeValue("/root/send/reqdata/prcpnm" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpnm")); // 처방명
  197. model.makeValue("/root/send/reqdata/drugstndunit" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/drugstndunit")); // 재료규격
  198. model.makeValue("/root/send/reqdata/prcpdd" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpdd")); // 처방일자 또는 반납일자
  199. model.makeValue("/root/send/reqdata/prcpclscd" , model.getValue("/root/main/sumprcplist/sumprcpinfo["+ iRow +"]/prcpclscd")); // 처방종류구분
  200. }
  201. // 간호하드코딩작업_20090416(ByJA)
  202. if(model.getValue("/root/main/cond/issdeptcd") == comdondeptcd){ // 성분헌혈실
  203. model.makeValue("/root/send/reqdata/deptflag", "comdon");
  204. }else if(model.getValue("/root/main/cond/issdeptcd") == stemcelldeptcd){ // 조혈모세포
  205. model.makeValue("/root/send/reqdata/deptflag", "stemcell");
  206. }else{
  207. model.makeValue("/root/send/reqdata/deptflag", model.getValue("/root/main/cond/deptflag"));
  208. }
  209. submit("TRMNW10303");
  210. grd_prcppotlist.colstyle(7, "data", "color") = "black"; // 입력자 글자색상 초기화(검정)
  211. for(var i=1; i<grd_prcppotlist.rows; i++){
  212. if(model.getValue("/root/main/sumpatlist/sumpatinfo["+i+"]/prcpauthflag") == "0"){ // 입력자가 의사일 경우 글자색상 지정(보라색)
  213. grd_prcppotlist.cellStyle("color", i, 7, i, 7) = "#cc0099";
  214. grd_prcppotlist.cellStyle("color", i, 9, i, 9) = "#cc0099";
  215. }
  216. }
  217. }
  218. /**
  219. * @group :
  220. * @ver : 2007.10.11
  221. * @by : 김진아
  222. * @---------------------------------------------------
  223. * @type : function
  224. * @access : public
  225. * @desc : 처방별 집계현황 조회시 초기화
  226. * @param :
  227. * @return :
  228. * @---------------------------------------------------
  229. */
  230. function fSrchInit(){
  231. model.removeNodeset("/root/main/sumprcplist"); // 처방별 집계현황 초기화
  232. model.removeNodeset("/root/main/sumpatlist" ); // 환자별 집계현황 초기화
  233. }
  234. /**
  235. * @group
  236. * @ver : 2007.10.17
  237. * @by : 김진아
  238. * @---------------------------------------------------
  239. * @type : function
  240. * @access : public
  241. * @desc : 출력기능
  242. * @param : pFlag : "HOME"-가정간호
  243. * @return :
  244. * @---------------------------------------------------
  245. */
  246. function fExecPrint(pFlag){
  247. // 출력할 데이터가 없는 경우
  248. if(getNodesetCount("/root/main/sumprcplist/sumprcpinfo")==0){
  249. messageBox("출력할 데이터가", "I004"); return;
  250. }else{
  251. model.removenode("/root/send");
  252. model.makeNode("/root/send/cond");
  253. model.makeNode("/root/send/sumprcplist");
  254. model.makeNode("/root/send/init");
  255. model.copyNode("/root/send/cond" , "/root/main/cond");
  256. model.copyNode("/root/send/init" , "/root/init");
  257. model.makeValue("/root/send/cond/depthngnm", cmb_wardlist.label);
  258. if(pFlag == "HOME"){
  259. model.copyNode("/root/send/sumprcplist", "/root/main/sortsumprcplist");
  260. }else{
  261. model.copyNode("/root/send/sumprcplist", "/root/main/sumprcplist");
  262. }
  263. var prcpattrflagval = model.getValue("/root/send/cond/prcpattrflag");
  264. switch (prcpattrflagval){
  265. case "1": model.setValue("/root/send/cond/prcpattrflag","(재료)" ); break;
  266. case "2": model.setValue("/root/send/cond/prcpattrflag","(재료외)"); break;
  267. case "3": model.setValue("/root/send/cond/prcpattrflag","(전체)" ); break;
  268. }
  269. //exeReportPreview("RPMNW10300", "XMLSTR");
  270. exeReportPreview("RPMNW10300", "XMLSTR","","","true","","","","","true");
  271. }
  272. }
  273. /**
  274. * @group
  275. * @ver : 2008.02.20
  276. * @by : 김진아
  277. * @---------------------------------------------------
  278. * @type : function
  279. * @access : public
  280. * @desc : 처방검색팝업열기
  281. * @param :
  282. * @return :
  283. * @---------------------------------------------------
  284. */
  285. function fPopPrcpList(){
  286. setParameter("prcpsrchflag", model.getValue("/root/main/cond/deltprcpsrchflag")); // 검색구분(처방명:nm, 처방코드:cd)
  287. setParameter("srchtextval" , model.getValue("/root/main/cond/deltprcpinfo")); // 조회텍스트
  288. setParameter("rtnpath" , "/root/temp/popprcpinfo"); // 리턴받을경로인트턴스 (rtnpath)/prcpnm : 처방명, (rtnpath)/prcpcd : 처방코드
  289. setParameter("scrnflag" , "sum"); // 화면 구분(처방집계 : sum, 간호기록 : rec)
  290. setParameter("srchParam" , "srchPRCD"); // 처방마스터 검색 (공통SET처방 추가시, 처방집계에서 검색)
  291. modal("SPMNW11100", 1);
  292. // 선택한 처방코드 및 처방명 셋팅
  293. if(model.getValue("/root/temp/popprcpinfo/prcpcd")!=""){
  294. if(model.getValue("/root/main/cond/deltprcpsrchflag")=="cd"){
  295. model.makeValue("/root/main/cond/deltprcpinfo", model.getValue("/root/temp/popprcpinfo/prcpcd"));
  296. }else if(model.getValue("/root/main/cond/deltprcpsrchflag")=="nm"){
  297. model.makeValue("/root/main/cond/deltprcpinfo", model.getValue("/root/temp/popprcpinfo/prcpnm"));
  298. }else{
  299. model.makeValue("/root/main/cond/deltprcpinfo" , model.getValue("/root/temp/popprcpinfo/prcpnm"));
  300. model.makeValue("/root/main/cond/deltprcpsrchflag", "nm");
  301. rdo_deltprcpsrchflag.refresh();
  302. }
  303. ipt_deltprcpinfo.refresh();
  304. fSrchSumPrcpInfo("Delt"); // 처방별 집계현황조회
  305. }
  306. }
  307. /************************************************************************************************************************/
  308. /**
  309. * @group :
  310. * @ver :
  311. * @by : 김기용
  312. * @---------------------------------------------------
  313. * @type : function
  314. * @access : public
  315. * @desc : 그리드 별 엑셀저장
  316. * @param :
  317. * @return :
  318. * @---------------------------------------------------
  319. */
  320. function saveExcelAll(){
  321. var paramLen = saveExcelAll.arguments.length;
  322. // 마지막 인자가 Boolean일 경우 처리
  323. var extendsCaptionBool;
  324. if( typeof(saveExcelAll.arguments[paramLen - 1]) == "boolean" ) {
  325. extendsCaptionBool = saveExcelAll.arguments[paramLen - 1];
  326. paramLen = paramLen - 1;
  327. }
  328. else{
  329. extendsCaptionBool = false;
  330. }
  331. var tmpParamArray = new Array();
  332. if( extendsCaptionBool ) {
  333. for( var i = 0; i < paramLen; i++ ) {
  334. tmpParamArray[i] = saveExcelAll.arguments[i];
  335. }
  336. saveExcelAllWithCaption(tmpParamArray);
  337. }
  338. else{
  339. for( var i = 0; i < paramLen; i++ ) {
  340. tmpParamArray[i] = saveExcelAll.arguments[i];
  341. }
  342. saveExcelAllWithNotCaption(tmpParamArray);
  343. }
  344. }
  345. function saveExcelAllWithCaption( sheetArray ) {
  346. // alert(gridCaptionArray);
  347. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  348. if( fileName == "" )
  349. return;
  350. // var sheetArray = new Array("grd_bizprescondstats|업무현황", "grd_patprescondstats|환자현황", "grd_hdstatsinfo|혈액투석현황", "grd_pdstatsinfo|복막투석현황", "grd_pdbizstatsinfo|복막투석업무현황");
  351. var sheetArrayLen = sheetArray.length;
  352. var gridId;
  353. var gridObj;
  354. for( var i = 0; i < sheetArray.length; i++ ) {
  355. gridId = sheetArray[i].split("|")[0];
  356. gridObj = document.all.item(gridId);
  357. // saveText() 함수는 Caption저장이 불가능 하여 SaveExcel()을 이용한다.
  358. gridObj.saveExcel("C:\\Temp\\tmp_TFExcel_" + i +".xls");
  359. }
  360. // excel application 실행함
  361. tfexcel.launchnewinstance(0);
  362. //실행된 excel application에서 새로운 workbook을 생성
  363. tfexcel.createworkbook();
  364. tfexcel.activatesheet(1);
  365. var sheetName;
  366. var nResult;
  367. for( var i = 0; i < sheetArrayLen; i++ )
  368. {
  369. sheetName = sheetArray[i].split("|")[1];
  370. if( i > 1 ) {
  371. nResult = tfexcel.activatesheet(i+1);
  372. tfexcel.sheetname(i+1) = sheetName;
  373. }
  374. else {
  375. nResult = tfexcel.addsheet(i+1, sheetName);
  376. }
  377. if( nResult < 0 ) {
  378. messageBox(sheetName + " 저장을", "E009");
  379. // alert(sheetName + " 오류발생");
  380. return;
  381. }
  382. tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel_" + i + ".xls");
  383. }
  384. //tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel.xls");
  385. //workbook을 저장.
  386. tfexcel.save(fileName);
  387. //excel application을 종료. excel application 생성 후 반드시 close해야함.
  388. tfexcel.close();
  389. var fso = new ActiveXObject("Scripting.FileSystemObject");
  390. for( var i = 0; i < sheetArrayLen; i++ ) {
  391. fso.DeleteFile("C:\\Temp\\tmp_TFExcel_" + i + ".xls");
  392. }
  393. var rmsg = messageBox("저장된 Excel을", "Q004");
  394. // var rmsg = window.alert("저장된 Excel을 실행하시겠습니까?", "알림", 36);
  395. if( rmsg == 6 )
  396. window.exec("excel.exe", '\"' + fileName + '\"');
  397. }
  398. function saveExcelAllWithNotCaption( sheetArray ) {
  399. // alert(gridCaptionArray);
  400. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  401. if( fileName == "" )
  402. return;
  403. // excel application 실행함
  404. tfexcel.launchnewinstance(0);
  405. // 실행된 excel application에서 새로운 workbook을 생성
  406. tfexcel.createworkbook();
  407. // var sheetArray = new Array("grd_bizprescondstats|업무현황", "grd_patprescondstats|환자현황", "grd_hdstatsinfo|혈액투석현황", "grd_pdstatsinfo|복막투석현황", "grd_pdbizstatsinfo|복막투석업무현황");
  408. var sheetArrayLen = sheetArray.length;
  409. var gridId;
  410. var gridObj;
  411. var sheetName;
  412. var nResult;
  413. for( var i = 0; i < sheetArrayLen; i++ ) {
  414. gridId = sheetArray[i].split("|")[0];
  415. gridObj = document.all.item(gridId);
  416. sheetName = sheetArray[i].split("|")[1];
  417. if( i > 1 ) {
  418. nResult = tfexcel.activatesheet(i+1);
  419. tfexcel.sheetname(i+1) = sheetName;
  420. }
  421. else {
  422. nResult = tfexcel.addsheet(i+1, sheetName);
  423. }
  424. if( nResult < 0 ) {
  425. messageBox(sheetName + " 저장을", "E009");
  426. // alert(sheetName + " 오류발생");
  427. return;
  428. }
  429. gridObj.saveText("C:\\Temp\\tmp_TFExcel.csv", "\n", ",", '\:', true);
  430. tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel.csv");
  431. }
  432. //workbook을 저장.
  433. tfexcel.save(fileName);
  434. //excel application을 종료. excel application 생성 후 반드시 close해야함.
  435. tfexcel.close();
  436. // CSV File 삭제
  437. var fso = new ActiveXObject("Scripting.FileSystemObject");
  438. fso.DeleteFile("C:\\Temp\\tmp_TFExcel.csv");
  439. var rmsg = messageBox("저장된 Excel을", "Q004");
  440. // var rmsg = window.alert("저장된 Excel을 실행하시겠습니까?", "알림", 36);
  441. if( rmsg == 6 )
  442. window.exec("excel.exe", '\"' + fileName + '\"');
  443. }
  444. function createTFExcel(tfExcelID, parentObj) {
  445. if( parentObj == null )
  446. parentObj = body;
  447. var tfExcelObj = parentObj.createChild("xforms:object", "id:" + tfExcelID + "; clsid:{fe8d1001-6a9d-424d-ae2a-301493bb12da}; left:100px; top:100px; width:100px; height:100px; ");
  448. return tfExcelObj;
  449. }
  450. /************************************************************************************************************************/