SPSTP02200_통합수납집계.xfdl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPSTP02200" position="absolute 0 0 1200 778" titletext="환자집계" oninit="SPSTP02200_oninit" onload="SPSTP02200_onload">
  5. <Layouts>
  6. <Layout>
  7. <Div id="Div00" anchor="left top right" taborder="31" class="div_SA" position="absolute 0 24 1195 64"/>
  8. <Shape position="absolute 1113 31 1119 58" linetype="vertical" id="line13" anchor="top right"/>
  9. <Static text="조회기간 :" position="absolute 10 36 96 53" id="caption21" class="search_name"/>
  10. <Button position="absolute 1130 34 1186 54" id="btn_search" class="btn1" taborder="3" text="조회" anchor="top right" onclick="btn_search_onclick"/>
  11. <Button position="absolute 1145 74 1195 93" id="btn_excel" class="btn7" taborder="30" text="엑셀" anchor="top right" onclick="btn_excel_onclick"/>
  12. <Static text="수납 통계" position="absolute 0 0 120 24" align="align:center middle;" id="cap_title" class="tit_1"/>
  13. <Static text="~" position="absolute 201 38 216 53" id="caption6"/>
  14. <Calendar position="absolute 90 35 193 54" align="align:center middle;" id="ipt_fromdd" class="input_search" taborder="1" autoskip="true" autoselect="true"/>
  15. <Calendar position="absolute 220 35 323 54" align="align:center middle;" id="ipt_todd" class="input_search" taborder="1" autoselect="true"/>
  16. <Static text="조회 결과" position="absolute 0 77 90 99" id="caption1" class="tit_2"/>
  17. <Shape position="absolute 0 93 1195 99" linetype="horizontal" id="line1" class="line_10" anchor="left top right"/>
  18. <Grid position="absolute 0 98 1195 773" id="grd_main" autoenter="select" cellsizingtype="col" anchor="all" binddataset="ds_main_gridlist_gridinfo">
  19. <Formats>
  20. <Format id="default">
  21. <Columns/>
  22. <Band id="head"/>
  23. <Band id="body"/>
  24. </Format>
  25. </Formats>
  26. </Grid>
  27. <Static text="업무구분 :" position="absolute 346 36 428 53" id="cap_worktype" class="search_name" visible="false"/>
  28. <Combo position="absolute 431 34 531 53" id="cmb_worktype" class="input_search" visible="false" innerdataset="@ds_init_PK021_worktype" datacolumn="cdnm" codecolumn="cdid"/>
  29. <Static text="입원/외래 :" position="absolute 561 36 648 53" id="cap_brate" class="search_name" visible="false"/>
  30. <Combo position="absolute 653 35 713 54" id="cmb_brate" class="input_search" visible="false" codecolumn="codecolumn" datacolumn="datacolumn">
  31. <Dataset id="innerdataset">
  32. <ColumnInfo>
  33. <Column id="codecolumn"/>
  34. <Column id="datacolumn"/>
  35. </ColumnInfo>
  36. <Rows>
  37. <Row>
  38. <Col id="codecolumn">T</Col>
  39. <Col id="datacolumn">전체</Col>
  40. </Row>
  41. <Row>
  42. <Col id="codecolumn">I</Col>
  43. <Col id="datacolumn">입원</Col>
  44. </Row>
  45. <Row>
  46. <Col id="codecolumn">O</Col>
  47. <Col id="datacolumn">외래</Col>
  48. </Row>
  49. </Rows>
  50. </Dataset>
  51. </Combo>
  52. <CheckBox position="absolute 723 37 968 52" id="chk_dr" visible="false" text="주치의별 수납 건수 (정형외과, 신경외과)" truevalue="Y" onclick="chk_dr_onclick"/>
  53. <CheckBox position="absolute 335 34 435 54" id="chk_pamflag" visible="false" text="무인수납 포함" truevalue="Y"/>
  54. </Layout>
  55. </Layouts>
  56. <Objects>
  57. <Dataset id="ds_send" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  58. <ColumnInfo>
  59. <Column id="fromdd" type="STRING" size="256"/>
  60. <Column id="todd" type="STRING" size="256"/>
  61. <Column id="srchflag" type="STRING" size="256"/>
  62. <Column id="dayflag" type="STRING" size="256"/>
  63. <Column id="worktype" type="STRING" size="256"/>
  64. <Column id="brateflag" type="STRING" size="256"/>
  65. <Column id="drflag" type="STRING" size="256"/>
  66. <Column id="pamflag" type="STRING" size="256"/>
  67. </ColumnInfo>
  68. <Rows>
  69. <Row>
  70. <Col id="fromdd"/>
  71. <Col id="todd"/>
  72. <Col id="srchflag"/>
  73. <Col id="dayflag"/>
  74. <Col id="worktype"/>
  75. <Col id="brateflag">T</Col>
  76. <Col id="drflag"/>
  77. <Col id="pamflag"/>
  78. </Row>
  79. </Rows>
  80. </Dataset>
  81. <Dataset id="ds_main_gridlist_gridinfo" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  82. <Dataset id="ds_init_PK021_worktype" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  83. <Dataset id="ds_temp_header" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  84. <Dataset id="ds_temp_gridlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  85. </Objects>
  86. <Bind>
  87. <BindItem id="item0" compid="ipt_fromdd" propid="value" datasetid="ds_send" columnid="fromdd"/>
  88. <BindItem id="item1" compid="ipt_todd" propid="value" datasetid="ds_send" columnid="todd"/>
  89. <BindItem id="item2" compid="cmb_worktype" propid="value" datasetid="ds_send" columnid="worktype"/>
  90. <BindItem id="item3" compid="cmb_brate" propid="value" datasetid="ds_send" columnid="brateflag"/>
  91. <BindItem id="item4" compid="chk_dr" propid="value" datasetid="ds_send" columnid="drflag"/>
  92. <BindItem id="item5" compid="chk_pamflag" propid="value" datasetid="ds_send" columnid="pamflag"/>
  93. </Bind>
  94. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  95. * System Name :
  96. * Job Name :
  97. * Creator :
  98. * Make Date : 2016-05-24
  99. * Description :
  100. *---------------------------------------------------------------------------------------
  101. * Modify Date Modifier Modify Description
  102. *---------------------------------------------------------------------------------------
  103. * 2016-05-24 Live Converter TF->XP
  104. *
  105. *---------------------------------------------------------------------------------------
  106. ****************************************************************************************/
  107. include "com_commonxp::comm_main.xjs";
  108. var FLAG = "";
  109. var FLAGNM = "";
  110. function SPSTP02200_oninit(obj:Form, e:InitEventInfo)
  111. {
  112. frmf_initForm(obj);
  113. }
  114. function SPSTP02200_onload(obj:Form, e:LoadEventInfo)
  115. {
  116. ds_send.setColumn(0, "fromdd", utlf_getCurrentDate().toDate().getAddDate(-1).getDateFormat());
  117. ds_send.setColumn(0, "todd", utlf_getCurrentDate().toDate().getAddDate(-1).getDateFormat());
  118. FLAG = frmf_getMenuParam();
  119. ds_send.setColumn(0, "srchflag", FLAG);
  120. var titlesize = 120;
  121. if (FLAG == "worktype")
  122. {
  123. FLAGNM = "업무구분별 수납자별 진료과별 수납 건수 조회";
  124. titlesize = 200;
  125. cap_worktype.visible = true;
  126. cmb_worktype.visible = true;
  127. var oParam = {};
  128. oParam.id = "TRSTP02200";
  129. oParam.service = "stspamapp.StsPam";
  130. oParam.method = "reqGetWorktypeList";
  131. oParam.inds = "req=ds_send";
  132. oParam.outds = "ds_init_PK021_worktype=worktype";
  133. oParam.async = false;
  134. //oParam.callback = "cf_TRSTP02200";
  135. tranf_submit(oParam);
  136. frmf_addComboItem("cmb_worktype", "전체", "T", "above");
  137. cmb_worktype.index = 0;
  138. chk_dr.visible = true;
  139. chk_dr.position.left = 550;
  140. }
  141. else if (FLAG == "acpt")
  142. {
  143. FLAGNM = "수납자별 진료과별 수납 및 외래 접수 건수 조회";
  144. titlesize = 200;
  145. chk_pamflag.visible = true;
  146. chk_pamflag.position.top = 32;
  147. }
  148. cap_title.value = FLAGNM;
  149. cap_title.position.width = titlesize;
  150. }
  151. function chk_dr_onclick(obj:CheckBox, e:ClickEventInfo)
  152. {
  153. if(obj.value == "Y")
  154. {
  155. FLAG = "dr";
  156. }
  157. else
  158. {
  159. FLAG = "worktype";
  160. }
  161. ds_send.setColumn(0, "srchflag", FLAG);
  162. }
  163. function btn_search_onclick(obj:Button, e:ClickEventInfo)
  164. {
  165. if (String(FLAG).length < 1)
  166. {
  167. return;
  168. }
  169. ds_send.setColumn(0, "dayflag", (ds_send.getColumn(0, "fromdd") == ds_send.getColumn(0, "todd")) ? "Y" : "N");
  170. fSetDynamicGrid(grd_main, "ds_main_gridlist_gridinfo", "TRSTP02201");
  171. var cnt = ds_main_gridlist_gridinfo.rowcount;
  172. var color = "transparent";
  173. for (var i = 0; i < cnt; i++)
  174. {
  175. var row = i;
  176. var sinfo = ds_main_gridlist_gridinfo.getColumn(i, "suminfo").split(",");
  177. var slv = sinfo[0];
  178. var scol = sinfo[1];
  179. if (slv > 0)
  180. {
  181. if (slv == 3)
  182. {
  183. color = "#ffffe6";
  184. }
  185. else if (slv == 2)
  186. {
  187. color = "#ffffc8";
  188. }
  189. else if (slv == 1)
  190. {
  191. color = "#ffffa0";
  192. }
  193. dsf_makeValue(ds_main_gridlist_gridinfo, "bgColor", "string", color, row);
  194. dsf_makeValue(ds_main_gridlist_gridinfo, "fontStyle", "string", "arial,9,bold", row);
  195. }
  196. }
  197. }
  198. function fSetDynamicGrid(grd, ref, sid)
  199. {
  200. ds_temp_header.clearData();
  201. ds_temp_gridlist.clearData();
  202. eval(ref).clearData();
  203. var cols = grd.getFormatColCount();
  204. for (var i = cols; i >= 0; i--)
  205. {
  206. grd.deleteContentsCol(i);
  207. }
  208. var oParam = {};
  209. oParam.id = "TRSTP02201";
  210. oParam.service = "stspamapp.StsPam";
  211. oParam.method = "reqGetRcptMagm";
  212. oParam.inds = "req=ds_send";
  213. oParam.outds = "ds_temp_header=header ds_temp_gridlist=gridinfo";
  214. oParam.async = false;
  215. //oParam.callback = "cf_TRSTP02201";
  216. tranf_submit(oParam);
  217. var attr = ds_temp_header.getColumn(0, "attr");
  218. if (utlf_isNull(attr) || String(attr).length < 1)
  219. {
  220. if(grd.getCellCount("Head")>0)
  221. {
  222. grd.setCellProperty("Head", 0, "text", "");
  223. }
  224. return;
  225. }
  226. var gridCaption = ds_temp_header.getColumn(0, "caption");
  227. var titleArr = gridCaption.split("|"); // '|'로 입력된 Head값 처리를 위해 변경함 kimdo3, 2017-03-25
  228. var refarr = new Array();
  229. var k = 0;
  230. for(var i = 0; i < titleArr.length; i++)
  231. {
  232. grd.appendContentsRow("head");
  233. var s_titleArr = titleArr[i].split("^");
  234. for(var j = 0; j < s_titleArr.length; j++)
  235. {
  236. // 0 번째 컬럼은 이미 생성, 하나 줄여서 컬럼 생성해야하므로 j > 0 보다 큰 조건을 줌
  237. if(i == 0 && j > 0)
  238. {
  239. grd.appendContentsCol();
  240. }
  241. refarr[k] = s_titleArr[j];
  242. k++;
  243. }
  244. }
  245. // head Text 지정
  246. for(var i = 0; i < refarr.length; i++)
  247. {
  248. grd.setCellProperty("head", i, "text", refarr[i]);
  249. }
  250. grd.appendContentsRow("body");
  251. // Column Bind setting
  252. var attrArr = String(attr).split("^");
  253. var col = "";
  254. var type = "";
  255. var font = "";
  256. var align = "";
  257. var chk_Font = new Array();
  258. var cnt = 0;
  259. for(var i = 0; i < attrArr.length; i++)
  260. {
  261. var dataType = String(attrArr[i]).replace("; ", ",");
  262. var s_dataType = dataType.split(",");
  263. for(var j = 0; j < s_dataType.length; j++)
  264. {
  265. if(String(s_dataType[j]).indexOf("ref") == 0)
  266. {
  267. col = String(s_dataType[j]).replace("ref:", "");
  268. grd.setCellProperty("Body", i, "text", "bind:"+col);
  269. }
  270. if(String(s_dataType[j]).indexOf("type") == 0)
  271. {
  272. type = String(s_dataType[j]).replace("type:", "");
  273. if(type == "Number")
  274. {
  275. grd.setCellProperty("Body", i, "displaytype", "number");
  276. }
  277. else
  278. {
  279. grd.setCellProperty("Body", i, "displaytype", "normal");
  280. }
  281. }
  282. if(String(s_dataType[j]).indexOf("visibility") == 0)
  283. {
  284. visibility = String(s_dataType[j]).replace("visibility:", "");
  285. if(visibility == "hidden")
  286. {
  287. grd.setCellProperty("Head", i, "size", 0);
  288. }
  289. }
  290. if(String(s_dataType[j]).indexOf("text-align") == 0)
  291. {
  292. align = String(s_dataType[j]).replace("text-align:", "");
  293. grd.setCellProperty("Body", i, "align", align+" middle");
  294. }
  295. //Grid Background Setting
  296. grd.setCellProperty("Body", i, "background", "BIND(bgColor)");
  297. grd.setCellProperty("Body", i, "background2", "BIND(bgColor)");
  298. if(String(s_dataType[j]).indexOf("font-weight") == 0)
  299. {
  300. chk_Font[cnt] = i;
  301. cnt++;
  302. }
  303. }
  304. }
  305. var width = ds_temp_header.getColumn(0, "width");
  306. var widthArr = String(width).split("^");
  307. // 컬럼 사이즈 조절을 위한 for문
  308. for(var i = 0; i < widthArr.length; i++)
  309. {
  310. grd.setFormatColProperty(i, "size", widthArr[i]);
  311. }
  312. //Grid Font Setting
  313. cnt = 0;
  314. for(var k = 0; k < grd_main.getCellCount("body"); k++)
  315. {
  316. if(k == chk_Font[cnt])
  317. {
  318. grd.setCellProperty("Body", k, "font", "arial,9,bold");
  319. cnt++;
  320. }
  321. else
  322. {
  323. grd.setCellProperty("Body", k, "font", "BIND(fontStyle)");
  324. }
  325. }
  326. //Grid Merge Setting
  327. grdTitleMerge(grd);
  328. eval(ref).copyData(ds_temp_gridlist);
  329. }
  330. function grdTitleMerge(grid)
  331. {
  332. var headCols = grid.getCellCount("body");
  333. var headCells = grid.getCellCount("head");
  334. var headArrR1 = new Array();
  335. var headArrR2 = new Array();
  336. var headArrR3 = new Array();
  337. var headArrR2No = new Array();
  338. var headArrR3No = new Array();
  339. var headArrR2NoIdx = 0;
  340. var headArrR3NoIdx = 0;
  341. var headArrMer12No = "";
  342. var headArrMer13No = "";
  343. var headArrMer12NoIdx = 0;
  344. var headArrMer13NoIdx = 0;
  345. var mergeScol = 0;
  346. var mergeEcol = 0;
  347. var index = 0;
  348. var calindex = 0;
  349. var calindex1 = 0;
  350. var calindex11 = 0;
  351. grid.splitContentsCell("head",0,0,3,headCols,true);
  352. for(var i=0; i<headCells;i++)
  353. {
  354. if( parseInt(i/headCols)==0 )
  355. {
  356. headArrR1[i%headCols] = grid.getCellText(-1,i);
  357. }
  358. if( parseInt(i/headCols)==1 )
  359. {
  360. headArrR2[i%headCols] = grid.getCellText(-1,i);
  361. }
  362. if( parseInt(i/headCols)==2 )
  363. {
  364. headArrR3[i%headCols] = grid.getCellText(-1,i);
  365. }
  366. }//for(var i=0; i<headCells;i++) 끝
  367. //로우 병합
  368. for(var i = 0; i < headCols; i++)
  369. {
  370. if(headArrR1[i]==headArrR2[i])
  371. {
  372. index = i;
  373. calindex++;
  374. grid.mergeContentsCell("head",0,i,1,i,index,false);
  375. headArrMer12No+=i+"^";
  376. headArrMer12NoIdx++;
  377. }
  378. else
  379. {
  380. headArrR2No[headArrR2NoIdx]=i;
  381. headArrR2NoIdx++;
  382. }
  383. if(headArrR2[i]==headArrR3[i])
  384. {
  385. index = eval(i)+eval(headCols)-calindex;
  386. grid.mergeContentsCell("head",1,i,2,i,index,false);
  387. calindex1++;
  388. if(headArrR2[i]==headArrR1[i])
  389. {
  390. index = eval(i)+eval(headCols)-calindex;
  391. grid.mergeContentsCell("head",0,i,2,i,i,false);
  392. calindex11++;
  393. headArrMer13No+=i+"^";
  394. headArrMer13NoIdx++;
  395. }
  396. }
  397. else
  398. {
  399. headArrR3No[headArrR3NoIdx]=i;
  400. headArrR3NoIdx++;
  401. }
  402. }//for(var i=0; i<headCols; i++) 끝
  403. //배치가 바뀌어 재분배
  404. var headCells2 = grid.getCellCount("head");
  405. var headArr1 = new Array();
  406. var headArr2 = new Array();
  407. var headArr3 = new Array();
  408. var headArr3idx = 0;
  409. var headArr2idx = 0;
  410. for(var i=0; i<headCells2;i++)
  411. {
  412. if( parseInt(i/headCols)==0 )
  413. {
  414. headArr1[i%headCols] = grid.getCellText(-1,i);
  415. }
  416. else if( eval(i)< headCols*2-eval(calindex))
  417. {
  418. headArr2[headArr2idx] = grid.getCellText(-1,i);
  419. headArr2idx++;
  420. }
  421. else
  422. {
  423. headArr3[headArr3idx] = grid.getCellText(-1,i);
  424. headArr3idx++;
  425. }
  426. }//for(var i=0; i<headCells;i++) 끝
  427. //컬럼 병합
  428. var tmp1 = "";
  429. var tmp1idx = 0;
  430. var tmp2 = "";
  431. var tmp2idx = 0;
  432. var col = 0;
  433. var index = 0;
  434. var calcolindex = 0;
  435. for(var i=0; i<headArr1.length;i++)
  436. {
  437. if(i==0)
  438. {
  439. tmp1 = headArr1[0];
  440. tmp1idx = 0;
  441. }
  442. else
  443. {
  444. tmp2 = headArr1[i];
  445. tmp2idx = i;
  446. }
  447. idx = i-calcolindex-1;
  448. if(tmp1==tmp2)
  449. {
  450. grid.mergeContentsCell("head",0,tmp1idx,0,tmp2idx,idx,false);
  451. calcolindex++;
  452. }
  453. else
  454. {
  455. tmp1 = headArr1[i];
  456. tmp1idx = i;
  457. }
  458. }//for(var i=0; headArr1.legnth();i++) 끝
  459. var tmp1 = "!";
  460. var tmp2 = "!";
  461. var tmp2idx = 0;
  462. var calcolindex1 = 0;
  463. var idx = 0;
  464. for(var i=0; i<headArr2.length;i++)
  465. {
  466. if(i==0)
  467. {
  468. tmp1 = headArr2[0];
  469. tmp1idx = 0;
  470. }
  471. else
  472. {
  473. tmp2 = headArr2[i];
  474. tmp2idx = headArrR2No[i];
  475. }
  476. var cnt12R = biggerCnt(headArrR2No[i],headArrMer12No);
  477. idx = (headCols+headArrR2No[i]) - calcolindex - eval(calindex) + cnt12R - eval(calcolindex1)-1;
  478. if(tmp1==tmp2)
  479. {
  480. grid.mergeContentsCell("head",1,tmp1idx,1,tmp2idx,idx,false);
  481. calcolindex1++;
  482. }
  483. else
  484. {
  485. tmp1 = headArr2[i];
  486. tmp1idx = headArrR2No[i];
  487. }
  488. }//for(var i=0; headArr2.legnth();i++) 끝
  489. var tmp1 = "!";
  490. var tmp2 = "!";
  491. var tmp2idx = 0;
  492. var calcolindex11 = 0;
  493. for(var i=0; i<headArr3.length; i++)
  494. {
  495. if(i==0)
  496. {
  497. tmp1 = headArr3[0];
  498. tmp1idx = 0;
  499. }
  500. else
  501. {
  502. tmp2 = headArr3[i];
  503. tmp2idx = headArrR3No[i];
  504. }
  505. var cnt13R = biggerCnt(headArrR3No[i],headArrMer13No);
  506. idx = (headCols*2+headArrR3No[i]) - calcolindex - calcolindex1 - calcolindex11 - calindex - calindex1 + cnt13R;
  507. if(tmp1==tmp2)
  508. {
  509. grid.mergeContentsCell("head",2,tmp1idx,2,tmp2idx,idx,false);
  510. calcolindex11++;
  511. }
  512. else
  513. {
  514. tmp1 = headArr3[i];
  515. tmp1idx = headArrR3No[i];
  516. }
  517. }
  518. }
  519. function biggerCnt(num,idxArr)
  520. {
  521. var rtn=0;
  522. var arr = new Array();
  523. var idxA = new String(idxArr);
  524. arr = idxA.substr(0,idxA.length-1).split("^");
  525. for(var i=0; i<arr.length; i++)
  526. {
  527. if(num<arr[i])
  528. {
  529. rtn++;
  530. }
  531. }
  532. return rtn;
  533. }
  534. function btn_excel_onclick(obj:Button, e:ClickEventInfo)
  535. {
  536. var day = ds_send.getColumn(0, "fromdd") + "-" + ds_send.getColumn(0, "todd");
  537. grdf_exportExcel(grd_main, cap_title.text + "_" + day, FLAGNM, "true", "", "");
  538. sysf_messageBox("엑셀 저장이 완료되었습니다.", "I999");
  539. }
  540. ]]></Script>
  541. </Form>
  542. </FDL>