123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>개인 근무 변경 신청</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <main>
- <list>
- <chngapplist/>
- </list>
- <dutcd>
- <dutcdlist/>
- </dutcd>
- <daylist>
- <basedd/>
- <holiflag/>
- <daynm/>
- </daylist>
- </main>
- <send>
- <retrparams>
- <instcd/>
- <dutym/>
- <emplno/>
- <emplnm/>
- <dutunitcd/>
- <dutunitnm/>
- </retrparams>
- <retrparams2>
- <instcd/>
- <dutymd/>
- <emplno/>
- <dutym/>
- <daycnt/>
- </retrparams2>
- <dutcd>
- <instcd/>
- <dutunitcd/>
- <dutunitnm/>
- </dutcd>
- </send>
- <init/>
- <temp/>
- </root>
- </instance>
- <submission id="TRRPD10001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/list"/>
- <submission id="TXRPD10001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/list/chngapplist" resultref="/root/temp"/>
- <submission id="TRRPD10002" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams2" resultref="/root/temp"/>
- <submission id="TRRPD03702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutcd" resultref="/root/main/dutcd"/>
- <submission id="TRRPD02005" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/retrparams" resultref="/root/main/daylist"/>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
- <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
- <script type="javascript" src="../../../mis/miscommonweb/js/MIS.js"/>
- <script type="javascript" src="../../../mis/dligclaznsmngtweb/js/RPD001.js"/>
- <script type="javascript" src="../../../mis/humtrafactmngtweb/js/RPB001.js"/>
- </model>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInit();
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- function fInit()
- {
- model.removenode("/root/main/list/chngapplist");
- model.setValue("/root/send/retrparams/dutym", getCurrentDate().substr(0, 6));
- model.setValue("/root/send/retrparams/emplno", getUserInfo("userid"));
- model.setValue("/root/send/retrparams/emplnm", getUserInfo("usernm"));
- misfMsterDetailSet(grd_chngapplist, null, "TRRPD10001", "Y");
- //화면 권한 설정
- btn_search.disabled = !(checkAuth("R"));
- btn_save.disabled = !(checkAuth("X"));
- // misfComboComCdListMulti("Z0007","cmb_instcd");
- misfComboInstCdListMulti("cmb_instcd",getCurrentDate(),"","N");
- misfGetAndSetUserInfo();
- misfGetUserAuth();
- model.setValue("/root/send/dutcd/dutunitcd", DUT_UNIT_CD);
- model.setValue("/root/send/dutcd/dutunitnm", DUT_UNIT_NM);
- model.setValue("/root/send/retrparams/emplno", getUserInfo("userid"));
- model.setValue("/root/send/retrparams/emplnm", getUserInfo("usernm"));
- model.setValue("/root/send/retrparams2/instcd", getUserInfo("dutplceinstcd"));
- model.setValue("/root/send/retrparams/instcd", getUserInfo("dutplceinstcd"));
- model.setValue("/root/send/dutcd/instcd", getUserInfo("dutplceinstcd"));
- if(getUserInfo("dutplceinstcd") == "001" && DUTY_PART_YN == "Y")
- {
- cmb_instcd.disabled = false;
- }
- else
- {
- cmb_instcd.disabled = true;
- }
- btn_search.disabled = !(checkAuth("R"));
- btn_save.disabled = !(checkAuth("X"));
- submit("TRRPD03702");
- model.removenode("/root/main/daylist");
- submit("TRRPD02005");
- btn_search.dispatch("DOMActivate");
- rpdfSetControlByJobRespCd("ipt_emplno,btn_emplhelp,ipt_emplnm");
- model.refresh();
- }
-
- function fSave()
- {
-
- for(var i=1; i<grd_chngapplist.rows; i++)
- {
- if(grd_chngapplist.rowStatus(i) != 0 && grd_chngapplist.rowStatus(i) != 4 && grd_chngapplist.rowStatus(i) != 5 && grd_chngapplist.rowStatus(i) != 6)
- {
- var sDutDD = grd_chngapplist.valueMatrix(i, grd_chngapplist.colRef("dutdd"));
- var sBeforeDutCd = grd_chngapplist.valueMatrix(i, grd_chngapplist.colRef("beforedutcd"));
- var sAfterDutCd = grd_chngapplist.valueMatrix(i, grd_chngapplist.colRef("afterdutcd"));
- var sAppResn = grd_chngapplist.valueMatrix(i, grd_chngapplist.colRef("appresn"));
- if(sDutDD == "" || sBeforeDutCd == "" || sAfterDutCd == "" || sAppResn == "")
- {
- messageBox("[ 근무일자 | 변경전 근무코드 | 변경후 근무코드 | 신청사유 ]는 입력 해야 합니다.", "I999");
- return;
- }
- }
- }
- messageBox("UM의 승인없이는 번표에 반영되지 않습니다.", "I999");
- misfSave("TXRPD10001");
- }
- function fAddRow()
- {
- if(ipt_emplno.value == "" && ipt_emplnm.value == "")
- {
- messageBox("사원번호를", "C001");
- return;
- }
- misfGridIUD(grd_chngapplist, "A");
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("emplno")) = ipt_emplno.value;
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("emplnm")) = ipt_emplnm.value;
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("appdd")) = getCurrentDate();
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("cnfm")) = "N";
- grd_chngapplist.col = grd_chngapplist.colRef("dutdd");
- grd_chngapplist.editCell();
- }
- function fRetrieve()
- {
- if(ipt_emplno.value == "" || ipt_emplnm.value == "")
- {
- messageBox("사원번호를", "C001");
- return;
- }
- model.removeNodeset("/root/main/list/chngapplist");
- model.refresh();
- misfMsterDetailRetrieve();
- misfSetReadOnlyCol(grd_chngapplist, "dutdd,appdd,appresn", true)
- for(var i=1; i<grd_chngapplist.rows; i++)
- {
- var sCnfm = grd_chngapplist.valueMatrix(i, grd_chngapplist.colRef("cnfm"));
- if(sCnfm == "Y")
- {
- grd_chngapplist.rowStyle(i, "all", "background-color") = "#DDDDDD";
- }
- }
- }
- function fDutCdRetreive()
- {
- model.setValue(opt_dutdeptcd.attribute("ref"), model.getValue("/root/send/retrparams/dutunitcd"));
- model.setValue(opt_dutdeptnm.attribute("ref"), model.getValue("/root/send/retrparams/dutunitnm"));
- submit("TRRPD03702");
- model.refresh();
- btn_search.dispatch("DOMActivate");
- }
- function fDelRow()
- {
- for(var i=0; i<grd_chngapplist.selectedCells.length; i++)
- {
- var iRowIdx = grd_chngapplist.selectedCells.item(i).row;
- var sCnfmYn = grd_chngapplist.valueMatrix(iRowIdx, grd_chngapplist.colRef("cnfm"));
-
- if(sCnfmYn == "Y")
- {
- messageBox("승인이 난 내역은 삭제 할 수 없습니다.", "I999");
- continue;
- }
- else
- {
- if(grd_chngapplist.rowStatus(iRowIdx) == 1 || grd_chngapplist.rowStatus(iRowIdx) == 3)
- {
- grd_chngapplist.deleteRow(iRowIdx, false)
- }
- else
- {
- grd_chngapplist.addStatus(iRowIdx, "delete");
- }
- }
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:230px; height:14px; ">개인근무변경신청</caption>
- <caption id="caption4" class="patient_text_black" style="left:922px; top:0px; width:272px; "/>
- </group>
- <group id="group3" scroll="auto" style="left:0px; top:38px; width:1195px; height:744px; ">
- <datagrid id="grd_chngapplist" nodeset="/root/main/list/chngapplist" backcoloralternate="transparent" caption="기관코드^근무무서^사원번호^성명^근무일자^변경전 근무코드^변경후 근무코드^신청일^신청사유^확인" colsep="^" colwidth="0, 0, 80, 100, 100, 112, 111, 100, 363, 40" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:0px; top:74px; width:1005px; height:636px; ">
- <col ref="instcd" visibility="hidden"/>
- <col ref="dutunitcd" visibility="hidden"/>
- <col ref="emplno" style="text-align:center; "/>
- <col ref="emplnm" style="text-align:center; "/>
- <col ref="dutdd" type="inputdate" format="yyyy-mm-dd" style="left:200px; top:23px; width:100px; height:23px; text-align:center; "/>
- <col ref="beforedutcd" style="text-align:center; "/>
- <col ref="afterdutcd" type="input" style="text-align:center; "/>
- <col ref="appdd" type="inputdate" style="text-align:center; "/>
- <col ref="appresn" type="input"/>
- <col ref="cnfm" visibility="hidden"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- if(grd_chngapplist.col == grd_chngapplist.colRef("dutdd"))
- {
- var sdutdd = grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("dutdd"));
- var sdutgb = model.getValue("/root/main/daylist[basedd = '" + sdutdd +"']/basedd");
- if (sdutgb == "" || sdutgb == null){
- messageBox(sdutdd + "의 근무일자는 해당 근무년월에 없는 일자입니다.", "E999", "");
- model.setValue("/root/main/list/chngapplist[" + grd_chngapplist.row + "]/dutdd", "");
- return;
- }
- var k = datagrid1.findRow(sdutdd, 1, datagrid1.colRef("basedd"), false, false);
- if (k < 10){
- daycnt = "0" + k;
- }else{
- daycnt = k;
- }
- model.setValue("/root/send/retrparams2/instcd", grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("instcd")));
- model.setValue("/root/send/retrparams2/dutymd", grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("dutdd")));
- model.setValue("/root/send/retrparams2/emplno", grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("emplno")));
- model.setValue("/root/send/retrparams2/dutym", model.getValue("/root/send/retrparams/dutym"));
- model.setValue("/root/send/retrparams2/daycnt", daycnt);
- submit("TRRPD10002");
-
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("beforedutcd")) = model.getValue("/root/temp/pridutcd/dutcd");
- }
- else if(grd_chngapplist.col == grd_chngapplist.colRef("afterdutcd"))
- {
- var sDutCd = grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("afterdutcd"));
- var node = instance1.selectSingleNode("/root/main/dutcd/dutcdlist[dutcd='" + sDutCd.toUpperCase() + "']/dutcd");
-
- if(node == null)
- {
- messageBox("등록되지 않은 근무코드를 사용", "E001");
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("afterdutcd")) = "";
- return;
- }
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("afterdutcd")) = sDutCd.toUpperCase();
- }
- ]]>
- </script>
- </datagrid>
- <line id="line2" class="line_1" style="x1:0px; y1:69px; x2:1005px; y2:69px; "/>
- <group id="group4" style="left:0px; top:10px; width:1195; height:35px; vertical-align:top; ">
- <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195; height:35px; background-color:#fffbf2; border-color:#ffd799; "/>
- <caption id="caption5" class="search_name" style="left:275px; top:9px; width:86px; height:17px; ">근무년월 :</caption>
- <line id="line3" class="line_4" style="x1:1110px; y1:7px; x2:1110px; y2:29px; border-color:#ffe4bb; border-left-style:solid; "/>
- <caption id="caption1" class="search_name" style="left:514px; top:9px; width:86px; height:17px; ">사원번호 :</caption>
- <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:7px; width:56px; height:22px; text-align:left; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fRetrieve();
- ]]>
- </script>
- </button>
- <button id="btn_emplhelp" class="icon_search" style="left:692px; top:10px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- rpbfOpenPopUpList("SPRPB00101", ipt_emplno, "emplno,emplnm,dutunitcd,dutunitnm", "", "N");
- fDutCdRetreive();
- ]]>
- </script>
- </button>
- <input id="ipt_emplno" ref="/root/send/retrparams/emplno" class="input_s_essential" navindex="2" style="left:602px; top:8px; width:85px; height:19px; text-align:center; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- if(ipt_emplno.value == ipt_emplno.currentText) return;
- ipt_emplno.value = ipt_emplno.currentText;
- rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
- fDutCdRetreive();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- rpbfValidationCheck("EMPLNO", "emplno,emplnm,dutunitcd,dutunitnm");
- fDutCdRetreive();
- ]]>
- </script>
- </input>
- <input id="ipt_emplnm" ref="/root/send/retrparams/emplnm" class="input_s_essential" navindex="3" style="left:713px; top:8px; width:134px; height:19px; ">
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- if(ipt_emplnm.value == ipt_emplnm.currentText) return;
- ipt_emplnm.value = ipt_emplnm.currentText;
- rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
- fDutCdRetreive();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- rpbfValidationCheck("EMPLNM", "emplno,emplnm,dutunitcd,dutunitnm");
- fDutCdRetreive();
- ]]>
- </script>
- </input>
- <input id="ipt_dutym" ref="/root/send/retrparams/dutym" class="input_s_essential" navindex="1" inputtype="date" format="yyyy-mm" style="left:364px; top:8px; width:131px; height:19px; text-align:center; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var instcd = cmb_instcd.value;
- if( getStringLength(ipt_dutym.value) == "6" ) {
- model.removeNodeset(cmb_instcd.attribute("ref"));
- model.makeNode("/root/send/retrparams/instcd");
- misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
- cmb_instcd.value = instcd;
- model.removenode("/root/main/daylist");
- submit("TRRPD02005");
- model.refresh();
- }
- ]]>
- </script>
- </input>
- <input id="opt_dutdeptnm" ref="/root/send/dutcd/dutunitnm" class="output_fix" disabled="true" navindex="2" visibility="hidden" style="left:1075px; top:10px; width:25px; height:19px; "/>
- <input id="opt_dutdeptcd" ref="/root/send/dutcd/dutunitcd" class="output_fix" disabled="true" navindex="2" visibility="hidden" style="left:1050px; top:10px; width:25px; height:19px; "/>
- <select1 id="cmb_instcd" ref="/root/send/retrparams/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:102px; top:8px; width:153px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.setValue("/root/send/retrparams2/instcd", model.getValue("/root/send/retrparams/instcd"));
- model.setValue("/root/send/dutcd/instcd", model.getValue("/root/send/retrparams/instcd"));
- ]]>
- </script>
- </select1>
- <caption id="caption10" class="search_name" style="left:14px; top:9px; width:86px; height:17px; ">소속기관 :</caption>
- </group>
- <caption id="caption8" class="tit_2" style="left:5px; top:54px; width:165px; height:13px; ">변경신청내역</caption>
- <button id="btn_addrow" class="btn2_letter3" style="left:891px; top:49px; width:53px; height:19px; ">
- <caption>행추가</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fAddRow();
- ]]>
- </script>
- </button>
- <button id="btn_delrow" class="btn2_letter3" style="left:946px; top:49px; width:53px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fDelRow();
- ]]>
- </script>
- </button>
- <datagrid id="grd_dutcdlist" nodeset="/root/main/dutcd/dutcdlist" allowuserresize="true" caption="근무
코드^근무명^근무시간^Day인원^Evening인원^Night인원|근무
코드^근무명^근무시간^Day인원^Evening인원^Night인원" colsep="^" colwidth="41, 126, 0, 0, 0, 0" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1010px; top:74px; width:185px; height:666px; ">
- <col ref="dutcd" style="font-size:8pt; "/>
- <col ref="dutnm" style="font-size:8pt; "/>
- <col ref="duttm" visibility="hidden"/>
- <col ref="daycnt" visibility="hidden"/>
- <col ref="eveningpsnno" visibility="hidden"/>
- <col ref="nigtpsnno" visibility="hidden"/>
- <script type="javascript" ev:event="ondblclick">
- <![CDATA[
- if (grd_chngapplist.rows > 0 && grd_chngapplist.row > 0)
- {
- if(grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("cnfm")) == "Y")
- {
- messageBox("선택하신 행은 이미 확인이 되었으므로 수정 할 수 없습니다.\n\n근무 확인후 근무변경 재 신청을 하십시오", "I999");
- return;
- }
- grd_chngapplist.valueMatrix(grd_chngapplist.row, grd_chngapplist.colRef("afterdutcd")) = grd_dutcdlist.valueMatrix(grd_dutcdlist.row, grd_dutcdlist.colRef("dutcd"));
- if(grd_chngapplist.rowStatus(grd_chngapplist.row) == 0)
- {
- grd_chngapplist.addStatus(grd_chngapplist.row, "update");
- }
- }
- ]]>
- </script>
- </datagrid>
- <caption id="caption2" class="tit_2" style="left:1012px; top:54px; width:165px; height:13px; ">근무코드</caption>
- <line id="line1" class="line_1" style="x1:1012px; y1:70px; x2:1194px; y2:71px; "/>
- <caption id="caption3" style="left:155px; top:51px; width:30px; height:15px; ">확인</caption>
- <caption id="caption7" style="left:220px; top:51px; width:50px; height:15px; ">미확인</caption>
- <output id="output1" style="left:130px; top:49px; width:20px; height:19px; background-color:#DDDDDD; border-style:solid; "/>
- <output id="output2" style="left:195px; top:49px; width:20px; height:19px; border-style:solid; "/>
- <caption id="caption9" style="left:0px; top:716px; width:1005px; height:20px; font-size:12pt; font-weight:bold; color:#ff0000; text-align:center; ">개인 근무 변경 신청된 내역은 관리자의 승인 후 근무표에 반영되므로 반드시 협의가 필요합니다.</caption>
- <datagrid id="datagrid1" nodeset="/root/main/daylist" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:715px; top:200px; width:350px; height:150px; ">
- <col ref="basedd"/>
- <col ref="holiflag"/>
- <col ref="daynm"/>
- </datagrid>
- </group>
- <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
- <line id="line4" class="line_6" style="x1:0px; y1:25; x2:1195px; y2:25; "/>
- <button id="btn_save" class="btn4_letter2" style="left:1139px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fSave();
- ]]>
- </script>
- </button>
- </group>
- </xhtml:body>
- </xhtml:html>
|