123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.4">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPMMB03700" position="absolute 0 0 1175 855" titletext="수술예약스케줄관리" oninit="SPMMB03700_oninit" onload="SPMMB03700_onload">
- <Layouts>
- <Layout>
- <Button position="absolute 1119 30 1175 52" id="button3" class="btn3" text="닫기" anchor="top right" onclick="button3_onclick"/>
- <Static text="수술 예약 스케줄 관리" position="absolute 0 0 180 25" align="align:center middle;" id="caption11" class="tit_1"/>
- <Grid position="absolute 0 62 1175 855" id="grd_calendar" binddataset="ds_weeklist" selecttype="cell" anchor="all" cellsizingtype="col" oncelldblclick="grd_calendar_oncelldblclick">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="70"/>
- <Column size="207"/>
- <Column size="207"/>
- <Column size="207"/>
- <Column size="207"/>
- <Column size="207"/>
- <Column size="70"/>
- </Columns>
- <Rows>
- <Row size="21" band="head"/>
- <Row size="20"/>
- </Rows>
- <Band id="head">
- <Cell style="background:white;" text="일"/>
- <Cell col="1" style="background:white;" text="월"/>
- <Cell col="2" style="background:white;" text="화"/>
- <Cell col="3" style="background:white;" text="수"/>
- <Cell col="4" style="background:white;" text="목"/>
- <Cell col="5" style="background:white;" text="금"/>
- <Cell col="6" style="background:white;" text="토"/>
- </Band>
- <Band id="body">
- <Cell style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow, sun));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:sun"/>
- <Cell col="1" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,mon));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:mon"/>
- <Cell col="2" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,tue));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:tue"/>
- <Cell col="3" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,wed));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:wed"/>
- <Cell col="4" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,thu));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:thu"/>
- <Cell col="5" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,fri));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:fri"/>
- <Cell col="6" style="align:left middle;line:EXPR(fSetLine(currow));background:white;background2:white;color:EXPR(fSetColorHoliday(currow,sat));font:EXPR(fSetFont(currow));selectbackground:#ffcc66ff;" text="bind:sat"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Grid position="absolute 5 495 555 736" id="grd_schemainlist" visible="false" binddataset="ds_schemainlist">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="90"/>
- <Column size="316"/>
- <Column size="100"/>
- </Columns>
- <Rows>
- <Row size="24" band="head"/>
- <Row size="24"/>
- </Rows>
- <Band id="head">
- <Cell text="날짜"/>
- <Cell col="1" text="예약TEXT"/>
- <Cell col="2"/>
- </Band>
- <Band id="body">
- <Cell text="bind:opschedd"/>
- <Cell col="1" text="bind:schetxt"/>
- <Cell col="2" text="bind:instcd"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Div position="absolute 770 3 1049 53" id="grp_calendar" style="background:#ffeeffff;border:3 solid #ffccffff ;" anchor="top right">
- <Layouts>
- <Layout>
- <Static text="월" position="absolute 211 0 246 35" align="align:center top;" id="caption3" anchor="top right" style="color:#006600ff;font:맑은 고딕,20,bold;"/>
- <Static text="년" position="absolute 114 0 149 35" align="align:center top;" id="caption2" anchor="top right" style="color:#006600ff;font:맑은 고딕,20,bold;"/>
- <Static id="opt_year" position="absolute 26 -1 110 43" style="color:#006600ff;align:right top;font:맑은 고딕,22,bold;" text="2014" anchor="top right"/>
- <Static id="opt_month" position="absolute 155 -1 207 43" style="color:#006600ff;align:right top;font:맑은 고딕,22,bold;" text="10" anchor="top right"/>
- </Layout>
- </Layouts>
- </Div>
- <Button position="absolute 1059 5 1115 27" id="button1" class="btn6" text="출력" anchor="top right" onclick="button1_onclick"/>
- <Static position="absolute 432 1 752 36" align="align:right middle;" id="caption1" style="color:#cc0000ff;align:right middle;font:맑은 고딕,14,bold;" anchor="top right"/>
- <Button position="absolute 1119 5 1175 27" id="button2" class="btn7" text="엑셀" anchor="top right" onclick="button2_onclick"/>
- <Button position="absolute 1059 30 1115 52" id="button4" class="btn1" text="조회" anchor="top right" onclick="button4_onclick"/>
- <Static text="※ 수술예약스케줄은 최대 5건까지 표현됩니다." position="absolute 5 36 288 56" id="caption4" style="color:#0033ccff;font:Dotum,9,bold;"/>
- <Static text="( 상세조회시, 날짜를 더블클릭 )" position="absolute 295 39 506 54" id="caption5" style="color:#006600ff;font:Dotum,9,bold;"/>
- </Layout>
- </Layouts>
- <Objects>
- <Dataset id="ds_weeklist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="sun" type="STRING" size="256"/>
- <Column id="mon" type="STRING" size="256"/>
- <Column id="tue" type="STRING" size="256"/>
- <Column id="wed" type="STRING" size="256"/>
- <Column id="thu" type="STRING" size="256"/>
- <Column id="fri" type="STRING" size="256"/>
- <Column id="sat" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_search" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="instcd" type="STRING" size="256"/>
- <Column id="opschedt" type="STRING" size="256"/>
- <Column id="perfdeptcd" type="STRING" size="256"/>
- <Column id="baseym" type="STRING" size="256"/>
- <Column id="scheperfdrid" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_calendar" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="year" type="STRING" size="256"/>
- <Column id="month" type="STRING" size="256"/>
- <Column id="perfdeptnm" type="STRING" size="256"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_carlendarlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="mon" type="STRING" size="256" sumtext="월요일"/>
- <Column id="tue" type="STRING" size="256" sumtext="화요일"/>
- <Column id="wed" type="STRING" size="256" sumtext="수요일"/>
- <Column id="thu" type="STRING" size="256" sumtext="목요일"/>
- <Column id="fri" type="STRING" size="256" sumtext="금요일"/>
- <Column id="sat" type="STRING" size="256" sumtext="토요일"/>
- <Column id="sun" type="STRING" size="256" sumtext="일요일"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_schemainlist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="instcd" type="STRING" size="256" sumtext="일자"/>
- <Column id="opschedd" type="STRING" size="256" sumtext="수술일자"/>
- <Column id="schetxt" type="STRING" size="256" sumtext="예약txt"/>
- </ColumnInfo>
- </Dataset>
- <Dataset id="ds_dutdatelist" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="basedd" type="STRING" size="256" sumtext="기준일자"/>
- <Column id="schday" type="STRING" size="256" sumtext="기준일자"/>
- <Column id="dutflag" type="STRING" size="256" sumtext="기준일자"/>
- <Column id="holiflag" type="STRING" size="256" sumtext="휴일구분"/>
- <Column id="holinm" type="STRING" size="256" sumtext="휴일명"/>
- <Column id="dayflag" type="STRING" size="256" sumtext="요일구분"/>
- <Column id="instcd" type="STRING" size="256" sumtext="기관코드"/>
- </ColumnInfo>
- </Dataset>
- </Objects>
- <Bind>
- <BindItem id="item0" compid="caption1" propid="text" datasetid="ds_calendar" columnid="perfdeptnm"/>
- <BindItem id="item1" compid="grp_calendar.opt_year" propid="text" datasetid="ds_calendar" columnid="year"/>
- <BindItem id="item2" compid="grp_calendar.opt_month" propid="text" datasetid="ds_calendar" columnid="month"/>
- </Bind>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name :
- * Job Name :
- * Creator :
- * Make Date : 2014-08-29
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-08-29 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- include "com_commonxp::comm_main.xjs";
- include "emr_prcpmngtxp::MMO001.xjs";
- var ONE_ITEM_ROWS = 6; // 요일 날짜 라인 + 내용 다섯 라인 = 총 6라인
- function SPMMB03700_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(obj);
- }
- function SPMMB03700_onload(obj:Form, e:LoadEventInfo)
- {
- fInitialize();
- }
- function button1_onclick(obj:Button, e:ClickEventInfo)
- {
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/hidden/calendar", ds_calendar); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/hidden/calendar/weeklist/list", ds_weeklist); // 데이터셋 2
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- var option = "open=1;save=1;directprint=0;print=1;zoom=0;callback=cbf_rpt_onFinishPrintXML";
- rptf_exeReportPreview30(["RPMMO03700"],[objParam], option);
- }
- function button2_onclick(obj:Button, e:ClickEventInfo)
- {
- grdf_exportExcel(grd_calendar, "수술예약스케줄_" + utlf_getCurrentDate(), "수술예약스케줄", true);
- }
- function button4_onclick(obj:Button, e:ClickEventInfo)
- {
- fSearch();
- }
- function button3_onclick(obj:Button, e:ClickEventInfo)
- {
- close();
- }
- function grd_calendar_oncelldblclick(obj:Grid, e:GridClickEventInfo)
- {
- if( e.row % ONE_ITEM_ROWS == 0){
- var month = ds_calendar.getColumn(0, "month");
- var year = ds_calendar.getColumn(0, "year");
-
- frmf_setParameter("SPMMB03700_param_opschedt" , year+month );
- frmf_setParameter("SPMMB03700_param_opscheday" , ds_weeklist.getColumn(e.row, lf_getBindCellName(obj, e.col)).substring(0,2) );
- frmf_setParameter("SPMMB03700_param_perfdrid" , ds_search.getColumn(0, "scheperfdrid"));
- frmf_setParameter("SPMMB03700_param_perfdeptcd" , ds_search.getColumn(0, "perfdeptcd"));
-
- frmf_open("SPMMB03800", "SPMMB03800", null, null, null, null, null, null, null, null, null, null, "M");
- }
- }
- // 초기화
- function fInitialize(){
- ds_weeklist.rowposition = -1; // 화면 띄울 때 셀 선택 되지 않도록 함
-
- var opschedt = opener.frmf_getParameter("SMMMO05700_param_opschedt");
- var perfdeptcd = opener.frmf_getParameter("SMMMO05700_param_perfdeptcd");
- var perfdeptnm = opener.frmf_getParameter("SMMMO05700_param_perfdeptnm");
- var scheperfdrid = opener.frmf_getParameter("SMMMO05700_param_scheperfdrid");
- var scheperfdrnm = opener.frmf_getParameter("SMMMO05700_param_scheperfdrnm");
- ds_search.setColumn(0, "instcd" , sysf_getUserInfo("dutplceinstcd") );
- ds_search.setColumn(0, "opschedt" , opschedt );
- ds_search.setColumn(0, "perfdeptcd" , perfdeptcd );
- ds_search.setColumn(0, "baseym" , opschedt.substring(0,6) );
- ds_search.setColumn(0, "scheperfdrid" , scheperfdrid );
-
- if( !utlf_isNull(scheperfdrid) )
- ds_calendar.setColumn(0, "perfdeptnm" , "【" + perfdeptnm + " - " + scheperfdrnm + " 】" );
- else
- ds_calendar.setColumn(0, "perfdeptnm" , "【" + perfdeptnm + " - 전체 】" );
-
- ds_calendar.setColumn(0, "year" , opschedt.substring(0,4) );
- ds_calendar.setColumn(0, "month" , opschedt.substring(4,6) );
-
- // 조회
- fSearch();
- }
- // 조회
- function fSearch() {
- var oParam = {};
- oParam.id = "TRMMO05708";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpScheMainList";
- oParam.inds = "req=ds_search";
- oParam.outds = "ds_carlendarlist=carlendarlist ds_schemainlist=schemainlist ds_dutdatelist=dutdatelist";
- oParam.async = true;
- oParam.callback = "cf_TRMMO05708";
- tranf_submit(oParam);
- }
- function cf_TRMMO05708(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- setCalendar();
- fSetColorHoliday();
-
- ds_weeklist.rowposition = -1;
- }
- function setCalendar(){
- ds_weeklist.clearData();
-
- var arrDay = new Array("sun","mon","tue","wed","thu","fri","sat");
- var scheCnt = ds_schemainlist.rowcount;
- var carCnt = ds_carlendarlist.rowcount;
- var dutCnt = ds_dutdatelist.rowcount;
-
- var rowCnt = carCnt * ONE_ITEM_ROWS;
- var weekIndex = 0;
-
- // 달력 전체 행을 우선 생성
- for( var i = 0; i < rowCnt; i++ ){
- ds_weeklist.addRow();
- // 요일별 날짜 표시
- var week = i % ONE_ITEM_ROWS;
- if(week == 0) {
- for( var j = 0; j < arrDay.length ; j++ ) {
- var date = ds_carlendarlist.getColumn(weekIndex, arrDay[j]);
- var day = date;
- if( utlf_isNull(day) ) continue;
- if( day.length == 1 ) day = "0" + day;
-
- for( var k = 0; k < dutCnt; k++ ) {
- var dd = ds_dutdatelist.getColumn(k, "schday");
- var holinm = ds_dutdatelist.getColumn(k, "holinm");
-
- if( day == dd && !utlf_isNull(holinm)){
- if(ds_dutdatelist.getColumn(k, "dutflag") == "8")
- date += " ( " + holinm + " )";
- }
- }
-
- ds_weeklist.setColumn(i, arrDay[j], date);
- }
-
- weekIndex++;
- }
- }
- // 일자별 내용 입력 및 색상 표시
- for( var i = 0; i < ds_weeklist.rowcount; i++ ){
- var week = i % ONE_ITEM_ROWS;
- if(week == 0) {
- // 일자별 내용 입력
- for( var j = 0; j < arrDay.length ; j++ ) {
- var day = ds_weeklist.getColumn(i, arrDay[j]);
- if( utlf_isNull(day) ) continue;
- if( day.length == 1 ) day = "0" + day;
- var scheIndex = 1;
- for( var k = 0; k < scheCnt; k++ ) {
- var dd = ds_schemainlist.getColumn(k, "opschedd").substring(6,8);
- if(dd == day) {
- if(scheIndex >= ONE_ITEM_ROWS) {
- ds_weeklist.setColumn(i, arrDay[j], ds_weeklist.getColumn(i, arrDay[j]) + " ★");
- break;
- }
-
- ds_weeklist.setColumn(i + scheIndex, arrDay[j], ds_schemainlist.getColumn(k, "schetxt"));
- scheIndex++;
- }
- }
- }
- }
- }
- }
- function fSetColorHoliday(currow, day) {
- var color = "default";
- if((currow % ONE_ITEM_ROWS == 0) && !utlf_isNull(day)) {
- var date = day.toString();
- if( date.length == 1 ) {
- date = "0" + date;
- } else if( date.length > 2 ) {
- var tempDate = date.split(' ');
- if(tempDate[0].length == 1)
- date = "0" + tempDate[0]
- else
- date = tempDate[0];
- }
-
- var dutflag = ds_dutdatelist.lookup("schday", date, "dutflag");
- if( dutflag == "8" ){
- color = "#ff0000";
- }else if( dutflag == "4" ){
- color = "#3366ff";
- }else if( dutflag == "0" ){
- color = "#000000";
- }
- }
-
- return color;
- }
- function fSetFont(currow) {
- var font = "Dotum,9";
- if((currow % ONE_ITEM_ROWS == 0)) {
- font = "Dotum,9,bold";
- }
-
- return font;
- }
- function fSetLine(currow) {
- var line = "0 solid #BAC5CC, 1 solid #BAC5CC, 0 solid #BAC5CC, 1 solid #BAC5CC";
- if((currow % ONE_ITEM_ROWS == 0))
- line = "1 solid #BAC5CC, 1 solid #BAC5CC, 0 solid #BAC5CC, 1 solid #BAC5CC";
- else if((currow % ONE_ITEM_ROWS == ONE_ITEM_ROWS - 1))
- line = "0 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC, 1 solid #BAC5CC";
-
- return line;
- }
- ]]></Script>
- </Form>
- </FDL>
|