123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet href="../../../com/commonweb/css/common.css" ytype="text/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>
- <dutcdlist/>
- <dutcdlist/>
- </list>
- <resn>
- <reqresn/>
- <dutresn/>
- </resn>
- <daylist/>
- <resltdata>
- <dutschelist/>
- <dutmancntlist/>
- <stndduttablelist/>
- <yearnoinfolist/>
- <srvapplist/>
- <offcntlist/>
- </resltdata>
- <resnlist/>
- <userholiinfo>
- <genryearno/>
- <useyearno/>
- <spreyearno/>
- <genrhealholi/>
- <usehealholi/>
- <sprehealholi/>
- <monthhealholiusecnt/>
- <monthofcnt/>
- <monthuseofcnt/>
- <monthunuseofcnt/>
- <curmonthofcnt/>
- <curmonthuseofcnt/>
- <curmonthunuseofcnt/>
- <olmtspreyearno/>
- </userholiinfo>
- <stndduttableitem>
- <day/>
- <evening/>
- <night/>
- <total/>
- </stndduttableitem>
- <authcheck>
- <check/>
- </authcheck>
- <close>
- <closeyn>
- <cnt/>
- <closeyn/>
- <deptyn/>
- </closeyn>
- </close>
- <print>
- <printlist/>
- <daylist/>
- </print>
- </main>
- <send>
- <instcd/>
- <dutym/>
- <dutunitcd/>
- <dutunitnm/>
- <appscheexecflag/>
- <jobkind/>
- <emplno/>
- <dutdd/>
- <dutschelist/>
- <anualcalcyy/>
- <resnlist/>
- <apryn/>
- <deptpryn>Y</deptpryn>
- <params>
- <instcd/>
- <dutym/>
- <dutunitcd/>
- <appscheexecflag/>
- <flag/>
- </params>
- <dutcdparams>
- <instcd/>
- <dutunitcd/>
- </dutcdparams>
- <winparams>
- <instcd/>
- <dutunitcd/>
- <dutym/>
- </winparams>
- <scheexecflag/>
- </send>
- <init/>
- <hidden/>
- <temp>
- </temp>
- <codedata>
- <popupmenu>
- <dutschelist>
- </dutschelist>
- </popupmenu>
- <popuptemp>
- <dutschelist>
- <item>
- <name>사유 및 helper 등록</name>
- <func>fOpenPopup</func>
- </item>
- <item>
- <name>개인근무변경신청</name>
- <func>fOpenPopupChngApp</func>
- </item>
- <item>
- <name>지우기</name>
- <func>fGridCellClear</func>
- </item>
- <item>
- <name>-</name>
- <func/>
- </item>
- </dutschelist>
- </popuptemp>
- </codedata>
- </root>
- </instance>
- <submission id="TRRPD02201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/resltdata"/>
- <submission id="TRRPD02202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/resnlist"/>
- <submission id="TRRPD02203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/dutcdparams" resultref="/root/main/list"/>
- <submission id="TRRPD02204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/authcheck"/>
- <submission id="TRRPD02206" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/daylist"/>
- <submission id="TRRPD02208" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/close"/>
- <submission id="TRRPD02209" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/print"/>
- <submission id="TRRPD02200" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/temp"/>
- <submission id="TXRPD02201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/resltdata/dutschelist" resultref="/root/temp"/>
- <submission id="TXRPD02202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/params" resultref="/root/temp"/>
- <submission id="TXRPD02203" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/params" resultref="/root/temp"/>
- <submission id="TXRPD02204" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/params" resultref="/root/temp"/>
- <submission id="TXRPD10701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp"/>
- </model>
- <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" ev:event="xforms-ready">
- <![CDATA[
- fInitialize();
- ]]>
- </script>
- <script type="javascript">
- <![CDATA[
- var arrDayMax = new Array();
- var arrEveningMax = new Array();
- var arrNightMax = new Array();
- var arrTotalMax = new Array();
-
- var DUTCODE_FLAG = false;
- var ZOOM_FLAG = false;
-
- var MOUSE_DOWN = false;
- var FIRST_CHECK = false;
-
- var iDay1ColIdx = 10;
- var iDay31ColIdx = 42;
-
- var bFirst = true;
- var sCurYM = "";
-
- // var JOB_RESP_CD = "";
- // var DUT_UNIT_CD = "";
- // var DUT_UNIT_NM = "";
- //
- // var DUTY_RESP_YN = ""; // 복무 책임자
- // var DUTY_PART_YN = ""; // 인사 복무 담당자
- var SELECTED_ROW = -1;
-
- // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
- function fInitialize()
- {
- model.removeNodeset("/root/main/resltdata/dutschelist");
- model.removeNodeset("/root/main/resltdata/dutmancntlist");
- model.removeNodeset("/root/main/resnlist");
- model.removeNodeset("/root/main/list/dutcdlist");
- model.resetInstanceNode("/root/main/yearnoinfoitem");
- model.resetInstanceNode("/root/main/resn");
-
- misfMsterDetailSet(grd_dutschelist, null, "TRRPD02201", "Y");
- misfMsterDetailSet(grd_resnlist, null, "TRRPD02202", "Y");
- // misfMsterDetailSet(grd_dutcdlist, null, "TRRPD02203", "N");
- // misfComboComCdListMulti("Z0007","cmb_instcd");
- misfComboInstCdListMulti("cmb_instcd",getCurrentDate().substr(0, 8),"","N");
- misfGetAndSetUserInfo();
- misfGetUserAuth();
- rpdfSetControlAuth();
- rpdfComboCdList(cmb_dutplce); // 권한별 근무부서 세팅
- rpdfSetDutUnitCombo();
-
- sCurYM = getCurrentDate().substr(0, 6);
- model.setValue("/root/send/appscheexecflag", "2");
- model.setValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
- model.setValue("/root/send/dutym", getCurrentDate().substr(0, 6));
- model.setValue("/root/send/dutunitcd", DUT_UNIT_CD);
- model.setValue("/root/send/dutunitnm", DUT_UNIT_NM);
- model.setValue("/root/send/dutcdparams/instcd", getUserInfo("dutplceinstcd"));
- model.setValue("/root/send/dutcdparams/dutunitcd", DUT_UNIT_CD);
-
- if(DUTY_PART_YN == "Y") {
- btn_delrow.visible = true;
- }
- //화면 권한 설정
- btn_save.disabled = !(checkAuth("X"));
- // btn_print.disabled =!(checkAuth("P"));
-
- ipt_dutym.dispatch("xforms-value-changed");
- model.refresh();
- }
-
- function fInitDutManCntList()
- {
- misfGridInit(grd_dutmancntlist);
- for(var i = 2; i <= 5; i++)
- {
- if( i == 2) {
- grd_dutmancntlist.valueMatrix(i, 0) = "Day";
- }
- else if(i == 3) {
- grd_dutmancntlist.valueMatrix(i, 0) = "Evening";
- }
- else if(i == 4) {
- grd_dutmancntlist.valueMatrix(i, 0) = "Night";
- }
- else if(i == 5) {
- grd_dutmancntlist.valueMatrix(i, 0) = "Total";
- }
- }
- }
-
- function fSetMaxCnttoArray()
- {
- arrDayMax[0] = grd_stndduttablelist.valueMatrix(1, 20);
- arrEveningMax[0] = grd_stndduttablelist.valueMatrix(1, 21);
- arrNightMax[0] = grd_stndduttablelist.valueMatrix(1, 22);
-
- arrDayMax[1] = grd_stndduttablelist.valueMatrix(1, 2);
- arrEveningMax[1] = grd_stndduttablelist.valueMatrix(1, 3);
- arrNightMax[1] = grd_stndduttablelist.valueMatrix(1, 4);
-
- arrDayMax[2] = grd_stndduttablelist.valueMatrix(1, 5);
- arrEveningMax[2] = grd_stndduttablelist.valueMatrix(1, 6);
- arrNightMax[2] = grd_stndduttablelist.valueMatrix(1, 7);
-
- arrDayMax[3] = grd_stndduttablelist.valueMatrix(1, 8);
- arrEveningMax[3] = grd_stndduttablelist.valueMatrix(1, 9);
- arrNightMax[3] = grd_stndduttablelist.valueMatrix(1, 10);
-
- arrDayMax[4] = grd_stndduttablelist.valueMatrix(1, 11);
- arrEveningMax[4] = grd_stndduttablelist.valueMatrix(1, 12);
- arrNightMax[4] = grd_stndduttablelist.valueMatrix(1, 13);
-
- arrDayMax[5] = grd_stndduttablelist.valueMatrix(1, 14);
- arrEveningMax[5] = grd_stndduttablelist.valueMatrix(1, 15);
- arrNightMax[5] = grd_stndduttablelist.valueMatrix(1, 16);
-
- arrDayMax[6] = grd_stndduttablelist.valueMatrix(1, 17);
- arrEveningMax[6] = grd_stndduttablelist.valueMatrix(1, 18);
- arrNightMax[6] = grd_stndduttablelist.valueMatrix(1, 19);
- }
-
- function fCheckStndSche(iDayIdx)
- {
- model.setValue("/root/main/stndduttableitem/day", arrDayMax[iDayIdx]);
- model.setValue("/root/main/stndduttableitem/evening", arrEveningMax[iDayIdx]);
- model.setValue("/root/main/stndduttableitem/night", arrNightMax[iDayIdx]);
- model.setValue("/root/main/stndduttableitem/total", arrTotalMax[iDayIdx]);
- }
-
- //사유팝업을 띄운다.
- function fOpenPopup()
- {
- if(grd_dutschelist.rowStyle(grd_dutschelist.row, "data", "background-color") == "#E5EFFC") return;
-
- model.setValue("/root/send/winparams/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/winparams/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/winparams/dutym", model.getValue("/root/send/dutym"));
-
- rpdfOpenPopUpList("1", grd_dutschelist, "", "", "", "", "/root/send/winparams");
- // modal("SPRPD01700", "", "", "", "", "/root/temp/params", "/root/target" );
-
- fSetDutImage();
- fSetHelperColor();
- }
-
- //사유팝업을 띄운다.
- function fOpenPopupChngApp()
- {
- if(grd_dutschelist.rowStyle(grd_dutschelist.row, "data", "background-color") == "#E5EFFC") return;
-
- model.setValue("/root/send/winparams/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/winparams/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/winparams/dutym", model.getValue("/root/send/dutym"));
- // modal("SPRPD10001", "", "", "", "", "/root/temp/params", "/root/target" );
- rpdfOpenPopUpList("3", grd_dutschelist, "", "", "", "", "/root/send/winparams");
- }
- //드래그하여 코드를 선택할시 지우기 메뉴를 선택하였을때 호출되는 함수이다.
- //지우기메뉴 -> 셀을 지움
- function fGridCellClear()
- {
- var iEditCnt = 0;
- var iPreRowIdx = 0;
-
- for(var i=0; i<grd_dutschelist.selectedCells.length; i++)
- {
- var iColIdx = grd_dutschelist.selectedCells.item(i).col;
- var iRowIdx = grd_dutschelist.selectedCells.item(i).row;
-
- if(grd_dutschelist.colRef("brngfwrdoffqty") <= iColIdx) continue;
-
- if(grd_dutschelist.rowStyle(iRowIdx, "data", "background-color") == "#E5EFFC") continue;
-
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
-
- var sDutYM = ipt_dutym.value;
- var sDutDD = (iColIdx - iDay1ColIdx).toString();
-
- if(sDutDD.length == 1) sDutDD = '0' + sDutDD;
- var sDutYMD = sDutYM + sDutDD;
- var sEmplNo = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("emplno"));
- var iExistCnt = 0;
-
- for(var j = 1; j<grd_resnlist.rows ; j++)
- {
- var sResnListEmplNo = grd_resnlist.valueMatrix(j, grd_resnlist.colRef("emplno"));
- var sResnListDutDD = grd_resnlist.valueMatrix(j, grd_resnlist.colRef("dutdd"));
- var sExecFlag = grd_resnlist.valueMatrix(j, grd_resnlist.colRef("appscheexecflag"));
-
- if(sResnListEmplNo == sEmplNo && sResnListDutDD == sDutYMD &&
- ((rdo_appscheexecflag.value == "2" && sExecFlag == "2") || (rdo_appscheexecflag.value == "3" && sExecFlag == "3")))
- {
- grd_resnlist.deleteRow(j,"false");
- }
- }
-
- grd_dutschelist.cellStyle("background-color", iRowIdx, iColIdx) = "#FFFFFF";
-
- if(iPreRowIdx != iRowIdx)
- {
- fStatusCheck(iRowIdx);
- iPreRowIdx = iRowIdx;
- }
- fSetMonthPrDayCnt();
- fSetYearHoliOffCnt();
- }
- }
-
- //드래그로 근무코드를 선택했을시 그리드에 Status를 "insert" 나 "update"로 바꾼다.
- function fStatusCheck(iRowIdx)
- {
- if(grd_dutschelist.valueMatrix(iRowIdx, 1) == "" && grd_dutschelist.rowStyle(iRowIdx, "data", "background-color") != "#E5EFFC")
- {
- grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("dutym")) = model.getValue("/root/send/dutym");
- grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("appscheexecflag")) = model.getValue("/root/send/appscheexecflag");
- grd_dutschelist.addStatus(iRowIdx, "insert");
- }
- else
- {
- if(grd_dutschelist.rowStyle(iRowIdx, "data", "background-color") != "#E5EFFC")
- {
- grd_dutschelist.addStatus(iRowIdx, "update");
- }
- }
- }
-
- //드래그하여 마우스 오른쪽버튼을 누를시 근무코드 메뉴가 호출되며,
- //호출되는 메뉴를 눌렀을시 해당 누른메뉴에 따른 이벤트를 호출하는 함수이다.
- function fSetValueGrid2Cell(sCMnuNm)
- {
- if(sCMnuNm == "fOpenPopup")
- {
- if(grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.col) == "") return;
- fOpenPopup();
- }
- else if(sCMnuNm == "fOpenPopupChngApp")
- {
- if(grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.col) == "") return;
- fOpenPopupChngApp();
- }
- else if (sCMnuNm == "fGridCellClear")
- {
- fGridCellClear();
- }
- else
- {
- if(sCMnuNm == "-") return;
-
- fSetScheDutCd(sCMnuNm);
- fSetMonthPrDayCnt();
- }
- }
-
- // 일자별 근무 세팅
- function fSetScheDutCd(sDutCd)
- {
- var iPreRowIdx = 0;
-
- for(var i=0; i<grd_dutschelist.selectedCells.length; i++)
- {
- var iColIdx = grd_dutschelist.selectedCells.item(i).col;
- var iRowIdx = grd_dutschelist.selectedCells.item(i).row;
-
- if(iColIdx <= iDay1ColIdx || iColIdx >= iDay31ColIdx) {
- continue;
- }
-
- if(grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("suppflag")) == "1") {
- continue;
- }
-
- if(grd_dutschelist.colRef("brngfwrdoffqty") <= iColIdx) continue;
- if(grd_dutschelist.rowStyle(iRowIdx, "data", "background-color") == "#E5EFFC") continue;
-
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = sDutCd;
-
- if(iPreRowIdx != iRowIdx)
- {
- fStatusCheck(iRowIdx);
- iPreRowIdx = iRowIdx;
- }
-
- var iRet = fScheValidCheck_Under1Year(iRowIdx, iColIdx);
- if(iRet != 6 && iRet != 100) {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
- grd_dutschelist.row = iRowIdx;
- grd_dutschelist.col = iColIdx;
- return;
- }
- else if(iRet != 100 && iRet == 6) {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "V1";
- }
-
- // 신청 OFF, 실시 밤근무 체크
- if(fScheValidCheck_DutSet(iRowIdx, iColIdx) != 6)
- {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
- grd_dutschelist.row = iRowIdx;
- grd_dutschelist.col = iColIdx;
- return;
- }
-
- // 5일연속 근무 체크
- if(fScheValidCheck_5DayDut(iRowIdx, iColIdx) != 6)
- {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
- grd_dutschelist.row = iRowIdx;
- grd_dutschelist.col = iColIdx;
- return;
- }
-
- if(fScheValidCheck_OffCnt(iRowIdx, iColIdx) != 6)
- {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
- grd_dutschelist.row = iRowIdx;
- grd_dutschelist.col = iColIdx;
- return;
- }
-
- // 신청 OFF, 실시 밤근무 체크
- fScheValidCheck_NightVacation(iRowIdx, iColIdx);
- if(fSetYearHoliOffCntByDutCd(iRowIdx, iColIdx))
- {
- grd_dutschelist.valueMatrix(iRowIdx, iColIdx) = "";
- grd_dutschelist.row = iRowIdx;
- grd_dutschelist.col = iColIdx;
- }
- }
-
- if(grd_dutschelist.col + 1 != iDay31ColIdx - 2) {
- grd_dutschelist.col = grd_dutschelist.col + 1;
- }
- fSetYearHoliOffCnt();
- }
-
- function fSetYearHoliOffCntByDutCd(iRowIdx, iColIdx)
- {
- var bRet = false;
- var sSetDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx);
- var sDutCd;
-
- var iCareCount = 0;
- var iValiCount = 0;
-
- var nurse1yearyn = "N";
-
- var sEntcoDD = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("entcodd"));
- var iEnterDayCnt = parseInt( Math.floor( Date.parse( misfConvertChar2Date(sEntcoDD, "/")) / 8.64e7));
- var iCurntDayCnt = parseInt( Math.floor( Date.parse( misfConvertChar2Date(getCurrentDate(), "/")) / 8.64e7));
-
- if (iCurntDayCnt - iEnterDayCnt <= 365) {
- nurse1yearyn = "Y";
- }
- else {
- nurse1yearyn = "N";
- }
-
- var sEmplno = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("emplno"));
- var iEmplRowIdx = grd_yearnoinfolist.findRow(sEmplno, 2, grd_yearnoinfolist.colRef("emplno"));
-
- if(iEmplRowIdx != -1) // 년차, 보휴, OFF데이터가 존재할경우
- {
- if(sSetDutCd == "C") // 보호휴가일경우
- {
- for(var i=iDay1ColIdx+1; i<iDay31ColIdx; i++)
- {
- sDutCd = grd_dutschelist.valueMatrix(iRowIdx, i);
- if(sDutCd == "C") iCareCount ++;
- }
-
- /*
- *보휴는 한달에 하나만 사용하도록 수정
- * 2009년 11월 25일 김미선 수정. 빈센트 요청
- */
- if( iCareCount > 1 ) {
- messageBox("보호휴가는 한달에 한번 이상 사용", "E001");
- bRet = true;
- return;
- }
-
- // 발생수랑 사용수랑 비교
- var iGenrHealHoli = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/genrhealholi"));
-
- var iUseHealHoli = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/usehealholi"));
- var iSprehealholi = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/sprehealholi"));
-
- var iExistYn = model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/existyn");
-
- if(iExistYn == "N")
- {
- iUseHealHoli += iCareCount;
- }
-
- if(iGenrHealHoli < iUseHealHoli )
- {
- messageBox("발생 보호 휴가수보다 더 많이 사용", "E001");
- bRet = true;
- }
- }
- else if(sSetDutCd == "V" || sSetDutCd == "V1")
- {
- for(var i=iDay1ColIdx + 1; i<iDay31ColIdx; i++)
- {
- sDutCd = grd_dutschelist.valueMatrix(iRowIdx, i);
-
- if(sDutCd == "V" || sDutCd == "V1") iValiCount++;
- }
-
- // 발생수랑 사용수랑 비교
- if (nurse1yearyn == "Y") {
- var iGenrYearNo = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/genryearno"))
- + parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/olmtspreyearno"));
- }
- else {
- var iGenrYearNo = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/genryearno"))
- + parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/olmtspreyearno"));
- }
- var iUseYearNo = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/useyearno"));
- var iExistYn = model.getValue("/root/main/resltdata/offcntlist[" + iEmplRowIdx + "]/existyn");
-
- if(iExistYn == "N")
- {
- iUseYearNo += iValiCount++;
- }
-
- if(iGenrYearNo < iUseYearNo)
- {
- messageBox("발생 법정 휴가수보다 더 많이 사용@", "E001");
- bRet = true;
- }
- }
- }
- return bRet;
- }
-
- function fScheValidCheck_Under1Year(iRowIdx, iColIdx)
- {
- var sDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx);
-
- if(sDutCd != "V") return 100;
-
- var sEntcoDD = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("entcodd"));
- var iEnterDayCnt = parseInt(Math.floor(Date.parse(misfConvertChar2Date(sEntcoDD, "/")) / 8.64e7));
- var iCurntDayCnt = parseInt(Math.floor(Date.parse(misfConvertChar2Date(getCurrentDate(), "/")) / 8.64e7));
-
- var iPassDayCnt = iCurntDayCnt - iEnterDayCnt;
-
- var dlgResult = 6;
- if(iPassDayCnt <= 365)
- {
- dlgResult = messageBox("[ 1년 미만 신입간호사 ] 의 휴가는 \n\n만 1년을 채운 후 발생되는 휴가수에서 빠지므로\n\n주의하여 입력 하시기 바랍니다.\n\n", "Q003");
- }
- else
- {
- dlgResult = 100;
- }
- return dlgResult
- }
-
- function fScheValidCheck_NightVacation(iRowIdx, iColIdx)
- {
- var sDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx).substr(0, 1);
- var sEmplno = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("emplno"));
- var sDay = (iColIdx - iDay1ColIdx).toString().length == 1 ? "0" + (iColIdx - iDay1ColIdx).toString() : (iColIdx - iDay1ColIdx).toString();
- var sDate = ipt_dutym.value + sDay;
- var iResnIdx = 1;
-
- if(sDutCd == "N")
- {
- while(grd_resnlist.findRow(sDate, iResnIdx, grd_resnlist.colRef("dutdd")) > 0)
- {
- iSelectedRow = grd_resnlist.findRow(sDate, iResnIdx, grd_resnlist.colRef("dutdd"));
-
- if(grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("appscheexecflag")) == '1' && grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("emplno")) == sEmplno && grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("dutcd")).substr(0, 1) == "V")
- {
- grd_dutschelist.cellStyle("background-color", iRowIdx, iColIdx) = "#FFFCC4";
- return;
- }
-
- iResnIdx = iSelectedRow + 1;
- }
- }
- else
- {
- grd_dutschelist.cellStyle("background-color", iRowIdx, iColIdx) = "#FFFFFF";
- }
- }
-
- function fScheValidCheck_DutSet(iRowIdx, iColIdx)
- {
- var iMonthMaxDay = instance1.selectSingleNode("/root/main/daylist").length;
- var iLeft = iColIdx - 5;
-
- var bEveningDay = false;
- var bEveningOffDay = false;
-
- if(iLeft == 1)
- {
- var sFirstDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 1).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 2).substr(0, 1);
-
- if(sFirstDutCd == "E" && sSecondDutCd == "D")
- {
- bEveningDay = true;
- }
-
- if(sFirstDutCd == "E" && sSecondDutCd == "O" && sThirdDutCd == "D")
- {
- bEveningOffDay = true;
- }
- }
- else if(iLeft == 2)
- {
- var sFirstDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 1).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 1).substr(0, 1);
- var sForthDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 2).substr(0, 1);
-
- if(sFirstDutCd == "E" && sSecondDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sSecondDutCd == "E" && sThirdDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sFirstDutCd == "E" && sSecondDutCd == "O" && sThirdDutCd == "D")
- {
- bEveningOffDay = true;
- }
- if(sSecondDutCd == "E" && sThirdDutCd == "O" && sForthDutCd == "D")
- {
- bEveningOffDay = true;
- }
- }
- else if(iLeft >= 3 && iLeft <= (iMonthMaxDay - 2))
- {
- var sFirstDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 2).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 1).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx).substr(0, 1);
- var sForthDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 1).substr(0, 1);
- var sFifthDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 2).substr(0, 1);
-
- if(sSecondDutCd == "E" && sThirdDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sThirdDutCd == "E" && sForthDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sFirstDutCd == "E" && sSecondDutCd == "O" && sThirdDutCd == "D")
- {
- bEveningOffDay = true;
- }
- if(sSecondDutCd == "E" && sThirdDutCd == "O" && sForthDutCd == "D")
- {
- bEveningOffDay = true;
- }
- if(sThirdDutCd == "E" && sForthDutCd == "O" && sFifthDutCd == "D")
- {
- bEveningOffDay = true;
- }
- }
-
- if(iLeft == (iMonthMaxDay - 1))
- {
- var sFirstDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 2).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 1).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx).substr(0, 1);
- var sForthDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + 1).substr(0, 1);
-
- if(sSecondDutCd == "E" && sThirdDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sThirdDutCd == "E" && sForthDutCd == "D")
- {
- bEveningDay = true;
- }
- if(sFirstDutCd == "E" && sSecondDutCd == "O" && sThirdDutCd == "D")
- {
- bEveningOffDay = true;
- }
- if(sSecondDutCd == "E" && sThirdDutCd == "O" && sForthDutCd == "D")
- {
- bEveningOffDay = true;
- }
- }
- else if(iLeft == iMonthMaxDay)
- {
- var sFirstDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 2).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx - 1).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx).substr(0, 1);
-
- if(sSecondDutCd == "E" && sThirdDutCd == "D")
- {
- bEveningDay = true;
- }
-
- if(sFirstDutCd == "E" && sSecondDutCd == "O" && sThirdDutCd == "D")
- {
- bEveningOffDay = true;
- }
- }
-
- var dlgResult = 6;
-
- if(bEveningDay)
- {
- dlgResult = messageBox("Evening - Day 근무 배치입니다.\n\n", "Q003");
-
- if(dlgResult != 6) return dlgResult;
- }
-
- if(bEveningOffDay)
- {
- dlgResult = messageBox("Evening - Off - Day 근무 배치입니다.\n\n", "Q003");
- }
-
- return dlgResult;
- }
-
- function fScheValidCheck_OffCnt(iRowIdx, iColIdx)
- {
- var sDay = (iColIdx - 5).toString();
- if(sDay.length == 1) sDay = '0' + sDay;
-
- var dtSelected = new Date(ipt_dutym.value.substr(0, 4) + "/" + ipt_dutym.value.substr(4, 2) + "/" + sDay);
- var iCurDayNum = dtSelected.getDay() == 0 ? 0 : dtSelected.getDay()-1;
-
- var iStartNum = dtSelected.getDay() == 0 ? iCurDayNum - 6 : iCurDayNum - (iCurDayNum * 2);
- var iLastNum = dtSelected.getDay() == 0 ? 0 : 6 - (iCurDayNum);
-
- var arrWeekDutCd = new Array();
-
- var iIdx = 0;
- var iOffCnt = 0;
- var iPillCnt = 0;
- for(var i=iStartNum; i<=iLastNum; i++)
- {
- if((iColIdx + i) < 6 || (iColIdx + i) > 36)
- {
- arrWeekDutCd[iIdx++] = "BLOCK";
- iPillCnt++;
- }
- else
- {
- arrWeekDutCd[iIdx++] = grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + i).substr(0, 1);
-
- if(grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + i).substr(0, 1) != "")
- {
- iPillCnt++;
- }
-
- if(grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + i).substr(0, 1) == "O" ||
- grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + i).substr(0, 1) == "V" ||
- grd_dutschelist.valueMatrix(grd_dutschelist.row, iColIdx + i).substr(0, 1) == "B")
- {
- iOffCnt++;
- }
- }
- }
-
- var dlgResult = 6;
- if(iOffCnt < 2 && iPillCnt >= 6)
- {
- dlgResult = messageBox("주 휴무 2회 미만입니다.\n\n", "Q003");
- }
- return dlgResult;
- }
-
- function fScheValidCheck_5DayDut(iRowIdx, iColIdx)
- {
- var bShowCaution = false;
-
- var sFirstDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx - 5).substr(0, 1);
- var sSecondDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx - 4).substr(0, 1);
- var sThirdDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx - 3).substr(0, 1);
- var sFourthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx - 2).substr(0, 1);
- var sFifthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx - 1).substr(0, 1);
- var sSixthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx).substr(0, 1);
- var sSeventhDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx + 1).substr(0, 1);
- var sEighthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx + 2).substr(0, 1);
- var sNinthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx + 3).substr(0, 1);
- var sTenthDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx + 4).substr(0, 1);
- var sEleventhDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx + 5).substr(0, 1);
-
- if( (sFirstDutCd == "D" || sFirstDutCd == "E" || sFirstDutCd == "N" || sFirstDutCd == "R") &&
- (sSecondDutCd == "D" || sSecondDutCd == "E" || sSecondDutCd == "N" || sSecondDutCd == "R") &&
- (sThirdDutCd == "D" || sThirdDutCd == "E" || sThirdDutCd == "N" || sThirdDutCd == "R") &&
- (sFourthDutCd == "D" || sFourthDutCd == "E" || sFourthDutCd == "N" || sFourthDutCd == "R") &&
- (sFifthDutCd == "D" || sFifthDutCd == "E" || sFifthDutCd == "N" || sFifthDutCd == "R") &&
- (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- if( (sSecondDutCd == "D" || sSecondDutCd == "E" || sSecondDutCd == "N" || sSecondDutCd == "R") &&
- (sThirdDutCd == "D" || sThirdDutCd == "E" || sThirdDutCd == "N" || sThirdDutCd == "R") &&
- (sFourthDutCd == "D" || sFourthDutCd == "E" || sFourthDutCd == "N" || sFourthDutCd == "R") &&
- (sFifthDutCd == "D" || sFifthDutCd == "E" || sFifthDutCd == "N" || sFifthDutCd == "R") &&
- (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") &&
- (sSeventhDutCd == "D" || sSeventhDutCd == "E" || sSeventhDutCd == "N" || sSeventhDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- if( (sThirdDutCd == "D" || sThirdDutCd == "E" || sThirdDutCd == "N" || sThirdDutCd == "R") &&
- (sFourthDutCd == "D" || sFourthDutCd == "E" || sFourthDutCd == "N" || sFourthDutCd == "R") &&
- (sFifthDutCd == "D" || sFifthDutCd == "E" || sFifthDutCd == "N" || sFifthDutCd == "R") &&
- (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") &&
- (sSeventhDutCd == "D" || sSeventhDutCd == "E" || sSeventhDutCd == "N" || sSeventhDutCd == "R") &&
- (sEighthDutCd == "D" || sEighthDutCd == "E" || sEighthDutCd == "N" || sEighthDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- if( (sFourthDutCd == "D" || sFourthDutCd == "E" || sFourthDutCd == "N" || sFourthDutCd == "R") &&
- (sFifthDutCd == "D" || sFifthDutCd == "E" || sFifthDutCd == "N" || sFifthDutCd == "R") &&
- (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") &&
- (sSeventhDutCd == "D" || sSeventhDutCd == "E" || sSeventhDutCd == "N" || sSeventhDutCd == "R") &&
- (sEighthDutCd == "D" || sEighthDutCd == "E" || sEighthDutCd == "N" || sEighthDutCd == "R") &&
- (sNinthDutCd == "D" || sNinthDutCd == "E" || sNinthDutCd == "N" || sNinthDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- if( (sFifthDutCd == "D" || sFifthDutCd == "E" || sFifthDutCd == "N" || sFifthDutCd == "R") &&
- (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") &&
- (sSeventhDutCd == "D" || sSeventhDutCd == "E" || sSeventhDutCd == "N" || sSeventhDutCd == "R") &&
- (sEighthDutCd == "D" || sEighthDutCd == "E" || sEighthDutCd == "N" || sEighthDutCd == "R") &&
- (sNinthDutCd == "D" || sNinthDutCd == "E" || sNinthDutCd == "N" || sNinthDutCd == "R") &&
- (sTenthDutCd == "D" || sTenthDutCd == "E" || sTenthDutCd == "N" || sTenthDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- if( (sSixthDutCd == "D" || sSixthDutCd == "E" || sSixthDutCd == "N" || sSixthDutCd == "R") &&
- (sSeventhDutCd == "D" || sSeventhDutCd == "E" || sSeventhDutCd == "N" || sSeventhDutCd == "R") &&
- (sEighthDutCd == "D" || sEighthDutCd == "E" || sEighthDutCd == "N" || sEighthDutCd == "R") &&
- (sNinthDutCd == "D" || sNinthDutCd == "E" || sNinthDutCd == "N" || sNinthDutCd == "R") &&
- (sTenthDutCd == "D" || sTenthDutCd == "E" || sTenthDutCd == "N" || sTenthDutCd == "R") &&
- (sEleventhDutCd == "D" || sEleventhDutCd == "E" || sEleventhDutCd == "N" || sEleventhDutCd == "R") )
- {
- bShowCaution = true;
- }
-
- var dlgResult = 6;
-
- if(bShowCaution)
- {
- dlgResult = messageBox("5일 연속 및 초과 근무 입니다\n\n휴무를 지정 하십시오.\n\n", "Q003");
- }
-
- return dlgResult;
- }
-
- // 년차, 보휴, OFF를 카운트 하고 세팅한다.
- function fSetYearHoliOffCnt(sType)
- {
- var iRowIdx = grd_dutschelist.row;
-
- var sDutCd;
- var sExecYn;
- var sCnfmYn;
-
- var iDayCount;
- var iEveCount;
- var iNightCount;
- var iOffCount;
- var iValiCount;
- var iCareCount;
- var iTimeDutCount;
- var iSickCount;
- var iBirthCount;
-
- var sDutKindCd;
-
- var sDutYm = ipt_dutym.value;
- var dt = new Date(sDutYm.substr(0, 4), sDutYm.substr(4, 2), 0);
- var iLastDay = dt.getDate();
-
- var sHoliFlag;
-
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- iDayCount = 0;
- iEveCount = 0;
- iNightCount = 0;
- iOffCount = 0;
- iValiCount = 0.0;
- iCareCount = 0;
- iTimeDutCount = 0;
- iSickCount = 0;
- iBirthCount = 0;
-
- var sEmplno = grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("emplno"));
- var sEmplnm = grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("emplnm"));
-
- sDeptYn = model.getValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/psnworkdutcnfnyn");
- sExecYn = model.getValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/execschecloseyn");
- sCnfmYn = model.getValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/deprtmangrdutcnfmyn");
-
- if(sEmplnm == "실 시") continue;
-
- sDutKindCd = model.getValue("/root/main/resltdata/offcntlist[emplno='" + sEmplno + "']/dutkindcd");
-
- for(var j=iDay1ColIdx + 1; j<iDay31ColIdx; j++)
- {
- if(j <= iLastDay + iDay1ColIdx)
- {
- sHoliFlag = model.getValue("/root/main/daylist["+ (j - iDay1ColIdx) + "]/holiflag");
- sDutCd = grd_dutschelist.valueMatrix(i, j);
- if(sDutCd.substr(0, 1) == "D")
- {
- iDayCount++;
- }
- else if(sDutCd.substr(0, 1) == "E")
- {
- iEveCount++;
- }
- else if(sDutCd.substr(0, 1) == "N")
- {
- iNightCount++;
- }
- else if(sDutCd == "OF" || sDutCd == "OFN" || sDutCd == "OFP")
- {
- iOffCount++;
- }
- else if(sDutCd == "C")
- {
- iCareCount++;
- }
- else if(sDutCd == "V" || sDutCd == "V1")
- {
- iValiCount++;
- }
- else if(sDutCd == "1" || sDutCd == "2" || sDutCd == "3" || sDutCd == "4" || sDutCd == "5" || sDutCd == "6" || sDutCd == "7" || sDutCd == "8")
- {
- iTimeDutCount += parseFloat(sDutCd);
- }
- else if(sDutCd == "S" || sDutCd == "S1" || sDutCd == "S2" || sDutCd == "S3" || sDutCd == "S4")
- {
- iSickCount++;
- if((sHoliFlag == "0" || sHoliFlag == "4")) iOffCount++;
- }
- else if(sDutCd == "B")
- {
- iBirthCount++;
- if((sHoliFlag == "0" || sHoliFlag == "4")) iOffCount++;
- }
- else if(sDutCd == "H1" && ( (sHoliFlag == "0" || sHoliFlag == "4") || sDutKindCd == "C" ))
- {
- iOffCount++;
- }
- if(sDutCd == "DVH" || sDutCd == "VDH" || sDutCd == "VPH" || sDutCd == "VFH" || sDutCd == "VF1H" || sDutCd == "EVH" || sDutCd == "VEH")
- {
- iValiCount += 0.5;
- }
- if(sDutCd == "VFH" || sDutCd == "DFH" || sDutCd == "EFH" || sDutCd == "FDH" || sDutCd == "FEH" || sDutCd == "FF1H" || sDutCd == "PFH")
- {
- iOffCount += 0.5;
- }
- }
- }
-
- if(model.getValue("/root/send/appscheexecflag") == "2" && sExecYn == "Y")
- {
- continue;
- }
- if(model.getValue("/root/send/appscheexecflag") == "3" && sCnfmYn == "Y")
- {
- continue;
- }
- if(iLastDay == (iSickCount + iBirthCount))
- {
- iCareCount = 1;
- iOffCount = model.getValue("/root/main/userholiinfo/curmonthofcnt");
- }
- var itempDayCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("daysum")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("daysum")));
- var itempEveCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("eveningsum")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("eveningsum")));
- var itempNightCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("nigtsum")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("nigtsum")));
- var itempOffCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("offsum")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("offsum")));
- var itempValiiCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("useholidayno")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("useholidayno")));
- var itempCareCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("mensholidayno")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("mensholidayno")));
- var itempTimeDutCount = parseFloat(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("surp1_totduttm")) == "" ? 0 : grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("surp1_totduttm")));
- if(sType == "retr")
- {
- if(itempDayCount != iDayCount || itempEveCount != iEveCount || itempNightCount != iNightCount || itempOffCount != iOffCount || itempValiiCount != iValiCount || itempCareCount != iCareCount || itempTimeDutCount != iTimeDutCount)
- {
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/daysum", iDayCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/eveningsum", iEveCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/nigtsum", iNightCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/offsum", iOffCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/useholidayno", iValiCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/mensholidayno", iCareCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/surp1_totduttm", iTimeDutCount);
-
- grd_dutschelist.addStatus(i, "update");
- }
- }
- else
- {
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/daysum", iDayCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/eveningsum", iEveCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/nigtsum", iNightCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/offsum", iOffCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/useholidayno", iValiCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/mensholidayno", iCareCount);
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/surp1_totduttm", iTimeDutCount);
- }
- }
- fSetEmplDutInfo();
- model.refresh();
- }
-
- // 일별 Day, Evening, Night, 별 Count
- function fSetMonthPrDayCnt()
- {
- var arrHoliFlag = new Array();
- var iDayCnt = 0;
- var iEveningCnt = 0;
- var iNightCnt = 0;
- var iTotalCnt = 0;
-
- for(var i=1; i<=31; i++)
- {
- iDayCnt = 0;
- iEveningCnt = 0;
- iNightCnt = 0;
- iTotalCnt = 0;
-
- var iColIdx = i + iDay1ColIdx;
-
- for(var j=0; j<grd_dutschelist.rows; j++)
- {
- var iRowIdx = j + 2;
- var sDutCd = grd_dutschelist.valueMatrix(iRowIdx, iColIdx);
-
- if(sDutCd == "") continue;
-
- if(sDutCd.substr(0, 1) == "D")
- {
- iDayCnt++;
- iTotalCnt++;
- }
- else if(sDutCd.substr(0, 1) == "E")
- {
- iEveningCnt++;
- iTotalCnt++;
- }
- else if(sDutCd.substr(0, 1) == "N")
- {
- iNightCnt++;
- iTotalCnt++;
- }
- }
- model.setValue(grd_dutmancntlist.nodeset + "[" + 1 + "]/" + grd_dutmancntlist.colAttribute(i, "ref"), iDayCnt);
- model.setValue(grd_dutmancntlist.nodeset + "[" + 2 + "]/" + grd_dutmancntlist.colAttribute(i, "ref"), iEveningCnt);
- model.setValue(grd_dutmancntlist.nodeset + "[" + 3 + "]/" + grd_dutmancntlist.colAttribute(i, "ref"), iNightCnt);
- model.setValue(grd_dutmancntlist.nodeset + "[" + 4 + "]/" + grd_dutmancntlist.colAttribute(i, "ref"), iTotalCnt);
-
- grd_dutmancntlist.colStyle((i), "all", "color") = "#000000";
- grd_dutmancntlist.colStyle((i), "all", "font-weight") = "";
-
- var sYM = ipt_dutym.value;
- var sDay = (i).toString();
- (sDay.length == 1) ? sDay = '0' + sDay : sDay;
-
- var dt = new Date(misfConvertChar2Date(sYM + sDay, "/"));
- var iArrIdx = dt.getDay();
- if(iDayCnt > parseInt(arrDayMax[iArrIdx]))
- {
- grd_dutmancntlist.cellStyle("color", 2, i) = "#FF0000";
- grd_dutmancntlist.cellStyle("font-weight", 2, i) = "bold";
- }
- else if(iDayCnt < parseInt(arrDayMax[iArrIdx]) && iDayCnt != 0)
- {
- grd_dutmancntlist.cellStyle("color", 2, i) = "#0000FF";
- grd_dutmancntlist.cellStyle("font-weight", 2, i) = "bold";
- }
- else if(iDayCnt == 0)
- {
- grd_dutmancntlist.cellStyle("color", 2, i) = "#C0C0C0"
- }
-
- if(iEveningCnt > parseInt(arrEveningMax[iArrIdx]))
- {
- grd_dutmancntlist.cellStyle("color", 3, i) = "#FF0000";
- grd_dutmancntlist.cellStyle("font-weight", 3, i) = "bold";
- }
- else if(iEveningCnt < parseInt(arrEveningMax[iArrIdx]) && iEveningCnt != 0)
- {
- grd_dutmancntlist.cellStyle("color", 3, i) = "#0000FF";
- grd_dutmancntlist.cellStyle("font-weight", 3, i) = "bold";
- }
- else if(iEveningCnt == 0)
- {
- grd_dutmancntlist.cellStyle("color", 3, i) = "#C0C0C0";
- }
-
- if(iNightCnt > parseInt(opt_night.value))
- {
- grd_dutmancntlist.cellStyle("color", 4, i) = "#FF0000";
- grd_dutmancntlist.cellStyle("font-weight", 4, i) = "bold";
- }
- else if(iNightCnt < parseInt(arrNightMax[iArrIdx]) && iNightCnt != 0)
- {
- grd_dutmancntlist.cellStyle("color", 4, i) = "#0000FF";
- grd_dutmancntlist.cellStyle("font-weight", 4, i) = "bold";
- }
- else if(iNightCnt == 0)
- {
- grd_dutmancntlist.cellStyle("color", 4, i) = "#C0C0C0"
- }
-
- if(iTotalCnt == 0)
- {
- grd_dutmancntlist.cellStyle("color", 5, i) = "#C0C0C0"
- }
- }
- }
-
- //셀 클릭시 사유 세팅..
- function fSetResnValue()
- {
- grd_dutmancntlist.col = grd_dutschelist.col - iDay1ColIdx;
-
- var dt = new Date(misfConvertChar2Date(model.getValue("/root/main/daylist[" + (grd_dutschelist.col - iDay1ColIdx) + "]/basedd"), "/"));
-
- fCheckStndSche(dt.getDay());
-
- if(grd_dutschelist.col < iDay1ColIdx || grd_dutschelist.col > iDay31ColIdx || grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.col) == "" &&
- grd_dutschelist.cellStyle("background-image", grd_dutschelist.row, grd_dutschelist.col, grd_dutschelist.row, grd_dutschelist.col) == "")
- {
- model.setValue("/root/main/resn/reqresn", "");
- model.setValue("/root/main/resn/dutresn", "");
- return;
- }
- else
- {
- model.setValue("/root/main/resn/reqresn", "");
- model.setValue("/root/main/resn/dutresn", "");
-
- var sDutYM = model.getValue("/root/send/dutym").substr(0, 6);
- var sDutDD = (grd_dutschelist.col - iDay1ColIdx).toString();
- if(sDutDD.length == 1) sDutDD = '0' + sDutDD;
- var sDutYMD = sDutYM + sDutDD;
- var sEmplNo = grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("emplno"));
-
- var iExistRowIdx = 0;
- var sResnListEmplNo = "";
- var sResnListDutDD = "";
- var sResnListAppScheExecFlag = "";
- var sReqResn = "";
- var sDutResn = "";
- var sCmt = "";
-
- if(model.getValue("/root/send/appscheexecflag") == '2')
- {
- for(i = 1; i <grd_resnlist.rows ; i++)
- {
- sResnListEmplNo = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("emplno"));
- sResnListDutDD = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutdd"));
- sResnListAppScheExecFlag = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("appscheexecflag"));
-
- if(sDutYMD == sResnListDutDD && sEmplNo == sResnListEmplNo)
- {
- if(sResnListAppScheExecFlag == '1')
- {
- sReqResn = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutresn"));
- sCmt = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("cmt"));
- }
- else if(sResnListAppScheExecFlag == '2')
- {
- sDutResn = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutresn"));
- }
- }
- }
-
- if(grd_dutschelist.cellStyle("background-image", grd_dutschelist.row, grd_dutschelist.col, grd_dutschelist.row, grd_dutschelist.col) == "")
- {
- model.setValue("/root/main/resn/reqresn", "");
- }
- else
- {
- model.setValue("/root/main/resn/reqresn", sReqResn + sCmt)
- }
- model.setValue("/root/main/resn/dutresn", sDutResn);
- }
- else if(model.getValue("/root/send/appscheexecflag") == '3')
- {
- for(i = 1; i <grd_resnlist.rows ; i++)
- {
- sResnListEmplNo = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("emplno"));
- sResnListDutDD = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutdd"));
- sResnListAppScheExecFlag = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("appscheexecflag"));
-
- if(sDutYMD == sResnListDutDD && sEmplNo == sResnListEmplNo)
- {
- if(sResnListAppScheExecFlag == '1')
- {
- sReqResn = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutresn"));
- sCmt = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("cmt"));
- }
- else if(sResnListAppScheExecFlag == '2' && grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("appscheexecflag")) == '2')
- {
- sDutResn = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutresn"));
- }
- else if(sResnListAppScheExecFlag == '3')
- {
- sDutResn = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutresn"));
- }
- }
- }
- if(grd_dutschelist.cellStyle("background-image", grd_dutschelist.row, grd_dutschelist.col, grd_dutschelist.row, grd_dutschelist.col) == "")
- {
- model.setValue("/root/main/resn/reqresn","");
- }
- else
- {
- model.setValue("/root/main/resn/reqresn", sReqResn + sCmt)
- }
-
- model.setValue("/root/main/resn/dutresn", sDutResn);
- }
- }
- model.refresh();
- }
-
- // 컨텍스트 메뉴 호출
- function fOpenContextMenuList()
- {
- if(grd_dutschelist.mouseCol > iDay1ColIdx && grd_dutschelist.mouseCol < iDay31ColIdx && grd_dutschelist.isCell(event.target) && grd_dutschelist.mouseRow >= grd_dutschelist.fixedRows)
- {
- if(grd_dutschelist.mouseRow >= grd_dutschelist.fixedrows)
- {
- if(grd_dutschelist.selectedCells.length > 1)
- {
- row2 = grd_dutschelist.mouseRow;
- col2 = grd_dutschelist.mouseCol;
- }
- window.setPopupMenu(true, "/root/codedata/popupmenu/dutschelist/item", "name", "func", true);
- }
- else
- {
- window.setPopupMenu(false);
- }
- }
- else
- {
- window.setPopupMenu(false);
- }
- }
-
- // 로우 변경시.. 해당 사원의 정보를 조회
- function fSetEmplDutInfo()
- {
- var sEmplNo = grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("emplno"));
- var iEmplNoIdx = grd_yearnoinfolist.findRow(sEmplNo, 0, grd_yearnoinfolist.colRef("emplno"));
-
- if(iEmplNoIdx != -1)
- {
- model.copyNode("/root/main/userholiinfo", "/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]");
-
- var iUseHolidayNo = parseFloat((grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("useholidayno")) == "") ? 0 : grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("useholidayno")));
- var iMensHoliDayNo = parseFloat((grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("mensholidayno")) == "") ? 0 : grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("mensholidayno")));
- var iOffSum = parseFloat((grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("offsum")) == "") ? 0 : grd_dutschelist.valueMatrix(grd_dutschelist.row, grd_dutschelist.colRef("offsum")));
-
- var iUseYearNo = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/useyearno"));
- var iSPreYearNo = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/spreyearno"));
- var iUseHealHoli = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/usehealholi"));
- var iSPreHealHoli = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/sprehealholi"));
- var iMonthUseOfCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/monthuseofcnt"));
- var iMonthUnUseOfCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/monthunuseofcnt"));
- var iMonthHealHoliUseCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/monthhealholiusecnt"));
- var iCurMonthOfCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/curmonthofcnt"));
- var iCurMonthUseOfCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/curmonthuseofcnt"));
- var iCurMonthUnUseOfCnt = parseFloat(model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/curmonthunuseofcnt"));
-
- var iExistYn = model.getValue("/root/main/resltdata/offcntlist[" + iEmplNoIdx + "]/existyn")
- if(iExistYn == "N")
- {
- iUseYearNo += iUseHolidayNo;
- iSPreYearNo -= iUseHolidayNo;
-
- iUseHealHoli += iMensHoliDayNo;
- iSPreHealHoli -= iMensHoliDayNo;
-
- iMonthUseOfCnt += iOffSum;
- iMonthUnUseOfCnt -= iOffSum;
-
- iCurMonthUseOfCnt += iOffSum;
- iCurMonthUnUseOfCnt -= iOffSum;
- }
-
- model.setValue("/root/main/userholiinfo/useyearno", iUseYearNo); //사용법정휴가
- model.setValue("/root/main/userholiinfo/spreyearno", iSPreYearNo); //잔여법정휴가
- model.setValue("/root/main/userholiinfo/usehealholi", iUseHealHoli); //사용보호휴가수
- model.setValue("/root/main/userholiinfo/sprehealholi", iSPreHealHoli); //잔여보호휴가수
- model.setValue("/root/main/userholiinfo/monthuseofcnt", iMonthUseOfCnt);
- model.setValue("/root/main/userholiinfo/monthunuseofcnt", iMonthUnUseOfCnt);
- model.setValue("/root/main/userholiinfo/monthhealholiusecnt", iMonthHealHoliUseCnt);
- model.setValue("/root/main/userholiinfo/curmonthuseofcnt", iCurMonthUseOfCnt);
- model.setValue("/root/main/userholiinfo/curmonthunuseofcnt", iCurMonthUnUseOfCnt);
- }
- else
- {
- model.makeValue("/root/main/userholiinfo/genryearno", 0); //법정휴가
- model.makeValue("/root/main/userholiinfo/olmtspreyearno", 0); //1년미만연차
- model.makeValue("/root/main/userholiinfo/useyearno", 0); //사용법정휴가
- model.makeValue("/root/main/userholiinfo/spreyearno", 0); //잔여법정휴가
- model.makeValue("/root/main/userholiinfo/genrhealholi", 0); //보호휴가수
- model.makeValue("/root/main/userholiinfo/usehealholi", 0); //사용보호휴가수
- model.makeValue("/root/main/userholiinfo/sprehealholi", 0); //잔여보호휴가수
- model.makeValue("/root/main/userholiinfo/monthofcnt", 0);
- model.makeValue("/root/main/userholiinfo/monthuseofcnt", 0);
- model.makeValue("/root/main/userholiinfo/monthunuseofcnt", 0);
- model.makeValue("/root/main/userholiinfo/monthhealholiusecnt", 0);
- model.makeValue("/root/main/userholiinfo/curmonthofcnt", 0);
- model.makeValue("/root/main/userholiinfo/curmonthuseofcnt", 0);
- model.makeValue("/root/main/userholiinfo/curmonthunuseofcnt", 0);
- }
- model.refresh();
- }
-
- // 조회
- function fRetrieve()
- {
- grd_dutschelist.rebuildStyle();
-
- submit("TRRPD02204");
-
- model.setValue("/root/send/apryn", "Y");
- if(model.getValue("/root/send/dutym") == "")
- {
- messageBox("적용년월을", "C002");
- return;
- }
- else if(model.getValue("/root/send/dutunitcd") == "")
- {
- messageBox("근무부서를", "C001");
- return "dutunitval";
- }
-
- model.setValue("/root/send/emplno", "");
- model.setValue("/root/send/anualcalcyy", ipt_dutym.value.substr(0, 4));
-
- misfMsterDetailRetrieve();
- submit("TRRPD02203");
-
- fSetContextMenu(); // 번표 컨텍스트 메뉴를 추가
- fSetScheFlagRowStyle(); // 실시일때와, 확정일때 로우스타일을 바꾼다.
- fSetCalendarScheList(); // 번표에 달력의 일자를 세팅한다.
- fSetDutImage(); // 1년 미만 및 근무 스케쥴이 등록된 사유가 있으면 Cell 에 별표 표시
- fSetMaxCnttoArray(); // 배열에 일별 Day, Evening, Night 맥스값 넣기
- fSetMonthPrDayCnt(); // 월별 근무 카운트
- fSetSrvAppDutCd();
- fSetHelperColor(); // 헬퍼일자 코드 색칠
-
- fShowInfoVisible();
- }
-
- function fSetScheFlagRowStyle()
- {
- for(var i=2 ; i<grd_dutschelist.rows; i++)
- {
- if(model.getValue("/root/send/appscheexecflag") == "3") {
- misfSetReadOnlyCol(grd_dutschelist, "part", true, i);
- }
- else {
- misfSetReadOnlyCol(grd_dutschelist, "part", false, i);
- grd_dutschelist.rowStyle(i, "data", "background-color") = "#FFFFFF";
- }
- var sJobKindCd = model.getValue("/root/main/resltdata/dutschelist[" + (i - 1) +"]/jobkindcd");
- if(sJobKindCd == "2820")
- {
- grd_dutschelist.rowStyle(i, "data", "background-color") = "#FEF2FE";
- }
- }
- }
-
- function fSetCalendarScheList()
- {
- var basedd = new Array();
- var holiflag = new Array();
- var daynm = new Array();
-
- for( var i=1; i<=31; i++)
- {
- basedd[i - 1] = model.getValue("/root/main/daylist["+ i + "]/basedd");
- holiflag[i - 1] = model.getValue("/root/main/daylist["+ i + "]/holiflag");
- daynm[i - 1] = model.getValue("/root/main/daylist["+ i + "]/daynm");
-
- if(basedd[i - 1] == "")
- {
- grd_dutschelist.colHidden(i + iDay1ColIdx) = true;
- grd_dutmancntlist.colHidden(i) = true;
- }
- else
- {
- grd_dutschelist.colHidden(i + iDay1ColIdx) = false;
- grd_dutmancntlist.colHidden(i) = false;
- }
- if(holiflag[i - 1] == '4')
- {
- grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#0000FF";
- }
- else if(holiflag[i - 1] == '0')
- {
- grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#FF0000";
- }
- else
- {
- grd_dutschelist.colStyle((i + iDay1ColIdx), "all", "color") = "#000000";
- }
- }
- var sche_caption = grd_dutschelist.caption;
- var sche_split = sche_caption.split("^");
-
- var man_caption = grd_dutmancntlist.caption;
- var man_split = man_caption.split("^");
-
- sche_caption = "근무년월";
- man_caption = "Duty별 근무자수";
-
- for(var j=1; j<sche_split.length; j++ )
- {
- if(j > 79 && j < 111)
- {
- sche_caption = sche_caption + "^" + daynm[j - 80];
- }
- else
- {
- sche_caption = sche_caption + "^" + sche_split[j];
- }
- }
- grd_dutschelist.caption = sche_caption;
-
- for(var k=1; k<man_split.length; k++)
- {
- if(k > 31)
- {
- man_caption = man_caption + "^" + daynm[k - 32];
- }
- else
- {
- man_caption = man_caption + "^" + man_split[k];
- }
- }
- grd_dutmancntlist.caption = man_caption;
- }
-
- function fSetContextMenu()
- {
- model.removenode("/root/codedata/popupmenu/dutschelist");
- model.copyNode("/root/codedata/popupmenu", "/root/codedata/popuptemp");
-
- var sPreCode = "";
- var iLineCnt = 0;
- for(i=2 ; i < grd_dutcdlist.rows ; i++)
- {
- model.makeValue("/root/codedata/popupmenu/dutschelist[" + (i + iLineCnt) + "]/item/name", grd_dutcdlist.valueMatrix(i, grd_dutcdlist.colRef("dutcdnm")));
- model.makeValue("/root/codedata/popupmenu/dutschelist[" + (i + iLineCnt) + "]/item/func", grd_dutcdlist.valueMatrix(i, grd_dutcdlist.colRef("dutcd")));
- }
- }
-
- function fSetDutImage()
- {
- if(model.getValue("/root/send/appscheexecflag") == "2")
- {
- for(var i = 2 ; i < grd_dutschelist.rows; i++)
- {
- for(var j=iDay1ColIdx + 1; j<iDay31ColIdx; j++)
- {
- grd_dutschelist.cellStyle("background-image", i, j) = "";
- }
- var sEmplNo = grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("emplno"));
- var iResnIdx = 0;
- var iSelectedRow = 0;
-
- while(grd_resnlist.findRow(sEmplNo, iResnIdx, grd_resnlist.colRef("emplno")) > 0)
- {
- iSelectedRow = grd_resnlist.findRow(sEmplNo, iResnIdx, grd_resnlist.colRef("emplno"));
-
- if(grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("appscheexecflag")) == '1')
- {
- sDutDD = grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("dutdd")).substr(6, 2);
- sDutCd = grd_resnlist.valueMatrix(iSelectedRow, grd_resnlist.colRef("dutcd"));
-
- iColIdx = parseFloat(sDutDD) + iDay1ColIdx;
- grd_dutschelist.cellStyle("background-image", i, iColIdx) = "../../../com/commonweb/images/input_essential.gif";
-
- if(grd_dutschelist.valueMatrix(i, iColIdx).substr(0, 1) == "N" && sDutCd.substr(0, 1) == "V")
- {
- grd_dutschelist.cellStyle("background-color", i, iColIdx) = "#FFFCC4";
- }
- }
- iResnIdx = iSelectedRow + 1;
- }
- }
- }
- }
-
- function fSetSrvAppDutCd()
- {
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- if(grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("emplappyn")) == "0")
- {
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/dutym", model.getValue("/root/send/dutym"));
- model.setValue(grd_dutschelist.nodeset + "[" + (i - 1) + "]/appscheexecflag", "2");
- grd_dutschelist.addStatus(i, "insert");
- }
- }
- }
-
- function fSetHelperColor()
- {
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- var sSuppFlag = grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("suppflag"))
- var iCnt = 0;
-
- for(var j=iDay1ColIdx + 1; j<iDay31ColIdx; j++)
- {
- sBackCol = grd_dutschelist.cellStyle("background-color", i, j);
- if(sSuppFlag == "1" && grd_dutschelist.valueMatrix(i, j) != "") {
- iCnt++;
- }
-
- if(iCnt > 0) {
- grd_dutschelist.rowStyle(i, "data", "background-color") == "#CCFFCC"
- }
- }
- if(sSuppFlag == "1") {
- misfSetReadOnlyCol(grd_dutschelist, "part", true, i);
- grd_dutschelist.cellStyle("background-color", i, grd_dutschelist.colRef("emplnm")) = "#CCFFCC";
- }
- }
-
- for(var i=1; i<grd_resnlist.rows; i++)
- {
- var sSuppDeptCd = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("suppdeptcd"));
-
- var sDutDD = parseFloat(grd_resnlist.valueMatrix(i, grd_resnlist.colRef("dutdd")).substr(6, 2));
-
- var sEmplNo = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("emplno"));
- var sScheFlag = grd_resnlist.valueMatrix(i, grd_resnlist.colRef("appscheexecflag"));
-
- var iRowIdx = grd_dutschelist.findRow(sEmplNo, 2, grd_dutschelist.colRef("emplno"));
- var sSuppFlag = "";
-
- if(sSuppDeptCd != "" && sScheFlag == rdo_appscheexecflag.value)
- {
- if(iRowIdx < 0) continue;
-
- sSuppFlag = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("suppflag"));
-
- if(sSuppFlag == "1") {
- grd_dutschelist.cellStyle("background-color", iRowIdx, sDutDD + iDay1ColIdx ) = "#CCFFCC";
- }
- else {
- grd_dutschelist.cellStyle("background-color", iRowIdx, sDutDD + iDay1ColIdx ) = "#FFCC66";
- }
- }
- else {
- sSuppFlag = grd_dutschelist.valueMatrix(iRowIdx, grd_dutschelist.colRef("suppflag"));
- }
- }
- }
-
- function fShowInfoVisible()
- {
- model.refresh();
-
- var bCnfm = false;
- var bExec = false;
- var bDept = false;
-
- for(var i=1; i<=instance1.selectNodes(grd_dutschelist.nodeset).length; i++)
- {
- if(model.getValue(grd_dutschelist.nodeset + "[" + i + "]/dutplcedeptcd") == model.getValue("/root/send/dutunitcd") &&
- model.getValue(grd_dutschelist.nodeset + "[" + i + "]/psnworkdutcnfnyn") == "Y")
- {
- bDept = true;
- i = instance1.selectNodes(grd_dutschelist.nodeset).length + 1;
- }
- }
-
- for(var i=1; i<=instance1.selectNodes(grd_dutschelist.nodeset).length; i++)
- {
- if(model.getValue(grd_dutschelist.nodeset + "[" + i + "]/dutplcedeptcd") == model.getValue("/root/send/dutunitcd") &&
- model.getValue(grd_dutschelist.nodeset + "[" + i + "]/execschecloseyn") == "Y")
- {
- bExec = true;
- i = instance1.selectNodes(grd_dutschelist.nodeset).length + 1;
- }
- }
-
- for(var i=1; i<=instance1.selectNodes(grd_dutschelist.nodeset).length; i++)
- {
- if(model.getValue(grd_dutschelist.nodeset + "[" + i + "]/dutplcedeptcd") == model.getValue("/root/send/dutunitcd") &&
- model.getValue(grd_dutschelist.nodeset + "[" + i + "]/deprtmangrdutcnfmyn") == "Y")
- {
- bCnfm = true;
- i = instance1.selectNodes(grd_dutschelist.nodeset).length + 1;
- }
- }
-
- if(rdo_appscheexecflag.value == "2")
- {
- if(bDept && !bExec && !bCnfm ) // 부서마감 Y, 실시마감 N 상태
- {
- cap_caution4.visible = true;
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution5.visible = false;
-
- btn_deptclose.attribute("text") = "실시취소";
- btn_execclose.attribute("text") = "확정마감";
-
- btn_deptclose.disabled = false;
- btn_execclose.disabled = false;
- btn_cnfmclose.disabled = true;
- btn_deptclose.visible = true;
- btn_execclose.visible = true;
- btn_cnfmclose.visible = true;
-
- btn_save.disabled = false;
- btn_print.disabled = false;
- }
- else if( bDept && bExec && !bCnfm )
- {
- cap_caution4.visible = false;
- cap_caution1.visible = true;
- cap_caution2.visible = false;
- cap_caution5.visible = false;
-
- btn_deptclose.attribute("text") = "실시취소";
- btn_execclose.attribute("text") = "확정취소";
-
- btn_deptclose.disabled = true;
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
- btn_deptclose.visible = true;
- btn_execclose.visible = true;
- btn_cnfmclose.visible = true;
-
- btn_save.disabled = true;
- btn_print.disabled = false;
- }
- else if( bDept && bExec && bCnfm )
- {
- cap_caution4.visible = false;
- cap_caution1.visible = false;
- cap_caution2.visible = true;
- cap_caution5.visible = false;
-
- btn_deptclose.disabled = true;
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = false;
- btn_deptclose.visible = true;
- btn_execclose.visible = true;
- btn_cnfmclose.visible = true;
-
- btn_save.disabled = true;
- btn_print.disabled = false;
- }
- else if ( !bDept && !bExec && !bCnfm ) {
- cap_caution4.visible = false;
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution5.visible = false;
-
- btn_deptclose.disabled = false;
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
- btn_deptclose.visible = true;
- btn_execclose.visible = true;
- btn_cnfmclose.visible = true;
-
- btn_deptclose.attribute("text") = "실시마감";
- btn_execclose.attribute("text") = "확정마감";
-
- btn_save.disabled = false;
- btn_print.disabled = true;
- }
- }
- else if(rdo_appscheexecflag.value == "3")
- {
- if( DUT_UNIT_CD == "3041000000" ) {
- if(bCnfm)
- {
- cap_caution1.visible = false;
- cap_caution2.visible = true;
- cap_caution5.visible = false;
-
- btn_deptclose.disabled = false;
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
-
- btn_execclose.visible = false;
- btn_cnfmclose.visible = false;
-
- btn_execclose.attribute("text") = "확정취소";
-
- btn_save.disabled = false;
- btn_print.disabled = true;
- }
- else
- {
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution5.visible = false;
-
- btn_save.disabled = false;
- btn_clear.disabled = false;
-
- btn_execclose.attribute("text") = "확정취소";
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
-
- btn_execclose.visible = true;
- btn_cnfmclose.visible = true;
-
- if(grd_dutschelist.rows == 2)
- {
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
- btn_save.disabled = true;
- }
- else
- {
- btn_execclose.disabled = false;
- btn_cnfmclose.disabled = false;
- btn_save.disabled = false;
- }
- }
- }
- else {
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution5.visible = true;
-
- btn_deptclose.disabled = true;
- btn_execclose.disabled = true;
- btn_cnfmclose.disabled = true;
-
- btn_save.disabled = true;
- btn_print.disabled = true;
- }
-
- btn_print.disabled = false;
- // btn_viewscheexec.visible = true;
- btn_deptclose.visible = false;
- }
- }
-
- // 근무년월 변경 이벤트
- function fDutYMValueChanged()
- {
- model.removenode("/root/main/close");
- submit("TRRPD02208");
-
- var iCnt = parseFloat(model.getValue("/root/main/close/closeyn/cnt"));
- var sCloseYn = ( model.getValue("/root/main/close/closeyn/closeyn") != "" ) ? model.getValue("/root/main/close/closeyn/closeyn") : "N";
- var sDeptYn = ( model.getValue("/root/main/close/closeyn/deptyn") != "" ) ? model.getValue("/root/main/close/closeyn/deptyn") : "N";
-
- if(instance1.selectNodes("/root/main/close/closeyn").length == 0)
- {
- if(!fSetControlAttr())
- {
- rdo_scheexecflag.value = "1";
- model.removeNodeset(grd_dutschelist.nodeset);
- model.refresh();
- return;
- }
- }
-
- if(sDeptYn == "N")
- { // 실시마감 되었을때.
- if(!fSetControlAttr())
- {
- rdo_scheexecflag.value = "2";
- model.removeNodeset(grd_dutschelist.nodeset);
- model.refresh();
- return;
- }
-
- if(sCurYM <= model.getValue("/root/send/dutym"))
- {
- rdo_appscheexecflag.value = "2";
- rdo_scheexecflag.value = "1";
- }
- }
- else if(sDeptYn == "Y" && sCloseYn == "N")
- { // 실시마감은 되었으나 확정마감 되지 않은 번표
- if(!fSetControlAttr())
- {
- rdo_scheexecflag.value = "2";
- model.removeNodeset(grd_dutschelist.nodeset);
- model.refresh();
- return;
- }
-
- if(sCurYM <= model.getValue("/root/send/dutym"))
- {
- rdo_appscheexecflag.value = "2";
- rdo_scheexecflag.value = "2";
- }
- }
- else
- {
- cap_caution3.visible = false;
-
- if(bFirst)
- {
- rdo_appscheexecflag.value = "3";
- rdo_scheexecflag.value = "3";
- bFirst = false;
- }
- }
-
- submit("TRRPD02206");
- btn_search.dispatch("DOMActivate");
- }
-
- function fSetControlAttr()
- {
- var bRetr = true;
-
- // UM / JM / 팀장 / 간호부장 / 인사담당자 / 복무책임자 일때
- if(JOB_RESP_CD == "1070" || JOB_RESP_CD == "1080" || JOB_RESP_CD == "1901" || JOB_RESP_CD == "1907" || DUTY_RESP_YN == "Y" || DUTY_PART_YN == "Y")
- {
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution3.visible = false;
- cap_caution4.visible = false;
- cap_caution5.visible = false;
-
- btn_search.disabled = false;
- btn_save.disabled = false;
- }
- else if ( JOB_RESP_CD == "2010" ) {
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution3.visible = false;
- cap_caution4.visible = false;
- cap_caution5.visible = false;
-
- btn_search.disabled = false;
- cmb_dutplce.disabled = false;
- rdo_appscheexecflag.disabled = false;
- }
- else {
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution3.visible = true;
- cap_caution4.visible = false;
- cap_caution5.visible = false;
-
- btn_search.disabled = true;
- btn_save.disabled = true;
- btn_cnfmclose.disabled = true;
- btn_execclose.disabled = true;
- btn_deptclose.disabled = true;
-
- rdo_appscheexecflag.disabled = true;
-
- bRetr = false;
- }
- return bRetr;
- }
-
- // 저장
- function fSave()
- {
- var updtdata1 = getGridUpdateData(grd_dutschelist);
-
- if (updtdata1 == "") {
- messageBox("변경된 데이터가", "I004");
- return;
- }
-
- if(misfSave("TXRPD02201")) {
- messageBox("저장", "I001");
- }
-
- grd_dutschelist.dispatch("onentercell");
- }
-
- function fSet1YearNurse()
- {
- var sEntcoDD = "";
- var iEnterDayCnt = 0;
- var iCurntDayCnt = 0;
-
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- sEntcoDD = grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("entcodd"));
- iEnterDayCnt = parseInt( Math.floor( Date.parse( misfConvertChar2Date(sEntcoDD, "/")) / 8.64e7));
- iCurntDayCnt = parseInt( Math.floor( Date.parse( misfConvertChar2Date(getCurrentDate(), "/")) / 8.64e7));
-
- if(iCurntDayCnt - iEnterDayCnt <= 365)
- {
- grd_dutschelist.cellStyle("background-image", i, grd_dutschelist.colRef("emplnm")) = "../../../com/commonweb/images/input_s_essential.gif";
- grd_dutschelist.cellStyle("background-position", i, grd_dutschelist.colRef("emplnm")) = "center left";
- }
- }
- }
-
- function fCnfmClose()
- {
- submit("TRRPD02200");
- if( model.getValue("/root/main/temp/flag/flag") == 'Y' ) {
- messageBox("이미 간호부 최종마감 되었습니다.","I000");
- return;
- }
-
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- if(grd_dutschelist.rowStatus(i) == 1 || grd_dutschelist.rowStatus(i) == 2 || grd_dutschelist.rowStatus(i) == 3)
- {
- messageBox("수정중인 데이터가 존재합니다. 저장 후 마감 하세요", "I000");
- return;
- }
- }
-
- var dlgResult
- dlgResult = messageBox("간호부 최종 마감 하시면 번표 수정이 불가능 합니다.\n\n", "Q006");
-
- model.setValue("/root/send/params/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/params/dutym", model.getValue("/root/send/dutym"));
- model.setValue("/root/send/params/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/params/appscheexecflag", model.getValue("/root/send/appscheexecflag"));
-
- if(dlgResult == 6)
- {
- if(misfSave("TXRPD02202"))
- {
- messageBox("간호부 최종 마감", "I001");
- }
-
- btn_search.dispatch("DOMActivate");
- }
- }
-
- function fExecClose()
- {
- if(btn_execclose.attribute("text") == "확정마감")
- {
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- if(grd_dutschelist.rowStatus(i) == 1 || grd_dutschelist.rowStatus(i) == 2 || grd_dutschelist.rowStatus(i) == 3)
- {
- messageBox("수정중인 데이터가 존재합니다. 저장 후 마감 하세요", "I000");
- return;
- }
- }
-
- var dlgResult
- dlgResult = messageBox("[ 확정 마감 ] 하시면 실시 번표 수정이 불가능 합니다.\n\n마감 하시겠습니까? 예(Yes) / 아니오(No)", "Q000");
-
- model.setValue("/root/send/params/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/params/dutym", model.getValue("/root/send/dutym"));
- model.setValue("/root/send/params/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/params/appscheexecflag", model.getValue("/root/send/appscheexecflag"));
- model.setValue("/root/send/params/flag", "operateclose");
-
- if(dlgResult == 6)
- {
- if(misfSave("TXRPD02203"))
- {
- messageBox("확정 마감", "I001");
- }
- btn_search.dispatch("DOMActivate");
- }
- }
- else if(btn_execclose.attribute("text") == "확정취소")
- {
- var dlgResult
- dlgResult = messageBox("[ 확정 마감 ] ", "Q007");
-
- model.setValue("/root/send/params/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/params/dutym", model.getValue("/root/send/dutym"));
- model.setValue("/root/send/params/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/params/appscheexecflag", model.getValue("/root/send/appscheexecflag"));
- model.setValue("/root/send/params/flag", "cancelclose");
-
- if(dlgResult == 6)
- {
- misfSave("TXRPD02203");
-
- btn_search.dispatch("DOMActivate");
- }
-
- }
- }
-
- function fDeptClose()
- {
- if(btn_deptclose.attribute("text") == "실시마감")
- {
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- if(grd_dutschelist.rowStatus(i) == 1 || grd_dutschelist.rowStatus(i) == 2 || grd_dutschelist.rowStatus(i) == 3)
- {
- messageBox("수정중인 데이터가 존재합니다. 저장 후 마감 하세요", "I000");
- return;
- }
- }
-
- var dlgResult
- dlgResult = messageBox("[ 실시마감 ] 하시면 번표 수정이 불가능 합니다.\n\n마감 하시겠습니까? 예(Yes) / 아니오(No)", "Q000");
-
- model.setValue("/root/send/params/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/params/dutym", model.getValue("/root/send/dutym"));
- model.setValue("/root/send/params/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/params/appscheexecflag", model.getValue("/root/send/appscheexecflag"));
- model.setValue("/root/send/params/flag", "operateclose");
-
- if(dlgResult == 6)
- {
- if(misfSave("TXRPD02204"))
- {
- messageBox("실시마감", "I001");
- }
- btn_search.dispatch("DOMActivate");
- }
- }
- else if(btn_deptclose.attribute("text") == "실시취소")
- {
- var dlgResult
- dlgResult = messageBox("[ 실시마감 ] ", "Q007");
-
- model.setValue("/root/send/params/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/params/dutym", model.getValue("/root/send/dutym"));
- model.setValue("/root/send/params/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/params/appscheexecflag", model.getValue("/root/send/appscheexecflag"));
- model.setValue("/root/send/params/flag", "cancelclose");
-
- if(dlgResult == 6)
- {
- misfSave("TXRPD02204");
-
- btn_search.dispatch("DOMActivate");
- }
-
- }
- }
-
- function fPrint()
- {
- submit("TRRPD02209");
- exeReportPreview("RPRPD02201", "XMLSTR");
- model.removeNodeset("/root/main/print/printlist");
- model.refresh();
- }
-
-
- // 실시대비확정보기 변경
- function fChangeAppScheExec()
- {
- ipt_dutym.dispatch("xforms-value-changed");
- if(grd_dutschelist.rows == 2 && model.getValue("/root/send/appscheexecflag") == '3')
- {
- cap_caution3.visible = true;
- btn_cnfmclose.disabled = true;
- }
- else if(grd_dutschelist.rows > 2 && model.getValue("/root/send/appscheexecflag") == '3')
- {
- cap_caution3.visible = false;
- if( DUT_UNIT_CD == "3041000000" ) {
- btn_cnfmclose.disabled = false;
- }
- }
- }
-
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <script type="javascript" ev:event="onmenu">
- <![CDATA[
- var popupParam = event.description;
- fSetValueGrid2Cell(popupParam);
- ]]>
- </script>
- <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; ">
- <line id="line1" class="line_1" style="x1:0px; y1:89px; x2:1195px; y2:89px; "/>
- <caption id="caption9" class="tit_2" style="left:5px; top:74px; width:109px; height:13px; ">근무 스케줄</caption>
- <group id="group4" style="left:0px; top:10px; width:1195px; height:55px; vertical-align:top; ">
- <shape id="roundrect2" appearance="roundrect" ellipsewidth="10" ellipseheight="10" style="left:0px; top:0px; width:1195px; height:55px; background-color:#fffbf2; border-color:#ffd799; "/>
- <caption id="caption5" class="search_name" style="left:15px; top:31px; width:86px; height:17px; ">관리부서 :</caption>
- <line id="line3" class="line_4" style="x1:1110px; y1:7px; x2:1110px; y2:49px; border-color:#ffe4bb; border-left-style:solid; "/>
- <caption id="caption1" class="search_name" style="left:393px; top:7px; width:91px; height:17px; ">근무년월 :</caption>
- <caption id="caption2" class="search_name" style="left:630px; top:7px; width:68px; height:17px; ">구분 :</caption>
- <input id="ipt_dutym" ref="/root/send/dutym" class="input_search" inputtype="date" format="yyyy-mm" style="left:480px; top:6px; width:110px; 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" ) {
- misfComboInstCdListMulti("cmb_instcd",ipt_dutym.value+"31","","N");
- cmb_instcd.value = instcd;
- model.refresh();
- }
- fDutYMValueChanged();
- ]]>
- </script>
- </input>
- <input id="ipt_dutdeptcd" ref="/root/send/dutunitcd" class="input_s_essential" navindex="2" visibility="visible" maxlength="10" style="left:102px; top:30px; width:85px; height:19px; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
- model.setValue("/root/send/dutcdparams/dutunitcd", cmb_dutplce.value);
- model.refresh();
- ]]>
- </script>
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- ipt_dutdeptcd.value = ipt_dutdeptcd.currentText;
-
- misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
- model.setValue("/root/send/dutcdparams/dutunitcd", cmb_dutplce.value);
- model.refresh();
- }
- ]]>
- </script>
- </input>
- <input id="ipt_dutdeptnm" ref="/root/send/dutunitnm" class="input_search" navindex="3" visibility="visible" style="left:211px; top:30px; width:134px; height:19px; ">
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
- model.setValue("/root/send/dutcdparams/dutunitcd", cmb_dutplce.value);
- model.refresh();
- ]]>
- </script>
- <script type="javascript" ev:event="onkeypress">
- <![CDATA[
- if(event.keyCode == 13)
- {
- ipt_dutdeptnm.value = ipt_dutdeptnm.currentText;
-
- misfValidationCheck("02", "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd" );
- model.setValue("/root/send/dutcdparams/dutunitcd", cmb_dutplce.value);
-
- model.refresh();
- }
- ]]>
- </script>
- </input>
- <button id="btn_dutdept" class="icon_search" visibility="visible" style="left:193px; top:32px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- // misfOpenPopUpList("02", ipt_dutdeptcd, "", "dutunitcd,dutunitnm", cmb_instcd.value, "instcd");
- misfOpenPopUpList("02", ipt_dutdeptcd,"","dutunitcd,dutunitnm", cmb_instcd.value + "," + ipt_dutym.value+"31", "instcd,basedd");
- model.setValue("/root/send/dutcdparams/dutunitcd", ipt_dutdeptcd.value);
- model.refresh();
- ]]>
- </script>
- </button>
- <button id="btn_search" class="btn1_letter2" navindex="4" style="left:1125px; top:17px; width:56px; height:22px; text-align:left; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if (fRetrieve() == "dutunitval") return;
-
- fSet1YearNurse();
- fSetYearHoliOffCnt("retr");
-
- if(JOB_RESP_CD != "1901" && JOB_RESP_CD != "1070" && JOB_RESP_CD != "1907" && JOB_RESP_CD != "1080" && DUTY_PART_YN != "Y" && DUTY_PART_YN != "Y") // 권한이 UM, 팀장, JM, 복무책임자, 인사담당자가 아닐때..
- {
- rpdfSetControlByJobRespCd("btn_execclose,btn_cnfmclose,btn_save,cmb_dutplce,rdo_appscheexecflag");
- }
- if( JOB_RESP_CD == "2010" ) { // 간호부장이면
- cap_caution1.visible = false;
- cap_caution2.visible = false;
- cap_caution3.visible = false;
- cap_caution4.visible = false;
-
- btn_search.disabled = false;
- cmb_dutplce.disabled = false;
- rdo_appscheexecflag.disabled = false;
- }
- ]]>
- </script>
- </button>
- <select1 id="rdo_scheexecflag" ref="/root/send/scheexecflag" appearance="full" cellspacing="10" cols="3" overflow="hidden" style="left:695px; top:7px; width:185px; height:15px; border-style:none; ">
- <choices>
- <item>
- <label>실시</label>
- <value>1</value>
- </item>
- <item>
- <label>확정</label>
- <value>2</value>
- </item>
- <item>
- <label>최종</label>
- <value>3</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- // btn_viewscheexec.attribute("class") = "btn5_letter8";
- // btn_viewscheexec.attribute("text") = "실시대비확정보기";
-
- if( rdo_scheexecflag.value == "1" ) {
- model.setValue(rdo_appscheexecflag.attribute("ref"),"2");
- }
- else {
- model.setValue(rdo_appscheexecflag.attribute("ref"),rdo_scheexecflag.value);
- }
-
- fChangeAppScheExec();
- ]]>
- </script>
- </select1>
- <select1 id="cmb_dutplce" ref="/root/send/dutunitcd" class="combo_search" visibility="visible" appearance="minimal" style="left:102px; top:30px; width:243px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.setValue("/root/send/dutcdparams/dutunitcd", cmb_dutplce.value);
- ]]>
- </script>
- </select1>
- <caption id="caption3" class="search_name" style="left:393px; top:31px; width:90px; height:17px; ">직 종 :</caption>
- <select1 id="cmb_jobkind" ref="/root/send/jobkind" class="combo_search" visibility="visible" appearance="minimal" style="left:480px; top:30px; width:110px; height:19px; text-align:center; ">
- <choices>
- <item>
- <label>전체</label>
- <value/>
- </item>
- <item>
- <label>간호직</label>
- <value>1</value>
- </item>
- <item>
- <label>병원지원직</label>
- <value>2</value>
- </item>
- </choices>
- </select1>
- <select1 id="cmb_instcd" ref="/root/send/instcd" class="combo_search" navindex="1" appearance="minimal" style="left:102px; top:6px; width:243px; height:19px; ">
- <choices>
- <itemset>
- <label/>
- <value/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- model.setValue("/root/send/dutcdparams/instcd", cmb_instcd.value)
- ]]>
- </script>
- </select1>
- <caption id="caption29" class="search_name" style="left:14px; top:7px; width:86px; height:17px; ">소속기관 :</caption>
- <select1 id="rdo_appscheexecflag" ref="/root/send/appscheexecflag" visibility="hidden" appearance="full" cellspacing="10" cols="3" overflow="hidden" style="left:695px; top:30px; width:185px; height:15px; border-style:none; ">
- <choices>
- <item>
- <label>실시</label>
- <value>2</value>
- </item>
- <item>
- <label>확정</label>
- <value>3</value>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- // btn_viewscheexec.attribute("class") = "btn5_letter8";
- // btn_viewscheexec.attribute("text") = "실시대비확정보기";
- //
- // fChangeAppScheExec();
- ]]>
- </script>
- </select1>
- </group>
- <line id="line12" class="line_2" style="x1:0px; y1:605px; x2:1195px; y2:605px; "/>
- <caption id="caption15" class="cell_1" style="left:0px; top:552px; width:90px; height:23px; text-align:center; vertical-align:middle; ">신청사유</caption>
- <caption id="caption18" class="cell_1" style="left:0px; top:579px; width:90px; height:22px; text-align:center; vertical-align:middle; ">근무사유</caption>
- <line id="line2" class="line_1" style="x1:0px; y1:550px; x2:1193px; y2:550px; "/>
- <datagrid id="grd_dutcdlist" nodeset="/root/main/list/dutcdlist" class="text_center" allowuserresize="true" caption="코드^근무명^근무코드명^근무시간^Day인원^Evening인원^Night인원|코드^근무명^근무코드명^근무시간^Day인원^Evening인원^Night인원" colsep="^" colwidth="35, 250, 0, 0, 0, 0, 0" frozencols="1" mergecellsfixedrows="bycolrec" rowsep="|" style="left:1024px; top:94px; width:170px; height:455px; ">
- <col ref="dutcd" style="font-family:돋움체; font-size:9pt; text-align:left; "/>
- <col ref="dutnm" style="font-family:돋움체; font-size:9pt; text-align:left; "/>
- <col ref="dutcdnm" visibility="hidden"/>
- <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[
- fSetScheDutCd(grd_dutcdlist.valueMatrix(grd_dutcdlist.row, grd_dutcdlist.colRef("dutcd")));
- fSetMonthPrDayCnt();
- ]]>
- </script>
- </datagrid>
- <line id="line15" class="line_3" style="x1:0px; y1:602px; x2:1194px; y2:602px; "/>
- <button id="btn_reqresnview" class="btn2_letter6" style="left:561px; top:557px; width:86px; height:19px; text-align:left; ">
- <caption>신청사유보기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/send/winparams/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/winparams/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/winparams/dutym", model.getValue("/root/send/dutym"));
-
- rpdfOpenPopUpList("2", btn_reqresnview, "", "", "", "", "/root/send/winparams/dutym");
- model.refresh();
- ]]>
- </script>
- </button>
- <input id="opt_dutresn" ref="/root/main/resn/dutresn" class="output_fix" disabled="true" style="left:92px; top:580px; width:468px; height:19px; "/>
- <input id="opt_reqresn" ref="/root/main/resn/reqresn" class="output_fix" disabled="true" style="left:92px; top:557px; width:468px; height:19px; "/>
- <button id="btn_dutcdflag" class="btn2_letter3" style="left:1139px; top:69px; width:53px; height:19px; text-align:left; ">
- <caption>숨기기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(DUTCODE_FLAG == false)
- {
- DUTCODE_FLAG = true;
- grd_dutcdlist.visible = false;
- grd_dutschelist.attribute("style") = "left:0px; top:94px; width:1194px; height:458px; "
- btn_dutcdflag.attribute("text") = "보이기";
-
- grd_dutschelist.colHidden(grd_dutschelist.colRef("emplno")) = true;
- grd_dutschelist.colHidden(grd_dutschelist.colRef("dutplcedeptnmtemp")) = true;
- grd_dutschelist.colHidden(grd_dutschelist.colRef("jobkindnm")) = true;
- }
- else
- {
- DUTCODE_FLAG = false;
- grd_dutcdlist.visible = true;
- grd_dutschelist.attribute("style") = "left:0px; top:94px; width:1025px; height:458px; "
- btn_dutcdflag.attribute("text") = "숨기기";
- grd_dutschelist.colHidden(grd_dutschelist.colRef("emplno")) = false;
- grd_dutschelist.colHidden(grd_dutschelist.colRef("dutplcedeptnmtemp")) = false;
- grd_dutschelist.colHidden(grd_dutschelist.colRef("jobkindnm")) = false;
- }
- ]]>
- </script>
- </button>
- <datagrid id="grd_dutmancntlist" nodeset="/root/main/resltdata/dutmancntlist" class="text_center" caption="Duty별 근무자수^1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18^19^20^21^22^23^24^25^26^27^28^29^30^31|Duty별 근무자수^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수" colsep="^" colwidth="124, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32" focuscolor="#ccffff" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" selectionmode="bycol" style="left:71px; top:604px; width:1123px; height:137px; ">
- <col ref="dutmancnt"/>
- <col ref="day01"/>
- <col ref="day02"/>
- <col ref="day03"/>
- <col ref="day04"/>
- <col ref="day05"/>
- <col ref="day06"/>
- <col ref="day07"/>
- <col ref="day08"/>
- <col ref="day09"/>
- <col ref="day10"/>
- <col ref="day11"/>
- <col ref="day12"/>
- <col ref="day13"/>
- <col ref="day14"/>
- <col ref="day15"/>
- <col ref="day16"/>
- <col ref="day17"/>
- <col ref="day18"/>
- <col ref="day19"/>
- <col ref="day20"/>
- <col ref="day21"/>
- <col ref="day22"/>
- <col ref="day23"/>
- <col ref="day24"/>
- <col ref="day25"/>
- <col ref="day26"/>
- <col ref="day27"/>
- <col ref="day28"/>
- <col ref="day29"/>
- <col ref="day30"/>
- <col ref="day31"/>
- <script type="javascript" ev:event="oncolchanged">
- <![CDATA[
- grd_dutschelist.col = grd_dutmancntlist.col + iDay1ColIdx;
-
- var dt = new Date(misfConvertChar2Date(model.getValue("/root/main/daylist[" + (grd_dutschelist.col - iDay1ColIdx) + "]/basedd"), "/"));
- fCheckStndSche(dt.getDay());
-
- model.refresh();
- ]]>
- </script>
- </datagrid>
- <button id="btn_excsave" class="btn2_letter4" style="left:1007px; top:69px; width:64px; height:19px; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- misfSaveExcel(grd_dutschelist);
- ]]>
- </script>
- </button>
- <button id="btn_excsave2" class="btn2_letter4" style="left:4px; top:607px; width:64px; height:19px; ">
- <caption>엑셀저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- misfSaveExcel(grd_dutmancntlist);
- ]]>
- </script>
- </button>
- <caption id="caption7" style="left:150px; top:70px; width:135px; height:20px; ">신청 OFF / 스케쥴 Night</caption>
- <output id="output2" style="left:125px; top:69px; width:20px; height:19px; background-color:#FFFCC4; border-style:solid; "/>
- <caption id="caption10" style="left:340px; top:70px; width:106px; height:20px; ">지원 나간 Helper</caption>
- <output id="output3" style="left:315px; top:69px; width:20px; height:19px; background-color:#FFCC66; border-style:solid; "/>
- <caption id="caption8" style="left:485px; top:70px; width:94px; height:20px; ">지원 온 Helper</caption>
- <output id="output1" style="left:460px; top:69px; width:20px; height:19px; background-color:#CCFFCC; border-style:solid; "/>
- <button id="btn_retrsrvp" class="btn2_letter8" visibility="visible" style="left:898px; top:69px; width:108px; height:19px; ">
- <caption>복무계획신청내역</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- model.setValue("/root/send/winparams/instcd", model.getValue("/root/send/instcd"));
- model.setValue("/root/send/winparams/dutunitcd", model.getValue("/root/send/dutunitcd"));
- model.setValue("/root/send/winparams/dutym", model.getValue("/root/send/dutym"));
-
- modal("SPRPD02610", "", "", "", "", "/root/send/winparams", "/root/target" );
- ]]>
- </script>
- </button>
- <button id="btn_zoom" class="btn2_letter4" style="left:1074px; top:69px; width:64px; height:19px; text-align:left; ">
- <caption>확대하기</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- if(ZOOM_FLAG == false)
- {
- ZOOM_FLAG = true;
- grd_dutcdlist.visible = false;
- grd_dutschelist.attribute("style") = "left:0px; top:94px; width:1194px; height:650px; "
- btn_zoom.attribute("text") = "축소하기";
- }
- else
- {
- ZOOM_FLAG = false;
- grd_dutcdlist.visible = true;
- grd_dutschelist.attribute("style") = "left:0px; top:94px; width:1025px; height:458px; "
- btn_zoom.attribute("text") = "확대하기";
- }
- ]]>
- </script>
- </button>
- <caption id="caption11" style="left:755px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">사용</caption>
- <caption id="caption12" style="left:783px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">잔여</caption>
- <caption id="caption14" class="cell_1" style="left:666px; top:558px; width:31px; height:41px; text-align:center; vertical-align:middle; ">
- <![CDATA[법정
- 휴가]]>
- </caption>
- <caption id="caption16" style="left:699px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">발생</caption>
- <caption id="caption17" style="left:882px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">사용</caption>
- <caption id="caption22" style="left:910px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">잔여</caption>
- <caption id="caption23" class="cell_1" style="left:819px; top:558px; width:32px; height:41px; text-align:center; vertical-align:middle; ">
- <![CDATA[보호
- 휴가]]>
- </caption>
- <caption id="caption24" style="left:854px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">발생</caption>
- <caption id="caption25" style="left:1036px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">잔여</caption>
- <caption id="caption26" class="cell_1" style="left:946px; top:558px; width:31px; height:41px; text-align:center; vertical-align:middle; ">
- <![CDATA[월
- OFF]]>
- </caption>
- <caption id="caption27" style="left:980px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">발생</caption>
- <caption id="caption28" style="left:1008px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">사용</caption>
- <output id="opt_golmtspreyearno" ref="/root/main/userholiinfo/olmtspreyearno" format="(-)9999" style="left:727px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <caption id="caption19" style="left:727px; top:558px; width:26px; height:20px; font-size:6pt; text-align:center; vertical-align:middle; background-color:#dddddd; ">1년미만연차</caption>
- <output id="opt_genryearno" ref="/root/main/userholiinfo/genryearno" style="left:699px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_useyearno" ref="/root/main/userholiinfo/useyearno" style="left:755px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_spreyearno" ref="/root/main/userholiinfo/spreyearno" style="left:783px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_genrhealholi" ref="/root/main/userholiinfo/genrhealholi" format="(-)9999" style="left:854px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_usehealholi" ref="/root/main/userholiinfo/usehealholi" format="(-)9999" style="left:882px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_sprehealholi" ref="/root/main/userholiinfo/sprehealholi" format="(-)9999" style="left:910px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_monthofcnt" ref="/root/main/userholiinfo/curmonthofcnt" style="left:980px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_monthuseofcnt" ref="/root/main/userholiinfo/curmonthuseofcnt" style="left:1008px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_monthunuseofcnt" ref="/root/main/userholiinfo/curmonthunuseofcnt" style="left:1036px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <button id="btn_delrow" class="btn2_letter3" visibility="hidden" style="left:822px; top:69px; width:64px; height:19px; ">
- <caption>행삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- misfGridIUD(grd_dutschelist, "D");
- ]]>
- </script>
- </button>
- <output id="output4" ref="/root/main/userholiinfo/monthuseofcnt" style="left:1133px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="output5" ref="/root/main/userholiinfo/monthunuseofcnt" style="left:1161px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <output id="output6" ref="/root/main/userholiinfo/monthofcnt" style="left:1105px; top:580px; width:26px; height:19px; text-align:right; border-color:#eaeaea; border-style:solid; "/>
- <caption id="caption30" style="left:1161px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">잔여</caption>
- <caption id="caption31" class="cell_1" style="left:1071px; top:558px; width:31px; height:41px; text-align:center; vertical-align:middle; ">
- <![CDATA[누적
- OFF]]>
- </caption>
- <caption id="caption32" style="left:1105px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">발생</caption>
- <caption id="caption33" style="left:1133px; top:558px; width:26px; height:20px; text-align:center; vertical-align:middle; background-color:#dddddd; ">사용</caption>
- <output id="opt_day" ref="/root/main/stndduttableitem/day" format="(-)9999" style="left:42px; top:650px; width:26px; height:19px; font-size:10pt; font-weight:bold; text-align:center; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_evening" ref="/root/main/stndduttableitem/evening" format="(-)9999" style="left:42px; top:672px; width:26px; height:19px; font-size:10pt; font-weight:bold; text-align:center; border-color:#eaeaea; border-style:solid; "/>
- <output id="opt_night" ref="/root/main/stndduttableitem/night" format="(-)9999" style="left:42px; top:694px; width:26px; height:19px; font-size:10pt; font-weight:bold; text-align:center; border-color:#eaeaea; border-style:solid; "/>
- <caption id="caption13" class="cell_1" style="left:8px; top:649px; width:31px; height:64px; text-align:center; vertical-align:middle; ">
- <![CDATA[적
- 정
- 인
- 원]]>
- </caption>
- <datagrid id="grd_dutschelist" nodeset="/root/main/resltdata/dutschelist" class="text_center" allowuserresize="false" backcoloralternate="transparent" caption="근무년월^근무부서^신청예정
실시구분^기관코드^사원번호^성명^근무지부서코드^근무지^직종^P^1^2^3^4^5^6^7^8^9^10^11^12^13^14^15^16^17^18^19^20^21^22^23^24^25^26^27^28^29^30^31^이월Off수^Night수^Total
휴가수^사용
휴가수^보호
휴가수^Holiday수^Start Duty^Lase Duty^Day
합계^Evening
합계^Night
합계^Off
합계^시간제
근무합계^시간제
주휴합계^여분3
OT근무시간^여분4
총근무인정시간^여분5
총근무할시간^연차합계^교육합계^보수합계^소속부서코드^직원구분^부서장
근무확정여부^인사팀
근무확정여부^비고^복무신청여부^부서지원여부^년차^입사일자^최종수정일시|근무년월^근무부서^신청예정
실시구분^기관코드^사원번호^성명^근무지부서코드^근무지^직종^P^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^목^금^토^일^월^화^수^이월Off수^Night수^Total
휴가수^사용
휴가수^보호
휴가수^Holiday수^Start Duty^Lase Duty^Day
합계^Evening
합계^Night
합계^Off
합계^시간제
근무합계^시간제
주휴합계^여분3
OT근무시간^여분4
총근무인정시간^여분5
총근무할시간^연차합계^교육합계^보수합계^소속부서코드^직원구분^부서장
근무확정여부^인사팀
근무확정여부^비고^복무신청여부^부서지원여부^년차^입사일자^최종수정일시" colsep="^" colwidth="0, 0, 0, 0, 70, 60, 0, 100, 70, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 53, 53, 53, 0, 0, 0, 53, 53, 53, 53, 55, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, 0" explorerbar="sort" frozencols="6" mergecellsfixedcols="bycolrec" mergecellsfixedrows="bycolrec" rowheader="update" rowheight="23" rowsep="|" style="left:1px; top:94px; width:1024px; height:455px; ">
- <col ref="dutym" visibility="hidden"/>
- <col ref="dutplcedeptcd" visibility="hidden"/>
- <col ref="appscheexecflag" visibility="hidden"/>
- <col ref="instcd" visibility="hidden"/>
- <col ref="emplno"/>
- <col ref="emplnm"/>
- <col ref="dutplcedeptcdtemp" visibility="hidden"/>
- <col ref="dutplcedeptnmtemp"/>
- <col ref="jobkindnm"/>
- <col ref="part" type="input" style="text-align:center; "/>
- <col ref="day01" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day02" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day03" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day04" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day05" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day06" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day07" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day08" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day09" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day10" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day11" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day12" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day13" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day14" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day15" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day16" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day17" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day18" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day19" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day20" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day21" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day22" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day23" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day24" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day25" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day26" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day27" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day28" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day29" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day30" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="day31" maxlength="4" _chartype="upper" style="font-family:돋움체; font-size:9pt; "/>
- <col ref="brngfwrdoffqty" visibility="hidden"/>
- <col ref="nigtcnt" visibility="hidden"/>
- <col ref="holitotcnt" style="text-align:right; padding-right:2; "/>
- <col ref="useholidayno" style="text-align:right; padding-right:2; "/>
- <col ref="mensholidayno" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="holicnt" visibility="hidden" format="9999"/>
- <col ref="startdut" visibility="hidden" format="9999"/>
- <col ref="lastdut" visibility="hidden" format="9999"/>
- <col ref="daysum" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="eveningsum" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="nigtsum" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="offsum" visibility="hidden" style="left:993px; top:0px; width:0px; height:0px; text-align:right; padding-right:2; "/>
- <col ref="surp1_totduttm" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="surp2_otofftm" format="9999" style="text-align:right; padding-right:2; "/>
- <col ref="surp3_ottm" visibility="hidden"/>
- <col ref="surp4_sumdutrcogtm" visibility="hidden"/>
- <col ref="surp5_sumduttm" visibility="hidden"/>
- <col ref="sumyearno" visibility="hidden"/>
- <col ref="educsum" visibility="hidden"/>
- <col ref="remunrsum" visibility="hidden"/>
- <col ref="posdeptcd" visibility="hidden"/>
- <col ref="empflag" visibility="hidden"/>
- <col ref="deprtmangrdutcnfmyn" visibility="hidden"/>
- <col ref="psnworkdutcnfnyn" visibility="hidden"/>
- <col ref="cmt" type="input"/>
- <col ref="emplappyn" visibility="hidden"/>
- <col ref="suppflag" visibility="hidden"/>
- <col ref="anual" visibility="hidden"/>
- <col ref="entcodd" visibility="hidden"/>
- <script type="javascript" ev:event="onrowchanged">
- <![CDATA[
- fSetEmplDutInfo();
- ]]>
- </script>
- <script type="javascript" ev:event="onmousedown">
- <![CDATA[
- if(event.button == 3)
- {
- fOpenContextMenuList();
- }
- ]]>
- </script>
- <script type="javascript" ev:event="onmouseup">
- <![CDATA[
- if(event.button == 1)
- {
- fSetResnValue();
-
- SELECTED_ROW = grd_dutschelist.row;
- }
- ]]>
- </script>
- <script type="javascript" ev:event="DOMFocusOut">
- <![CDATA[
- window.setPopupMenu(false);
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_dutschelist.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <datagrid id="grd_resnlist" nodeset="/root/main/resnlist" visibility="hidden" backcoloralternate="#ffffff" caption="기관코드^근무년월^근무부서^예정실시확정구분^사번^근무코드^근무일^지원부서^근무사유^비고" colsep="^" colwidth="30, 70, 70, 58, 60, 55, 80, 80, 100, 80" mergecellsfixedrows="bycolrec" rowheader="update" rowsep="|" style="left:55px; top:340px; width:715px; height:140px; ">
- <col ref="instcd"/>
- <col ref="dutym"/>
- <col ref="dutplcedeptcd"/>
- <col ref="appscheexecflag"/>
- <col ref="emplno"/>
- <col ref="dutcd"/>
- <col ref="dutdd"/>
- <col ref="suppdeptcd"/>
- <col ref="dutresn"/>
- <col ref="cmt"/>
- </datagrid>
- <datagrid id="grd_yearnoinfolist" nodeset="/root/main/resltdata/offcntlist" visibility="hidden" caption="사번^발생연차^1년미만^사용연차^잔여연차^발생보휴^사용보휴^잔여보휴^월총
OF^월사용OF^월잔여OF" colsep="^" colwidth="70, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35" mergecellsfixedrows="bycolrec" rowsep="|" style="left:760px; top:365px; width:405px; height:168px; ">
- <col ref="emplno"/>
- <col ref="genryearno" format="9999" style="text-align:right; "/>
- <col ref="olmtspreyearno" format="9999" style="text-align:right; "/>
- <col ref="useyearno" format="9999" style="text-align:right; "/>
- <col ref="spreyearno" format="9999" style="text-align:right; "/>
- <col ref="genrhealholi" format="9999" style="text-align:right; ">
- <![CDATA[//]]>
- </col>
- <col ref="usehealholi" format="9999" style="text-align:right; "/>
- <col ref="sprehealholi" format="9999" style="text-align:right; "/>
- <col ref="monthofcnt" format="9999" style="text-align:right; "/>
- <col ref="monthuseofcnt" format="9999" style="text-align:right; "/>
- <col ref="monthunuseofcnt" format="9999" style="text-align:right; ">
- <![CDATA[//]]>
- </col>
- </datagrid>
- <datagrid id="grd_stndduttablelist" nodeset="/root/main/resltdata/stndduttablelist" visibility="hidden" caption="적용일자^부서코드^월D^월E^월N^화D^화E^화N^수D^수E^수N^목D^목E^목N^금D^금E^금N^토D^토E^토N^일D^일E^일N^N연속제한일수^N월제한일수" colsep="^" colwidth="60, 75, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 50, 50" mergecellsfixedrows="bycolrec" rowsep="|" style="left:0px; top:460px; width:765px; height:72px; ">
- <col ref="appym"/>
- <col ref="deptcd"/>
- <col ref="mondaypsncnt"/>
- <col ref="moneveningpsncnt"/>
- <col ref="monnightpsncnt"/>
- <col ref="tuesdaypsncnt"/>
- <col ref="tueseveningpsncnt"/>
- <col ref="tuesnightpsncnt"/>
- <col ref="weddaypsncnt"/>
- <col ref="wedeveningpsncnt"/>
- <col ref="wednightpsncnt"/>
- <col ref="thurdaypsncnt"/>
- <col ref="thureveningpsncnt"/>
- <col ref="thurnightpsncnt"/>
- <col ref="fridaypsncnt"/>
- <col ref="frieveningpsncnt"/>
- <col ref="frinightpsncnt"/>
- <col ref="satdaypsncnt"/>
- <col ref="sateveningpsncnt"/>
- <col ref="satnightpsncnt"/>
- <col ref="sundaypsncnt"/>
- <col ref="suneveningpsncnt"/>
- <col ref="sunnightpsncnt"/>
- <col ref="nightdutcontlimdayno"/>
- <col ref="nightdutmmlimdayno"/>
- </datagrid>
- </group>
- <group id="group5" scroll="auto" style="left:0px; top:12px; width:1195px; height:27px; ">
- <line id="line75" class="line_6" style="x1:0; y1:25; x2:1195; y2:25; "/>
- <button id="btn_save" class="btn4_letter2" style="left:1135px; top:3px; width:56px; height:22px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- submit("TRRPD02200");
- if( model.getValue("/root/main/temp/flag/flag") == 'Y' ) {
- messageBox("이미 확정마감 되었습니다.","I000");
- return;
- }
-
- for(var i=2; i<grd_dutschelist.rows; i++)
- {
- if(grd_dutschelist.rowStatus(i) == 1 || grd_dutschelist.rowStatus(i) == 3)
- {
- grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("surp4_sumdutrcogtm")) = "0.0";
- grd_dutschelist.valueMatrix(i, grd_dutschelist.colRef("surp5_sumduttm")) = "0.0";
- }
- }
- fSave();
- ]]>
- </script>
- </button>
- <button id="btn_print" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fPrint();
- ]]>
- </script>
- </button>
- <button id="btn_clear" class="btn4_letter3" visibility="hidden" style="left:760px; top:3px; width:68px; height:22px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var updtdata = getGridUpdateData(grd_dutschelist);
- if (updtdata != "")
- {
- var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 초기화 작업을","Q003");
- if (ret != 6) // not OK
- {
- return;
- }
- }
- fInitialize();
- ]]>
- </script>
- </button>
- <button id="btn_cnfmclose" class="btn4_letter7" style="left:1010px; top:3px; width:116px; height:22px; ">
- <caption>간호부최종마감</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fCnfmClose();
- ]]>
- </script>
- </button>
- <button id="btn_execclose" class="btn4_letter4" style="left:930px; top:3px; width:80px; height:22px; ">
- <caption>확정마감</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fExecClose();
- ]]>
- </script>
- </button>
- <button id="btn_deptclose" class="btn4_letter4" style="left:850px; top:3px; width:80px; height:22px; ">
- <caption>실시마감</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fDeptClose();
- ]]>
- </script>
- </button>
- <input id="ipt_cnt" ref="/root/main/close/closeyn/cnt" visibility="hidden" inputtype="input" style="left:335px; top:5px; width:24px; height:19px; "/>
- <input id="ipt_closeyn" ref="/root/main/close/closeyn/closeyn" visibility="hidden" inputtype="input" style="left:360px; top:5px; width:24px; height:19px; "/>
- <input id="ipt_deptyn" ref="/root/main/close/closeyn/deptyn" visibility="hidden" inputtype="input" style="left:380px; top:5px; width:24px; height:19px; "/>
- <caption id="cap_caution1" visibility="hidden" style="left:460px; top:4px; width:300px; height:20px; font-size:11pt; font-weight:bold; color:#ff0000; ">확정마감된 번표(수정불가)</caption>
- <caption id="cap_caution2" visibility="hidden" style="left:460px; top:4px; width:300px; height:20px; font-size:11pt; font-weight:bold; color:#ff0000; ">간호부 최종마감된 번표(수정불가)</caption>
- <caption id="cap_caution3" visibility="hidden" style="left:460px; top:4px; width:300px; height:20px; font-size:11pt; font-weight:bold; color:#ff0000; ">실시번표 작성이 완료되지 않음.</caption>
- <caption id="cap_caution4" visibility="hidden" style="left:460px; top:4px; width:320px; height:20px; font-size:11pt; font-weight:bold; color:#ff0000; ">실시마감된 번표. 확인 후 확정마감하세요.</caption>
- <caption id="cap_caution5" visibility="hidden" style="left:460px; top:4px; width:320px; height:20px; font-size:11pt; font-weight:bold; color:#ff0000; ">최종번표는 조회만 가능합니다.</caption>
- </group>
- </xhtml:body>
- </xhtml:html>
|