123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011 |
- <?xml version="1.0" encoding="EUC-KR"?>
- <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>자원봉사자출결등록관리</xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <send>
- <savedata/>
- <reqdata/>
- <data/>
- </send>
- <main>
- <voluntrattdabsninfo>
- <voluntrattdabsnlist>
- <chk/>
- <attdabsnyn/>
- <attdabsnflag/>
- <actdeptcd/>
- <actdeptdetlnm/>
- <voluntractdwcd/>
- <voluntractteamcd/>
- <voluntrnm/>
- <baptnm/>
- <servtm/>
- <attdrem/>
- <servdd/>
- <actrgstseqno/>
- <voluntrid/>
- <servkind/>
- <m/>
- <status/>
- </voluntrattdabsnlist>
- </voluntrattdabsninfo>
- <voluntrcalinfo>
- <voluntrcallist>
- <basedd/>
- <absn/>
- <dutflag/>
- <day/>
- <dw/>
- <weekno/>
- </voluntrcallist>
- </voluntrcalinfo>
- <search>
- <servdd/>
- <actdeptcd/>
- <voluntractdwcd/>
- <voluntractteamcd/>
- <actdivscd/>
- </search>
- <attdabsn>
- <attdabsndata/>
- </attdabsn>
- <calendar>
- <calyy/>
- <calmm/>
- </calendar>
- <cond>
- <conddate/>
- </cond>
- <cal>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- <weeks>
- <sun/>
- <mon/>
- <tue/>
- <wed/>
- <thu/>
- <fri/>
- <sat/>
- </weeks>
- </cal>
- </main>
- <init>
- </init>
- <hidden>
- <init>
- <comcd/>
- <comcd1/>
- <calenlist/>
- </init>
- <calendar>
- <month/>
- <year/>
- <weeklist>
- <list/>
- </weeklist>
- </calendar>
- </hidden>
- <code/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- fInit();
- ]]>
- </script>
- <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRZBC00105" mediatype="application/x-www-form-urlencoded" method="post"/>
- <submission id="TRAAA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/voluntrattdabsninfo"/>
- <submission id="TXAAA00201" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root"/>
- <submission id="TRAAA00202" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/voluntrcalinfo"/>
- <submission id="TRAEA02012" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/calenlist"/>
- <submission id="TRMNW00001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/code/codelist"/>
- </model>
- <script type="javascript" src="../../../com/commonweb/js/common.js"/>
- <script type="javascript" src="../../../com/commonweb/js/utilHelper.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="../../../com/basiccodeweb/js/ZBC001.js"/>
- <script type="javascript" src="../../../com/zipcodeweb/js/ZBP001.js"/>
- <script type="javascript" src="../../../ast/soclworkweb/js/AWMCommon.js"/>
- <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
- </xhtml:head>
- <script type="javascript">
- <![CDATA[
- // 초기화 함수
- function fInit()
- {
- //공통코드 셋팅
- zbcfGetCodeList( new Array("A0503","A0359","A0360","A0506","A0503","A0359","A0360", "A0654"),
- new Array("/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd","/root/hidden/init/comcd",
- "/root/hidden/init/comcd1","/root/hidden/init/comcd1","/root/hidden/init/comcd1", "/root/hidden/init/comcd") );
- model.removeNodeset("/root/main/voluntrattdabsninfo/voluntrattdabsnlist");
- addComboItem("cmb_actdeptcd", "전체", "", "above");
- addComboItem("cmb_actdivscd", "전체", "", "above");
- addComboItem("cmb_voluntractdwcd", "전체", "", "above");
- addComboItem("cmb_voluntractteamcd", "전체", "", "above");
-
- cmb_actdivscd.value = "02";
- var CurrentDate = getCurrentDate();
- //현재 날짜 셋팅
- model.makeValue("/root/main/search/servdd",CurrentDate);
- //활동일자에 현재 날짜 자동 셋팅
- grd_attdnc.fixedcellcheckbox(0,1)=true;
- //조회일자 오늘날짜로 셋팅
- var CurrentDate = getCurrentDate();
- var sYear = CurrentDate.substr(0,4);
- var sMonth = CurrentDate.substr(4,2);
- model.setValue("/root/hidden/calendar/year", sYear);
- model.setValue("/root/hidden/calendar/month", sMonth);
- // 간호하드코딩 테이블 조회_20090710-kys
- var pCode = "'077'"; // 조회할 CdGrupID 코드정보
- //var pDate = getCurrentDate(); //조회기준일자
- fGetNursHardCdInfo(pCode, CurrentDate);
- //============================================================
- if(model.getValue("/root/code/codeinfo/codelist[cdgrupid = '077' and supcdid = '01' and cdid = '"+ getUserInfo("dutplceinstcd") +"']/cdid")){ //서울성모에서만 보이게..20100330-kys
- btn_barsave.visible = true; //바코드출결처리버튼.
- }else{
- btn_barsave.visible = false;
- }
- fVoluntrInfoCalReq();
- }
- // 달력일자 출결 대상 인원 조회함수
- function fVoluntrInfoCalReq()
- {
- var syear=model.getValue("/root/hidden/calendar/year");
- var smonth=model.getValue("/root/hidden/calendar/month");
- var sYear=syear+smonth;
-
- model.resetInstanceNode("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/servdd",sYear);
- model.makeValue("/root/send/reqdata/actdeptcd",model.getValue("/root/main/search/actdeptcd"));
- model.makeValue("/root/send/reqdata/actdivscd",model.getValue("/root/main/search/actdivscd"));
- model.makeValue("/root/send/reqdata/voluntractdwcd",model.getValue("/root/main/search/voluntractdwcd"));
- model.makeValue("/root/send/reqdata/voluntractteamcd",model.getValue("/root/main/search/voluntractteamcd"));
- submit("TRAAA00202");
- fSetCalendarStyle();
- fSetCalendar();
- }
- //달력정보 및 일자별 대상인원, 출결 인원을 달력에 표시
- function fSetCalendar()
- {
- var selDataCnt = getNodesetCnt(model1, "/root/main/voluntrcalinfo/voluntrcallist"); //조회된 데이터 갯수
- var dw = "sun mon tue wed thu fri sat";
- var sDay = dw.split(" ");
- for ( i = 1; i <= selDataCnt; i++) {
- var row = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/weekno");
- var col = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/dw")-1 ;
- var dutflag = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + i + "]/dutflag");
- if (dutflag == "4"){ //토요일인 경우, 파란색 설정
- grd_calendar.cellStyle("color", row, col, row, col) = "#0000ff";
- } else if ( dutflag == '8') { //휴일인 경우, 빨간색 설정
- grd_calendar.cellStyle("color", row, col, row, col) = "#ff0000";
- } else { //그 이외는 검정색(평일 : 0)
- grd_calendar.cellStyle("color", row, col, row, col) = "#000000";
- }
- model.makeValue("/root/main/cal/weeks[" + row + "]/" + sDay[col], model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/day") + "\n"
- + " " + model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/absn"));
- }
- model.refresh();
- }
- // 달력스타일 셋팅
- function fSetCalendarStyle()
- {
- //height
- grd_calendar.dataHeight = 80;
- //font style
- grd_calendar.allStyle("all", "font-size") = "15px";
- //달력 기본색 지정
- grd_calendar.allStyle("all", "background-color") = "#ffffff"; //흰색
- model.refresh();
- }
- // 활동현황 조회 함수
- function fVoluntrInfoReq()
- {
- grd_attdnc.fixedcellischeck(0,1)=false; //전체 체크박스 헤재
-
- model.resetInstanceNode("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata","/root/main/search");
- submit("TRAAA00201");
- var idxRows=grd_attdnc.rows;
- var idxRow=grd_attdnc.fixedRows;
- for(i=1;i<=idxRows-idxRow;i++)
- {
- var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag");
- var servtm=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servtm"); // 활동시간 저장
-
- // 조회된 봉사자 내역 중 출석구분이 결석,휴가,병가로 된 경우 비활성화
- if(attdabsnflag=="03"||attdabsnflag=="04"||attdabsnflag=="05") {
-
- grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=true;
- } else {
- grd_attdnc.isReadOnly(i+1,grd_attdnc.colRef("servtm"))=false;
- }
- }
- model.refresh();
- }
- // 출결 내역 등록 함수
- function fVoluntrAttdSave()
- {
- var servdd=model.getValue("/root/main/search/servdd");
- var idxRow=grd_attdnc.rows;
- var idxfixRows=grd_attdnc.fixedRows;
- // 출결정보 등록할 파리채 생성
- var attdabsndata= 'attdabsnyn'
- + '▦attdabsnflag'
- + '▦status'
- + '▦actdeptcd'
- + '▦actdeptdetlnm'
- + '▦voluntractdwcd'
- + '▦voluntractteamcd'
- + '▦voluntrnm'
- + '▦baptnm'
- + '▦servtm'
- + '▦attdrem'
- + '▦actrgstseqno'
- + '▦voluntrid'
- + '▦servkind'
- + '▦servdd'
- + '▦actdeptcdnm'
- + '▦voluntractdwcdnm'
- + '▦voluntractteamcdnm'
- + '▦servseqno'
- + '▩';
- var chkdata=0; // 체크여부 확인하는 변수 선언
- for(i=1;i<=idxRow-idxfixRows;i++)
- { var chk=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/chk");
- if(chk=="1") //체크 된 데이터만
- {
- var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag") // 출결구분 저장
- if(attdabsnflag=="01"||attdabsnflag=="02") //출결이나 대근일때만 메시지 체크
- {
- if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servtm")=="") //봉사시간이 비어있을 때 메시지 처리
- {
- messageBox("활동시간은","I003");
- return;
- }
- }
- model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/servdd",servdd);
- // 조회한 활동일자 출결 봉사 일자에 저장
- // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
- // 그리드 수만큼 해당 정보 저장한다.
- attdabsndata+= model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnyn')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnflag')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/status')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptdetlnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/baptnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servtm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdrem')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actrgstseqno')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrid')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servkind')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servdd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servseqno')
- + '▩';
- chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
- }
- }
- //체크된 데이터가 존재 하지 않을 때
- if(chkdata=='0') {
- messageBox("출결처리 대상을 선택 하십시요","I");
- return;
- }
- model.removeNodeset("/root/send/savedata");
- model.makeNode("/root/send/savedata");
- model.makeValue("/root/main/attdabsn/attdabsndata",attdabsndata);
- model.copyNode("/root/send/savedata","/root/main/attdabsn");
- if(submit("TXAAA00201")==true)
- {
- messageBox("출결처리가","I002");
- fVoluntrInfoReq(); //조회함수
- fVoluntrInfoCalReq(); //해당 달력 조회 함수
- }
- }
- // 삭제 함수
- function fVoluntrAttdDel()
- {
- var servdd=model.getValue("/root/main/search/servdd");
- var idxRow=grd_attdnc.rows;
- var idxfixRows=grd_attdnc.fixedRows;
- // 출결정보 등록할 파리채 생성
- var attdabsndata= 'attdabsnyn'
- + '▦attdabsnflag'
- + '▦status'
- + '▦actdeptcd'
- + '▦actdeptdetlnm'
- + '▦voluntractdwcd'
- + '▦voluntractteamcd'
- + '▦voluntrnm'
- + '▦baptnm'
- + '▦servtm'
- + '▦attdrem'
- + '▦actrgstseqno'
- + '▦voluntrid'
- + '▦servkind'
- + '▦servdd'
- + '▦actdeptcdnm'
- + '▦voluntractdwcdnm'
- + '▦voluntractteamcdnm'
- + '▦servseqno'
- + '▩';
- var chkdata=0; // 체크여부 확인하는 변수 선언
- for(i=1;i<=idxRow-idxfixRows;i++)
- {
- if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/chk")=="1") //체크 된 데이터만
- {
- if(model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnyn")=="대상")
- {
- messageBox("출결등록 되지 않은 대상은 삭제할 수","I004");
- return;
- }
- //var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/attdabsnflag") // 출결구분 저장
- model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+i+"]/status","d"); //삭제 플래그 d저장
- // 조회한 활동일자 출결 봉사 일자에 저장
- // 그리드에 조회된 봉사자 출결 저장할 정보 attdabsndata에 누적 저장
- // 그리드 수만큼 해당 정보 저장한다.
- attdabsndata+= model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnyn')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdabsnflag')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/status')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptdetlnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/baptnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servtm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/attdrem')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actrgstseqno')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntrid')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servkind')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servdd')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/actdeptcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractdwcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/voluntractteamcdnm')
- + '▦'+ model.getValue('/root/main/voluntrattdabsninfo/voluntrattdabsnlist'+'['+i+']/servseqno')
- + '▩';
- chkdata=chkdata+1; // 체크된 수만큼 누적 된 양을 판별
- }
- }
- if(chkdata=='0') //체크된 데이터가 존재 하지 않을 때
- {
- messageBox("삭제할 대상을 선택 하십시요","I");
- return;
- }
- model.removeNodeset("/root/send/savedata");
- model.makeNode("/root/send/savedata");
- model.makeValue("/root/main/attdabsn/attdabsndata",attdabsndata);
- model.copyNode("/root/send/savedata","/root/main/attdabsn");
- var btn=messageBox("출결내역을","Q001");
- if(btn=='6')
- {
- if(submit("TXAAA00201")==true)
- {
- messageBox("삭제가","I002");
- fVoluntrInfoReq(); //조회함수
- fVoluntrInfoCalReq(); //해당 월 조회 함수
- }
- }
- }
- // 초기화 함수
- function fVoluntrAttdReset()
- {
- var btn=messageBox("초기화를","Q004");
- if(btn=='6')
- { // 출결등록 정보 초기화
- //model.resetInstanceNode("/root/main/search");
- model.removeNodeset("/root/main/voluntrattdabsninfo");
- model.resetInstanceNode("/root/main/search/servdd");
- grd_attdnc.fixedcellischeck(0,1)=false; //체크박스 해제
- model.refresh();
- fVoluntrInfoCalReq();
- //fVoluntrInfoCalReq();
- }
- else
- {
- return;
- }
- }
- // @ 달력에 0/0 으로 세팅
- function setCalendar(dateObj)
- {
- // 그리드 초기화
- model.removeNodeset("/root/main/cal/weeks");
- //model.removeNodeset("/root/init/curerprescondlist/rsrvcalendar");
- grd_calendar.rebuild()
- dateObj.setDate(1);
- var startDay = dateObj.getDay();
- var days = dateObj.getMonthDay();
- var rows = Math.ceil( ( startDay + days ) / 7 );
- for( var i = 0; i < rows; i++ )
- grd_calendar.addRow(false);
- grd_calendar.rebuild();
- var rowIndex = grd_calendar.fixedRows;
- var colIndex = startDay;
- for( var i = 1; i <= days; i++ ) {
- grd_calendar.valueMatrix(rowIndex, colIndex) = i;
- grd_calendar.allStyle("all", "font-size") = "15px";
- grd_calendar.valueMatrix(rowIndex, colIndex + 7) = "0/0";
- colIndex++;
- if( colIndex == 7 ) {
- colIndex = 0;
- rowIndex++;
- }
- }
- model.makeValue("/root/send/data/curdate",model.getValue("/root/hidden/calendar/year")+model.getValue("/root/hidden/calendar/month")+"01");
- fVoluntrInfoCalReq();
- //fCalendar();
- //setRsrvPresCondByMonth();
- }
- /****************************************************************************************************************************************************
- @ 공휴일계산1
- *****************************************************************************************************************************************************/
- function fCalendar()
- {
- fVoluntrInfoCalReq();
- }
- /****************************************************************************************************************************************************
- @ 공휴일계산2
- *****************************************************************************************************************************************************/
- function fCalendar1()
- {
- var isMonth = model.getValue("/root/hidden/calendar/month");
- var isYear = model.getValue("/root/hidden/calendar/year");
- var isDate = (isYear+isMonth+1).toDate();
- var startDay = isDate.getDay();
- for (var i = 1; i < grd_calendar.rows; i++) {
- var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist[" + i + "]/basedd");
- var colidx = dd.toDate().getDay();
- var rowidx = Math.ceil( ( startDay + Number(dd.substr(6,2)) ) / 7 );
- //var rowidx = Math.ceil( ( startDay + Number(dd.substr(6,2)) ) / 7 );
- //alert("i==" + i + "==dutflag==" + model.getValue("/root/init/calenlist/calendinfo[" + i + "]/dutflag"));
- if (model.getValue("grd_calendar[" + i + "]/dutflag") == "8"){
- grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "red";
- }else if (model.getValue("grd_calendar[" + i + "]/dutflag") == "4"){
- grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "blue";
- }else{
- grd_calendar.cellstyle("color", rowidx, colidx, rowidx, colidx) = "black";
- }
- }
- grd_calendar.refresh();
- }
- //전체추가로 인해 추가-kys-20091124
- function addComboInstance(combopath, nodename, nodeval, parentnode){
- nodename = nodename.split("^");
- nodeval = nodeval.split("^");
- if(nodename.length != nodeval.length){
- return;
- }
- var label = model.instances(0).createElement(nodename[0]);
- var val = model.instances(0).createElement(nodename[1]);
- var combo = model.instances(0).createElement(parentnode);
- label.value = "" + nodeval[0] + "";
- val.value = "" + nodeval[1] + "";
- combo.appendChild(label);
- combo.appendChild(val);
- chkNode = model.instances(0).selectSingleNode(combopath);
- if(chkNode == null){
- model.makeNode(combopath);
- srcNode = model.instances(0).selectSingleNode(combopath);
- }else{
- srcNode = model.instances(0).selectSingleNode(combopath);
- }
- desNode = model.instances(0).selectSingleNode(combopath + "/" + parentnode);
- srcNode.insertBefore(combo, desNode);
- model.refresh();
- }
- ]]>
- </script>
- <xhtml:body guideline="1,1195;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
- <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
- <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:184px; height:14px; ">자원봉사자출결등록관리</caption>
- </group>
- <group id="grp_biz" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
- <line id="line12" class="line_1" style="x1:369px; y1:35px; x2:1195px; y2:35px; "/>
- <caption id="caption32" class="tit_2" style="left:370px; top:20px; width:140px; height:13px; ">봉사활동 출결등록</caption>
- <group id="group1" style="left:0px; top:10px; width:360px; height:90px; vertical-align:top; ">
- <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:360px; height:90px; font-family:돋움체; "/>
- <caption id="caption1" class="search_name" style="left:5px; top:8px; width:91px; height:17px; font-family:돋움체; ">소속분야 :</caption>
- <line id="line13" class="line_4" style="x1:284px; y1:13px; x2:284px; y2:77px; font-family:돋움체; "/>
- <select1 id="cmb_actdeptcd" ref="/root/main/search/actdeptcd" class="combo_search" appearance="minimal" style="left:95px; top:35px; width:175px; height:19px; font-family:돋움체; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0503">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fVoluntrInfoCalReq();
- ]]>
- </script>
- </select1>
- <button id="btn_search" class="btn1_letter2" style="left:294px; top:33px; width:56px; height:22px; font-family:돋움체; ">
- <caption>조회</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fVoluntrInfoCalReq();
- ]]>
- </script>
- </button>
- <caption id="caption2" class="search_name" style="left:5px; top:61px; width:132px; height:17px; font-family:돋움체; ">활동요일/시간대:</caption>
- <select1 id="cmb_voluntractdwcd" ref="/root/main/search/voluntractdwcd" class="combo_search" disabled="false" appearance="minimal" style="left:135px; top:61px; width:65px; height:19px; font-family:돋움체; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0359">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fVoluntrInfoCalReq();
- ]]>
- </script>
- </select1>
- <select1 id="cmb_voluntractteamcd" ref="/root/main/search/voluntractteamcd" class="combo_search" appearance="minimal" style="left:202px; top:61px; width:68px; height:19px; font-family:돋움체; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0360">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fVoluntrInfoCalReq();
- ]]>
- </script>
- </select1>
- <caption id="caption4" class="search_name" style="left:5px; top:35px; width:91px; height:17px; font-family:돋움체; ">소속센터 :</caption>
- <select1 id="cmb_actdivscd" ref="/root/main/search/actdivscd" class="combo_search" appearance="minimal" style="left:95px; top:10px; width:175px; height:19px; font-family:돋움체; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0654">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- fVoluntrInfoCalReq();
- ]]>
- </script>
- </select1>
- </group>
- <datagrid id="grd_attdnc" nodeset="/root/main/voluntrattdabsninfo/voluntrattdabsnlist" caption="^출결여부^출석구분^활동시간^소속분야^소속센터^소속센터^활동요일^활동시간대^성명^세례명^내용^caption1^caption2^caption3^servdd^servseqno^status" colsep="^" colwidth="36, 54, 54, 54, 100, 120, 80, 58, 78, 74, 0, 171, 10, 16, 11, 3, -4, 20" dataheight="25" explorerbar="sort" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="25" rowsep="|" style="left:370px; top:40px; width:825px; height:696px; ">
- <col checkvalue="1,0" ref="chk" type="checkbox"/>
- <col ref="attdabsnyn" style="text-align:center; "/>
- <col ref="attdabsnflag" type="combo" style="text-align:center; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0506">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col ref="servtm" type="input" format="#.9" maxlength="4" style="text-align:center; "/>
- <col disabled="true" ref="actdivscd" type="combo">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0654[cdid!='']">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col disabled="true" ref="actdeptcd" type="combo" format="yyyy-mm-dd" style="text-align:center; ">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd/A0503">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col disabled="true" ref="actdeptdetlnm" type="input"/>
- <col disabled="true" ref="voluntractdwcd" type="combo">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd1/A0359">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col disabled="true" ref="voluntractteamcd" type="combo">
- <choices>
- <itemset nodeset="/root/hidden/init/comcd1/A0360">
- <label ref="cdnm"/>
- <value ref="cdid"/>
- </itemset>
- </choices>
- </col>
- <col ref="voluntrnm"/>
- <col ref="baptnm" visibility="hidden"/>
- <col ref="attdrem" type="input" maxlength="20"/>
- <col ref="actrgstseqno" visibility="hidden"/>
- <col ref="voluntrid" visibility="hidden"/>
- <col ref="servkind" visibility="hidden"/>
- <col ref="servdd" visibility="hidden"/>
- <col ref="servseqno" visibility="hidden"/>
- <col ref="status" visibility="hidden"/>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- var idxRows=grd_attdnc.row;
- var idxRow=idxRows-1;
- var fixRox=grd_attdnc.fixedRows;
- var idxrow=idxRows;
- var attdabsnflag=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/attdabsnflag");
- var actdeptcd=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/actdeptcd");
- var voluntractteamcd=model.getValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/voluntractteamcd");
- if(grd_attdnc.col=="3")
- { // 출석구분 값이 바뀌었을 때
- // 결석, 휴가, 병가로 선택된 경우 활동시간 초기화
- if(attdabsnflag=="03"||attdabsnflag=="04"||attdabsnflag=="05")
- {
- model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
- model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","0.0");
- // 2009.6.12 수정
- grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=true;
- //alert(grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm")));
- //alert(idxrow);
- }
- else if(actdeptcd=='04'&& voluntractteamcd=='3')
- {// 활동부서가 호스피스이면서 소속팀이 종일일때 6시간 셋팅
- model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
- model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","6.0");
- grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=false;
- }
- else
- {// 출결, 대근일 경우 활동시간에 자동 3시간 셋팅
- model.resetInstanceNode("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm");
- model.makeValue("/root/main/voluntrattdabsninfo/voluntrattdabsnlist"+"["+idxRow+"]/servtm","3.0");
- grd_attdnc.isReadOnly(idxrow,grd_attdnc.colRef("servtm"))=false;
- }
- }
-
- model.refresh();
- ]]>
- </script>
- <script type="javascript" ev:event="onaftersort">
- <![CDATA[
- grd_attdnc.gridToInstance();
- ]]>
- </script>
- </datagrid>
- <group id="grp_calendar" style="left:1px; top:124px; width:360px; height:40px; ">
- <shape id="rectangle1" class="calendar_header" appearance="rectangle" style="left:0px; top:0px; width:360px; height:40px; "/>
- <button id="btn_afmonth" class="icon_next_month" style="left:253px; top:14px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var isMonth = model.getValue("/root/hidden/calendar/month");
- var isYear = model.getValue("/root/hidden/calendar/year");
- var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'M');
- model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
- model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
- model.refresh();
- setCalendar(isDate);
- ]]>
- </script>
- </button>
- <button id="btn_bfmonth" class="icon_pre_month" style="left:66px; top:14px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var isMonth = model.getValue("/root/hidden/calendar/month");
- var isYear = model.getValue("/root/hidden/calendar/year");
- var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'M');
- model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
- model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
- model.refresh();
- setCalendar(isDate);
- ]]>
- </script>
- </button>
- <button id="btn_bfyear" class="icon_pre_year" style="left:47px; top:14px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var isMonth = model.getValue("/root/hidden/calendar/month");
- var isYear = model.getValue("/root/hidden/calendar/year");
- var isDate = (isYear+isMonth+1).toDate().getAddDate(-1,'Y');
- model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
- model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
- model.refresh();
- setCalendar(isDate);
- ]]>
- </script>
- </button>
- <button id="btn_afyear" class="icon_next_year" style="left:272px; top:14px; width:16px; height:16px; ">
- <caption/>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- var isMonth = model.getValue("/root/hidden/calendar/month");
- var isYear = model.getValue("/root/hidden/calendar/year");
- var isDate = (isYear+isMonth+1).toDate().getAddDate(1,'Y');
- model.setValue("/root/hidden/calendar/year", isDate.getDateFormat('YYYY'));
- model.setValue("/root/hidden/calendar/month", isDate.getDateFormat('MM'));
- model.refresh();
- setCalendar(isDate);
- ]]>
- </script>
- </button>
- <output id="opt_year" ref="/root/hidden/calendar/year" class="calendar_output" style="left:102px; top:12px; width:52px; height:19px; font-size:11pt; "/>
- <output id="opt_month" ref="/root/hidden/calendar/month" class="calendar_output" style="left:184px; top:12px; width:30px; height:19px; font-size:11pt; "/>
- <caption id="caption16" class="calendar_output" style="left:152px; top:12px; width:20px; height:19px; font-size:11pt; ">년</caption>
- <caption id="caption17" class="calendar_output" style="left:214px; top:12px; width:20px; height:19px; font-size:11pt; ">월</caption>
- </group>
- <caption id="caption3" class="tit_2" style="left:5px; top:106px; width:140px; height:13px; ">월별 출결현황</caption>
- <caption id="cpt_voluntrflag" class="cell_1" style="left:655px; top:10px; width:92px; height:20px; font-size:11pt; font-weight:bold; vertical-align:middle; ">활동일자 :</caption>
- <input id="ipt_servdd" ref="/root/main/search/servdd" class="input_essential" disabled="true" navindex="28" inputtype="date" style="left:755px; top:10px; width:137px; height:19px; font-size:11pt; font-weight:bold; "/>
- <shape id="roundrect2" class="roundrect_example" appearance="roundrect" style="left:647px; top:6px; width:255px; height:28px; "/>
- <datagrid id="grd_voluntrcallist" nodeset="/root/main/voluntrcalinfo/voluntrcallist" visibility="hidden" caption="caption1^caption2^caption3^caption4^caption5^caption6^caption7" colsep="^" colwidth="54, 55, 23, 27, 26, 27, 23" mergecellsfixedrows="bycolrec" rowsep="|" style="left:490px; top:155px; width:350px; height:150px; ">
- <col ref="basedd"/>
- <col ref="absn"/>
- <col ref="dutflag"/>
- <col ref="day"/>
- <col ref="dw"/>
- <col ref="weekno"/>
- </datagrid>
- <datagrid id="grd_calendar" nodeset="/root/main/cal/weeks" allowselection="true" allowuserresize="false" backcoloralternate="transparent" caption="일^월^화^수^목^금^토" colsep="^" colwidth="51, 51, 51, 51, 51, 51, 51" defaultrows="7" focuscolor="transparent" frozencols="1" rowsep="|" selectionmode="free" style="left:0px; top:165px; width:360px; height:574px; ">
- <col ref="sun" style="vertical-align:top; "/>
- <col ref="mon" style="vertical-align:top; "/>
- <col ref="tue" style="vertical-align:top; "/>
- <col ref="wed" style="vertical-align:top; "/>
- <col ref="thu" style="vertical-align:top; "/>
- <col ref="fri" style="vertical-align:top; "/>
- <col ref="sat" style="vertical-align:top; "/>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- if(grd_calendar.isCell(event.target) && grd_calendar.mouseRow >= grd_calendar.fixedrows) // 01클릭하는 위치가 그리드 안에 있을 때만 함수 실행
- {
- var cell = grd_calendar.selectedCells.item(0);
- // 그리드에서 선택상태인 셀들의 collection 객체를 반환하는 속성이다.
- // 반환된 객체를 사용하여 선택된 셀들의 행, 열 인덱스를 알 수 있다.
- grd_calendar.disabled=true;
- var dataarray = grd_calendar.valueMatrix(cell.row, cell.col).split("\n"); //일
- var NodeCnt=getNodesetCount("/root/main/voluntrcalinfo/voluntrcallist");
- if(dataarray!='')
- {
- //var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + dataarray[2] + "]/basedd"); //년월일
- var dd = model.getValue("/root/main/voluntrcalinfo/voluntrcallist"+"[" + dataarray[0] + "]/basedd"); //년월일
- if(isNull(dd)) // 데이터가 조회되지 않을 때
- {
- var calyear=model.getValue("/root/hidden/calendar/year");
- var calmonth=model.getValue("/root/hidden/calendar/month");
- if(dataarray<10)
- {
- var dataarray=("0"+dataarray);
- }
- var dd=calyear+calmonth+dataarray;
- }
- model.makeValue("/root/main/search/servdd",dd);
- model.makeValue("/root/main/search/eachinstservtm", "3");
-
- fVoluntrInfoReq();
- grd_calendar.disabled=false;
- model.refresh();
- }
- else
- {
- grd_calendar.disabled=false;
- return;
- }
- }
- else
- {
- grd_calendar.disabled=false;
- return;
- }
- ]]>
- </script>
- </datagrid>
- <button id="btn_barsave" class="btn2_letter7" visibility="hidden" style="left:520px; top:5px; width:97px; height:19px; ">
- <caption>바코드출결처리</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- //20100330-kys-바코드출결처리 추가
- setParameter("SPAAA00200_param_servdd" , model.getValue("/root/main/search/servdd"));
- setParameter("SPAAA00200_param_tretflag" , "1"); //봉사활동출결처리 구분추가-kys-20100419
- modal("SPAAA04000");
- var useyn = getParameter("SPAAA04000_closeyn");
- if(useyn == "Y"){
- fVoluntrInfoReq(); //조회함수
- fVoluntrInfoCalReq(); //해당 달력 조회 함수
- model.refresh();
- }
- ]]>
- </script>
- </button>
- <button id="button89" class="btn6_letter2" visibility="hidden" style="left:905px; top:10px; width:56px; height:22px; ">
- <caption>출력</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- exeReportPreview("RPAAA00201", "XMLSTR", "", "", "false");
- ]]>
- </script>
- </button>
- <button id="btn_save" class="btn5_letter2" style="left:1153px; top:15px; width:42px; height:19px; ">
- <caption>저장</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fVoluntrAttdSave();
- ]]>
- </script>
- </button>
- <button id="button1" class="btn5_letter2" style="left:1110px; top:15px; width:42px; height:19px; ">
- <caption>삭제</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fVoluntrAttdDel();
- ]]>
- </script>
- </button>
- <button id="btn_delete" class="btn5_letter3" style="left:1056px; top:15px; width:53px; height:19px; ">
- <caption>초기화</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- fVoluntrAttdReset();
- ]]>
- </script>
- </button>
- </group>
- <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; ">
- <line id="line1" class="line_6" style="x1:0px; y1:0px; x2:1194px; y2:0px; "/>
- </group>
- </xhtml:body>
- </xhtml:html>
|