1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002 |
- /* ---------------------------------------------------------------------
-
- SMRSD00500_물품청구관리(성의교정).xrw (SMRSD00500.xfm - JScript )
- - Version :
- 1) : Ver.1.00.01
- : Create By Francis Choi
- : 2015.05.02
- ---------------------------------------------------------------------- */
-
- var xAuth = !(checkAuth("X"));
- var pAuth = !(checkAuth("P"));
-
- var gPurcAuth = "1"; // 권한CHECK
- var gInstcd = ""; // 기관코드
- var gReqdd = ""; // 청구일자
- var gReqdeptcd = ""; // 청구부서
- var gWorkflag = ""; // 작업구분
- var gReqpridflag = ""; // 청구주기구분
- var gPurcdeptflag = ""; // 구매부서구분 : P
- var gPurcDeptCd = "";
- // --------------------------------------------------
- // Tree정보 가져오기
- // --------------------------------------------------
- function fInit() {
-
- // 화면 Control을 초기화한다
- fCheckAuth();
- fInitialize();
-
- return;
- }
-
- //------------------------------------------------
- // 화면 권한관리 CHECK
- //------------------------------------------------
- function fCheckAuth() {
- btn_search.disabled = !checkAuth("R") ;
- //btn_save.disabled = !checkAuth("X") ;
- //btn_prt.disabled = !checkAuth("P") ;
- }
-
- // --------------------------------------------------------------
- // 화면 open시와 초기화 버튼 클릭시 화면 초기화 기능을 수행한다.
- // --------------------------------------------------------------
- function fInitialize() {
- model.resetInstanceNode("/root/send");
-
- // btn_save.disabled = true;
- // btn_accept.disabled = true;
- // ckb_accept.attribute("visibility") ="hidden";
-
- ckb_accept.disabled = true;
-
- misfGridInit(grd_goodreq);
- misfMsterDetailSet(grd_goodreq,null, "TRRSD00416" ,"Y");
-
- //기관코드, 명 설정.
- rdo_instcd.select(0);
- model.setValue("/root/send/save/autoaprv/reqnonew", "Y" ); //청구번호생성
- model.setValue("/root/send/goodreq/reqddflag" , "FT" ); //청구일자 FROM TO
- gPurcDeptCd = rszfGetPurcDeptCd( getUserInfo("dutplceinstcd")); //구매 부서코드
- gPurcdeptflag = (gPurcDeptCd == getUserInfo("dutplcecd"))? "P" : "X"; //구매부서구분 : P
- model.setValue("/root/send/goodlist/purcdeptflag", gPurcdeptflag); //구매부서구분 : P
- model.setValue(opt_requser.attribute("ref" ) , getUserInfo("userid"));
- model.setValue(opt_requsernm.attribute("ref") , getUserInfo("usernm"));
- rszfComboBgcdBugtList("cmb_groupbugt" , rdo_instcd.value, '1');
-
- // 사용자 청구 권한 목록
- rszfUserReqFlagList(cmb_reqflag,getUserInfo("dutplceinstcd"),model.getValue(opt_requser.attribute("ref")), "1", "S" ); // preqpgmgubun : '1' :구매재고 , S :청구ALL
-
- //청구일자 SET
- model.setValue(ipt_reqdd.attribute("ref") , getCurrentDate());
- model.setValue(ipt_reqdd2.attribute("ref") , getCurrentDate());
- model.setValue(ipt_reqddnew.attribute("ref") , getCurrentDate());
-
- // 입력방식 선택 및 col 제어
- // 일반청구:청구량입력 , 정량보충:재고량입력
- model.setValue(rdo_inputmethod.attribute("ref") , "1");
-
- // 성의교정은 일청구로 셋팅한다.
- // 품목마스터의 PURCFLAG = '구매'
- // 물품코드 의 기준기관 */
- opt_instcdgood.value = "103"; // 물품코드 의 기준기관 성의교정
- cmb_reqpridflag.value = "4"; // reqpridflag = '월청구'
-
- if (cmb_workflag.length> 0) cmb_workflag.selectedindex= 0; // 작업구분 일반청구
-
- grd_goodlist.fixedcellcheckbox(0,grd_goodlist.colRef("select"),false) = true;
- // if(cmb_bugtflag.length> 0) cmb_bugtflag.selectedindex= 0;
-
- grd_goodreq.explorerbar = "sortshow";
- // 해당 사용자의 청구&승인 목록을 가져오는 submit
- model.setValue("/root/send/reqpsn/instcd", opt_instcdgood.value );
- model.setValue("/root/send/reqpsn/emplno", opt_requser.value);
- submit("TRRSD00407");
- fReqdeptCopy();
- fSetReqAuth();
-
- //부서가 구매팀인지 확인해서 구매팀일 경우 부서찾기 항목을 visibility true 아니면 false
- fSetTempDept(); //부서찾기 기능 설정(구매팀일경우에만)
-
- //fDeptReqNoQuery(); // 청구부서별 청구번호를 조회한다
-
- model.refresh();
- }
-
- // -----------------------------------------------
- // 청구주기가 일청구이면 권한체크하지 않는다.
- // -----------------------------------------------
- function fSetReqAuth() {
- // btn 기본처리
- btn_excel.disabled = true;
-
- // btn_reqset.disabled = true;
-
- btn_insert.disabled = true;
- btn_delete.disabled = true;
- btn_choice.disabled = true;
-
- ckb_accept.disabled = true;
- ckb_accept.value = "N";
-
- btn_accept.disabled = true;
- btn_save.disabled = true;
-
- //ckb_accept.attribute("visibility") ="hidden" ;
-
- if(model.getValue(opt_instcdgood.attribute("ref") ).length==0) return;
- // if(model.getValue(cmb_reqflag.attribute("ref") ).length==0) return;
- if(model.getValue(cmb_reqdeptcd.attribute("ref") ).length==0) return;
- if(model.getValue(cmb_reqpridflag.attribute("ref")).length==0) return;
-
- // -----------------------------------------------
- // 청구주기가 일청구이면 권한체크하지 않는다.
- // -----------------------------------------------
- fPurcAuthInfo(); // 청구승인자 Check
- btn_save.disabled = false;
- btn_excel.disabled = false;
- // btn_reqset.disabled = false;
- btn_insert.disabled = false;
- btn_delete.disabled = false;
- btn_choice.disabled = false;
-
- if (gPurcdeptflag == "P") { //구매부서구분 : P
- gPurcAuth = "2"; //1:청구자, 2:승인자
- }
-
- if (gPurcAuth == "2") { //1:청구자, 2:승인자
- ckb_accept.value = "Y";
- ckb_accept.disabled = false;
- btn_accept.disabled = false;
- }
-
- //
- // fDeptReqNoQuery(); // 청구부서별 청구번호를 조회한다
-
- model.refresh();
- }
-
- // --------------------------------------------------------------
- // 불출부서 청구마지막 일자를 불러온다.청구마감일자 조회
- // --------------------------------------------------------------
- function fLastDaySearch() {
- model.setValue("/root/send/lastdatesearch/instcd" , opt_instcdgood.value );
- model.setValue("/root/send/lastdatesearch/deldeptcd", cmb_reqdeptcd.value );
- // model.setValue("/root/send/lastdatesearch/deldeptcd", opt_reqfinaldept.value );
- model.setValue("/root/send/lastdatesearch/reqym" , ipt_reqdd.value.substr(0,6));
-
- submit("TRRSC01701"); // 청구마감일자 조회 purcbaseweb
- }
-
- // --------------------------------------------------------------
- // 청구일자가 불출부서의 청구마지막 일자안에 있는지 확인,
- // --------------------------------------------------------------
- function fLastDayCheck() {
-
- var fbool = false;
-
- if (ipt_todd.value != '') {
- if (ipt_reqdd.value > ipt_todd.value ) {
- fbool = true;
- }
- }
-
- return fbool;
- }
-
- // --------------------------------------------------------------
- // 기본자료 SET
- // --------------------------------------------------------------
- function fDefaultSetting(prow) {
-
- // --------------------------------------------------------
- // 일반청구 와 정량보충에 따라서 col을 control한다.
- // --------------------------------------------------------
- if (model.getValue(rdo_inputmethod.attribute("ref"))=="1") {
- grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = true;
- grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty")) = false;
- } else {
- grd_goodreq.colDisabled(grd_goodreq.colRef("stocqty")) = false;
- grd_goodreq.colDisabled(grd_goodreq.colRef("reqqty")) = true;
- }
-
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/workflag" ,model.getValue(cmb_workflag.attribute("ref" )));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/instcd" ,model.getValue(rdo_instcd.attribute("ref" )));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqflag" ,model.getValue(cmb_reqflag.attribute("ref" )));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/studyinstcd" ,model.getValue(cmb_studyinstcd.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/deliveflag" ,'1' ); // 불출구분 없앰... 기본값('1') settting한다
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqdd" ,model.getValue(ipt_reqdd.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqpridflag" ,model.getValue(cmb_reqpridflag.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqdeptcd" ,model.getValue(cmb_reqdeptcd.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqpsnid" ,model.getValue(opt_requser.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqseqno" ,fGetMaxReqNo());
- // model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqno" ,model.getValue(cmb_reqno.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/stdysubjno" ,model.getValue(ipt_stdysubjno.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/delivedeptcd" ,model.getValue(opt_reqfinaldept.attribute("ref")));
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/reqcollcdeptcd",rszfGetPurcAuthInfoByCond("reqcollcdeptcd"));
-
- // 비승인자가 승인처리시 에러와 함꼐 OLD값을 넣어준다.
- model.setValue(grd_goodreq.nodeset +"[" + prow + "]/predeptaprvyn","N");
-
- /*------------------------------------------------------------------------------------------------------------
- * 화면 상단 계정을 bugtcd에 넣는다.
- ------------------------------------------------------------------------------------------------------------*/
- fBugtDataSet(prow);
- }
-
- // --------------------------------------------------------------
- // 화면 상단 예산계정을 넣는다.
- // --------------------------------------------------------------
- function fBugtDataSet(pRow) {
- var tPath = grd_goodreq.nodeset +"[" + pRow +"]";
- var sPath = "/root/main/BugLists/bugtlist["+(cmb_bugtflag.focusIndex+1)+"]";
-
- model.setValue(tPath + "/bugtcd" , model.getvalue(sPath+"/bugtcd" ));
- model.setValue(tPath + "/bugtnm" , model.getvalue(sPath+"/bugtcdnm" ));
- model.setValue(tPath + "/projectid" , model.getvalue(sPath+"/projectid" ));
- model.setValue(tPath + "/projectnm" , model.getvalue(sPath+"/projectnm" ));
- model.setValue(tPath + "/totamt" , model.getvalue(sPath+"/totamt" ));
- model.setValue(tPath + "/bugtexpcamt" , model.getvalue(sPath+"/bugtexpcamt"));
- model.setValue(tPath + "/bugtexecamt" , model.getvalue(sPath+"/bugtexecamt"));
- model.setValue(tPath + "/remainder" , model.getvalue(sPath+"/remainder" ));
-
- }
-
- // --------------------------------------------------------------
- // 최종 청구번호 가져오기
- // --------------------------------------------------------------
- function fGetMaxReqNo() {
- var vMax = 0;
- var maxreqseqno = "0";
-
- for (var currow = grd_goodreq.fixedRows ; currow < grd_goodreq.rows; currow++) {
- if (maxreqseqno < grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("reqseqno"))) {
- maxreqseqno = grd_goodreq.valueMatrix(currow, grd_goodreq.colRef("reqseqno"));
- }
- }
-
- vMax = parseInt(maxreqseqno, 10);
- // alert(vMax+"::"+maxreqseqno);
-
- vMax += 1;
-
- maxreqseqno = "" + vMax;
- return maxreqseqno.getLeftPad(3,"0");
- }
-
- // --------------------------------------------------------------
- //
- // --------------------------------------------------------------
- function fSettingGoodList(pnode, nodename, userqtynm) {
-
- var vTarget = "";
- var vSource = "";
-
- var codynode = instance1.selectNodes(pnode + "/*");
- var addRow = grd_goodreq.rows - grd_goodreq.fixedRows;
-
- if(model.getValue(grd_goodreq.nodeset + "[" + addRow + "]/goodcd").length > 0) addRow = addRow + 1;
-
- //
- for (var j = 1; j <= codynode.length ; j++) {
- if((grd_goodreq.rows - grd_goodreq.fixedRows == 0) || (addRow > grd_goodreq.rows - grd_goodreq.fixedRows)) {
- misfGridIUD(grd_goodreq,"A" );
- addRow = grd_goodreq.rows - grd_goodreq.fixedRows;
- fDefaultSetting(addRow);
- }
-
- vTarget = grd_goodreq.nodeset + "[" + addRow + "]/";
- vSource = pnode +"/" + nodename + "[" + j + "]/";
-
- fSettingGoodData(vTarget, vSource, userqtynm, "deliveunit");
-
- if (model.getValue(vSource + "allsizeyn") == "Y") {
-
- grd_goodreq.cellstyle("background-color" , addRow, 9) = "#FFFF00";
- model.setValue(vTarget + "allsizespecid" , model.getValue(vSource + "allsizespecid" ));
- model.setValue(vTarget + "allsizespecidnm" , model.getValue(vSource + "allsizespecidnm"));
-
- if (model.getValue(vSource + "allsizespecid").length > 0 ) {
- model.setValue(vTarget + "goodspec" , model.getValue(vSource + "allsizespecidnm"));
- } else {
- model.setValue(vTarget + "allsizespecid" , "-");
- }
- }
- addRow = addRow + 1;
- }
-
-
- //model.removenode(pnode);
- model.refresh();
- }
-
- function fCheckRetrieveData(pmsg)
- {
- if(model.getValue(cmb_workflag.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("작업구분을 " ,"C002");
- model.setFocus("cmb_workflag");
- }
- return false;
- }
- if(model.getValue(opt_instcdgood.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("기관코드를 " ,"C002");
- model.setFocus("opt_instcdgood");
- }
- return false;
- }
- // if(model.getValue(cmb_reqflag.attribute("ref")).length== 0 )
- // {
- // if(pmsg == true)
- // {
- // messageBox("청구구분을 " ,"C002");
- // model.setFocus("cmb_reqflag");
- // }
- // return false;
- // }
-
- if(model.getValue(ipt_reqdd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("청구일자를 " ,"C001");
- model.setFocus("ipt_reqdd");
- }
- return false;
- }
- if(model.getValue(cmb_reqpridflag.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("청구주기를 " ,"C002");
- model.setFocus("cmb_reqpridflag");
- }
- return false;
- }
- if(model.getValue(cmb_reqdeptcd.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("청구부서를 " ,"C002");
- model.setFocus("cmb_reqdeptcd");
- }
- return false;
- }
- if(model.getValue(opt_requser.attribute("ref")).length== 0 )
- {
- if(pmsg == true)
- {
- messageBox("청구자를 " ,"C002");
- model.setFocus("opt_requser");
- }
- return false;
- }
- return true;
- }
- //
- // Data를 저장한다.
- function fSaveData() {
- // 저장전 Data를 Check한다.
- if (fCheckSaveData() == false) return;
-
- model.setValue("/root/send/save/autoaprv/reqnonew" , "Y" ); //청구번호생성
- model.setValue("/root/send/save/autoaprv/instcd" ,model.getValue(opt_instcdgood.attribute("ref"))); //
- model.setValue("/root/send/save/autoaprv/reqdeptcd",model.getValue(cmb_reqdeptcd.attribute("ref" )));
-
- model.setValue("/root/send/save/goodreqlist" , grd_goodreq.getUpdateData()); // 동시 승인여부
- model.setValue("/root/send/save/autoaprv/reqdd", model.getValue(ipt_reqddnew.attribute("ref"))); // 신규 청구번호
-
- if(model.getValue(cmb_reqpridflag.attribute("ref"))=="1") model.setValue("/root/send/save/autoaprv/autoaprvyn","Y");
-
- if (ckb_accept.value == "Y") {
- model.setValue("/root/send/save/autoaprv/autoaprvyn", "Y");
- } else {
- model.setValue("/root/send/save/autoaprv/autoaprvyn", "N");
- } // end if
-
- submit("TXRSD00414");
-
- if (model.getValue(gvErrorMsgPath + "/type") == "error") return;
-
- btn_search.dispatch("DOMActivate");
- }
-
- // 저장전 Data를 Check한다.
- function fCheckSaveData()
- {
- if(model.getValue(cmb_workflag.attribute("ref")).length== 0 )
- {
- messageBox("작업구분을 " ,"C002");
- model.setFocus("cmb_workflag");
- return false;
- }
- if(model.getValue(opt_instcdgood.attribute("ref")).length== 0 )
- {
- messageBox("기관코드를 " ,"C002");
- model.setFocus("opt_instcdgood");
- return false;
- }
- // if(model.getValue(cmb_reqflag.attribute("ref")).length== 0 )
- // {
- // messageBox("청구구분을 " ,"C002");
- // model.setFocus("cmb_reqflag");
- // return false;
- // }
- if(model.getValue(ipt_reqdd.attribute("ref")).length== 0 )
- {
- messageBox("청구일자를 " ,"C001");
- model.setFocus("ipt_reqdd");
- return false;
- }
- if(model.getValue(cmb_reqpridflag.attribute("ref")).length== 0 )
- {
- messageBox("청구주기를 " ,"C002");
- model.setFocus("cmb_reqpridflag");
- return false;
- }
-
- var basevol = 0;
- var stocqty = 0;
- var reqqty =0;
- var minexch = 0;
-
- for(var currow = grd_goodreq.fixedRows ; currow < grd_goodreq.rows ; currow++)
- {
- if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")).length == 0)
- {
- messageBox(currow + " 번째 물품코드를 " ,"C001");
- grd_goodreq.row = currow;
- grd_goodreq.col= grd_goodreq.colRef("goodcd");
- grd_goodreq.editCell();
- return false;
- }
- else
- {
- for(srcrow = currow + 1 ; srcrow < grd_goodreq.rows ; srcrow++)
- {
- if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("goodcd")) &&
- grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizeyn")) == "N" )
- {
- messageBox("동일 물품코드가1 [" + currow + "," +srcrow + "->" + grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
- return false;
- }
-
- else if(grd_goodreq.valueMatrix(currow ,grd_goodreq.colRef("goodcd" )) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("goodcd" )) &&
- grd_goodreq.valueMatrix(currow ,grd_goodreq.colRef("allsizespecid")) == grd_goodreq.valueMatrix(srcrow , grd_goodreq.colRef("allsizespecid")) )
- {
- messageBox("동일 물품코드가 (ALL SIZE) [" + currow + "," +srcrow + "->" + grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("goodcd")) + "] 존재하여 저장 " ,"E001");
- return false;
- }
- }
- }
- // if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty")) == 0)
- if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty")) <= 0)
- {
- if ( grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty")) == 0 )
- messageBox(currow + " 번째 청구량을 " ,"C001");
- else
- messageBox(currow + " 번째 올바른 청구량을 " ,"C001");
- grd_goodreq.row = currow;
- grd_goodreq.col= grd_goodreq.colRef("reqqty");
- grd_goodreq.editCell();
- return false;
- }
- basevol = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("basevol"));
- stocqty = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("stocqty"));
- reqqty = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("reqqty"));
- minexch = grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("minexch"));
-
- if(minexch > 0 && (reqqty%minexch != 0))
- {
- messageBox((currow) + "번째 물품은 최소청구량에 ["+ minexch + "]맞춰서" , "C001");
- grd_goodreq.row = currow;
- grd_goodreq.col= grd_goodreq.colRef("reqqty");
- grd_goodreq.editCell();
- return false;
- }
- /* all size 미입력분 체크 2007.09.
- allsizeyn = 'Y' 인데.... allsizespecid선택을 안한경우
- */
- if(grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizeyn")) == "Y" )
- {
- if (grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizespecid")).length == 0 ||
- grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizespecid")) == '-' ) {
- messageBox(currow + " 번째 물품의 ALLSIZE선택을 " ,"C001");
- grd_goodreq.row = currow;
- grd_goodreq.col= grd_goodreq.colRef("goodspec");
- grd_goodreq.editCell();
- return false;
- }
- } else {
- grd_goodreq.valueMatrix(currow , grd_goodreq.colRef("allsizespecid")) = "-";
- }
- }
-
- return true;
- }
-
- //
- function fRetrByReqNo()
- {
-
- if(fCheckRetrieveData(false) == false)return;
-
- model.removenode("/root/main/tmplist");
- model.makeNode("/root/main/tmplist/goodreq/goodreqlist");
- model.makeNode("/root/main/tmplist/goodreq/goodmaxreqno");
- model.copyNode("/root/main/tmplist", "/root/main/list");
-
- model.setValue("/root/send/goodreq/retrmaxreqnoyn","N");
-
- misfMsterDetailRetrieve();
-
- var rtncount = grd_goodreq.rows - grd_goodreq.fixedRows;
- if(rtncount == 0)
- {
- model.copyNode("/root/main/list","/root/main/tmplist");
- }
-
- return rtncount;
- }
- //
- function fSetReqNo(pReqControl,pAdd)
- {
- if(pAdd == "Y")
- {
- var reqno = model.getValue(cmb_reqno.attribute("ref"));
- reqno = parseInt(reqno) + 1;
- reqno = "" + reqno;
- reqno = reqno.getLeftPad(4,"0");
- }
- else
- {
- var reqno = model.getValue(cmb_reqno.attribute("ref"));
- reqno = parseInt(reqno) - 1;
- if(reqno == 0)reqno = 1;
- reqno = "" + reqno;
- reqno = reqno.getLeftPad(4,"0");
- }
- model.setValue(pReqControl.attribute("ref"), reqno);
- model.refresh();
- }
- function fArrangeControl()
- {
- misfGridInit(grd_goodreq);
- // model.setValue(cmb_reqflag.attribute("ref"),"");
- model.setValue(cmb_reqno.attribute("ref"),"");
- model.setValue(ipt_reqdd.attribute("ref"),"");
- model.setValue(cmb_reqdeptcd.attribute("ref"),"");
- // model.setValue(ipt_reqdeptnm.attribute("ref"),"");
- model.setValue(opt_requser.attribute("ref"),"");
- model.setValue(opt_requsernm.attribute("ref"),"");
- model.setValue(opt_reqfinaldept.attribute("ref"),"");
- model.setValue(opt_reqfinaldeptnm.attribute("ref"),"");
- model.refresh();
- }
-
- function fSettingReqAprv()
- {
- // if(gPurcAuth != "2")
- // {
- // messageBox("청구승인권한이 없으므로 수정" ,"E001");
- // return;
- // }
-
- for(var liRow = grd_goodreq.fixedRows ; liRow < grd_goodreq.rows ; liRow++)
- {
- /*---------------------------------------------------------------------------------------------------------
- * 발주승인건 제외
- ---------------------------------------------------------------------------------------------------------*/
- if(model.getValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/aprvyn") != "Y")
- {
-
- if(model.getValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn") == "Y")
- {
- model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn","N");
- model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd","");
-
- if (grd_goodreq.rowStatus(liRow) == "0") grd_goodreq.rowStatus(liRow) = "2";
-
- }
- else
- {
- model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn" ,"Y");
- model.setValue(grd_goodreq.nodeset + "[" + (liRow - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd" ,getCurrentDate());
- {
- if (grd_goodreq.rowStatus(liRow) == "0") grd_goodreq.rowStatus(liRow) = "2";
- }
- }
- }
- }
- model.refresh();
- }
-
- function fSaveReqAprv()
- {
- model.removenode("/root/send/reqaprvlist");
- model.makeNode("/root/send/reqaprvlist");
- model.setValue("/root/send/reqaprvlist" ,grd_goodreq.getUpdateData());
-
- submit("TXRSD07002");
- if (model.getValue(gvErrorMsgPath + "/type") != "error")misfMsterDetailRetrieve();
- }
-
-
- function fGrantsCheck() {
-
- if(gPurcAuth == "2" || model.getValue(cmb_reqpridflag.attribute("ref")) =="1" )
- {
- misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", false);
- }else{
- misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", true);
- }
- }
-
- // --------------------------------------------------
- // 물품청구 버튼 Click 처리하는 함수
- // --------------------------------------------------
- function fGoodreqButtonClick() {
- grp_allsize.attribute("visibility") = "hidden" ;
- grp_bugtflag.attribute("visibility") = "hidden" ;
-
- if (grd_goodreq.col == grd_goodreq.colRef("goodcd") &&
- grd_goodreq.rowStatus(grd_goodreq.row) == "1" ) { //구성물품코드를 눌렀을 경우
-
- fViewToggle(2); // 1 :늘리기, 2 : 줄이기
-
- cmb_reqflag.select(0);
-
- fReqFagChange(cmb_reqflag.value);
- fGoodListReady(grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col),""); // 물품찾기 처리하는 함수
- model.toggle("gd_find");
-
- bbt_good.selected = "true";
- }
- else if (grd_goodreq.col == grd_goodreq.colRef("goodspec") && grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("allsizeyn")) == "Y" )
- {
- fAllSizeRead(grd_goodreq.row ,grd_goodreq.col, event.clientY);
- }
- else if (grd_goodreq.col == grd_goodreq.colRef("bugtnm"))
- {
- var iClickY = event.clientY - 100;
- if (iClickY > 375) iClickY = iClickY - 319;
-
- grp_bugtflag.attribute("top") = iClickY+ "px";
- grp_bugtflag.attribute("visibility") = "visible" ;
- }
- model.refresh();
-
- }
-
- // --------------------------------------------------
- // 물품청구 내용이 바뀌었을때 처리하는 함수
- // --------------------------------------------------
- function fGoodreqOnChange() {
- if (grd_goodreq.col == grd_goodreq.colRef("reqqty") ) {
- if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
- {
- messageBox("구매접수된 내역은 수정","E001");
- return;
- }
-
-
- if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
- {
- if(gPurcAuth == "1" &&
- model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
- return;
- }
- }
-
- reqqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("reqqty"));
- model.setValue(grd_goodreq.nodeset + "[" + grd_goodreq.row + "]/basevol",reqqty );
-
- // basevol = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("basevol"));
- // stocqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("stocqty"));
- //
- // reqqty = basevol - stocqty;
- //
- // grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("reqqty")) =reqqty;
-
- minexch = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("minexch"));
-
- if(minexch > 0 && (reqqty%minexch != 0))
- {
- messageBox((grd_goodreq.row )+ "번째 물품은 최소청구량["+ minexch + "] 에 맞춰서" , "C001");
- grd_goodreq.row = grd_goodreq.row;
- grd_goodreq.col= grd_goodreq.colRef("reqqty");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty","");
- grd_goodreq.editCell();
- return;
- }
- }
-
- /*-------------------------------------------------------------------------------------
- * 청구수량을 정량보충으로 변경함. ( 재고/ 기준량을 입력한다) .2007.08.
- -------------------------------------------------------------------------------------*/
- else if (grd_goodreq.col == grd_goodreq.colRef("stocqty") || grd_goodreq.col == grd_goodreq.colRef("basevol") ) {//재고량조절할경우
-
- if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
- {
- messageBox("구매접수된 내역은 수정","E001");
- return;
- }
-
-
- if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
- {
- if(gPurcAuth =="1" &&
- model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
- return;
- }
- }
- basevol = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("basevol"));
- stocqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("stocqty"));
- reqqty = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("reqqty"));
- minexch = grd_goodreq.valueMatrix(grd_goodreq.row , grd_goodreq.colRef("minexch"));
-
- calc_reqqty = basevol - stocqty;
-
- // if ( calc_reqqty < minexch ) calc_reqqty = minexch;
- // if ( calc_reqqty < minexch ) calc_reqqty = 0;
-
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty",calc_reqqty);
- }
-
- else if(grd_goodreq.col == grd_goodreq.colRef("goodcd") &&
- grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.colRef("goodcd")).length> 0) {
- // bbt_good.dispatch("onclick");
- //
- // vFlag = "A";
- // SvGoodcd = grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col);
- //
- // switch(SvGoodcd.substr(0,1)) {
- // case "Y" : vFlag = "A"; break; // 01 의료소모품
- // case "Z" : vFlag = "B"; break; // 02 일반소모품
- // case "U" : vFlag = "C"; break; // 03 의료비품
- // case "G" : vFlag = "D"; break; // 04 일반비품
- // case "P" : vFlag = "E"; break; // 05 약품
- // case "B" : vFlag = "S"; break; // 10 수리부품
- // case "T" : vFlag = "X"; break; // 11 공급실물품
- // }
- //
- // model.setValue("/root/init/reqflag", vFlag);
- // model.setValue("/root/send/goodlist/goodcd",SvGoodcd);
- //
- // bbt_goodfind.dispatch("DOMActivate");
-
- model.removenode("/root/copynode");
- model.removenode(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
- model.makeNode("/root/copynode");
-
- rszfValidationCheck("TRRSD00191", "goodlist" , "refcond,instcd,goodflag,goodcd,goodnm,indexgb,indexnm,reqflag,reqdeptcd,reqprid","goodcd," + model.getValue(opt_instcdgood.attribute("ref")) + "," +model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodflag") + "," + model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd") + ",,,," + model.getValue(cmb_reqflag.attribute("ref")) + "," + model.getValue(cmb_reqdeptcd.attribute("ref")) + "," + model.getValue(cmb_reqpridflag.attribute("ref")) ,"","goodcd,goodnm,goodspec,goodmodel,prodcmpynm,purcunit,stocqty,minexch,goodflag,ddavguseqty,reqflag,allsizeyn,delivedeptcd",grd_goodreq,"SPRSD00190","instcd,goodflag,reqflag,reqdeptcd,reqprid","opt_instcdgood,opt_goodflag,cmb_reqflag,cmb_reqdeptcd,cmb_reqpridflag","Y");
- model.refresh();
-
- if( grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length> 0)
- {
-
- if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") > 0) model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/minexch") );
- else model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqqty","1");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/basevol",model.getValue("/root/init/main/goodlist/minexch"));
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/requnit",model.getValue("/root/init/main/goodlist/deliveunit"));
- // model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag",model.getValue("/root/init/main/goodlist/reqmthd"));
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/reqmthdflag","3");
- }
-
- model.refresh();
-
- var cur_row = grd_goodreq.row;
- var status = grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("m"));
- var CSV = model.getValue(gvParamPath +"/SMRSD00400_/SMRSD00400_value");
-
- if(CSV.length == 0 && grd_goodreq.valueMatrix(cur_row, grd_goodreq.colRef("goodnm")).length == 0)
- {
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodcd" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodnm" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodspec" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodflag" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/goodmodel" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/prodcmpynm" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/purcunit" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/basevol" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/stocqty" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/reqqty" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/requnit" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/minexch" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/ddavguseqty" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizeyn" , "");
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1) + "]/allsizespecid" , "");
- grd_goodreq.col = grd_goodreq.colRef("goodcd");
- grd_goodreq.editCell();
- }
- else if (CSV.length > 0)
- {
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/goodcd","");
- setCSVToNode("/root/copynode", CSV, "goodreqlist");
-
- fSettingGoodList("/root/copynode", "goodreqlist" , "userqty");
- }
- }
-
- else if((grd_goodreq.col == grd_goodreq.colRef("deptaprvyn")))
- {
- if(gPurcAuth != "2" && model.getValue(cmb_reqpridflag.attribute("ref")) != "1" )
- {
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") );
- // insert 가 아니면..
- if ( grd_goodreq.rowStatus(grd_goodreq.row) != '3')
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- }
- messageBox("청구승인권한이 없으므로 수정" ,"E001");
- }
- else if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/aprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("발주승인이 되었으므로 수정" ,"E001");
- }
- else model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvdd" ,getCurrentDate());
- }
- }
- // --------------------------------------------------
- // 물품청구 내용이 바뀌었을때 처리하는 함수
- // --------------------------------------------------
- function fGoodreqOnKeyDown() {
-
- if(event.keyCode == 13) {
- if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
- {
- if(grd_goodreq.row < grd_goodreq.rows - grd_goodreq.fixedRows)
- {
- grd_goodreq.row = grd_goodreq.row + 1;
- grd_goodreq.select(grd_goodreq.row, grd_goodreq.colRef("reqqty")) = true;
- }
- }
- }
-
- if(event.keyCode == 9) {
- if(event.shiftKey)
- {
- if(grd_goodreq.colAttribute(grd_goodreq.col + 1, "type").indexOf ("input") > -1)
- {
- for(curcol = grd_goodreq.col -1 ; curcol > -1 ; curcol--)
- {
- if(grd_goodreq.colAttribute(curcol, "type").indexOf ("input") > -1)
- {
- grd_goodreq.col = curcol;
- grd_goodreq.editCell();
- return;
- }
- }
- }
- }
- else
- {
- if(grd_goodreq.colAttribute(grd_goodreq.col, "type").indexOf ("input") == -1)
- {
- if(grd_goodreq.col - 1 == grd_goodreq.colRef("goodcd") && grd_goodreq.valueMatrix(grd_goodreq.row, grd_goodreq.col - 1).length == 0)
- {
- grd_goodreq.col = grd_goodreq.colRef("goodcd");
- grd_goodreq.editCell();
- return;
- }
- for(curcol = grd_goodreq.col ; curcol <grd_goodreq.cols ; curcol++)
- {
- if(grd_goodreq.colAttribute(curcol, "type").indexOf ("input") > -1)
- {
- grd_goodreq.col = curcol;
- grd_goodreq.editCell();
- return;
- }
- }
- }
- }
- }
-
- }
-
- // --------------------------------------------------
- // 물품청구 Cell 내용이 바뀌었을때 처리하는 함수
- // --------------------------------------------------
- function fGoodreqOnEnterCell() {
-
- if((grd_goodreq.col == grd_goodreq.colRef("deptaprvyn")))
- {
- if(gPurcAuth != "2" && model.getValue(cmb_reqpridflag.attribute("ref")) !="1" )
- {
- model.setValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/deptaprvyn",model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") );
- // insert 가 아니면..
- if ( grd_goodreq.rowStatus(grd_goodreq.row) != '3')
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- }
- messageBox("청구승인권한이 없으므로 수정" ,"E001");
- }
- else
- {
- if(model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/aprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("발주승인이 되었으므로 수정" ,"E001");
- }
- }
- }
- else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
- {
- if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y") {
- messageBox("구매접수된 내역은 수정","E001");
- return;
- }
-
- if (model.getValue(cmb_reqpridflag.attribute("ref")) !="1") {
- if(gPurcAuth =="1" &&
- model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("청구승인되었으므로 재고량을 수정" ,"E001");
- return;
- }
- }
- }
- else if(grd_goodreq.col == grd_goodreq.colRef("reqqty"))
- {
- if (model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/acptflag") == "Y")
- {
- messageBox("구매접수된 내역은 수정","E001");
- return;
- }
-
- if(model.getValue(cmb_reqpridflag.attribute("ref")) !="1")
- {
- if(gPurcAuth =="1" &&
- model.getValue(grd_goodreq.nodeset + "[" + (grd_goodreq.row - grd_goodreq.fixedRows + 1)+ "]/predeptaprvyn") == "Y")
- {
- grd_goodreq.rowStatus(grd_goodreq.row) = "0";
- messageBox("청구승인되었으므로 청구량을 수정" ,"E001");
- return;
- }
- }
- }
-
- }
-
- // --------------------------------------------------
- // Switch 속성변경 처리하는 함수
- // --------------------------------------------------
- function fViewToggle(pCls) {
- if (pCls == 1) { // 늘리기
- // 메인 Grup
- grp_main.attribute("left" ) = "1" ;
- // grp_main.attribute("top" ) = "90" ;
- grp_main.attribute("width" ) = "1193";
- // grp_main.attribute("height" ) = "663" ;
-
- // Data Grid
- // grd_goodreq.attribute("left" ) = "1" ;
- // grd_goodreq.attribute("top" ) = "29" ;
- grd_goodreq.attribute("width" ) = "1192";
- // grd_goodreq.attribute("height") = "628" ;
- lin_main.attribute("x2" ) = "1190" ;
- bbt_large.attribute("visibility") = "hidden" ;
- bbt_right.attribute("visibility") = "hidden" ;
- grp_button.attribute("left" ) = "589" ;
- grp_allsize.attribute("left" ) = "519" ;
- grp_bugtflag.attribute("left" ) = "519" ;
-
- } else { // 줄이기
- // 메인 Grup
- grp_main.attribute("left" ) = "593" ;
- // grp_main.attribute("top" ) = "90" ;
- grp_main.attribute("width" ) = "602" ;
- // grp_main.attribute("height" ) = "663" ;
-
- // Data Grid
- // grd_goodreq.attribute("left" ) = "1" ;
- // grd_goodreq.attribute("top" ) = "29" ;
- grd_goodreq.attribute("width" ) = "601" ;
- // grd_goodreq.attribute("height") = "628" ;
- lin_main.attribute("x2" ) = "597";
- bbt_large.attribute("visibility") = "visible" ;
- bbt_right.attribute("visibility") = "visible" ;
- grp_button.attribute("left" ) = "1" ;
- grp_allsize.attribute("left" ) = "174" ;
- grp_bugtflag.attribute("left" ) = "174" ;
- }
- grp_main.refresh();
- }
-
- // --------------------------------------------------
- // 물품 찾기 속성변경 처리하는 함수
- // --------------------------------------------------
- function fGoodSearchToggle() {
- if (cpt_cls.attribute("text") =="0") { // 상세접근 조회
- // 메인 Grup
- grd_goodlist.attribute("left" ) = "2" ;
- // grd_goodlist.attribute("top" ) = "83" ;
- grd_goodlist.attribute("width" ) = "576";
- // grd_goodlist.attribute("height" ) = "574" ;
-
- // btn_dtail.attribute("top" ) = "56" ;
- bbt_apply2.attribute("top" ) = "56" ;
- lin_goodlist.attribute("y1" ) = "78";
- lin_goodlist.attribute("y2" ) = "78";
- grp_dtail.attribute("visibility") ="hidden" ;
- cpt_cls.attribute("text") = "1";
-
- } else { // 줄이기
- // 메인 Grup
- grd_goodlist.attribute("left" ) = "2" ;
- grd_goodlist.attribute("top" ) = "285" ;
- grd_goodlist.attribute("width" ) = "576";
- grd_goodlist.attribute("height" ) = "372" ;
- btn_dtail.attribute("top" ) = "258" ;
- bbt_apply2.attribute("top" ) = "258" ;
- lin_goodlist.attribute("y1" ) = "280";
- lin_goodlist.attribute("y2" ) = "280";
- grp_dtail.attribute("visibility") ="visible" ;
-
- cpt_cls.attribute("text") = "0";
- }
-
- grd_goodlist.refresh();
- }
- // --------------------------------------------------
- // 물품 찾기 속성변경 처리하는 함수
- // --------------------------------------------------
-
- function fReqSetList() {
- var vReqSetFlag = "N";
- if (model.getValue(opt_instcdgood.attribute("ref")) == "") {
- messageBox("기관을 " ,"C002");
- return;
- }
-
- //
- if (model.getValue(cmb_reqdeptcd.attribute("ref" )) == ""){
- messageBox("청구 부서를 " ,"C002");
- return;
- }
-
- //
- if (gInstcd != model.getValue(opt_instcdgood.attribute("ref" ))) vReqSetFlag = "Y";
- if (gReqdeptcd != model.getValue(cmb_reqdeptcd.attribute("ref" ))) vReqSetFlag = "Y";
-
- if (vReqSetFlag == "N") return;
-
- gInstcd = model.getValue(opt_instcdgood.attribute("ref" ));
- gReqdeptcd = model.getValue(cmb_reqdeptcd.attribute("ref" ));
- model.setValue("/root/send/reqmst/instcd" , model.getValue(opt_instcdgood.attribute("ref" )));
- model.setValue("/root/send/reqmst/reqdeptcd" , model.getValue(cmb_reqdeptcd.attribute("ref" )));
- grd_reqset.fixedcellcheckbox(0, grd_reqset.colRef("select"),false) = true;
-
- misfGridInit(grd_reqset);
- misfGridInit(grd_setlist);
-
- submit("TRRSD00211");
-
- if (grd_setlist.rows < 2) return;
-
- if (model.getValue(grd_setlist.nodeset + "["+ 1 + "]/reqdeptcd" ) =="") return;
-
- grd_setlist.row = 1;
- fReqSetRead(grd_setlist.row);
- misfMsterDetailRetrieve();
- }
-
- // 부서 청구SET 물품
- function fReqSetRead(pRow) {
- model.setValue("/root/send/reqset/instcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/instcd" ));
- model.setValue("/root/send/reqset/reqdeptcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/reqdeptcd" ));
- model.setValue("/root/send/reqset/reqprid" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/reqprid" ));
- model.setValue("/root/send/reqset/goodsetcd" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/goodsetcd" ));
- model.setValue("/root/send/reqset/goodsetnm" , model.getValue(grd_setlist.nodeset + "["+ pRow + "]/goodsetnm" ));
-
- misfGridInit(grd_reqset);
- submit("TRRSD00210"); // 청구마감일자 조회 purcbaseweb
- }
- // --------------------------------------------------
- // 선택물품을 적용하는 처리하는 함수
- // --------------------------------------------------
- function fSelectDataApply(pGridSource, pGridTarget, pGridNm, pQtyNm) {
- model.removenode("/root/copynode");
-
- var vSelect = 0;
-
- for (var row = pGridSource.fixedRows ; row < pGridSource.rows; row++) {
- if (model.getValue(pGridSource.nodeset + "[" + row + "]/select" ) == "true" ) {
- vSelect++;
- }
- }
-
- //
- if (vSelect < 1) {
- pGridSource.refresh();
- return;
- }
-
- //
- var nodelist = instance1.selectNodes(pGridSource.nodeset + "[select='true']");
-
- var rCVS = getNodeListCSV(nodelist);
- var cur_row = pGridTarget.row;
-
- var status = pGridTarget.valueMatrix(cur_row, pGridTarget.colRef("m"));
- model.makeNode("/root/copynode");
- setCSVToNode("/root/copynode", rCVS, pGridNm);
-
- fSettingGoodList("/root/copynode", pGridNm , pQtyNm);
- //----------------------------------------------------------
- // 추가 물품 조회시 선택한 항목을 Clear 시켜준다.
- //----------------------------------------------------------
- for (var row = pGridSource.fixedRows ; row < pGridSource.rows; row++) {
- model.setValue(pGridSource.nodeset + "[" + row + "]/select" , "false");
- }
-
- }
-
- // --------------------------------------------------
- // All Size 읽어오는 함수
- // --------------------------------------------------
- var vAllSizeCol = 0;
- var vAllSizeRow = 0;
- var vAllSizePath = "/root/main/codelist";
- var vGoodReqPath = "/root/main/list/goodreq/goodreqlist";
-
- function fAllSizeRead(pRow, pCol, pPos) {
- var iClickY = pPos - 100;
-
- vAllSizeCol = pCol;
- vAllSizeRow = pRow;
-
- if (iClickY > 375) iClickY = iClickY - 319;
-
- grp_allsize.attribute("top") = iClickY+ "px";
- grp_allsize.attribute("visibility") = "visible" ;
- model.setValue("/root/send/allsize/instcd", model.getValue(opt_instcdgood.attribute("ref" )));
- model.setValue("/root/send/allsize/goodcd", model.getValue(grd_goodreq.nodeset + "[" + pRow + "]/goodcd"));
-
- submit("TRRSD00281");
-
- grp_allsize.refresh();
- }
-
- // All Size 선택
- function fAllSizeSelect() {
- grp_allsize.attribute("visibility") = "hidden" ;
-
- var vQty = "0";
- var vSize = "";
- var vSpec = "";
- var vModel = "";
- var vCheck = "";
- var vPath = "";
- var vTarget = "";
- var vSource = "";
-
- var vGoodcd = model.getValue(vGoodReqPath+"["+(vAllSizeRow)+"]/goodcd");
-
-
- for (var i = 1; i < grd_codelist.rows; i++) {
-
- if (model.getValue(vAllSizePath+"["+i+"]/chk") == "true") {
- vSize = model.getValue(vAllSizePath+"["+ i +"]/allsizespecid");
- vSpec = model.getValue(vAllSizePath+"["+ i +"]/goodspec" );
- vModel = model.getValue(vAllSizePath+"["+ i +"]/goodmodel" );
- vQty = model.getValue(vAllSizePath+"["+ i +"]/qty" );
-
- if (model.getValue(vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']" +"/goodcd") == "") {
- if (vCheck == "") {
- vCheck = "Y";
- vTarget = vGoodReqPath+"["+(vAllSizeRow)+"]" ;
- if (grd_goodreq.rowStatus(vAllSizeRow) == 0)
- grd_goodreq.rowStatus(vAllSizeRow) = 2 ;
-
- } else {
-
- misfGridIUD(grd_goodreq,"A");
-
- addRow = grd_goodreq.rows - grd_goodreq.fixedRows;
- fDefaultSetting(addRow);
- vTarget = grd_goodreq.nodeset + "[" + addRow + "]/";
- vSource = vGoodReqPath + "[" + vAllSizeRow + "]/";
-
- fSettingGoodData(vTarget, vSource, "basevol", "requnit", "S");
-
- grd_goodreq.cellstyle("background-color" , addRow, 9) = "#FFFF00";
- }
- } else {
- vPath = vGoodReqPath+"["+"[goodcd='"+ vGoodcd+"' and allsizespecid='"+vSize+"']";
- }
-
- // alert(vPath);
- //
- model.setValue(vTarget + "/allsizeyn" , "Y" );
- model.setValue(vTarget + "/allsizespecid" , vSize );
- model.setValue(vTarget + "/goodspec" , vSpec );
- model.setValue(vTarget + "/goodmodel" , vModel);
-
- if (vQty != "" && vQty != "0") {
- // model.setValue(vTarget + "/reqqty" , vQty );
- model.setValue(vTarget + "/stocqty" , vQty );
- }
- }
- }
-
- grd_goodreq.refresh();
- }
- // 신규생성
- function fNewReqNo() {
-
- fNewReqNoVisibility(); //청구일자 및 청구순번 을 신규여부에 따라 셋팅한다.
-
- if (chk_reqnonew.value == "Y" )
- {
- if (grd_goodreq.rows < 2) return;
- RetCls = messageBox("조회된 자료를 현재일자로 신규 생성합니다","S001");
- if ( RetCls == 6) //Yes
- {
- //model.resetInstanceNode("/root/send/save/autoaprv/reqnonew");
- //chk_reqnonew.value = "";
- chk_reqnonew.value = "Y"; // reqnonew 인스턴스값이 <> N Y </> 으로 나와서 해당부분에서 처리함(문제발생시 if문 삭제)
- fNewReqNoVisibility();
-
- for (var i = 1; i < grd_goodreq.rows; i++) {
- grd_goodreq.rowStatus(i) = 3 ;
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/deptaprvyn", "N");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/deptaprvdd", "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/deptaprvnm", "");
-
- //구매승인이 난 물품에 대해서도 신규생성시에 구매승인(acptflag)을 'N'로 셋팅해주어야 한다.
- //나머지 노드도 처음 청구낼때와 같게 셋팅해 준다(acptflagnm , acptdd , acptcharid , purcdmnddd , purcdmndno , purcdmndseq , aprvyn , deliveprcsflag)
- if ( model.getValue( grd_goodreq.nodeset + "[" + i + "]/acptflag" ) == "Y") {
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/acptflag" , "N");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/acptflagnm" , "미접수");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/acptdd" , "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/acptcharid" , "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/purcdmnddd" , "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/purcdmndno" , "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/purcdmndseq" , "");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/aprvyn" , "N");
- model.setValue(grd_goodreq.nodeset + "[" + i + "]/deliveprcsflag" , "1");
-
- misfSetReadOnlyCol(grd_goodreq, "deptaprvyn", false); //승인체크란 ReadOnly false
-
- grd_goodreq.isReadOnly( i , grd_goodreq.fixedCols-1, i , grd_goodreq.cols-1) = false; //전체 Grid ReadOnly false
- }
- }
- }else if ( RetCls == 7) //No
- {
- // chk_reqnonew.value = "N";
- fNewReqNoVisibility();
- //데이터 그리드 클리어
- misfGridInit(grd_goodreq);
- }else{ //취소일경우
- return;
- }
- }else
- {
- btn_search.dispatch("DOMActivate");
- if (grd_goodreq.rows < 2) {
- return;
- }
- }
- grd_goodreq.refresh();
- //alert(grd_goodreq.rows);
- }
-
- // 신규 Check 시 작업구분
- function fNewReqNoVisibility() {
- if (chk_reqnonew.value == "Y") {
- // cmb_reqno.disabled = true;
- ipt_reqdd.attribute("visibility") = "hidden";
- ipt_reqddnew.attribute("visibility") = "visible" ;
- // cmb_reqno.attribute("visibility") = "hidden" ;
- // cmb_hidden.attribute("visibility") = "visible" ;
-
- ipt_reqddnew.value = getCurrentDate(); //신규로 체크되면 무조건 오늘날짜로 셋팅된다
- } else {
- // cmb_reqno.disabled = false;
- ipt_reqddnew.attribute("visibility") = "hidden";
- ipt_reqdd.attribute("visibility") = "visible" ;
- // cmb_reqno.attribute("visibility") = "visible" ;
- // cmb_hidden.attribute("visibility") = "hidden" ;
- }
- }
-
- //
- function fSettingGoodData(pTarget, pSource, pUserqtynm, pRequnit, pCls) {
-
- model.setValue(pTarget + "goodcd" , model.getValue(pSource + "goodcd" ));
- model.setValue(pTarget + "goodnm" , model.getValue(pSource + "goodnm" ));
- model.setValue(pTarget + "goodspec" , model.getValue(pSource + "goodspec" ));
- model.setValue(pTarget + "reqflag" , model.getValue(pSource + "reqflag" ));
- model.setValue(pTarget + "goodflag" , model.getValue(pSource + "goodflag" ));
- model.setValue(pTarget + "goodmodel" , model.getValue(pSource + "goodmodel" ));
- model.setValue(pTarget + "prodcmpynm" , model.getValue(pSource + "prodcmpynm" ));
- model.setValue(pTarget + "purcunit" , model.getValue(pSource + "purcunit" ));
- model.setValue(pTarget + "purcunit" , model.getValue(pSource + "purcunit" ));
- model.setValue(pTarget + "basevol" , model.getValue(pSource + pUserqtynm ));
- model.setValue(pTarget + "stocqty" , 0 );
- model.setValue(pTarget + "reqqty" , model.getValue(pSource + pUserqtynm ));
- // 청구량 계산
- model.setValue(pTarget + "requnit" , model.getValue(pSource + pRequnit ));
- model.setValue(pTarget + "minexch" , model.getValue(pSource + "minexch" ));
- model.setValue(pTarget + "ddavguseqty" , model.getValue(pSource + "ddavguseqty" ));
- model.setValue(pTarget + "exchqty" , model.getValue(pSource + "exchqty" ));
- model.setValue(pTarget + "reqmthdflag" , "3" );
- model.setValue(pTarget + "allsizeyn" , model.getValue(pSource + "allsizeyn" ));
- model.setValue(pTarget + "reqcollcdeptcd", model.getValue(pSource + "reqcollcdeptcd"));
-
- model.setValue(pTarget + "setunit" , model.getValue(pSource + "setunit" ));
-
- if (pCls == "S") {
- model.setValue(pTarget + "delivedeptcd", model.getValue(pSource + "delivedeptcd"));
- } else {
- model.setValue(pTarget + "delivedeptcd", model.getValue(pSource + "reqfnldeptcd"));
- }
-
- model.setValue(pTarget + "rgstqty" , "0" );
- }
-
- // --------------------------------------------------
- // 물품찾기 처리하는 함수
- // --------------------------------------------------
- function fGoodListReady(pGoodCd, pGoodName) {
- misfGridInit(grd_goodlist);
- fGoodListKeySet(); // 물품검색 기본 KEY SET
- // -------------------------------------------------------------------------------------------
- // sql문에 청구부서별 안전재고를 가져와야한다.
- // 프로그램 call시 변경해야한다. 인자값이 없을경우 해당 user값으로 setting한다.
- // -------------------------------------------------------------------------------------------
- if (model.getValue(PURTARGET_NODE + "/reqdeptcd").length == 0 )
- model.setValue("/root/send/goodlist/reqdeptcd", getUserInfo("dutplcecd"));
- else model.setValue("/root/send/goodlist/reqdeptcd", model.getValue(cmb_reqdeptcd.attribute("ref")));
- // --------------------------------------------------------------------------
- // 영양팀 명칭검색으로 이 window 가 open시 기본값 셋팅한다.
- // --------------------------------------------------------------------------
-
- if (pGoodCd.length > 0) {
- model.setValue("/root/send/goodlist/goodcd", pGoodCd);
- model.refresh();
- }
- else if (pGoodName.length > 0)
- {
- model.setValue("/root/send/goodlist/goodnm", pGoodName);
- model.refresh();
- }
- }
-
- // 물품검색 기본 KEY SET
- function fGoodListKeySet() {
- model.setValue("/root/send/goodlist/lrgcd" , "");
- model.setValue("/root/send/goodlist/mdlcd" , "");
- model.setValue("/root/send/goodlist/instcd" , model.getValue(opt_instcdgood.attribute("ref" )));
- model.setValue("/root/send/goodlist/reqprid" , model.getValue(cmb_reqpridflag.attribute("ref")));
-
- rszfLMSComboList(model.getValue(cmb_goodflag.attribute("ref")), "", "", "ipt_lrgcd", "", "L","Y");
- ipt_lrgcd.select(0);
- model.setValue("/root/send/goodlist/reqflagnm" , cmb_reqflag.label );
- model.setValue("/root/send/goodlist/reqpridnm" , cmb_reqpridflag.label);
-
- }
-
- // --------------------------------------------------
- // 물품찾기 처리하는 함수
- // --------------------------------------------------
- function fGoodListSearch() {
- misfGridInit(grd_goodlist);
-
- if(model.getValue(opt_instcdgood.attribute("ref")).length == 0 )return;
-
- if (cmb_reqflag.value == ""){
- messageBox("청구구분을 선택하십시요!!", "");
- return;
- }
-
- //
- if (model.getValue("/root/send/goodnm") != "") {
- model.setValue("/root/send/indexnm","");
- }
- model.setValue("/root/send/goodlist/reqprid" , "");
- model.setValue("/root/send/goodlist/instcd" , model.getValue(opt_instcdgood.attribute("ref")));
- // model.setValue("/root/send/goodlist/reqprid" , model.getValue(cmb_reqpridflag.attribute("ref")));
-
- model.setValue("/root/send/goodlist/reqflag" , model.getValue(cmb_reqflag.attribute("ref")));
- //작업구분에 따라서 일반청구인지 처방집계인지 구분
- //청구와 반납일경우는 일반청구 즉 reqcheck Y
- //상비품청구 와 상비품반납일 경우는 처방집계 즉 reqcheck null
-
- model.setValue("/root/send/goodlist/workflag" , "N");
-
- if (cmb_workflag.value ==1 || cmb_workflag.value ==2 ) {
- // model.setValue("/root/send/goodlist/reqcheck" , "Y"); //청구화면임을 서버에 알리는 Key 값
- } else if (cmb_workflag.value ==3 || cmb_workflag.value ==4 || cmb_workflag.value ==5) {
- // model.setValue("/root/send/goodlist/reqcheck" , ""); //청구화면임을 서버에 알리는 Key 값
- model.setValue("/root/send/goodlist/workflag" , "A");
- } else {
- // model.setValue("/root/send/goodlist/reqcheck" , "Y"); //청구화면임을 서버에 알리는 Key 값
- }
-
- submit("TRRSD00406");
-
- model.setValue("/root/send/goodlist/reqflag", "");
- grd_goodlist.refresh();
- }
-
- // --------------------------------------------------
- // 물품찾기 처리하는 함수
- // --------------------------------------------------
- function fReqFlagCheck() {
- // if(cmb_reqflag.value == 'H'){
- // grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = false;
- // }else{
- // grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = true;
- // }
-
- //청구권/승인권 부서 조회.
- //rszfReqDeptGetComboList("cmb_reqdeptcd", opt_instcdgood.value, getUserInfo("userid"), cmb_reqflag.value);
- rszfReqDeptGetComboList("cmb_reqdeptcd", opt_instcdgood.value, '80030647', 'S');
- //청구부서의 순서가 0번째인것을 선택하는데 여기서 부서와 비교해서 cmb_reqdeptcd.select()를
- //해당부서와 동일하게 해서 보여지도록 한다
-
- cmb_reqpridflag.value = '';
- rszfComboReqPridList(cmb_reqpridflag,opt_instcdgood.value,cmb_reqflag.value);
- cmb_reqpridflag.refresh();
- cmb_reqpridflag.select(0);
- /* 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
- */
-
- opt_goodflag.value = rszfGetGoodFlagByReqFlag(opt_instcdgood.value,cmb_reqflag.value);
- fGoodListKeySet(); // 물품검색 기본 KEY SET
-
- if (cmb_reqpridflag.value.length == 0 ) {
- fSetReqAuth();
- btn_search.dispatch("DOMActivate");
- }
-
- //청구 마지막 일자 조회.
- fLastDaySearch();
- //청구일자 기한체크.
- if(fLastDayCheck())
- {
- messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
- ipt_reqdd.value = ipt_todd.value;
- return;
- }
-
- }
- // 청구부서 Set
- function fReqdeptCopy(){
- var cPath = "/root/init/CopyData"
- var sPath = "/root/main/ReqpsnLists/reqpsnlist";
- var tPath = "/root/init/ReqDeptLists/reqdeptlist";
-
- var iDataCnt = getNodesetCount(sPath);
- if (iDataCnt < 1) {
- return;
- }
-
- model.removeNodeset(tPath);
- var iDataCnt = getNodesetCount(sPath);
- var Idx = 1;
-
- // 청구부서를 세션의 부서와 비교해서 cmb_reqdeptcd.select()를
- // 해당부서와 동일하게 해서 보여지도록 한다. 부서가 없을 경우 0번째 부서가 콤보에 보여짐
- // 사용자의 세션부서가 청구부서의 젤 상단에 위치하도록 노드셋 데이터 수정 하는 부분
-
- if ( model.getValue(sPath+"[reqdeptcd='"+ getUserInfo("dutplcecd") + "']" +"/reqdeptnm") !="") {
- model.setValue(cPath+"/value",model.getValue(sPath+"[reqdeptcd='"+ getUserInfo("dutplcecd") + "']" +"/reqdeptcd"));
- model.setValue(cPath+"/label",model.getValue(sPath+"[reqdeptcd='"+ getUserInfo("dutplcecd") + "']" +"/reqdeptnm"));
-
- model.makeNode(tPath+"["+ Idx +"]" );
- model.copyNode(tPath+"["+ Idx +"]", cPath);
- Idx++;
- }
-
- // 청구부서 Set
- for (var k = 1; k <= iDataCnt; k++){
-
- vReqDept = model.getValue(sPath+"["+k+"]/reqdeptcd");
- vReqDeptNm = model.getValue(sPath+"["+k+"]/reqdeptnm");
-
- if ((vReqDeptNm != "" ) &&
- (model.getValue(tPath+"[value='"+ vReqDept + "']" +"/value") == "") ) {
-
- model.setValue(cPath+"/value",vReqDept );
- model.setValue(cPath+"/label",vReqDeptNm);
-
- model.makeNode(tPath+"["+ Idx +"]" );
- model.copyNode(tPath+"["+ Idx +"]", cPath);
-
- Idx++;
-
- } //end if
- } //end for
- cmb_reqdeptcd.refresh();
- cmb_reqdeptcd.select(0);
-
- // fReqpridCopy(); // 청구 주기Set
- }
- // 청구 주기Set
- function fReqpridCopy(){
- var cPath = "/root/init/CopyData"
- var sPath = "/root/main/ReqpsnLists/reqpsnlist";
- var tPath = "/root/init/ReqpridLists/reqpridlist";
- if (model.getValue(cmb_reqdeptcd.attribute("ref")).length== 0 ) {
- messageBox("청구부서를 " ,"C002");
- model.setFocus("cmb_reqdeptcd");
- return;
- }
-
- var iDataCnt = getNodesetCount(sPath);
- if (iDataCnt < 1) {
- return;
- }
-
- model.removeNodeset(tPath);
-
- var Idx = 1;
- var iDataCnt = getNodesetCount(sPath);
- var tReqDept = model.getValue(cmb_reqdeptcd.attribute("ref"));
- for (var k = 1; k <= iDataCnt; k++){
- vReqDept = model.getValue(sPath+"["+k+"]/reqdeptcd");
-
-
- if (vReqDept == tReqDept) {
-
- vReqPrid = model.getValue(sPath+"["+k+"]/reqprid");
- vReqPridNm = model.getValue(sPath+"["+k+"]/reqpridnm");
- if ((vReqPridNm != "" ) &&
- (model.getValue(tPath+"[value='"+ vReqPrid + "']" +"/value") == "") ) {
- model.setValue(cPath+"/value",vReqPrid );
- model.setValue(cPath+"/label",vReqPridNm);
-
- model.makeNode(tPath+"["+ Idx +"]" );
- model.copyNode(tPath+"["+ Idx +"]", cPath);
-
- Idx++;
- }
- }
- }
- if (gPurcdeptflag == "P") { //구매부서구분 : P
- var codynode = instance1.selectNodes(tPath + "/*");
-
- if (codynode.length < 1) {
- model.setValue(cPath+"/value","1" );
- model.setValue(cPath+"/label","일");
- model.makeNode(tPath+"[1]" );
- model.copyNode(tPath+"[1]" , cPath);
-
- model.setValue(cPath+"/value","4" );
- model.setValue(cPath+"/label","월");
- model.makeNode(tPath+"[2]" );
- model.copyNode(tPath+"[2]" , cPath);
-
- model.setValue(cPath+"/value","2" );
- model.setValue(cPath+"/label","주");
- model.makeNode(tPath+"[3]" );
- model.copyNode(tPath+"[3]" , cPath);
- }
- }
- cmb_reqpridflag.select(0);
-
- cmb_reqpridflag.refresh();
- }
- // 청구승인자 Check
- function fPurcAuthInfo() {
-
- gPurcAuth = "1";
- ckb_accept.value = "" ;
-
- var sPath = "/root/main/ReqpsnLists/reqpsnlist";
-
- var iDataCnt = getNodesetCount(sPath);
-
- if (iDataCnt < 1) {
- return;
- }
- model.removeNodeset(tPath);
-
- var iDataCnt = getNodesetCount(sPath);
- var tReqDept = model.getValue(cmb_reqdeptcd.attribute("ref" )); // 청구부서
- var tReqprid = model.getValue(cmb_reqpridflag.attribute("ref")); // 청구주기
-
- for (var k = 1; k <= iDataCnt; k++){
- vReqDept = model.getValue(sPath+"["+k+"]/reqdeptcd");
- vReqprid = model.getValue(sPath+"["+k+"]/reqprid" );
- if ((vReqDept == tReqDept) &&
- (vReqprid == tReqprid) ) {
-
- if (model.getValue(sPath+"["+k+"]/reqaprvflag") == "2") {
- gPurcAuth = "2";
- ckb_accept.value = "Y";
- break;
- }
- }
- }
- }
-
- // 청구부서별 청구번호를 조회한다
- function fDeptReqNoQuery() {
- if (cmb_reqdeptcd.value != "" && // 청구부서
- cmb_reqpridflag.value != "" && // 청구주기
- ipt_reqdd.value != "" && // 청구일자
- cmb_workflag.value != "" ) // 작업구분 의 값이 모두 있을 때 청구 번호를 가져온다. [20080129 YYJ]
- {
- submit("TRRSD00408");
-
- if (getNodesetCount("/root/main/DeptReqnoLists/reqnolist") < 1 ){
- chk_reqnonew.value = "Y";
- fNewReqNoVisibility();
- } else {
- chk_reqnonew.value = "";
- fNewReqNoVisibility();
-
- cmb_reqno.refresh();
- cmb_reqno.select(0);
- }
- }
- }
- // 청구 구분 Check
- function fReqFlagCheck(){
- if(cmb_reqflag.value == 'H'){
- grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = false;
- }else{
- grd_goodreq.colHidden(grd_goodreq.colRef("rgstqty")) = true;
- }
-
- /* 위의 select(0); 에서 cmb_reqpridflag value가 있으면 reqpridflag xforms-value_changed 가 발생한다.
- */
-
- // opt_goodflag.value = rszfGetGoodFlagByReqFlag(opt_instcdgood.value,cmb_reqflag.value);
- fGoodListKeySet(); // 물품검색 기본 KEY SET
-
- if (cmb_reqpridflag.value.length == 0 )
- {
- fSetReqAuth();
- btn_search.dispatch("DOMActivate");
- }
-
- //청구 마지막 일자 조회.
- fLastDaySearch();
- //청구일자 기한체크.
- if(fLastDayCheck())
- {
- messageBox("불출부서의 청구일자기한을 벗어났습니다. \n 다시 입력 하세요.", "");
- ipt_reqdd.value = ipt_todd.value;
- return;
- }
- }
- // 청구구분
- var tReqFlagData = "A." // 01 Y 의료소모품
- + "B." // 02 Z 일반소모품
- + "C." // 03 K 의료비품
- + "D." // 04 G 일반비품
- + "E." // 05 P 약품및재료
- + "F." // 06 P 제제약품
- + "G." // 07 E 장비
- + "H." // 08 P 수액
- + "I." // 09 P 조영제
- + "S." // 10 B 수리관리
- + "X." // 11 T 교환물품
- + "Y." // 12 T 청구물품
- + "Z" ; // 13 T 멸균의뢰
-
- var tReqFlag = tReqFlagData.split(".");
-
- // 물품구분
- var tGoodFlagData = "Y." // 01 의료소모품
- + "Z." // 02 일반소모품
- + "U." // 03 의료비품
- + "G." // 04 일반비품
- + "P." // 05 약품
- + "P." // 06 약품
- + "P." // 07 약품및재료
- + "P." // 08 약품
- + "P." // 09 약품
- + "B." // 10 수리부품
- + "T." // 11 공급실물품
- + "T." // 12 공급실물품
- + "T" ; // 13 공급실물품
- var tGoodFlag = tGoodFlagData.split(".");
- var tPath = "/root/init/cmb_goodflag";
- var sPath = "/root/init/cmb_goodflagcopy";
-
- //
- function fReqFagChange(pReqFlag) {
-
- for (i = 0; i < tReqFlag.length; i++) {
- if (tReqFlag[i] == pReqFlag) {
- cmb_goodflag.value = tGoodFlag[i];
- cmb_goodflag.refresh();
- break;
- }
- }
-
- // cmb_goodflag.select(0); //청구구분
- }
-
- //부서찾기 기능 설정
- function fSetTempDept() { //부서찾기 기능 설정(구매팀일경우에만)
- if ( gPurcdeptflag == "P"){
- cpt_dept.attribute("visibility") = "visible";
- ipt_tempdeptcd.attribute("visibility") = "visible";
- ipt_tempdeptnm.attribute("visibility") = "visible";
- btn_tempdeptcd.attribute("visibility") = "visible";
- // btn_purcdept.attribute("visibility") = "visible";
-
- }else {
- cpt_dept.attribute("visibility") = "hidden";
- ipt_tempdeptcd.attribute("visibility") = "hidden";
- ipt_tempdeptnm.attribute("visibility") = "hidden";
- btn_tempdeptcd.attribute("visibility") = "hidden";
- // btn_purcdept.attribute("visibility") = "hidden";
- }
- }
- //조회해온 부서를 청구부서 콤보에 붙이는 함수
- function fAddReqDeptcdCombo() {
- //tempdeptcd에 값을 reqdetpcd(청구부서) 콤보에 값을 부어준다 (makevaluie)
- var cPath = "/root/init/CopyData" //임시카피노드
- var sPath = "/root/tempdept"; //서버에서가져온부서정보노드
- var tPath = "/root/init/ReqDeptLists/reqdeptlist"; //청구부서 콤보노드
-
- var iDataCnt = getNodesetCount(sPath); //서버에서 가져온 부서정보노드(무조건 1 아님 0)
-
- if ( iDataCnt < 1)
- {
- return;
- }
- //model.removeNodeset(tPath);
-
- var ComboDataCnt = parseInt( getNodesetCount(tPath) ) +1 ; //콤보에 노드길이(숫자형으로형변환)
-
- var vTempDeptCd = model.getValue(sPath+"[1]/tempdeptcd");
- var vTempDeptNm = model.getValue(sPath+"[1]/tempdeptnm");
-
- if ( vTempDeptCd != "" )
- {
- model.setValue(cPath + "/value" , vTempDeptCd );
- model.setValue(cPath + "/label" , vTempDeptNm );
-
- model.makeNode(tPath + "["+ComboDataCnt +"]" );
- model.copyNode(tPath + "[" +ComboDataCnt +"]", cPath); //노드에 데이터 부어줌
-
- cmb_reqdeptcd.refresh();
- cmb_reqdeptcd.select(ComboDataCnt-1);
- }
-
- cmb_reqdeptcd.refresh();
- }
-
- // 기관이 변경될 경우 처리
- function fInstcdChange(pInstcd) {
- misfGridInit(grd_goodreq);
-
- if (pInstcd == '103' ) {
- cmb_studyinstcd.value = '';
- cmb_studyinstcd.disabled = true;
- cmb_groupbugt.disabled = false;
- // fAcctDataClear();
- }else{
- cmb_groupbugt.disabled = true;
- cmb_studyinstcd.disabled = false;
- cmb_studyinstcd.select(0);
- fAcctDataClear();
- }
- ipt_stdysubjno.value = '';
- ipt_stdysubjnm.value = '';
-
- rszfUserReqFlagList(cmb_reqflag, rdo_instcd.value, getUserInfo("userid"),"1","S"); // preqpgmgubun : '1' :구매재고 , S :청구ALL
-
- //model.setValue(cmb_groupbugt.attribute("ref") , "");
- rszfComboBgcdBugtList("cmb_groupbugt" , rdo_instcd.value, '1');
-
- model.refresh();
- }
-
- // 예산계정 Clear
- function fAcctDataClear() {
- model.removeNodeset("/root/main/BugLists/bugtlist");
-
- model.setValue(cmb_bugtflag.attribute("ref") , "");
- model.setValue(opt_totamt.attribute("ref") , "");
- model.setValue(opt_projectid.attribute("ref") , "");
- model.setValue(opt_projectnm.attribute("ref") , "");
- model.setValue(opt_totamt.attribute("ref") , "");
- model.setValue(opt_bugtexpcamt.attribute("ref") , "");
- model.setValue(opt_bugtexecamt.attribute("ref") , "");
- model.setValue(opt_remainder.attribute("ref") , "");
- }
-
- // 예산계정 Set
- function fBugtflagChange() {
- if (cmb_bugtflag.value == "") return;
-
- var vPath = "/root/main/BugLists/bugtlist["+(cmb_bugtflag.focusIndex+1)+"]";
-
- model.setValue(opt_projectid.attribute("ref") , model.getvalue(vPath+"/projectid" ));
- model.setValue(opt_projectnm.attribute("ref") , model.getvalue(vPath+"/projectnm" ));
- model.setValue(opt_totamt.attribute("ref") , model.getvalue(vPath+"/totamt" ));
- model.setValue(opt_bugtexpcamt.attribute("ref") , model.getvalue(vPath+"/bugtexpcamt"));
- model.setValue(opt_bugtexecamt.attribute("ref") , model.getvalue(vPath+"/bugtexecamt"));
- model.setValue(opt_remainder.attribute("ref") , model.getvalue(vPath+"/remainder" ));
- model.refresh();
- }
-
- // 작업구분 변경될 경우 처리
- function fWorkFlagChange() {
- misfGridInit(grd_goodlist);
-
- var updtdata = getGridUpdateData(grd_goodreq);
-
- if ( cmbworkflagold != cmb_workflag.value ) {
- if (updtdata != "") {
- var ret = messageBox("그리드에 작업 중인 내용이 있습니다. 작업구분 변경을","Q003");
- if (ret != 6) { // not OK 예전의 콤보값으로 돌아간다
- cmb_workflag.select( parseInt(cmbworkflagold)-1 );
- return;
- }else{
- misfGridInit(grd_goodreq);
-
- // fDeptReqNoQuery(); // 청구부서별 청구번호를 조회한다
-
- // if (cmb_reqno.value != "") btn_search.dispatch("DOMActivate");
- } // end else
- } // end if
- } // end if
- }
-
- // 데이타 조회 처리
- function fSearchData(pReqNoCheck) {
- // 수정된자료를 CHECK 한다.
- if (fCheckRetrieveData(false) == false)return;
-
- misfGridInit(grd_goodreq); // Data Clear
-
- if (pReqNoCheck != "P") {
- if (model.getValue(cmb_reqno.attribute("ref")) == "") return;
- }
-
- misfMsterDetailRetrieve(); // Data Query
-
- // 권한여부에 따른 승인체크 설정.
- fGrantsCheck();
-
- for(var fRow = grd_goodreq.fixedRows; fRow < grd_goodreq.rows ; fRow++ ) {
- if (model.getValue(grd_goodreq.nodeset + "[" + fRow + "]/allsizeyn") =="Y") {
- grd_goodreq.cellstyle("background-color" , fRow, 9) = "#FFFF00";
- }
-
- if (grd_goodreq.valueMatrix(fRow, grd_goodreq.colRef("acptflag")) == "Y") {
- grd_goodreq.isReadOnly(fRow, grd_goodreq.fixedCols-1, fRow, grd_goodreq.cols-1) = true;
- }
- }
-
- model.refresh();
-
- }
-
-
- /* ------------------------------------------------- */
- /* ------End Of List ------------------------------- */
- /* -------------------------------------------------- */
|