SPMRB02100_예약장부조회.xfdl 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <FDL version="1.5">
  3. <TypeDefinition url="..\..\..\default_typedef.xml"/>
  4. <Form id="SPMRB02100" position="absolute 0 0 1175 855" titletext="예약장부조회" oninit="SPMRB02100_oninit" onload="SPMRB02100_onload">
  5. <Layouts>
  6. <Layout>
  7. <Button position="absolute 1119 19 1175 41" id="button3" class="btn3" text="닫기" anchor="top right" onclick="button3_onclick"/>
  8. <Static text="예약 장부 조회" position="absolute 0 0 180 25" align="align:center middle;" id="caption11" class="tit_1"/>
  9. <Grid position="absolute 0 44 1175 855" id="grd_calendar" binddataset="ds_weeklist" selecttype="cell" anchor="all" cellsizingtype="col" oncelldblclick="grd_calendar_oncelldblclick" cellsizebandtype="body" autofittype="col,allrow" autosizingtype="row" autofitminheight="160">
  10. <Formats>
  11. <Format id="default">
  12. <Columns>
  13. <Column size="33"/>
  14. <Column size="207"/>
  15. <Column size="207"/>
  16. <Column size="207"/>
  17. <Column size="207"/>
  18. <Column size="207"/>
  19. <Column size="33"/>
  20. </Columns>
  21. <Rows>
  22. <Row size="21" band="head"/>
  23. <Row size="20"/>
  24. </Rows>
  25. <Band id="head">
  26. <Cell style="background:white;" text="일"/>
  27. <Cell col="1" style="background:white;" text="월"/>
  28. <Cell col="2" style="background:white;" text="화"/>
  29. <Cell col="3" style="background:white;" text="수"/>
  30. <Cell col="4" style="background:white;" text="목"/>
  31. <Cell col="5" style="background:white;" text="금"/>
  32. <Cell col="6" style="background:white;" text="토"/>
  33. </Band>
  34. <Band id="body">
  35. <Cell style="align:center top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow, sun));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:sun"/>
  36. <Cell col="1" style="align:left top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,mon));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:mon" wordwrap="char"/>
  37. <Cell col="2" displaytype="normal" style="align:left top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,tue));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:tue" wordwrap="char"/>
  38. <Cell col="3" style="align:left top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,wed));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:wed" wordwrap="char"/>
  39. <Cell col="4" style="align:left top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,thu));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:thu" wordwrap="char"/>
  40. <Cell col="5" style="align:left top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,fri));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:fri" wordwrap="char"/>
  41. <Cell col="6" style="align:center top;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,sat));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:sat"/>
  42. </Band>
  43. </Format>
  44. </Formats>
  45. </Grid>
  46. <Grid position="absolute 5 495 555 736" id="grd_schemainlist" visible="false" binddataset="ds_schemainlist">
  47. <Formats>
  48. <Format id="default">
  49. <Columns>
  50. <Column size="90"/>
  51. <Column size="316"/>
  52. <Column size="100"/>
  53. </Columns>
  54. <Rows>
  55. <Row size="24" band="head"/>
  56. <Row size="24"/>
  57. </Rows>
  58. <Band id="head">
  59. <Cell text="날짜"/>
  60. <Cell col="1" text="예약TEXT"/>
  61. <Cell col="2"/>
  62. </Band>
  63. <Band id="body">
  64. <Cell text="bind:scschedd"/>
  65. <Cell col="1" text="bind:schetxt"/>
  66. <Cell col="2" text="bind:instcd"/>
  67. </Band>
  68. </Format>
  69. </Formats>
  70. </Grid>
  71. <Button position="absolute 1059 54 1115 76" id="button1" class="btn6" text="출력" anchor="top right" onclick="button1_onclick" visible="false"/>
  72. <Static position="absolute 486 31 752 54" align="align:right middle;" id="caption1" style="color:#cc0000ff;align:right middle;font:맑은 고딕,12,bold;" anchor="top right" visible="false"/>
  73. <Button position="absolute 1119 54 1175 76" id="button2" class="btn7" text="엑셀" anchor="top right" onclick="button2_onclick" visible="false"/>
  74. <Button position="absolute 1059 19 1115 41" id="button4" class="btn1" text="조회" anchor="top right" onclick="button4_onclick"/>
  75. <Static id="caption4" text="※ 상세조회시, 날짜를 더블클릭" position="absolute 5 25 288 45" style="color:#0033ccff;font:Dotum,9,bold;" visible="false"/>
  76. <Button id="btn_01" taborder="1" text="1월" onclick="btn_month_onclick" class="btn2" position="absolute 191 21 233 41"/>
  77. <Button id="btn_02" taborder="2" text="2월" onclick="btn_month_onclick" class="btn2" position="absolute 235 21 277 41"/>
  78. <Button id="btn_03" taborder="3" text="3월" onclick="btn_month_onclick" class="btn2" position="absolute 279 21 321 41"/>
  79. <Button id="btn_04" taborder="4" text="4월" onclick="btn_month_onclick" class="btn2" position="absolute 323 21 365 41"/>
  80. <Button id="btn_05" taborder="5" text="5월" onclick="btn_month_onclick" class="btn2" position="absolute 367 21 409 41"/>
  81. <Button id="btn_06" taborder="6" text="6월" onclick="btn_month_onclick" class="btn2" position="absolute 411 21 453 41"/>
  82. <Button id="btn_07" taborder="7" text="7월" onclick="btn_month_onclick" class="btn2" position="absolute 455 21 497 41"/>
  83. <Button id="btn_08" taborder="8" text="8월" onclick="btn_month_onclick" class="btn2" position="absolute 499 21 541 41"/>
  84. <Button id="btn_09" taborder="9" text="9월" onclick="btn_month_onclick" class="btn2" position="absolute 543 21 585 41"/>
  85. <Button id="btn_10" taborder="10" text="10월" onclick="btn_month_onclick" class="btn2" position="absolute 587 21 629 41"/>
  86. <Button id="btn_11" taborder="11" text="11월" onclick="btn_month_onclick" class="btn2" position="absolute 631 21 673 41"/>
  87. <Button id="btn_12" taborder="12" text="12월" onclick="btn_month_onclick" class="btn2" position="absolute 675 21 717 41"/>
  88. <Button id="btn_aftyear" taborder="13" onclick="btn_aftyear_onclick" class="icon_right" position="absolute 319 0 345 19"/>
  89. <Edit id="output2" taborder="14" position="absolute 218 0 318 19" style="align:center;font:Dotum,11,bold;" align="align:center middle;"/>
  90. <Button id="btn_bfyear" taborder="15" onclick="btn_bfyear_onclick" class="icon_left" position="absolute 191 0 217 19"/>
  91. <Static id="caption30" text="진료부서 :" class="search_name" position="absolute 367 2 441 19"/>
  92. <Combo id="cmb_srchdeptcd" taborder="16" innerdataset="ds_init_orddept" codecolumn="deptcd" datacolumn="depthngnm" onitemchanged="grp_srch_cmb_srchdeptcd_onitemchanged" class="combo_search" position="absolute 443 0 558 19"/>
  93. <Static id="caption19" text="진료의 :" class="search_name" position="absolute 566 2 641 19"/>
  94. <Combo id="combo3" taborder="17" innerdataset="ds_init_userlist2" codecolumn="userid" datacolumn="usernm" class="combo_search" position="absolute 627 0 713 19"/>
  95. <Static id="caption31" text="진료실 :" class="search_name" position="absolute 722 2 785 19"/>
  96. <Combo id="cmb_srchscroomgrp" taborder="18" innerdataset="ds_init_scroomgrplist" codecolumn="scroomgrpcd" datacolumn="scroomgrpnm" onitemchanged="grp_srch_cmb_srchscroomgrp_onitemchanged" class="combo_search" position="absolute 783 0 854 19"/>
  97. <Combo id="cmb_srchscroom" taborder="19" innerdataset="ds_init_scroomlist2" codecolumn="scroomcd" datacolumn="scroomnm" class="combo_search" position="absolute 856 0 932 19"/>
  98. <Div id="grp_calendar" anchor="top right" taborder="20" style="background:#ffeeffff;border:3 solid #ffccffff ;" visible="false" position="absolute 793 31 909 64">
  99. <Layouts>
  100. <Layout>
  101. <Static id="caption3" text="월" position="absolute 211 0 246 35" anchor="top right" style="color:#006600ff;font:맑은 고딕,20,bold;"/>
  102. <Static id="caption2" text="년" position="absolute 114 0 149 35" anchor="top right" style="color:#006600ff;font:맑은 고딕,20,bold;"/>
  103. <Static id="sct_year" text="2014" position="absolute 26 -1 110 43" anchor="top right" style="color:#006600ff;align:right top;font:맑은 고딕,22,bold;"/>
  104. <Static id="sct_month" text="10" position="absolute 155 -1 207 43" anchor="top right" style="color:#006600ff;align:right top;font:맑은 고딕,22,bold;"/>
  105. </Layout>
  106. </Layouts>
  107. </Div>
  108. </Layout>
  109. </Layouts>
  110. <Objects>
  111. <Dataset id="ds_weeklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  112. <ColumnInfo>
  113. <Column id="sun" type="STRING" size="256"/>
  114. <Column id="mon" type="STRING" size="256"/>
  115. <Column id="tue" type="STRING" size="256"/>
  116. <Column id="wed" type="STRING" size="256"/>
  117. <Column id="thu" type="STRING" size="256"/>
  118. <Column id="fri" type="STRING" size="256"/>
  119. <Column id="sat" type="STRING" size="256"/>
  120. </ColumnInfo>
  121. <Rows>
  122. <Row/>
  123. </Rows>
  124. </Dataset>
  125. <Dataset id="ds_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  126. <ColumnInfo>
  127. <Column id="instcd" type="STRING" size="256"/>
  128. <Column id="scschedt" type="STRING" size="256"/>
  129. <Column id="perfdeptcd" type="STRING" size="256"/>
  130. <Column id="perfdrid" type="STRING" size="256"/>
  131. <Column id="baseym" type="STRING" size="256"/>
  132. <Column id="scroomgrpcd" type="STRING" size="256"/>
  133. <Column id="scroomcd" type="STRING" size="256"/>
  134. <Column id="year" type="STRING" size="256"/>
  135. <Column id="month" type="STRING" size="256"/>
  136. </ColumnInfo>
  137. <Rows>
  138. <Row/>
  139. </Rows>
  140. </Dataset>
  141. <Dataset id="ds_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  142. <ColumnInfo>
  143. <Column id="year" type="STRING" size="256"/>
  144. <Column id="month" type="STRING" size="256"/>
  145. <Column id="perfdeptnm" type="STRING" size="256"/>
  146. </ColumnInfo>
  147. <Rows>
  148. <Row/>
  149. </Rows>
  150. </Dataset>
  151. <Dataset id="ds_carlendarlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  152. <ColumnInfo>
  153. <Column id="mon" type="STRING" size="256" sumtext="월요일"/>
  154. <Column id="tue" type="STRING" size="256" sumtext="화요일"/>
  155. <Column id="wed" type="STRING" size="256" sumtext="수요일"/>
  156. <Column id="thu" type="STRING" size="256" sumtext="목요일"/>
  157. <Column id="fri" type="STRING" size="256" sumtext="금요일"/>
  158. <Column id="sat" type="STRING" size="256" sumtext="토요일"/>
  159. <Column id="sun" type="STRING" size="256" sumtext="일요일"/>
  160. </ColumnInfo>
  161. </Dataset>
  162. <Dataset id="ds_schemainlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  163. <ColumnInfo>
  164. <Column id="instcd" type="STRING" size="256" sumtext="일자"/>
  165. <Column id="scschedd" type="STRING" size="256" sumtext="수술일자"/>
  166. <Column id="schetxt" type="STRING" size="256" sumtext="예약txt"/>
  167. </ColumnInfo>
  168. </Dataset>
  169. <Dataset id="ds_dutdatelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
  170. <ColumnInfo>
  171. <Column id="basedd" type="STRING" size="256" sumtext="기준일자"/>
  172. <Column id="schday" type="STRING" size="256" sumtext="기준일자"/>
  173. <Column id="dutflag" type="STRING" size="256" sumtext="기준일자"/>
  174. <Column id="holiflag" type="STRING" size="256" sumtext="휴일구분"/>
  175. <Column id="holinm" type="STRING" size="256" sumtext="휴일명"/>
  176. <Column id="dayflag" type="STRING" size="256" sumtext="요일구분"/>
  177. <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
  178. </ColumnInfo>
  179. </Dataset>
  180. <Dataset id="ds_init_orddept" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" reversesubsum="false">
  181. <ColumnInfo>
  182. <Column id="depthngnm" type="STRING"/>
  183. <Column id="deptcd" type="STRING"/>
  184. </ColumnInfo>
  185. </Dataset>
  186. <Dataset id="ds_init_userlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  187. <Dataset id="ds_init_scroomgrplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  188. <Dataset id="ds_init_scroomlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  189. <Dataset id="ds_init_scallroomgrplist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  190. <Dataset id="ds_init_scallroomlist2" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
  191. </Objects>
  192. <Bind>
  193. <BindItem id="item1" compid="grp_calendar.sct_year" propid="text" datasetid="ds_calendar" columnid="year"/>
  194. <BindItem id="item2" compid="grp_calendar.sct_month" propid="text" datasetid="ds_calendar" columnid="month"/>
  195. <BindItem id="item0" compid="caption1" propid="text" datasetid="ds_calendar" columnid="perfdeptnm"/>
  196. <BindItem id="item3" compid="output2" propid="" datasetid="ds_main_cond" columnid="year"/>
  197. <BindItem id="item20" compid="output2" propid="value" datasetid="ds_search" columnid="year"/>
  198. <BindItem id="item7" compid="cmb_srchdeptcd" propid="" datasetid="ds_main_cond" columnid="orddeptcd"/>
  199. <BindItem id="item34" compid="cmb_srchdeptcd" propid="value" datasetid="ds_search" columnid="perfdeptcd"/>
  200. <BindItem id="item8" compid="combo3" propid="" datasetid="ds_main_cond" columnid="perfdrid"/>
  201. <BindItem id="item35" compid="combo3" propid="value" datasetid="ds_search" columnid="perfdrid"/>
  202. <BindItem id="item22" compid="cmb_srchscroomgrp" propid="" datasetid="ds_main_cond" columnid="scroomcd"/>
  203. <BindItem id="item23" compid="cmb_srchscroomgrp" propid="value" datasetid="ds_search" columnid="scroomgrpcd"/>
  204. <BindItem id="item9" compid="cmb_srchscroom" propid="" datasetid="ds_main_cond" columnid="scroomcd"/>
  205. <BindItem id="item36" compid="cmb_srchscroom" propid="value" datasetid="ds_search" columnid="scroomcd"/>
  206. </Bind>
  207. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  208. * System Name :
  209. * Job Name :
  210. * Creator :
  211. * Make Date : 2014-08-29
  212. * Description :
  213. *---------------------------------------------------------------------------------------
  214. * Modify Date Modifier Modify Description
  215. *---------------------------------------------------------------------------------------
  216. * 2014-08-29 Live Converter TF->XP
  217. *
  218. *---------------------------------------------------------------------------------------
  219. ****************************************************************************************/
  220. include "com_commonxp::comm_main.xjs";
  221. include "emr_prcpmngtxp::MMO001.xjs";
  222. var ONE_ITEM_ROWS = 2; // 요일 날짜 라인 + 내용 다섯 라인 = 총 6라인
  223. var gButtonID = "";
  224. function SPMRB02100_oninit(obj:Form, e:InitEventInfo)
  225. {
  226. frmf_initForm(obj);
  227. }
  228. function SPMRB02100_onload(obj:Form, e:LoadEventInfo)
  229. {
  230. fInitialize();
  231. }
  232. function button1_onclick(obj:Button, e:ClickEventInfo)
  233. {
  234. var objDOM = rptf_createDOM(); // DOM 객체 설정
  235. rptf_setNodeListToDOM(objDOM, "/root/hidden/calendar", ds_calendar); // 데이터셋 1
  236. rptf_setNodeListToDOM(objDOM, "/root/hidden/calendar/weeklist/list", ds_weeklist); // 데이터셋 2
  237. var objParam = new Object();
  238. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  239. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  240. rptf_exeReportPreview30(["RPMRE02100"],[objParam], option);
  241. }
  242. function button2_onclick(obj:Button, e:ClickEventInfo)
  243. {
  244. grdf_exportExcel(grd_calendar, "예약스케줄_" + utlf_getCurrentDate(), "예약스케줄", true);
  245. }
  246. function button4_onclick(obj:Button, e:ClickEventInfo)
  247. {
  248. fSearch();
  249. }
  250. function button3_onclick(obj:Button, e:ClickEventInfo)
  251. {
  252. close();
  253. }
  254. function grd_calendar_oncelldblclick(obj:Grid, e:GridClickEventInfo)
  255. {
  256. // if( e.row % ONE_ITEM_ROWS == 0){
  257. // var month = ds_calendar.getColumn(0, "month");
  258. // var year = ds_calendar.getColumn(0, "year");
  259. //
  260. // frmf_setParameter("SPMRB02100_param_scschedt" , year+month );
  261. // frmf_setParameter("SPMRB02100_param_scscheday" , ds_weeklist.getColumn(e.row, lf_getBindCellName(obj, e.col)).substring(0,2) );
  262. // frmf_setParameter("SPMRB02100_param_perfdrid" , ds_search.getColumn(0, "perfdrid"));
  263. // frmf_setParameter("SPMRB02100_param_perfdeptcd" , ds_search.getColumn(0, "perfdeptcd"));
  264. //
  265. // frmf_open("SPMMB03800", "SPMMB03800", null, null, null, null, null, null, null, null, null, null, "M");
  266. // }
  267. }
  268. // 초기화
  269. function fInitialize(){
  270. ds_weeklist.rowposition = -1; // 화면 띄울 때 셀 선택 되지 않도록 함
  271. output2.align = "center";
  272. var scschedt = opener.frmf_getParameter("SMMRE02100_param_scschedt");
  273. var perfdeptcd = opener.frmf_getParameter("SMMRE02100_param_perfdeptcd");
  274. var perfdeptnm = opener.frmf_getParameter("SMMRE02100_param_perfdeptnm");
  275. var scheperfdrid = opener.frmf_getParameter("SMMRE02100_param_scheperfdrid");
  276. var scheperfdrnm = opener.frmf_getParameter("SMMRE02100_param_scheperfdrnm");
  277. var scroomgrpcd = opener.frmf_getParameter("SMMRE02100_param_scroomgrpcd");
  278. var scroomcd = opener.frmf_getParameter("SMMRE02100_param_scroomcd");
  279. var year = opener.frmf_getParameter("SMMRE02100_param_year");
  280. var month = opener.frmf_getParameter("SMMRE02100_param_month");
  281. ds_search.setColumn(0, "instcd" , sysf_getUserInfo("dutplceinstcd") );
  282. ds_search.setColumn(0, "scschedt" , scschedt );
  283. ds_search.setColumn(0, "perfdeptcd" , perfdeptcd );
  284. ds_search.setColumn(0, "perfdrid" , scheperfdrid );
  285. ds_search.setColumn(0, "baseym" , scschedt.substring(0,6) );
  286. ds_search.setColumn(0, "scroomgrpcd" , scroomgrpcd );
  287. ds_search.setColumn(0, "scroomcd" , scroomcd );
  288. ds_search.setColumn(0, "year" , year );
  289. ds_search.setColumn(0, "month" , month );
  290. if( !utlf_isNull(scheperfdrid) )
  291. ds_calendar.setColumn(0, "perfdeptnm" , "【" + perfdeptnm + " - " + scheperfdrnm + " 】" );
  292. else
  293. ds_calendar.setColumn(0, "perfdeptnm" , "【" + perfdeptnm + " - 전체 】" );
  294. ds_calendar.setColumn(0, "year" , scschedt.substring(0,4) );
  295. ds_calendar.setColumn(0, "month" , scschedt.substring(4,6) );
  296. gButtonID = "btn_".concat(month); //select된 button의 color를 변경해 준다.
  297. var btnobj = components[gButtonID];
  298. //btnobj.attribute("class") = "btn5_letter2";
  299. btnobj.class = "btn5"
  300. if( utlf_isNull(perfdeptcd)) ds_search.setColumn(0,"perfdeptcd", sysf_getUserInfo("dutplcecd"));
  301. if( utlf_isNull(scheperfdrid)) ds_search.setColumn(0,"perfdrid", sysf_getUserId());
  302. lf_mmbfGetDeptCodeComboList(ds_init_orddept, "O");
  303. dsf_addDsItem(ds_init_orddept, "deptcd", "depthngnm", "전체", "-");
  304. // var deptcd = ds_init_orddept.getColumn(ds_init_orddept.findRow("deptcd",sysf_getUserInfo("dutplcecd")),"deptcd");
  305. // if(utlf_isNull(deptcd)) ds_main_cond.setColumn(0,"perfdeptcd", "-");
  306. lf_mmbfGetUserComboList(ds_init_userlist2, sysf_getUserInfo("dutplcecd"), "0330", "", "", "", "", "", "", "");
  307. dsf_addDsItem(ds_init_userlist2, "userid", "usernm", "전체", "-");
  308. f_reqScRoomGrpList(utlf_getCurrentDate(), ds_init_scroomgrplist, ds_init_scallroomgrplist, "total");
  309. dsf_addDsItem(ds_init_scroomgrplist, "scroomgrpcd", "scroomgrpnm", "전체", "-");
  310. f_reqScRoomList(utlf_getCurrentDate(), ds_init_scroomlist2, ds_init_scallroomlist2, "total");
  311. dsf_addDsItem(ds_init_scroomlist2, "scroomcd", "scroomnm", "전체", "-");
  312. // 조회
  313. fSearch();
  314. }
  315. // 조회
  316. function fSearch() {
  317. var oParam = {};
  318. oParam.id = "TRMRB02101";
  319. oParam.service = "dentirecapp.DentiWord";
  320. oParam.method = "reqGetScScheMainList";
  321. oParam.inds = "req=ds_search";
  322. oParam.outds = "ds_carlendarlist=carlendarlist ds_schemainlist=schemainlist ds_dutdatelist=dutdatelist";
  323. oParam.async = true;
  324. oParam.callback = "cf_TRMRB02101";
  325. tranf_submit(oParam);
  326. }
  327. function cf_TRMRB02101(sSvcId, nErrorCode, sErrorMsg) {
  328. if(nErrorCode < 0) return;
  329. setCalendar();
  330. fSetColorHoliday();
  331. ds_weeklist.rowposition = -1;
  332. }
  333. function setCalendar(){
  334. ds_weeklist.clearData();
  335. var arrDay = new Array("sun","mon","tue","wed","thu","fri","sat");
  336. var scheCnt = ds_schemainlist.rowcount;
  337. var carCnt = ds_carlendarlist.rowcount;
  338. var dutCnt = ds_dutdatelist.rowcount;
  339. var rowCnt = carCnt * ONE_ITEM_ROWS;
  340. var weekIndex = 0;
  341. // 달력 전체 행을 우선 생성
  342. for( var i = 0; i < rowCnt; i++ ){
  343. ds_weeklist.addRow();
  344. // 요일별 날짜 표시
  345. var week = i % ONE_ITEM_ROWS;
  346. if(week == 0) {
  347. for( var j = 0; j < arrDay.length ; j++ ) {
  348. var date = ds_carlendarlist.getColumn(weekIndex, arrDay[j]);
  349. var day = date;
  350. if( utlf_isNull(day) ) continue;
  351. if( day.length == 1 ) day = "0" + day;
  352. for( var k = 0; k < dutCnt; k++ ) {
  353. var dd = ds_dutdatelist.getColumn(k, "schday");
  354. var holinm = ds_dutdatelist.getColumn(k, "holinm");
  355. if( day == dd && !utlf_isNull(holinm)){
  356. if(ds_dutdatelist.getColumn(k, "dutflag") == "8")
  357. date += " ( " + holinm + " )";
  358. }
  359. }
  360. ds_weeklist.setColumn(i, arrDay[j], "[" + date + "]");
  361. }
  362. weekIndex++;
  363. }
  364. }
  365. // 일자별 내용 입력
  366. for( var k = 0; k < scheCnt; k++ ) {
  367. var dd = "";
  368. if (ds_schemainlist.getColumn(k, "scschedd").substring(6,7) == "0") {
  369. dd = ds_schemainlist.getColumn(k, "scschedd").substring(7,8);
  370. } else {
  371. dd = ds_schemainlist.getColumn(k, "scschedd").substring(6,8);
  372. }
  373. for( var j = 0; j < arrDay.length ; j++ ) {
  374. var ll_findrow = ds_weeklist.findRow(arrDay[j], "[" + dd + "]");
  375. if (ll_findrow >= 0 ) {
  376. for( var f = 1; f < 5; f++) {
  377. var ll_setrow = ll_findrow + f;
  378. if ( !utlf_isNull(ds_weeklist.getColumn(ll_setrow, arrDay[j]))
  379. || !utlf_isNull(ds_weeklist.getColumn(ll_setrow, 0))
  380. || !utlf_isNull(ds_weeklist.getColumn(ll_setrow, 6)))
  381. {
  382. if ( ll_setrow + 1 < ds_weeklist.rowcount
  383. && !utlf_isNull(ds_weeklist.getColumn(ll_setrow, arrDay[j]))
  384. && utlf_isNull(ds_weeklist.getColumn(ll_setrow, 0))
  385. && utlf_isNull(ds_weeklist.getColumn(ll_setrow, 6))
  386. && utlf_isNull(ds_weeklist.getColumn(ll_setrow + 1, 0))
  387. ) {
  388. continue;
  389. }
  390. ds_weeklist.insertRow(++ll_setrow);
  391. }
  392. ds_weeklist.setColumn(ll_setrow, arrDay[j], ds_schemainlist.getColumn(k, "schetxt"));
  393. break;
  394. }
  395. }
  396. }
  397. // for( var j = 0; j < arrDay.length ; j++ ) {
  398. // var ll_findrow = ds_weeklist.findRow(arrDay[j], "[" + dd + "]");
  399. // if (ll_findrow >= 0 ) {
  400. // for( var f = 1; f < 100000; f++) {
  401. // var ll_setrow = ll_findrow + f;
  402. // if (ll_setrow + 1 > ds_weeklist.rowcount) {
  403. // ds_weeklist.insertRow(++ll_setrow);
  404. // } else if ( !utlf_isNull(ds_weeklist.getColumn(ll_setrow, arrDay[j]))
  405. // || !utlf_isNull(ds_weeklist.getColumn(ll_setrow, 0)))
  406. // {
  407. //
  408. // ds_weeklist.insertRow(++ll_setrow);
  409. // }
  410. //
  411. // ds_weeklist.setColumn(ll_setrow, arrDay[j], ds_schemainlist.getColumn(k, "schetxt"));
  412. // break;
  413. // }
  414. // }
  415. // }
  416. }
  417. }
  418. function fSetColorHoliday(currow, day) {
  419. var color = "default";
  420. if(!utlf_isNull(day)) {
  421. // if((currow % ONE_ITEM_ROWS == 0) && !utlf_isNull(day)) {
  422. var date = day.toString();
  423. date = date.substring(1,date.length-1);
  424. if( date.length == 1 ) {
  425. date = "0" + date;
  426. } else if( date.length > 2 ) {
  427. var tempDate = date.split(' ');
  428. if(tempDate[0].length == 1)
  429. date = "0" + tempDate[0]
  430. else
  431. date = tempDate[0];
  432. }
  433. var dutflag = ds_dutdatelist.lookup("schday", date, "dutflag");
  434. if( dutflag == "8" ){
  435. color = "#ff0000";
  436. }else if( dutflag == "4" ){
  437. color = "#3366ff";
  438. }else if( dutflag == "0" ){
  439. color = "#000000";
  440. }
  441. }
  442. return color;
  443. }
  444. function fSetFont(currow) {
  445. var font = "Dotum,9";
  446. // if((currow % ONE_ITEM_ROWS == 0)) {
  447. if( !utlf_isNull(ds_weeklist.getColumn(currow, 0))
  448. || !utlf_isNull(ds_weeklist.getColumn(currow, 6))) {
  449. font = "Dotum,9,bold";
  450. }
  451. return font;
  452. }
  453. function fSetLine(currow) {
  454. var line = "1 solid #BAC5CC, 1 solid #BAC5CC, 0 solid #BAC5CC, 1 solid #BAC5CC";
  455. if(!utlf_isNull(ds_weeklist.getColumn(currow, 0)))
  456. line = "1 solid #BAC5CC, 1 solid #BAC5CC, 0 solid #BAC5CC, 1 solid #BAC5CC";
  457. else if( utlf_isNull(ds_weeklist.getColumn(currow, 0))
  458. && currow != ds_weeklist.getRowCount()-1
  459. && !utlf_isNull(ds_weeklist.getColumn(currow+1, 0)))
  460. line = "1 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC";
  461. // if((currow % ONE_ITEM_ROWS == 0))
  462. // line = "1 solid #BAC5CC, 1 solid #BAC5CC, 0 solid #BAC5CC, 1 solid #BAC5CC";
  463. // else if((currow % ONE_ITEM_ROWS == ONE_ITEM_ROWS - 1))
  464. // line = "0 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC";
  465. return line;
  466. }
  467. function btn_month_onclick(obj:Button, e:ClickEventInfo)
  468. {
  469. // ds_weeklist.clear();
  470. ds_weeklist.rowposition = -1; // 화면 띄울 때 셀 선택 되지 않도록 함
  471. ds_search.setColumn(0,"baseym" , ds_search.getColumn(0,"year") + obj.name.substr(4,6));
  472. ds_search.setColumn(0,"scschedt" , ds_search.getColumn(0,"year") + obj.name.substr(4,6));
  473. ds_search.setColumn(0,"month" , obj.name.substr(4,6));
  474. var btnobj = components[gButtonID];
  475. btnobj.class = "btn2"
  476. gButtonID = obj.name;
  477. obj.class = "btn5"
  478. fSearch();
  479. // setCalendar();
  480. // fReqScScheRecCalendar();
  481. }
  482. function btn_aftyear_onclick(obj:Button, e:ClickEventInfo)
  483. {
  484. // ds_weeklist.clear();
  485. ds_weeklist.rowposition = -1; // 화면 띄울 때 셀 선택 되지 않도록 함
  486. var year = ds_search.getColumn(0,"year");
  487. ds_search.setColumn(0,"year",++year);
  488. ds_search.setColumn(0,"baseym" , year + ds_search.getColumn(0,"month"));
  489. ds_search.setColumn(0,"scschedt" , year + ds_search.getColumn(0,"month"));
  490. fSearch();
  491. // setCalendar();
  492. // fReqScScheRecCalendar();
  493. }
  494. function btn_bfyear_onclick(obj:Button, e:ClickEventInfo)
  495. {
  496. // ds_weeklist.clear();
  497. ds_weeklist.rowposition = -1; // 화면 띄울 때 셀 선택 되지 않도록 함
  498. var year = ds_search.getColumn(0,"year");
  499. ds_search.setColumn(0,"year",--year);
  500. ds_search.setColumn(0,"baseym" , year + ds_search.getColumn(0,"month"));
  501. ds_search.setColumn(0,"scschedt" , year + ds_search.getColumn(0,"month"));
  502. fSearch();
  503. // setCalendar();
  504. // fReqScScheRecCalendar();
  505. }
  506. function grp_srch_cmb_srchdeptcd_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  507. {
  508. var deptcd = ds_search.getColumn(0,"perfdeptcd");
  509. if( deptcd == "-") {
  510. if (sysf_getUserInfo("dutplceinstcd") == '033' ) {
  511. deptcd ="2242400000";
  512. lf_mmbfGetUserComboList(ds_init_userlist2, deptcd, "0330", "", "", "", "", "", "", "");
  513. } else {
  514. ds_init_userlist2.clearData();
  515. }
  516. } else {
  517. lf_mmbfGetUserComboList(ds_init_userlist2, deptcd, "0330", "", "", "", "", "", "", "");
  518. }
  519. ds_init_userlist2.insertRow(0);
  520. ds_init_userlist2.setColumn(0,"userid","-");
  521. ds_init_userlist2.setColumn(0,"usernm","전체");
  522. combo3.value = "-";
  523. }
  524. function grp_srch_cmb_srchscroomgrp_onitemchanged(obj:Combo, e:ItemChangeEventInfo)
  525. {
  526. ds_init_scroomlist2.clear();
  527. f_reqScRoomList(utlf_getCurrentDate(), ds_init_scroomlist2, ds_init_scallroomlist2, "total", "", "", cmb_srchscroomgrp.value);
  528. dsf_addDsItem(ds_init_scroomlist2, "scroomcd", "scroomnm", "전체", "-");
  529. ds_search.setColumn(0,"scroomcd" , "-"); //진료실
  530. }
  531. /***************************************************************************************************
  532. * Function : f_reqScRoomGrpList
  533. * Description : 진료실 조회
  534. * Argument : sScScheDt [String : 진료예약일자]
  535. * : oDsScRoomList [Dataset : 진료실 명칭 데이터셋]
  536. * : oDsAllScRoomList [Dataset : 진료실 명칭 데이터셋]
  537. * : sQueryFlag [String : Query구분자 (day : 일자, total : 전체, detl :부서, 의사, 일자)]
  538. * : sPerfDeptCd [String : 진료과]
  539. * : sPerfDrId [String : 진료의]
  540. * return type :
  541. * Creator :
  542. ***************************************************************************************************/
  543. function f_reqScRoomGrpList(sScScheDt, oDsScRoomGrpList, oDsAllScRoomGrpList, sQueryFlag, sPerfDeptCd, sPerfDrId)
  544. {
  545. var sRef = dsf_createDsRow("ds_cond_scroomgrplist", [{col:"scschedd", type:"string", size:256, val:sScScheDt},
  546. {col:"queryflag", type:"string", size:256, val:sQueryFlag},
  547. {col:"perfdeptcd", type:"string", size:256, val:""},
  548. {col:"perfdrid", type:"string", size:256, val:""}]);
  549. var oRef = this.objects[sRef];
  550. //cmoon1
  551. if (sQueryFlag == "detl") {
  552. oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
  553. oRef.setColumn(0, "perfdrid", sPerfDrId);
  554. }
  555. else if (sQueryFlag == "dept") {
  556. oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
  557. }
  558. var oParam = {};
  559. oParam.id = "TRMRB02102"; // transaction을 구분하기 위한 ID
  560. oParam.service = "dentirecapp.DentiWord"; // service ID
  561. oParam.method = "reqGetScRoomGrpCombo"; // method ID
  562. oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
  563. oParam.outds = oDsScRoomGrpList.name + "=scroomgrplist " + oDsAllScRoomGrpList.name + "=allscroomgrplist"; // transaction을 처리 결과를 받을 Dataset의 ID
  564. tranf_submit(oParam);
  565. // Temp로 사용한 Dataset을 삭제
  566. var oRemoveDs = this.removeChild(sRef);
  567. oRemoveDs = null;
  568. }
  569. /***************************************************************************************************
  570. * Function : f_reqScRoomList
  571. * Description : 진료실 조회 base lf_reqOpRoomList 수술방 조회
  572. * Argument : sScScheDt [String : 진료예약일자]
  573. * : oDsScRoomList [Dataset : 진료실 명칭 데이터셋]
  574. * : oDsAllScRoomList [Dataset : 진료실 명칭 데이터셋]
  575. * : sQueryFlag [String : Query구분자 (day : 일자, total : 전체, detl :부서, 의사, 일자)]
  576. * : sPerfDeptCd [String : 진료과]
  577. * : sPerfDrId [String : 진료의]
  578. * return type :
  579. * Creator :
  580. ***************************************************************************************************/
  581. function f_reqScRoomList(sScScheDt, oDsScRoomList, oDsAllScRoomList, sQueryFlag, sPerfDeptCd, sPerfDrId, sScRoomGrpCd)
  582. {
  583. var sRef = dsf_createDsRow("ds_cond_scroomlist", [{col:"scschedd", type:"string", size:256, val:sScScheDt},
  584. {col:"queryflag", type:"string", size:256, val:sQueryFlag},
  585. {col:"perfdeptcd", type:"string", size:256, val:""},
  586. {col:"perfdrid", type:"string", size:256, val:""}
  587. {col:"scroomgrpcd", type:"string", size:256, val:sScRoomGrpCd}]);
  588. var oRef = this.objects[sRef];
  589. if (sQueryFlag == "detl") {
  590. oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
  591. oRef.setColumn(0, "perfdrid", sPerfDrId);
  592. }
  593. else if (sQueryFlag == "dept") {
  594. oRef.setColumn(0, "perfdeptcd", sPerfDeptCd);
  595. }
  596. var oParam = {};
  597. oParam.id = "TRMRB02103"; // transaction을 구분하기 위한 ID
  598. oParam.service = "dentirecapp.DentiWord"; // service ID
  599. oParam.method = "reqGetScRoomCombo"; // method ID
  600. oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
  601. oParam.outds = oDsScRoomList.name + "=scroomlist " + oDsAllScRoomList.name + "=allscroomlist"; // transaction을 처리 결과를 받을 Dataset의 ID
  602. tranf_submit(oParam);
  603. // Temp로 사용한 Dataset을 삭제
  604. var oRemoveDs = this.removeChild(sRef);
  605. oRemoveDs = null;
  606. }
  607. ]]></Script>
  608. </Form>
  609. </FDL>