123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- <?xml version="1.0" encoding="utf-8"?>
- <FDL version="1.5">
- <TypeDefinition url="..\..\..\default_typedef.xml"/>
- <Form id="SPZUM00600" classname="Guide_SA_01" inheritanceid="" position="absolute 0 0 350 440" titletext="전공의 추가수련시간 신청사유 입력" class="frm_POP" onload="SPZUM00600_onload" oninit="SPZUM00600_oninit">
- <Layouts>
- <Layout>
- <Static id="stt_titleText" text="전공의 추가수련시간 신청사유 입력" class="sta_POP_title" position="absolute 12 8 312 28" usedecorate="false" wordwrap="none" transparenthittest="true"/>
- <Button id="btn_close" taborder="8" anchor="default" position="absolute 328 12 342 25" positiontype="position" class="btn_POP_cls" onclick="btn_cancel_onclick"/>
- <Button id="btn_confirm" taborder="6" text="신청" class="btn5" position="absolute 129 411 173 431" onclick="btn_confirm_onclick"/>
- <Static id="stt_subTitle" text="추가시간" class="tit_2" position="absolute 12 232 288 252" style="linespace:2;background:URL('theme://images/icon_tit_bullet2.png');align:left top;"/>
- <Static id="stt_userNm" position="absolute 116 193 284 214" style="font:Dotum,11,bold;"/>
- <Button id="btn_cancel" taborder="7" text="취소" class="btn5" position="absolute 177 411 221 431" onclick="btn_cancel_onclick"/>
- <Static id="stt_subTitle00" text="요청사유" class="tit_2" position="absolute 12 97 92 117" style="linespace:2;background:URL('theme://images/icon_tit_bullet2.png');align:left top;"/>
- <Static id="cap_capslock" text="(상세히 기재)" visible="true" position="absolute 90 97 180 117" style="color:#ff0000ff;bordertype:round 3 3 ;align:left middle;font:Dotum,9,bold;"/>
- <TextArea id="txt_detlresn" taborder="0" position="absolute 12 120 340 220" wordwrap="word" onkeydown="txt_detlresn_onkeydown"/>
- <Calendar id="ipt_fromdd" taborder="1" onchanged="group2_ipt_orddd_onchanged" ontextchanged="group2_ipt_orddd_ontextchanged" class="input_default" enable="true" position="absolute 12 255 112 274" anchor="left top"/>
- <MaskEdit id="ipt_fromtm" taborder="2" type="string" mask="##:##" maskchar=" " trimtype="both" autoselect="true" position="absolute 115 255 165 274" anchor="left top" style="align:center middle;"/>
- <Static id="stc_fromto" text="~" position="absolute 168 255 183 274" style="align:center middle;"/>
- <Calendar id="ipt_todd" taborder="3" onchanged="group2_ipt_orddd_onchanged" ontextchanged="group2_ipt_orddd_ontextchanged" class="input_default" position="absolute 186 255 286 274" anchor="left top" oneditclick="ipt_todd_oneditclick"/>
- <MaskEdit id="ipt_totm" taborder="4" type="string" mask="##:##" maskchar=" " trimtype="both" autoselect="true" position="absolute 289 255 339 274" anchor="left top" style="align:center middle;"/>
- <Static id="stt_subTitle01" text="참고" class="tit_2" position="absolute 12 282 288 302" style="linespace:2;background:URL('theme://images/icon_tit_bullet2.png');align:left top;"/>
- <Grid id="grd_remfact" class="grd_Search_Menu" taborder="9" binddataset="ds_remfact" scrollbars="none" scrollpixel="all" useinputpanel="false" autofittype="col" onkeydown="div_searchMenu_grd_search_menu_onkeydown" onmousemove="div_searchMenu_grd_search_menu_onmousemove" oncelldblclick="div_searchMenu_grd_search_menu_oncelldblclick" position="absolute 12 305 340 405" anchor="all" tooltiptype="hover" style="border:1 solid #808080ff ;font:Dotum,8;">
- <Formats>
- <Format id="default">
- <Columns>
- <Column size="328"/>
- </Columns>
- <Rows>
- <Row size="100"/>
- </Rows>
- <Band id="body">
- <Cell displaytype="decoratetext" edittype="none" style="align:left middle;padding:0 0 0 5;font:Dotum,13;linespace:0;" text="bind:remfact" wordwrap="char" editdisplay="display"/>
- </Band>
- </Format>
- </Formats>
- </Grid>
- <Static id="stt_subTitle02" text="당일 근무시간" class="tit_2" position="absolute 12 43 288 63" style="linespace:2;background:URL('theme://images/icon_tit_bullet2.png');align:left top;"/>
- <Edit id="ipt_workdtm" taborder="13" inputtype="number" maxlength="2" autoselect="true" class="input_search" position="absolute 12 66 340 85" readonly="true"/>
- </Layout>
- </Layouts>
- <Bind>
- <BindItem id="item29" compid="ipt_fromdd" propid="value" datasetid="ds_send_reqdata" columnid="fromdd"/>
- <BindItem id="item51" compid="ipt_fromtm" propid="value" datasetid="ds_send_reqdata" columnid="fromtm"/>
- <BindItem id="item3" compid="stc_fromto" propid="text" datasetid="ds_init" columnid="erresn"/>
- <BindItem id="item0" compid="ipt_todd" propid="value" datasetid="ds_send_reqdata" columnid="todd"/>
- <BindItem id="item1" compid="ipt_totm" propid="value" datasetid="ds_send_reqdata" columnid="totm"/>
- <BindItem id="item5" compid="txt_detlresn" propid="value" datasetid="ds_send_reqdata" columnid="detlresn"/>
- <BindItem id="item17" compid="ipt_workdtm" propid="value" datasetid="ds_today_work" columnid="workdtm"/>
- </Bind>
- <Objects>
- <Dataset id="ds_result" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- <Dataset id="ds_send_reqdata" 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="userid" type="STRING" size="256" sumtext="사용자ID"/>
- <Column id="deptcd" type="STRING" size="256" sumtext="부서코드"/>
- <Column id="fromdd" type="STRING" size="256" sumtext="추가시작일자"/>
- <Column id="fromtm" type="STRING" size="256" sumtext="추가시작시각"/>
- <Column id="todd" type="STRING" size="256" sumtext="추가종료일자"/>
- <Column id="totm" type="STRING" size="256" sumtext="추가종료시각"/>
- <Column id="addtm" type="STRING" size="256" sumtext="추가시간"/>
- <Column id="detlresn" type="STRING" size="256" sumtext="요청사유"/>
- </ColumnInfo>
- <Rows>
- <Row/>
- </Rows>
- </Dataset>
- <Dataset id="ds_remfact" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false">
- <ColumnInfo>
- <Column id="remfact" type="STRING" size="500" sumtext="참고사항"/>
- </ColumnInfo>
- <Rows>
- <Row>
- <Col id="remfact"/>
- </Row>
- </Rows>
- </Dataset>
- <Dataset id="ds_today_work" firefirstcount="0" firenextcount="0" useclientlayout="false" updatecontrol="true" enableevent="true" loadkeymode="keep" loadfiltermode="keep" reversesubsum="false"/>
- </Objects>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : HIT
- * Job Name :
- * File Name : SPZUM00600_전공의시간외사유입력.xfdl
- * Creator : 19338
- * Make Date : 2020-02-24
- *
- * Description : 전공의 근무시간외 로그인사유를 입력한다.
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2020-02-24 19338 최초작성
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
-
-
-
- //=======================================================================================
- // Lib Include
- //---------------------------------------------------------------------------------------
- include "com_commonxp::comm_main.xjs"
- //=======================================================================================
- // Global Form Variable
- //---------------------------------------------------------------------------------------
- // var lgv_bPwdvalid = false;
- // var lgv_bExcept = true;
- function SPZUM00600_oninit(obj:Form, e:InitEventInfo)
- {
- frmf_initForm(this);
- }
- function SPZUM00600_onload(obj:Form, e:LoadEventInfo)
- {
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var userid = sysf_getUserInfo("userid");
-
- ds_send_reqdata.setColumn(0, "instcd", instcd);
- //ds_send_reqdata.setColumn(0, "deptcd", sDeptcd);
- ds_send_reqdata.setColumn(0, "userid", userid);
-
- // 당일 근무 시간 조회 및 초기 설정
- fgetTodayWorkTm();
-
- var remfact = "<fs v='9'>* 추가시간 입력 범위내 EMR 인증저장 가능</fs>\n\n" +
- "<fs v='9'>* <b v='true'><fc v='red'>주 8시간</fc></b> 이내 신청 가능(1일 최대 4시간)</fs>\n\n" +
- "<fs v='9'>* 신청 후 부서장 <b v='true'><fc v='red'>승인 필수</fc></b>(사후 승인 가능)</fs>";
- //"<b v='true'><fc v='red'>" + textArr[4] + "</fc></b>"
- ds_remfact.setColumn(0, "remfact", remfact);
- }
- //=======================================================================================
- // Function
- //---------------------------------------------------------------------------------------
- // 당일 근무 시간 조회 및 초기 설정
- function fgetTodayWorkTm()
- {
- var oParam = {};
- oParam.id = "TRZUM006000";
- oParam.service = "hismainapp.Login";
- oParam.method = "reqGetResiWorkInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_today_work=result";
- oParam.async = false;
- oParam.callback = "cf_TRZUM006000";
- tranf_submit(oParam);
- }
- // 당일 근무 시간 조회 콜백
- function cf_TRZUM006000(sSvcId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){
- var work = ds_today_work.getColumn(0, "work");
-
- var curDd = utlf_getCurrentDate();
- var curTm = utlf_getCurrentTime().substring(0, 4);
-
-
- if(!utlf_isNull(work)){
- ipt_workdtm.value = work;
- } else {
- var fromdd = ds_today_work.getColumn(0, "fromdd");
- var fromtm = ds_today_work.getColumn(0, "fromtm");
- var todd = ds_today_work.getColumn(0, "todd");
- var totm = ds_today_work.getColumn(0, "totm");
- var workDtm;
-
- workDtm = utlf_getFormat(fromdd, "@@@@-@@-@@");
- workDtm += " ";
- workDtm += utlf_getFormat(fromtm, "@@:@@");
- workDtm += " ~ ";
- workDtm += utlf_getFormat(todd, "@@@@-@@-@@");
- workDtm += " ";
- workDtm += utlf_getFormat(totm, "@@:@@");
- ipt_workdtm.value = workDtm;
-
- // 신청 시작 시간 Set
- if(todd > curDd){
- curDd = todd;
- }
-
- if(totm > curTm){
- curTm = totm;
- }
- }
-
- //curTm = utlf_rPad(curTm.substring(0,3), 4, "0");
-
- ds_send_reqdata.setColumn(0, "fromdd", curDd);
- ds_send_reqdata.setColumn(0, "fromtm", curTm);
- ds_send_reqdata.setColumn(0, "todd", curDd);
-
- } else {
- // 에러처리
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- function btn_confirm_onclick(obj:Button, e:ClickEventInfo)
- {
- var fromDd = ds_send_reqdata.getColumn(0, "fromdd");
- var fromTm = ds_send_reqdata.getColumn(0, "fromtm");
-
- var toDd = ds_send_reqdata.getColumn(0, "todd");
- var toTm = ds_send_reqdata.getColumn(0, "totm");
-
- // if(fromDtm < curDtm){
- // sysf_messageBox("추가시간은 현재시간 이후 시간을 ", "C001"); // 입력하십시오 !
- // ipt_fromtm.setFocus();
- // return;
- // }
-
- if(utlf_isNull(txt_detlresn.value))
- {
- sysf_messageBox("요청사유는", "I003"); // 필수입력입니다.
- txt_detlresn.setFocus();
- return;
- }
-
- if(txt_detlresn.value.length < 5){
- sysf_messageBox("요청사유를 상세히 입력", "I008"); // 하십시오.
- txt_detlresn.setFocus();
- return;
- }
-
- if((toDd+toTm) < (fromDd+fromTm))// || !utlf_isValidDateTime(ds_send_reqdata.getColumn(0, "fromtm"), "hh") || !utlf_isValidDateTime(ds_send_reqdata.getColumn(0, "totm"), "hh"))
- {
- sysf_messageBox("추가시간(시작/종료)을", "I007"); // 확인하십시오.
- ipt_totm.setFocus();
- return;
- }
-
- var work = ds_today_work.getColumn(0, "work");
- if(utlf_isNull(work)){
- var workTodd = ds_today_work.getColumn(0, "todd");
- var workTtotm = ds_today_work.getColumn(0, "totm");
- if((fromDd+fromTm) < (workTodd+workTtotm)){
- sysf_messageBox("금일 근무시간 이후 부터 신청", "I006"); // 가능합니다.
- ipt_fromdd.value = workTodd;
- ipt_fromtm.value = workTtotm;
- ipt_fromtm.setFocus();
- return;
- }
- }
-
- var addmi = utlf_getEpTime2(fromDd+fromTm, toDd+toTm) / (60 * 1000);
- if(addmi < 5)
- {
- sysf_messageBox("최소 5분이상 신청", "I006"); // 가능합니다.
- ipt_totm.setFocus();
- return;
- }
-
- var addtm = utlf_round(utlf_getEpTime2(fromDd+fromTm, toDd+toTm) / (60 * 60 * 1000), 2)
- if(addtm > 4)
- {
- sysf_messageBox("일일 최대 4시간까지 신청", "I006"); // 가능합니다.
- ipt_totm.setFocus();
- return;
- }
-
- if(utlf_isNull(ipt_fromdd.value) || utlf_isNull(ipt_fromtm.value) || utlf_isNull(ipt_todd.value) || utlf_isNull(ipt_totm.value)){
- sysf_messageBox("추가시간은 ", "I003"); // 필수입력입니다.
- return;
- }
- ds_send_reqdata.setColumn(0, "fromtm", fromTm);
- ds_send_reqdata.setColumn(0, "totm", toTm);
- ds_send_reqdata.setColumn(0, "addtm", addtm);
- var oParam = {};
- oParam.id = "TRZUM006001";
- oParam.service = "hismainapp.Login";
- oParam.method = "reqSetResiOvtLoginInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_result=result";
- oParam.async = false;
- oParam.callback = "cf_TRZUM006001";
- tranf_submit(oParam);
- }
- // 예외 로그인 사유 저장 콜백
- function cf_TRZUM006001(sSvcId, nErrorCode, sErrorMsg){
- if(nErrorCode == 0){
- //trace(ds_result.saveXML());
- var msg = ds_result.getColumn(0, "msg");
-
- if(!utlf_isNull(msg)){
- sysf_messageBox(msg);
- } else {
- sysf_messageBox("신청이 ", "I002"); // 완료되었습니다.
- this.close();
- }
-
- } else {
- // 에러처리
- sysf_messageBox(sErrorMsg, "E");
- }
- }
- // 취소버튼
- function btn_cancel_onclick(obj:Button, e:ClickEventInfo)
- {
- this.close("N");
- }
- // 키입력 이벤트
- function txt_detlresn_onkeydown(obj:TextArea, e:KeyEventInfo)
- {
- if(e.keycode == 13){
- btn_confirm.click();
- }
- }
- ]]></Script>
- </Form>
- </FDL>
|