123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536 |
- /* --------------------------------------------------------
-
- 수입지출관리 (SMAYA02300.xfm - JScript )
-
- - Version :
- 1) : Ver.1.00.01
- : Create By 임여원
- : 2015.05.02
- -------------------------------------------------------- */
-
- var CurrentDate=getCurrentDate(); // 사업년도 올해 날짜로 CurrentDate에 저장
-
- /**
- * @group :
- * @ver : 2007.12.26
- * @by : Lim YeoWon
- * @-----------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수입 지출 관리의 초기화 함수
- * @-----------------------------------------------------------
- */
-
-
- function fInit(){
-
-
- var CurrentMM=CurrentDate.substr(4,2); // 현재 날짜의 월 CurrentMM에 저장
- var CurrentYY=CurrentDate.substr(0,4); // 현재 날짜의 년을 CurrentYY에 저장
-
- if(CurrentMM>="03" && CurrentMM<="12") // 현재 월이 3월에서 12월까지일 때
- { // 현재 년도를 사업년도에 저장
- model.setValue("/root/main/search/entryy",CurrentYY); // 현재 월이 1월에서 2월이면
- // 전년도를 사업년도에 저장
- }
- else if(CurrentMM>="01" && CurrentMM<="02")
- {
- model.setValue("/root/main/search/entryy",CurrentYY-1);
-
- }
-
- //zbcfGetCodeList(new Array("A0451"), new Array("/root/init/brodcstflagcd"), true); // 예산 계획 구분 공통코드 셋팅
-
- model.setValue("/root/main/search/fromdd", CurrentDate.substr(0,6)+"01"); // 화면뜰때 조회기간 그달의 첫 날로 셋팅
-
-
- zbcfGetCodeList( new Array("A0451"), new Array("/root/hidden/init/comcd") ); // 관계코드 설정
-
- var supcdid = model.getValue("/root/main/cond/condinfo/acntflagcd"); // 상위코드 값 받아와서 관계코드 셋팅
- var sortfield = "cdnm";
- var sortmethod = "asc";
- var minimum = "true"; // 상위코드에 따른 하위코드 이름을 셋팅
- zbcfGetSubCodeList("A0451", supcdid, "A0452", sortfield, sortmethod, minimum, "/root/hidden/init/comcd");
-
- zbcfGetCodeList( new Array("A0451"), new Array("/root/init/brodcstflagcd") ); // 관계코드 설정
-
- addComboItem("cmb_acntflag", "","","above"); // 계정과목에 전체를 추가
-
-
- var supcdid = model.getValue("/root/main/search/acntflagcd1"); // 상위코드 값 받아와서 관계코드 셋팅
- var sortfield = "cdnm";
- var sortmethod = "asc";
- var minimum = "true";
- zbcfGetSubCodeList("A0451", supcdid, "A0452", sortfield, sortmethod, minimum, "/root/init/brodcstflagcd");
- // 상위코드에 따른 하위코드 이름을 셋팅
-
- model.setValue("/root/main/cond/condinfo/incmexpsdd",CurrentDate); // 화면 오픈시 일자 현재 날짜로 셋팅
- model.setValue("/root/main/cond/condinfo/status","i");
-
- model.setValue("/root/main/cond/condinfo/incmexpsflagcd",2); // 화면 오픈시 지출로 라디오 선택
- cmb_acntflagcd.select(0); // 계정과목 콤보박스에 선교비 선택
- cmb_itemexpendflagcd.select(0);
-
- var fdate=ipt_fromdd.currentText; // 조회시작날짜에 입력한 텍스트를 변수에 저장
- var fmth=ipt_fromdd.currentText.substr(5,2); // 입력한 텍스트의 월을 변수에 저장
-
- if(fmth==02) // 2월달일 때 윤년인지 아닌지 판별
- {
-
- if(parseInt(fdate)%4==0) // 윤년이면 조회종료날짜에 29일 셋팅
- {
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'29');
- }
- else
- {
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'28'); // 윤년이 아니면 조회종료날짜에 28일 셋팅
- }
- }
- else if(fmth==04 ||fmth== 06 ||fmth== 09 ||fmth== 11) // 조회종료 날짜에 30일인 달 셋팅
- {
-
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'30');
-
- }
- else
- {
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'31'); // 조회종료 날짜에 31일인 달 셋팅
- }
-
-
- //var userid = getUserInfo("userid");
- //model.setValue(grp_incexpssavebox.attribute("ref"), userid);
-
-
- //model.refresh();
-
- var code = getUserInfo('jobrespcd');
- if(code == '1070' || code == '1020' ){ // JOBRESPCD :1020 실장, 1030 부실장, 1070 팀장
- grp_incexpssavebox.visible = false; // 실장, 팀장 로그인시 그룹박스 감추기
- }else{
- grp_incexpssavebox.visible = true;
- }
-
- model.refresh();
-
- }
-
- /* --------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 금액 등록 함수 */
- /* --------------------------------------------------------------------------*/
-
- function fIncmExpsSave()
- {
-
- if(rdo_incmexpsflagcd.value!='1' && rdo_incmexpsflagcd.value!='2')
- {
- messageBox("수입지출구분은" , "I003");
- model.setFocus("rdo_incmexpsflagcd");
- return;
- }
- if(model.getValue("/root/main/cond/condinfo/incmexpsdd")=='')
- {
- messageBox("일자는" , "I003");
- model.setFocus("ipt_incmexpsdd");
- return;
- }
- if(model.getValue("/root/main/cond/condinfo/acntflagcd")=='')
- {
- messageBox("계정과목은" , "I003");
- model.setFocus("cmb_acntflagcd");
- return;
- }
- if(model.getValue("/root/main/cond/condinfo/itemexpendflagcd")=='')
- {
- if(model.getValue("/root/main/cond/condinfo/acntflagcd")!='A')
- {
- messageBox("비목은" , "I003");
- model.setFocus("cmb_itemexpendflagcd");
- return;
- }
- }
- if(model.getValue("/root/main/cond/condinfo/incmamt")=='')
- {
- messageBox("금액은" , "I003");
- model.setFocus("ipt_incmamt");
- return;
- }
-
- var incmexpsflagcd=model.getValue("/root/main/cond/condinfo/incmexpsflagcd"); // 수입지출구분코드
- var incmamt=model.getValue("/root/main/cond/condinfo/incmamt"); // 수입금액
- var incmexpsdd=model.getValue("/root/main/cond/condinfo/incmexpsdd"); // 수입지출일자
- var incmexpsddYY=incmexpsdd.substr(0,4); // 입력일자의 년도
- var incmexpsddMM=incmexpsdd.substr(4,2); // 입력일자의 달
- var acntflagcd=model.getValue("/root/main/cond/condinfo/acntflagcd"); // 입력한 계정과목 변수에 저장
-
- if(incmexpsddMM=='01' || incmexpsddMM=='02') // 1,2월 일 때는 등록일자 -1
- {
- model.setValue("/root/main/cond/condinfo/entryy",incmexpsddYY-1);
- }
- else // 나머지는 등록일자로 entryy에저장
- {
- model.setValue("/root/main/cond/condinfo/entryy",incmexpsddYY);
- }
- var mm=incmexpsdd.substr(4,2); // 사업년도의 월만 mm에 저장
- var dd=incmexpsdd.substr(6,2); // 사업년도의 날짜 dd에 저장
-
-
- if(mm =="00" || dd =="00" )
- {
- messageBox("일자를 저장할 수","I004");
- return;
- }
-
-
- if (mm>="03" && mm<="05") model.setValue("/root/main/cond/condinfo/qurtyy",1); // 각 월의 분기를 qurtyy에 저장
- else if (mm>="06" && mm<="08") model.setValue("/root/main/cond/condinfo/qurtyy",2);
- else if (mm>= "09"&& mm<="11") model.setValue("/root/main/cond/condinfo/qurtyy",3);
- else if (mm ="12" || mm<="02") model.setValue("/root/main/cond/condinfo/qurtyy",4);
-
-
- if(incmexpsflagcd==2) // 수입,지출 선택에 따라 incm,exps에 저장
- { // 구분이 지출일때
- if(bool_etcflag.value=='Y') // 전년도 이월금 체크시
- {
-
- messageBox("전년도 이월금은 지출로 저장할 수","I004"); // 에러메시지
- return;
- }
- else if(bool_etcflag.value=='N') // 전년도 이월금 비체크시
- {
- model.setValue("/root/main/cond/condinfo/etcflag",'N'); // 노드에 플래그 값 N 저장
- model.resetInstanceNode("/root/main/cond/condinfo/incmamt"); // 수입금액 RESET
- model.setValue("/root/main/cond/condinfo/expsamt",incmamt); // 지출노드에 금액 저장
- }
- }
- else if(incmexpsflagcd==1 && bool_etcflag.value=='Y' && acntflagcd=='A') // 구분이 수입이면서 전년도 이월금과 계정과목 선교비 선택시
- {
- var itemexpendflagcd=model.getValue("/root/main/cond/condinfo/itemexpendflagcd") // 비목 플래그 값 변수에 저장
- if(itemexpendflagcd=='') // 비목이 공백이 아니면(선택이 되면)
- {
- //alert(model.getValue("/root/main/cond/condinfo/itemexpendflagcd"));
- var itemexpendflagcd=model.getValue("/root/main/cond/condinfo/itemexpendflagcd"); // 비목 값 변수에 저장
- model.setValue("/root/main/cond/condinfo/etcflag",'Y'); // 노드에 플래그 값 Y 저장
- model.resetInstanceNode("/root/main/cond/condinfo/expsamt"); // 지출 금액 저장된 노드 RESET
- }
- else
- {
- //alert(model.getValue("/root/main/cond/condinfo/itemexpendflagcd"));
- messageBox("선교비의 전년도 이월금은 비목을 선택할 수 ","I004"); // 에러메시지 띄움
- model.setFocus("cmb_itemexpendflagcd"); // 포커스 비목 선택항으로 이동
- model.refresh();
- return;
-
- }
- }
-
- var subcdid = model.getValue("/root/main/cond/condinfo/itemexpendflagcd"); //비목의 코드 값 변수에 저장
-
- model.removeNodeset("/root/send/savedata");
- model.makeNode("/root/send/savedata");
- model.copyNode("/root/send/savedata","/root/main/cond/condinfo");
-
- if(submit("TXAYA02301")==true)
- {
- messageBox("저장이" , "I002");
-
- fReqIncmExpsAmt();
- fResetIncmExpsAmt();
- }
- model.refresh();
- }
- /* --------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 내역리스트 조회 */
- /* --------------------------------------------------------------------------*/
- function fReqIncmExpsAmt() {
- var bDate = ipt_entryy.currentText; // 현재 입력한 년도를 entryy에 저장
-
- model.setValue("/root/main/search/entryy" ,bDate); // 현재 입력한 값을 노드에 저장
- model.setValue("/root/main/cond/condinfo/status","i" ); // 입력하기 위한 status를 i로 저장
-
- var fDate = model.getValue("/root/main/search/fromdd"); // fromdd에 입력된 값을 변수 fDate에 저장
- var tDate = model.getValue("/root/main/search/todd" ); // todd에 입력된 값을 변수 tDate에 저장
- var toddmth=model.setValue("/root/main/search/toddmth",tDate.substr(4,2)); // todd의 달을 toddmth에 저장
- model.setValue("/root/main/search/toddyear",tDate.substr(0,4));
-
- if (bDate == "")
- {
- messageBox("사업년도는 ","I003");
- model.setFocus("ipt_entryy");
- return;
- }
-
- else if (fDate > tDate) // 조회기간시작 날짜가 종료일자보다 클 때
- {
- messageBox("조회 시작 날짜가 종료 날짜 보다 클 수 ","I004");
- //model.setFocus("ipt_entryy");
- return;
- }
-
-
- var sDate = bDate + "0301"; // 입력받은 년도의 사업기간 시작일
- var eDate = parseInt(bDate)+1 + "0229"; // 입력받은 년도의 사업기간 종료일
-
- if ((sDate > fDate) || (eDate < tDate))
- { // 조회 시작 일자가 사업년도 시작(3월)보다 작거나 조회 종료 날짜가
- // 사업년도 종료(2월)날짜보다 클 때
- messageBox("입력한 사업년도 내 기간 이외에는 입력 할 수","I004");
- //messageBox("사업년도 "+bDate+"의 조회기간 "+sDate+"~"+eDate+"사이 이외에는 입력 할 수","I004");
- //model.setFocus("ipt_entryy");
- return;
- }
-
- model.removeNodeset("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata","/root/main/search");
-
- submit("TRAYA02301");
- submit("TRAYA02303");
-
- model.resetInstanceNode("/root/main/cond/condinfo");
- model.setValue("/root/main/cond/condinfo/incmexpsdd",CurrentDate); // 화면 오픈시 일자 현재 날짜로 셋팅
- model.setValue("/root/main/cond/condinfo/status","i");
-
- model.setValue("/root/main/cond/condinfo/incmexpsflagcd",2); // 화면 오픈시 지출로 라디오 선택
- cmb_acntflagcd.select(0); // 계정과목 콤보박스에 선교비 선택
- cmb_itemexpendflagcd.select(0);
-
- grd_incmexpslist.row=grd_incmexpslist.rows-1;
- grd_incmexpslist.col=1;
-
- model.refresh();
-
- }
- /* --------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 내역리스트 세부 조회함수 */
- /* --------------------------------------------------------------------------*/
-
- function fIncmExpsAmtInfo() {
- var idxRow=grd_incmexpslist.row;
- var idxRows=grd_incmexpslist.rows; // 그리드 클릭한 행
- // 그리드 전체 행
- if(idxRow==0 || idxRow>idxRows) // 그리드 밖을 클릭하면 return
- return;
-
- rdo_incmexpsflagcd.disabled=true; // 등록창의 구분, 일자 비활성화
- ipt_incmexpsdd.disabled=true;
-
- model.removeNodeset("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copyNode("/root/send/reqdata","/root/main/grdlist/itemlist["+idxRow+"]"); // 클릭한 행 서브미션으로 보냄
-
- if(submit("TRAYA02302")==true)
- {
- var supcdid = model.getValue("/root/main/cond/condinfo/acntflagcd"); // 상위코드 값 받아와서 관계코드 셋팅
- var sortfield = "cdnm";
- var sortmethod = "asc";
- var minimum = "true";
- zbcfGetSubCodeList("A0451", supcdid, "A0452", sortfield, sortmethod, minimum, "/root/hidden/init/comcd");
- // 상위코드에 따른 하위코드 이름을 셋팅
-
- if(supcdid=='A') // 선교비 선택시 전년도 이월금 저장하기 위해
- {
- addComboItem("cmb_itemexpendflagcd", "---","","below"); // 비목에 빈공간 추가한다.
- }
-
- if(rdo_incmexpsflagcd.value==2)
- {
- // model.resetInstanceNode("/root/main/cond/condinfo/incmamt");
- model.setValue("/root/main/cond/condinfo/incmamt",model.getValue("/root/main/cond/condinfo/expsamt"));
- ipt_incmamt.refresh();
- }
-
- }
- //fAcntflagcdSelect();
- model.refresh();
- }
- /* --------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 등록창 초기화 함수 */
- /* --------------------------------------------------------------------------*/
-
- function fResetIncmExpsAmt() {
-
- var CurrentDate=getCurrentDate();
- model.resetInstanceNode("/root/main/cond/condinfo");
- model.setValue("/root/main/cond/condinfo/incmexpsdd",CurrentDate);
- model.setValue("/root/main/cond/condinfo/status","i");
- rdo_incmexpsflagcd.disabled=false; // 비활성을 활성으로 바꿈
- ipt_incmexpsdd.disabled=false;
- model.setValue("/root/main/cond/condinfo/incmexpsflagcd",2); // 초기화 시 지출로 라디오 선택
- cmb_acntflagcd.select(0); // 계정과목 콤보박스에 선교비 선택
-
- //fReqIncmExpsAmt();
-
- model.refresh();
-
- }
- /* --------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 등록 창 삭제 함수 */
- /* --------------------------------------------------------------------------*/
-
- function fDelIncmExpsAmt() {
-
- var idxRow=grd_incmexpslist.row; // 클릭한 행 반환
-
- if(model.getValue("/root/main/cond/condinfo/status")!="u") // 수입지출 내역 리스트를 클릭하지 않았을 경우
- {
- messageBox("삭제할 수입지출 내역이", "I004");
- return;
- }
- if(idxRow<1) // 클릭한 행이 존재 하지 않을 때
- {
- messageBox("삭제할 수입지출 내역이", "I004");
- return;
- }
- else // 클릭한 행이 존재 할때
- {
- var btn=messageBox("선택 수입 지출 내역을","Q001");
- if(btn=='6')
- {
- model.setValue("/root/main/cond/condinfo/status","d"); // status를 d로 셋팅한 뒤
- model.removeNodeset("/root/send/savedata"); // 삭제할 data 서브미션 보냄
- model.makeNode("/root/send/savedata");
- model.copyNode("/root/send/savedata","/root/main/cond/condinfo");
-
- if(submit("TXAYA02301")==true)
- {
- messageBox("삭제가" , "I002");
-
- fReqIncmExpsAmt();
- fResetIncmExpsAmt();
- }
- }
-
- else if(btn=='7')
- {
- return;
- }
- }
-
- model.refresh();
- }
- /* ----------------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입/지출 내역 조회 시작 기간 선택시 종료기간에 마지막날을 셋팅하는 함수 */
- /* ----------------------------------------------------------------------------------*/
-
- function ftdateselect() {
- var fdate=ipt_fromdd.currentText; //조회 시작 날짜에 입력된 값을 변수에 저장
- var fmth=fdate.substr(5,2); //조회 시작 날짜의 월을 변수에 저장
-
- if(fmth=='02') //입력한 월이 2월일 때는
- {
-
- if(parseInt(fdate)%4==0) //윤년일 때는 조회 종료날짜에 그 달의 29일을 셋팅
- {
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'29');
-
- }
- else
- { //윤년이 아닐 때는 조회 종료 날짜의 그 달의 28일을 셋팅
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'28');
-
- }
- }
- else if(fmth=='04' ||fmth== '06' ||fmth== '09' ||fmth== '11')
- {
-
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'30');
-
-
- }
- else
- {
- model.setValue("/root/main/search/todd",parseInt(fdate)+fmth+'31');
-
- }
- model.refresh();
-
-
- }
- /* ----------------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 선교비가 계정과목으로 선택될 때 비목 콤보박스에 공백 아이템 추가되는 함수 */
- /* ---------------------------------------------------------------------------------- */
-
- function fAcntflagcdSelect() {
-
- var supcdid = model.getValue("/root/main/cond/condinfo/acntflagcd"); // 상위코드 값 받아와서 관계코드 셋팅
- var sortfield = "cdnm";
- var sortmethod = "asc";
- var minimum = "true";
- zbcfGetSubCodeList("A0451", supcdid, "A0452", sortfield, sortmethod, minimum, "/root/hidden/init/comcd");
- model.refresh();
-
- if(supcdid=='A') // 선교비 선택시 전년도 이월금 저장하기 위해
- {
- addComboItem("cmb_itemexpendflagcd", "---","","below"); // 비목에 빈공간 추가한다.
-
- }
-
- cmb_itemexpendflagcd.select(0); // 비목은 첫번째 선택
- model.setFocus("ipt_incmamt"); // 수입,지출 금액으로 포커스이동
-
- model.refresh();
-
- }
- /* ----------------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 선교비가 계정과목으로 선택될 때 비목 콤보박스에 공백 아이템 추가되는 함수 */
- /* ---------------------------------------------------------------------------------- */
- function fAcntflagcdSelect2() {
-
-
- var supcdid = model.getValue("/root/main/search/acntflagcd1"); // 상위코드 값 받아와서 관계코드 셋팅
- var sortfield = "cdnm";
- var sortmethod = "asc";
- var minimum = "true";
- zbcfGetSubCodeList("A0451", supcdid, "A0452", sortfield, sortmethod, minimum, "/root/init/brodcstflagcd");
- model.refresh();
-
- addComboItem("cmb_itemexpendflag", "","","above"); // 비목에 빈공간 추가한다.
-
- // if(supcdid=='A') // 선교비 선택시 전년도 이월금 저장하기 위해
- // {
- // addComboItem("cmb_itemexpendflag", "---","","below"); // 비목에 빈공간 추가한다.
-
- // }
-
- cmb_itemexpendflag.select(0); // 비목은 첫번째 선택
- //model.setFocus("ipt_incmamt"); // 수입,지출 금액으로 포커스이동
-
- model.refresh();
-
- }
-
-
- /* ----------------------------------------------------------------------------------*/
- /* type : function */
- /* access : public */
- /* desc : 수입지출 내역 리스트를 클릭하고 전년도 이월금 여부 체크시 구분이 활성화되어 있을 때만 */
- /* 자동으로 구분에 수입이 체크되는 함수 */
- /* ----------------------------------------------------------------------------------*/
-
- function fIncmExpsAmtrsavechk(){
-
- if(rdo_incmexpsflagcd.disabled==false) // 수입, 지출 구분 창이 활성화 되어 있을 때
- {
- rdo_incmexpsflagcd.value=1; // 자동으로 수입 값이 셋팅
- model.refresh();
-
- }
- }
-
|