/** - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ MIS - 기관별약품코드등록 ( SMRSC05402_기관별약품코드등록.xrw - JScript ) - Version : 1) : Ver.1.00.01 - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ **/ /** * @desc : 화면 초기화 * @param : Ref : RsltRef * @return : void * @authur : 주희경,수정->이창록 * @--------------------------------------------------- */ var vGoodNew = "U"; //U:UPDATE, N:NEW function fInitialize() { fNodeInit(); model.resetInstanceNode("/root/send"); model.setValue("/root/send/goodlist/instflag", "Y"); model.setValue("/root/send/save/setautoins/setyn","N"); misfGridIUD(grd_gooddetlist, "A"); misfComboComCdListMulti("R0092,R0043,R0069,R0106,R0093,R0107","cmb_reqmthd,cmb_asetflag,cmb_stocmngtflag,cmb_plceordqtycretflag,cmb_reqprid,cmb_plceordbase"); //rszfReqFlagComboComCdList(getUserInfo("userid"),cmb_reqflag,"Y"); rszfUserReqFlagList(cmb_reqflag,getUserInfo("dutplceinstcd"),getUserInfo("userid"),"2","P" ); //rszfComboAppendChild("cmb_reqflag","청구불가",""); addComboItem( "cmb_reqflag", "집계안함", "", "above" ); rszfComboGridStockArthDeptcdList(grd_goodbaseqtylist, "reqdeptcd", getUserInfo("dutplceinstcd"),"P" ); //기관코드 읽어오는 부분 넣기 var instcd = getUserInfo("dutplceinstcd"); var instnm = getUserInfo("dutplceinstnm"); //var instcd = getUserInfo("dutplceinstcd"); //var instnm = getUserInfo("dutplceinstnm"); if(instcd.length > 0)model.setValue(opt_instcd.attribute("ref"), instcd); if(instnm.length > 0)model.setValue(opt_instnm.attribute("ref"), instnm); //물품구분일 경우 첫번째 index 자동 설정 if(cmb_asetflag.length> 0) cmb_asetflag.selectedindex= 0; model.setValue(grd_gooddetlist.nodeset + "/goodflag", model.getValue(ipt_goodflag_search.attribute("ref"))); model.copyNode("/root/main/gooddet/gooddetlist","/root/main/list/gooddet/gooddetlist"); //misfMsterDetailSet(grd_goodlist,null, "TRRSC05301" ,"Y"); misfMsterDetailSet(grd_goodlist,null, "TRRSC05313" ,"Y"); misfMsterDetailSet(grd_gooddetlist,grd_goodlist, "TRRSC05302" ,"Y"); misfMsterDetailSet(grd_costhistinfo,grd_goodlist, "TRRSC05302" ,"N"); misfMsterDetailSet(grd_instinfo,grd_goodlist, "TRRSC05302" ,"N"); misfMsterDetailSet(grd_goodbaseqtylist,null, "TRRSC05305" ,"Y"); misfMsterDetailSet(grd_rscdpbnslist,null, "TRRSC05403" ,"Y"); // misfMsterDetailSet(grd_gooddetgoodexcellist, null, "TRRSC05402" , "N"); //[2010.08.26]AS-IS 코드 TO_BE 코드 전환을 위한 물품구분 변경 (goodflag= P) => (goodflag= PH) model.setValue(ipt_goodflag.attribute("ref"),"PH"); model.setValue(ipt_goodflag_search.attribute("ref"),"PH"); /* 처방단위는 unit 기준정보를 다른걸로 사용한다. */ rszfComboUnitList (cmb_prcpunit,model.getValue(opt_instcd.attribute("ref")),"D"); /* 구매단위는 기준정보 셋팅한다. 및 copy한다. */ rszfComboUnitList (cmb_purcunit,model.getValue(opt_instcd.attribute("ref")),model.getValue(ipt_goodflag_search.attribute("ref"))); misfComboCopyItemSet(cmb_purcunit, "", cmb_specunit, ""); //규격단위 misfComboCopyItemSet(cmb_purcunit, "", cmb_cntsunit, ""); //함량단위 misfComboCopyItemSet(cmb_purcunit, "", cmb_deliveunit, ""); //수불단위 misfComboCopyItemSet(cmb_purcunit, "", grd_rscdpbnslist, "deliveunit"); //수불단위 misfComboCopyItemSet(cmb_purcunit, "", grd_rscdpbnslist, "purcunit"); //발주단위 // 물품구분별 권한 fSetGoodFlagAuth(); rbo_instflag.select(0); // model.setValue(rbo_instflag.attribute("ref"), "Y"); rbo_exactsearch1.select(1) // model.setValue(rbo_exactsearch1.attribute("ref"), "Y"); grd_goodlist.explorerbar = "sortshow"; model.setFocus("ipt_goodcd"); model.refresh(); } function fNodeInit() { misfGridInit(grd_goodlist); misfGridInit(grd_gooddetlist); misfGridInit(grd_costhistinfo); misfGridInit(grd_instinfo); misfGridInit(grd_goodbaseqtylist); misfGridInit(grd_gooddetgoodexcellist); misfGridInit(grd_rscdpbnslist); } function fGetCodeList() { //계산방법, 그룹여부, 실사장소, 변경사유 zbcfGetCodeList( new Array("P0133","P0142", "R0355", "R0356"), new Array("/root/init/P0133list","/root/init/P0142list", "/root/init/R0355list","/root/init/R0356list"), true); addComboItem( "cmb_nonusetretresn", "-", "", "above" ); //P0133list의 코드 데이터 중 코드번호(-,1,4)만 사용하기 위해 //P0133list의 코드 데이터 중 코드번호(-,1,4)만 제외 하고 모두 삭제 fsetP0133listData(); //P0142list의 코드 데이터 중 코드번호(G,S)만 사용하기 위해 //P0142list의 코드 데이터 중 코드번호(G,S)만 제외 하고 모두 삭제 fsetP0142listData(); } //보나에스 저장 function fSaveRscdpbnsList() { if(getGridUpdateData(grd_rscdpbnslist) != "" ) { // if(!checkKeyColumn("grd_rscdpbnslist"))return false; if( fBnsValidCheck()!= true ) return false; //misfSave("TXRSC05403"); model.setValue("/root/send/save/rscdpbnslist", grd_rscdpbnslist.getUpdateData()); submit("TXRSC05403"); return true; } return false; } function fSaveGoodbaseQtyList() { if(getGridUpdateData(grd_goodbaseqtylist) != "" ) { if( fBaseQtyValidCheck()!= true ) return false; model.setValue("/root/send/save/goodbaseqtylist", grd_goodbaseqtylist.getUpdateData()); submit("TXRSD00101"); return true; } return true; } //세부항목 조회시 기관코드 설정. function fInstcdSet() { if(rbo_instflag.value == 'Y') { model.setValue("/root/send/gooddetlist/instcd", opt_instcd.value); }else{ //사용기관 선택이 안되어있을시.. if(grd_instinfo.row < grd_instinfo.fixedRows) { grd_instinfo.row = grd_instinfo.fixedRows; } model.setValue("/root/send/gooddetlist/instcd", grd_instinfo.valueMatrix(grd_instinfo.row, grd_instinfo.colRef("instcd"))); } } function fRetrGoodList(nodecopy, detailYN) { model.resetInstanceNode("/root/main/gooddet/gooddetlist"); fInstcdSet(); fSetinstData(); if ( detailYN == null ) misfMsterDetailRetrieve2(); //마스터 테이블에 데이터가 조회 되었을 경우에만 디테일 테이블 조회 if ( grd_goodlist.rows > 1 ) { var row = grd_goodlist.row; if ( row < 1 ) row = 1; fSearchDetailData(); if ( btn_sub.selected ) model.setValue("/root/send/goodbaseqty/instcd", model.getValue(opt_instcd.attribute("ref"))); else model.setValue("/root/send/goodbaseqty/instcd", "001"); model.setValue("/root/send/goodbaseqty/goodflag", model.getValue(ipt_goodflag_search.attribute("ref"))); model.setValue("/root/send/goodbaseqty/goodcd", grd_goodlist.valueMatrix(row, grd_goodlist.colRef("goodcd")) ); submit("TRRSC05305"); //보나에스 코드 조회. //보나에스 코드 조회하기 위해 조회값 goodcd 설정. 물품 코드는 통합 Master RSCMGOOD의 코드 ( grd_goodlist )의 값 model.setValue("/root/send/rscdpbns/goodcd", grd_goodlist.valueMatrix(row, grd_goodlist.colRef("goodcd")) ); // if( grd_gooddetlist.rows- grd_gooddetlist.fixedRows > 0 ) // grd_gooddetlist.row = grd_gooddetlist.fixedRows + 1; //보나에스 코드 조회하기 위해 조회값 goodcd 설정. 기관내에 물품 코드가 존재한다면 Detail의 값으로 조회 /* model.setValue("/root/send/rscdpbns/fromdd", grd_gooddetlist.valueMatrix(grd_gooddetlist.row, grd_gooddetlist.colRef("fromdd")) ); model.setValue("/root/send/rscdpbns/instcd", grd_gooddetlist.valueMatrix(grd_gooddetlist.row, grd_gooddetlist.colRef("instcd")) ); model.setValue("/root/send/rscdpbns/goodflag", grd_gooddetlist.valueMatrix(grd_gooddetlist.row, grd_gooddetlist.colRef("goodflag")) ); */ model.setValue("/root/send/rscdpbns/fromdd", model.getValue("/root/main/list/gooddet/gooddetlist/fromdd") ); if ( btn_sub.selected ) model.setValue("/root/send/rscdpbns/instcd", model.getValue("/root/main/list/gooddet/gooddetlist/instcd") ); else model.setValue("/root/send/rscdpbns/instcd", "001"); model.setValue("/root/send/rscdpbns/goodflag", grd_goodlist.valueMatrix(row, grd_goodlist.colRef("goodflag")) ); submit("TRRSC05403"); model.recalculate(); //jhj 잠시 주석 if(nodecopy == true)fAfterRetrGoodList(); // 보나에스 데이터 존재시 if (grd_rscdpbnslist.rows- grd_rscdpbnslist.fixedRows > 0) { /* 2008 08 24 YYJ * 상세 화면에서 보나에스 정보를 수정 할 수 있도록 변경처리 */ // fBnsSetData(true); // 보나에스 코드가 2개 이상일 경우 보나에스(포장단위)Tab 활성화 if (grd_rscdpbnslist.rows- grd_rscdpbnslist.fixedRows > 1) { bbt_bonaes.dispatch("DOMActivate"); bbt_bonaes.selected="true"; } } //else if( nodecopy == false)btn_insert.dispatch("DOMActivate"); } else fNodeInit(); } function fSetinstData() { //기관코드 읽어오는 부분 넣기 var instcd = getUserInfo("dutplceinstcd"); var instnm = getUserInfo("dutplceinstnm"); //var instcd = getUserInfo("dutplceinstcd"); //var instnm = getUserInfo("dutplceinstnm"); if(instcd.length > 0 && btn_sub.selected) { model.setValue("/root/send/gooddetlist/instcd", instcd); model.setValue(opt_instcd.attribute("ref"), instcd); } else { model.setValue("/root/send/gooddetlist/instcd", "001"); model.setValue(opt_instcd.attribute("ref"), "001"); } if(instnm.length > 0)model.setValue(opt_instnm.attribute("ref"), instnm); } //조회를 하고 난후 초기화 function fSetlinit() { ipt_goodcd_search.value=""; ipt_oldcd_search.value=""; ipt_edicd_search.value=""; ipt_goodnm_search.value=""; ipt_bnscd_search.value=""; //판매회사 초기화 ipt_suppcustcd_search.value=""; opt_suppcustnm_search.value=""; //대분류 초기화 ipt_lrgcd_search.value=""; ipt_lrgnm_search.value=""; //중분류 초기화 ipt_mdlcd_search.value=""; ipt_mdlnm_search.value=""; //소분류 초기화 ipt_smlcd_search.value=""; ipt_smlnm_search.value=""; } // 물품구분별 권한체크. function fSetGoodFlagAuth() { btn_save.disabled=true; rszfGetPurcGoodFlagAuthInfo(opt_instcd.value , ipt_goodflag_search.value, getUserInfo("userid"), "%"); if(rszfGetGoodFlagAuthInfoByCond("goodflagauth") =="Y")btn_save.disabled=false; } function fCheckSaveData() { if(model.getValue(ipt_goodcd.attribute("ref")).length== 0 ) { messageBox("물품코드는" ,"I003"); model.setFocus("ipt_goodcd"); return false; } /* if(model.getValue(ipt_goodnm.attribute("ref")).length== 0 ) { messageBox("물품코드명은" ,"I003"); model.setFocus("ipt_goodnm"); return false; } */ if(model.getValue(ipt_lrgcd.attribute("ref")).length== 0 ) { messageBox("대분류코드는" ,"I003"); model.setFocus("ipt_lrgcd"); return false; } if(model.getValue(ipt_amtacnt.attribute("ref")).length== 0 ) { messageBox("비용계정은" ,"I003"); model.setFocus("ipt_amtacnt"); return false; } if(model.getValue(ipt_mngtdeptcd.attribute("ref")).length== 0 ) { messageBox("주관리부서는" ,"I003"); model.setFocus("ipt_mngtdeptcd"); return false; } //hbh if(model.getValue(cmb_reqmthd.attribute("ref")).length== 0 ) { messageBox("청구방법은" ,"I003"); model.setFocus("cmb_reqmthd"); return false; } if(model.getValue(cmb_purcunit.attribute("ref")).length== 0 ) { messageBox("구매단위은" ,"I003"); model.setFocus("cmb_purcunit"); return false; } if(model.getValue(ipt_exchqty.attribute("ref")).length== 0 ) { messageBox("환산수량은" ,"I003"); model.setFocus("ipt_exchqty"); return false; } /* if(model.getValue(cmb_deliveunit.attribute("ref")).length== 0 ) { messageBox("불출단위는" ,"I003"); model.setFocus("cmb_deliveunit"); return false; } */ if(model.getValue(cmb_stocmngtflag.attribute("ref")).length== 0 ) { messageBox("재고관리기준은" ,"I003"); model.setFocus("cmb_stocmngtflag"); return false; } if(model.getValue(cmb_asetflag.attribute("ref")).length== 0 ) { messageBox("자산구분은" ,"I003"); model.setFocus("cmb_asetflag"); return false; } if(model.getValue(ipt_nonusetretdd.attribute("ref")).length > 0 && model.getValue(ipt_nonusetretdd.attribute("ref")) <= getCurrentDate() && model.getValue(cmb_nonusetretresn.attribute("ref")) == 0) { messageBox("코드 불용일자를 선택하신 경우에는 불용사유가 " ,"I003"); model.setFocus("cmb_nonusetretresn"); return false; } // if(model.getValue(ipt_toconterm.attribute("ref")).length > 0 && (model.getValue(ipt_toconterm.attribute("ref")) < model.getValue(ipt_fromconterm.attribute("ref"))) ) // { // messageBox("계약시작일자는 계약 종료일자보다 크게 설정","E001"); // model.setFocus("ipt_fromconterm"); // return false; // // } // // if(model.getValue(ipt_fromconterm.attribute("ref")).length > 0 && (model.getValue(ipt_toconterm.attribute("ref")) < model.getValue(ipt_fromconterm.attribute("ref"))) ) // { // messageBox("계약시작일자는 계약 종료일자보다 크게 설정","E001"); // model.setFocus("ipt_toconterm"); // return false; // } // if ( btn_sub.selected == true ) { for(var i = grd_costhistinfo.fixedRows; i < grd_costhistinfo.rows; i++) { if(grd_costhistinfo.valueMatrix(i, grd_costhistinfo.colRef("fromdd")) == ipt_fromdd.value) { var tempmag = (messageBox("이력정보에 등록 되어있는 날짜입니다. 새로운 적용일자로 입력하시겠습니까? ", "S999")); if(tempmag=="6" || tempmag=="2") { model.setFocus("ipt_fromdd"); return false; } } } } return true; } function fAfterRetrGoodList() { if (grd_gooddetlist.rows == 0 )btn_insert.dispatch("DOMActivate"); model.copyNode("/root/main/gooddet/gooddetlist","/root/main/list/gooddet/gooddetlist"); if(model.getValue(ipt_nonusetretdd.attribute("ref")).length > 0 && model.getValue(ipt_nonusetretdd.attribute("ref")) < getCurrentDate())ipt_nonusetretdd.attribute("background-color") = "#c0c0c0"; else ipt_nonusetretdd.attribute("background-color") = "#ffffff"; grp_detail.refresh(); grp_etcgood.refresh(); grd_gooddetlist.row = 1; model.setFocus("ipt_goodcd"); } function fCheckAuth() { //btn_search.disabled = !checkAuth("R") ; //btn_save.disabled = !checkAuth("X") ; //btn_prt.disabled = !checkAuth("P") ; } function fSetDataCopy(){ if(grd_gooddetlist.rows < grd_goodlist.fixedRows)grd_gooddetlist.row = 1; fGoodOldNewCompare(); // 변경Column Check misfGridRowStatusChange(grd_gooddetlist,"/root/main/list/gooddet" , "/root/main/gooddet"); grp_detail.refresh(); } function fDefaultSetting() { model.setValue(grd_gooddetlist.nodeset + "/goodflag" , model.getValue(ipt_goodflag_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/goodcd" , ""); model.setValue(grd_gooddetlist.nodeset + "/fromdd" , getCurrentDate()); model.setValue(grd_gooddetlist.nodeset + "/lrgcd" , model.getValue(ipt_lrgcd_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/lrgnm" , model.getValue(ipt_lrgnm_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/mdlcd" , model.getValue(ipt_mdlcd_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/mdlnm" , model.getValue(ipt_mdlnm_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/smlcd" , model.getValue(ipt_smlcd_search.attribute("ref"))); model.setValue(grd_gooddetlist.nodeset + "/smlnm" , model.getValue(ipt_smlnm_search.attribute("ref"))); // hbh model.setValue(grd_gooddetlist.nodeset + "/instcd" ,getUserInfo("dutplceinstcd")); model.setValue(grd_gooddetlist.nodeset + "/useyn" ,'Y'); model.setValue(grd_gooddetlist.nodeset + "/reqmthd" ,'1'); model.setValue(grd_gooddetlist.nodeset + "/purcflag" ,'1'); model.setValue(grd_gooddetlist.nodeset + "/reqflag" ,''); // 청구불가 셋팅. 'E'에서 변경 model.setValue(grd_gooddetlist.nodeset + "/reqprid" ,'1'); model.setValue(grd_gooddetlist.nodeset + "/asetflag" ,'1'); model.setValue(grd_gooddetlist.nodeset + "/gnrlspcl" ,'N'); model.setValue(grd_gooddetlist.nodeset + "/specldrug" ,'N'); model.setValue(grd_gooddetlist.nodeset + "/todd" ,'99991231'); model.setValue(grd_gooddetlist.nodeset + "/grupsnglflag", "S"); model.setValue(grd_gooddetlist.nodeset + "/orginspplce", "01"); model.setValue(grd_gooddetlist.nodeset + "/calcmthdcd", "-"); } function fChkSaveData(pgrid_name, ptarget_node, psource_node) { var node1 = instance1.selectNodes(ptarget_node + "/*"); var node2 = instance1.selectNodes(psource_node + "/*"); for (var i = 0; i < node1.length ; i++) { for (var j = 0; j < node2.length; j++) { if (node1.item(i).nodeName == node2.item(j).nodeName) { var nextnode1 = instance1.selectNodes(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/*"); var nextnode2 = instance1.selectNodes(psource_node + "/" + node2.item(j).nodeName + "/*"); var copytarget = ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]"; var copysource = psource_node + "/" + node2.item(j).nodeName; for (var k = 0; k < nextnode1.length; k++) { for (var p = 0; p < nextnode2.length; p++) { if (nextnode1.item(k).nodeName == nextnode2.item(p).nodeName) { if (model.getValue(ptarget_node + "/" + node1.item(i).nodeName + "[" + (pgrid_name.row - pgrid_name.fixedRows + 1) + "]" + "/" + nextnode1.item(k).nodeName) != model.getValue(psource_node + "/" + node2.item(j).nodeName + "/" + nextnode2.item(p).nodeName))return true; } } } } } } return false; } function fCheckRetrieveData() { if(model.getValue(ipt_goodflag_search.attribute("ref")).length== 0 ) { messageBox("물품구분을 " ,"C002"); model.setFocus("ipt_goodflag_search"); return false; } /* if(model.getValue(ipt_lrgcd_search.attribute("ref")).length== 0 && model.getValue(ipt_oldcd_search.attribute("ref")).length== 0 ) { messageBox("대분류코드를 " ,"C002"); model.setFocus("ipt_lrgcd_search"); return false; } if(model.getValue(ipt_goodcd_search.attribute("ref")).length == 0 && model.getValue(ipt_goodnm_search.attribute("ref")).length < 4) { messageBox("물품코드 또는 물품명에 최소 2자리를" ,"C001"); model.setFocus("ipt_goodcd_search"); return false; } */ return true; } function fInstGoodCdCopy() { if(grd_goodlist.row - grd_goodlist.fixedRows == 0)return; btn_insert.dispatch("DOMActivate"); model.SetValue(ipt_goodcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodcd")); model.SetValue(ipt_goodnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodnm")); model.SetValue(ipt_goodhngnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodhngnm")); model.SetValue(ipt_goodengnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/goodengnm")); model.SetValue(ipt_lrgcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/lrgcd")); model.SetValue(ipt_lrgnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/lrgnm")); model.SetValue(ipt_mdlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/mdlcd")); model.SetValue(ipt_mdlnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/mdlnm")); model.SetValue(ipt_smlcd.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/smlcd")); model.SetValue(ipt_smlnm.attribute("ref"),model.getValue(grd_goodlist.nodeset+"["+grd_goodlist.row+"]/smlnm")); model.refresh(); model.setFocus("ipt_winacnt"); } function fGoodCdCopy() { if(model.getValue(ipt_goodflag_search.attribute("ref")).length== 0 ) { messageBox("물품구분을 " ,"C002"); model.setFocus("ipt_goodflag_search"); return false; } if(model.getValue(ipt_lrgcd.attribute("ref")).length== 0 ) { messageBox("대분류코드를 " ,"C002"); model.setFocus("ipt_lrgcd"); return false; } if(model.getValue(ipt_mdlcd.attribute("ref")).length== 0 ) { messageBox("중분류코드를 " ,"C002"); model.setFocus("ipt_mdlcd"); return false; } model.setValue("/root/send/goodcopy/goodflag", model.getValue(ipt_goodflag_search.attribute("ref"))); model.setValue("/root/send/goodcopy/lrgcd", model.getValue(ipt_lrgcd.attribute("ref"))); model.setValue("/root/send/goodcopy/mdlcd", model.getValue(ipt_mdlcd.attribute("ref"))); submit("TRRSC05303"); var goodcd = model.getValue("/root/main/goodcopy/goodlist/goodcd"); if(goodcd.length == 0)goodcd = model.getValue(ipt_goodflag_search.attribute("ref")) + model.getValue(ipt_lrgcd.attribute("ref")) + model.getValue(ipt_mdlcd.attribute("ref")) + "0001"; model.setValue(ipt_goodcd.attribute("ref"), goodcd); grp_detail.refresh(); } function fInsertGoodDataListCopy() { if(btn_instcd.selected == true) { if( grd_instinfo.row > (grd_instinfo.fixedRows - 1) ) { grd_instinfo.dispatch("ondblclick"); grd_gooddetlist.valueMatrix(grd_gooddetlist.row, grd_gooddetlist.colRef("instcd")) = getUserInfo("dutplceinstcd"); model.setValue("/root/main/gooddet/gooddetlist/instcd", getUserInfo("dutplceinstcd")); grd_gooddetlist.addStatus(grd_gooddetlist.row, "insert"); // model.refresh(); //grp_detail.disabled = false; }else{ messageBox("사용기관정보의 기관을 선택하신후 다시 작업해주세요.", "I999"); } }else{ messageBox("사용기관정보를 선택하신 후 다시 작업해주세요.", "I999"); } } /*---------------------------------------------------------------- * DRUGTYPE : 대분류 + 조영제 값을 체크하여 약국분류를 만듦 reqflag = 'I' 이면 'I' else lrgcd ----------------------------------------------------------------*/ function fSetDrugtype(pReqflag) { if (pReqflag == "I") opt_drugkind.value = pReqflag ; else opt_drugkind.value = ipt_lrgcd.value ; } function fupdatacheck() { var tempdd=grd_gooddetlist.valueMatrix(grd_gooddetlist.fixedRows, grd_gooddetlist.colRef("fromdd")); misfGridRowStatusChange(grd_gooddetlist, "/root/main/list/gooddet", "/root/main/gooddet"); grd_gooddetlist.refresh(); if(( getGridUpdateData(grd_gooddetlist)== "" ) && (getGridUpdateData(grd_rscdpbnslist)=="" )&& (getGridUpdateData(grd_goodbaseqtylist)=="" )) { messageBox("변경내역이 없습니다. ", "I999"); return; } if(grd_gooddetlist.rowStatus(grd_gooddetlist.fixedRows) == 2 && btn_main.selected == true ) { if(tempdd==grd_gooddetlist.valueMatrix(grd_gooddetlist.fixedRows, grd_gooddetlist.colRef("fromdd"))) { var tempmag = (messageBox("적용일자가 변경되지않았습니다 새로운 적용일자로 입력하시겠습니까? ", "S999")); if(tempmag=="6" || tempmag=="2") { model.setFocus("ipt_fromdd"); return 6; } } } model.refresh(); } function fBnsValidCheck () { if( grd_rscdpbnslist.rows- grd_rscdpbnslist.fixedRows > 0) { for( cnt = grd_rscdpbnslist.fixedRows; cnt < grd_rscdpbnslist.rows; cnt++ ) { if( grd_rscdpbnslist.rowStatus(cnt) != 0 ) { if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("bnscd")).length== 0 ) { messageBox("도매상코드를 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("bnscd"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("exchqty")).length== 0 ) { messageBox("낱개수량을 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("exchqty"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("deliveunit")).length== 0 ) { messageBox("낱개단위를 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("deliveunit"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("purcunit")).length== 0 ) { messageBox("포장단위를 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("purcunit"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("goodunitcost")).length== 0 ) { messageBox("구입단가를 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("goodunitcost"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("goodpurccost")).length== 0 ) { messageBox("구입가를 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("goodpurccost"); return false; } else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("goodcd")).length== 0 ) { if ( model.getValue( ipt_goodcd.attribute("ref") ).length !=0 ) { grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("goodcd")) = model.getValue( ipt_goodcd.attribute("ref") ); } else { messageBox("약품품코드는" ,"I003"); model.setFocus("ipt_goodcd"); return false; } } } } } return true; } function fBaseQtyValidCheck () { if( grd_goodbaseqtylist.rows- grd_goodbaseqtylist.fixedRows > 0) { for( cnt = grd_goodbaseqtylist.fixedRows; cnt < grd_goodbaseqtylist.rows; cnt++ ) { if( grd_goodbaseqtylist.rowStatus(cnt) != 0 ) { if(grd_goodbaseqtylist.valueMatrix(cnt, grd_goodbaseqtylist.colRef("reqdeptcd")).length== 0 ) { messageBox("재고관리부서 " ,"C002"); grd_goodbaseqtylist.row = cnt; grd_goodbaseqtylist.col = grd_rscdpbnslist.colRef("reqdeptcd"); return false; } /*else if(grd_rscdpbnslist.valueMatrix(cnt, grd_rscdpbnslist.colRef("basevol")).length== 0 ) { messageBox("안전재고량을 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("basevol"); return false; } */ else if(model.getValue(grd_goodbaseqtylist.attribute("nodeset")+"["+cnt+"]/basevol") == '') { messageBox("안전재고량을 " ,"C002"); grd_rscdpbnslist.row = cnt; grd_rscdpbnslist.col = grd_rscdpbnslist.colRef("basevol"); return false; } } } } return true; } /** 2008.08.04 YYJ 상태에 따른 활성화 / 비활성화 설정 ( 보나에스 정보로 Setting 여부 ) 보나에스 데이터 존재시 사용자 임의로 데이터를 수정 하지 못하고, 보나에스 Tab에서 데이터 지정하여 반영하기로 함. * 신규 입력시 직접 입력 가능하도록 풀어준다. ipt_exchqty // 낱개수량 cmb_deliveunit // 낱개단위 cmb_purcunit // 포장단위 ipt_goodunitcost // 구입단가 ipt_goodpurccost // 구입가 2008.08.24 YYJ 상세 화면에서 데이터 수정하더라도.. 보나에스 코드에 반영되도록 수정처리 함 */ function fBnsSetData( vStatus ) { ipt_exchqty.disabled = vStatus; cmb_deliveunit.disabled = vStatus; cmb_purcunit.disabled = vStatus; ipt_goodunitcost.disabled = vStatus; ipt_goodpurccost.disabled = vStatus; model.refresh(); } function fsetP0133listData() { var ins = document.models( 0 ).instances( 0 ); var P0133_nodelist = ins.selectNodes( "/root/init/P0133list/P0133" ); var length = P0133_nodelist.length; for ( i=length-1; i>0; i-- ) { var P0133_node = P0133_nodelist.item(i).childnodes; //P0133list의 코드 데이터 중 코드번호(-,1,4)만 사용하기 위해 //P0133list의 코드 데이터 중 코드번호(-,1,4)만 제외 하고 모두 삭제 if( P0133_node.item(0).value != "-" && P0133_node.item(0).value != "1" && P0133_node.item(0).value != "4") { var pNode = P0133_nodelist.item(i).parentNode; pNode.removeChild(P0133_nodelist.item(i)); } } } function fsetP0142listData() { var ins = document.models( 0 ).instances( 0 ); var P0142_nodelist = ins.selectNodes( "/root/init/P0142list/P0142" ); var length = P0142_nodelist.length; for ( i=length-1; i>0; i-- ) { var P0142_node = P0142_nodelist.item(i).childnodes; //P0142list의 코드 데이터 중 코드번호(G,S)만 사용하기 위해 //P0142list의 코드 데이터 중 코드번호(G,S)만 제외 하고 모두 삭제 if( P0142_node.item(0).value != "G" && P0142_node.item(0).value != "S" ) { var pNode = P0142_nodelist.item(i).parentNode; pNode.removeChild(P0142_nodelist.item(i)); } } } function misfMsterDetailRetrieve2() { var node = instance1.selectNodes("/root/gridset/mastdetailset/*"); for (var i = 0; i