123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[//변수선언
- var prcpclscd = 2;
- var prcpKindCdCol = 3; //처방종류 index
- var prcpnmCol = 5; //처방명 컬럼 index
- var prcpVolCol = 6; //용량 컬럼 index
- var prcpQtyCol = 8; //수량 컬럼 index
- var prcpTimsCol = 10; //횟수 컬럼 index
- var prcpDayNoCol = 11; //일수 컬럼 index
- var prcpDeliveFactCol = 15; //전달사항 컬럼 index
- var prcpHopeHdCol = 18; //희망일자 컬럼 index
- var ContPrcpDdRow = 6; //지정일 instance row
- var prcpNode = "/root/main/prcp/prcplist";
- var diagNode = "/root/main/diaginfo/diagcdlist";
- var prcpgenrflag = ""; //외래입원구분
- var arErrorCode = new HashArray();
- var e1 = new GridEditEventInfo();
- /**
- * @desc : 처방화면 초기화
- * @param :
- * @id : model1
- * @event : xforms-ready
- * @return : void
- * @---------------------------------------------------
- */
- function fInitializeReady() {
- div_all.grd_prcplist.setFocus();
- div_all.grd_prcplist_onenteredit(grd_prcplist,e1);
- }
- function fPromPrcpSrch(srchflag) {
- var setno = ds_prmsprcpsetdetlset.getColumn(0, "setno");
- var setnm = ds_prmsprcpsetdetlset.getColumn(0, "setnm");
- if(setno == 1){
- sysf_messageBox("최상위 약속처방 폴더에서 검색", "E001");
- return;
- }
- if (utlf_isNull(setnm)) {
- sysf_messageBox("선택된 약속처방폴더가", "I004");
- return;
- }
- if (srchflag == "prcpcd") {
- var prcpnm = lf_getDsValue(ds_main_prcplist, ds_main_prcplist.rowposition, "prcpcd");
- } else {
- var prcpnm = lf_getDsValue(ds_main_prcplist, ds_main_prcplist.rowposition, "prcpnm");
- }
- var isHangul = utlf_isHangul (prcpnm);
- //한글일때는 1글자만 넣어도 검색가능
- if (utlf_isNull(prcpnm)) {
- sysf_messageBox("검색어를", "C001");
- return;
-
- } else if ( isHangul == "E" ){
- //영문,숫자일때는 3글자 넣어야 검색가능
- if ( prcpnm.length < 3 ){
- sysf_messageBox("3글자 이상", "C001");
- return;
- }
- }
- if (prcpnm.charAt ( 0 ) == "/"){
- if ( prcpnm.length == 1 ){
- sysf_messageBox("검색할 수술명을", "C001");
- return;
- }
-
- fPrcpModal ( "SPMMO05100", 180, 80 ); //BY SONJY 2008-09-06 오타 수정.
- } else {
- if ( srchflag == "prcpcd") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), "11", "TRMMB00201", "", "getPrcpCdOldSrchInfo", isHangul );
- } else if ( srchflag == "prcpnm") {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), "11", "TRMMB00201", "", "getPrcpNmSrchInfo", isHangul );
- } else {
- lf_prcpSrchCom ( prcpnm, ds_init.getColumn(0, "prcpdd"), "11", "TRMMB00201", "", "getPrcpSrchInfo", isHangul );
- }
-
- var srchLength = ds_prcpsrch_prcplist.rowcount;
- var currow = ds_main_prcplist.rowposition;
- if( srchLength > 1) {
- if ( srchLength * grd_row_height < 325 ) {
- // div_all.div_srch.grd_prcpsrchlist.position.height = ( srchLength + 1 ) * grd_row_height + 3;
- // div_all.div_srch.btn_copy.position.y = ( srchLength + 1 ) * grd_row_height + 8;
- // div_all.div_srch.btn_cancel.position.y = ( srchLength + 1 ) * grd_row_height + 8;
- div_all.div_srch.position.height = ( srchLength + 1 ) * grd_row_height + 33;
- } else {
- // div_all.div_srch.grd_prcpsrchlist.position.height = 325;
- // div_all.div_srch.btn_copy.position.y = 331;
- // div_all.div_srch.btn_cancel.position.y = 331;
- div_all.div_srch.position.height = 351;
- }
-
- if ( currow <= 13 ) {
- div_all.div_srch.position.y = 48 + (currow * grd_row_height); //78 -> 48
- } else if ( currow <= 25 ) {
- div_all.div_srch.position.y = (currow * grd_row_height) + 23 - div_all.div_srch.position.height; //29 -> 23
- } else if ( currow > 25 ){
- div_all.div_srch.position.y = grd_row_height * 25 + 45 - div_all.div_srch.position.height; // 55 -> 45
- }
-
- div_all.div_srch.visible = true;
- div_all.div_srch.setPrcpSrchListFocus();
- } else if( srchLength == 1) {
- srchRow = lf_addPrcpDetl ( "import" , "ds_prcpsrch_prcplist" , "ds_main_prcplist", 0, currow, "02" );
- if ( srchRow != 0 ) {
- lf_focusMain ( srchRow );
- }
- } else {
- sysf_messageBox ( "검색된 내용이", "I004" );
- div_all.grd_prcplist.showEditor(true);
- }
- }
- }
- function fReqGetPrmsSet() {
-
- ds_init.setColumn(0, "prcpmixno", 0); // 약속셋 변경시 기본 믹스번호 초기화
-
- ds_send.clearData();
- ds_send.addRow();
-
- ds_send.setColumn(0, "cond1", ds_prmsprcpsetdetlset.getColumn(0, "setno"));
- ds_send.setColumn(0, "cond2", ds_prmsprcpsetdetlset.getColumn(0, "settypecd"));
-
- var oParam = {};
- oParam.id = "TRMMB00202";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrmsPrcpDetlSetList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_main_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMMB00202";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMB00203") >= 0) {
- dsf_setDefaultVal(ds_main_prcplist, "hosinhosoutflag:-,hosinprcpresncd:00,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,aftcertflag:-,aftcertdrid:-,prcpvalidd:00000000,spynpy1:-,specdrid:-,anticncrdayno:0,druglnkno:0,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-,drprcpetc1:-,drprcpetc2:-,drprcpetc3:-,drprcpetc4:-,drprcpetc5:-,drprcpetc6:-,drprcpetc7:-,drprcpetc8:-,drprcpetc9:-,drprcpetc10:-");
- }
-
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main" ); //검색라인추가
-
- ds_main_prcplist.rowposition = ds_main_prcplist.rowcount - 1;
- div_all.grd_prcplist.setCellPos(div_all.grd_prcplist.getBindCellIndex("body", "prcpcd"));
- div_all.grd_prcplist.showEditor(true);
-
- //2008.06.05 appendchild로 grid row추가 후 instance정보가 흐트러짐
- //grd_prcplist.row = grd_prcplist.rows - 1;
- //grd_prcplist.col = grd_prcplist.colRef("prcpcd");
- //btn_editcell.dispatch("DOMActivate");
- }
- function cf_TRMMB00202(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
-
- dsf_setDefaultVal(ds_main_prcplist, "hosinhosoutflag:-,hosinprcpresncd:00,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,aftcertflag:-,aftcertdrid:-,prcpvalidd:00000000,spynpy1:-,specdrid:-,anticncrdayno:0,druglnkno:0,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-,drprcpetc1:-,drprcpetc2:-,drprcpetc3:-,drprcpetc4:-,drprcpetc5:-,drprcpetc6:-,drprcpetc7:-,drprcpetc8:-,drprcpetc9:-,drprcpetc10:-");
- }
- function fPrmsPrcpSave() {
-
- var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
- var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
- var setnm = ds_prmsprcpsetdetlset.getColumn(0,"setnm");
-
- var sPrcpcd = "";
- var sStatus = "";
- var sSubjNm = "";
- if(setno == 1){
- alert("최상위 약속처방폴더에는 저장하실 수 없습니다.");
- return;
- }
- if (utlf_isNull(setnm)) {
- alert( "선택된 약속처방폴더가 없습니다.");
- return;
- } else {
- if ( sysf_messageBox(setnm + " 약속처방폴더에 선택하신 처방을", "Q002") == "7" ) {
- return;
- }
- }
- //kimsj 임상연구 - 연구코드와 처방코드, 처방권한 여부 확인(에러체크)
- if ( oOpener.frmf_getScreenID() == "SMMMB08300" ) {
- sSubjNm = oOpener.ds_hidden_subjlist.getColumn(0, "subjno");
- ds_reqdata.clearData();
- ds_reqdata.addRow();
- ds_reqdata.setColumn(0, "subjno", oOpener.ds_main_subjlist.lookup("subjno", sSubjNm, "subjid"));
- var oParam = {};
- oParam.id = "TRMMB08302";
- oParam.service = "prcpbaseapp.PrcpClsMngt";
- oParam.method = "reqGetSubjRgtInfo";
- oParam.inds = "req=ds_reqdata";
- oParam.outds = "ds_druglist=druglist ds_userlist=userlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if ( utlf_isNull(ds_userlist.lookup("empid", sysf_getUserInfo ("userid"), "empid")) ) {
- sysf_messageBox ( "임상연구의 처방", "E002"); //" 권한이 없습니다."
- return;
- }
-
- for ( var i = 0; i < ds_main_prcplist.rowcount; i++ ) {
- sStatus = ds_main_prcplist.getColumn(i, "status");
- sPrcpcd = ds_main_prcplist.getColumn(i, "prcpcd");
-
- if ( sStatus != "S" && sStatus != "D" && sPrcpcd.substring(0,3) == "XD-" ) {
- if ( utlf_isNull(ds_druglist.lookup("drugcd", sPrcpcd, "drugcd")) ) {
- sysf_messageBox ( "["+sPrcpcd+"] 코드는 해당 임상연구에 부합하는 처방코드가 아닙니다. \n\n삭제 후 다시 저장하시기 바랍니다.", "E");
- return;
- }
- }
- }
- }
- //end kimsj 임상연구
-
- ds_main_prcplist.enableevent = false;
- for ( var i = 0; i < ds_main_prcplist.rowcount; i++ ) {
- var tempcol16 = ds_main_prcplist.getColumn(i, "tempcol16");
- if(!utlf_isNull(tempcol16)) {
- var prcpuseflag = lf_getArrayData (tempcol16, 0, 0, "^", "|");
- if(prcpuseflag == "D" && ds_main_prcplist.getColumn(i, "status") == "U") {
- var prcpnm = ds_main_prcplist.getColumn(i, "prcpnm");
- alert ( prcpnm + "은 수가 또는 검사실 사용종료 되어 수정 할 수 없습니다. 삭제만 가능합니다.");
- ds_main_prcplist.enableevent = true;
- return;
- }
- }
-
- if ( ds_main_prcplist.getColumn(i, "status") == "I" ) {
- ds_main_prcplist.setColumn(i, "prcpkindcd", "20");
- ds_main_prcplist.setColumn(i, "prcppkspec", setno + "|" + settypecd);
- }
-
- var drprcpetc2 = ds_main_prcplist.getColumn(i, "drprcpetc2") ; // 특수주사실 정보가 없으면 저장 시 오류 수정
- if ( utlf_isNull(drprcpetc2) ) {
- ds_main_prcplist.setColumn(i, "drprcpetc2", "-")
- }
- }
-
- dsf_createDs("ds_prcplist_temp");
- ds_prcplist_temp.copyData(ds_main_prcplist);
- ds_prcplist_temp.filter("status != 'S'");
- ds_cond1.copyData(ds_prcplist_temp, true);
- dsf_deleteDs("ds_prcplist_temp");
- sysf_trace(ds_cond1.saveXML());
- ds_cond2.clearData();
- ds_cond2.addRow();
- ds_cond2.setColumn(0, "inptflag", "1");
-
- dsf_setDefaultVal(ds_cond1, "hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:N,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,matrallsizespecid:-,rehbprcpcurepartcd:-,tfdtlcd:N,exptmthdfact:-,diagtestconttestcdspec:-,nullcolumncd:-,nullvalexistyn:N,rehbprcpenddd:-,drgacptflag:-");
-
- var oParam = {};
- oParam.id = "TRMMB00203";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrcpSaveChk";
- oParam.inds = "saveFlagInfo=ds_cond2 savePrcpInfo=ds_cond1";
- oParam.outds = "ds_prcperrlist=prcperrlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMB00203";
- tranf_submit(oParam);
-
- var errCode = arErrorCode.pop("TRMMB00203");
- if(errCode < 0) {
- ds_cond1.clearData();
- ds_cond2.clearData();
-
- ds_main_prcplist.enableevent = true;
- return;
- }
-
- var mon = sysf_getCurrentMonitorNumber();
- var xpt = this.getOwnerFrame().position.x + 100;
- var ypt = this.getOwnerFrame().position.y + 50;
- if ( ds_prcperrlist.rowCount > 0 ) {
- if ( !utlf_isNull(ds_prcperrlist.getColumn(0, "prcpcd"))){
- dsf_createDs("ds_result_prcperrlist_clone");
- ds_result_prcperrlist_clone.copyData(ds_result_prcperrlist);
-
- var objArg = new Object();
- objArg.arg_ds_result_prcperrlist = ds_result_prcperrlist_clone;
- frmf_open("SPMMO00600", "SPMMO00600", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M"); //오류팝업
-
- ds_prcperrlist.clearData();
- }
-
- ds_main_prcplist.enableevent = true;
- return;
- }
-
- dsf_setDefaultVal(ds_cond1, "prcpdelivefact:-,hosinhosoutflag:-,hosinprcpresncd:00,clincstdyflag:N,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,rehbprcpcurefreqflag:0,dietprcpgenrflag:N,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,matrallsizespecid:-,rehbprcpcurepartcd:-,tfdtlcd:N,exptmthdfact:-,diagtestconttestcdspec:-,nullcolumncd:-,nullvalexistyn:N,rehbprcpenddd:-,drgacptflag:-,drprcpetc1:-,drprcpetc2:-,drprcpetc3:-,drprcpetc4:-,drprcpetc5:-,drprcpetc6:-,drprcpetc7:-,drprcpetc8:-,drprcpetc9:-,drprcpetc10:-");
-
- var currow = ds_main_prcplist.rowposition;
-
- var oParam2 = {};
- oParam2.id = "TXMMB00201";
- oParam2.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam2.method = "reqExeSavePrmsPrcpDetlSet";
- oParam2.inds = "savePrmsPrcpInfo=ds_cond1";
- oParam2.outds = "ds_main_prcplist=prcplist";
- oParam2.async = false;
- oParam2.callback = "cf_TXMMB00201";
- tranf_submit(oParam2);
-
- var errCode = arErrorCode.pop("TXMMB00201");
- if(errCode >= 0) {
- dsf_setDefaultVal(ds_main_prcplist, "hosinhosoutflag:-,hsctdelivepos:0,hsctlnkno:0,etcprcpflag:-,aftcertflag:-,aftcertdrid:-,prcpvalidd:00000000,spynpy1:-,specdrid:-,anticncrdayno:0,druglnkno:0,rehbprcpcurefreqflag:0,dietprcpgenrflag:-,irpayflag:N,irflag:N,procerdietflag:N,diagtestconttestintvlflag:N,drugindependpackflag:N,diagtestconttestbasetm:0,diagtestconttestorgtims:0,ermediscmngtresncd:-,rehbprcpenddd:-,matrallsizespecid:-,rehbprcpcurepartcd:-,lowdrugresncd:N,tfdtlcd:-,dnorreqlnkno:0,subcretno:0,exptmthdfact:-,lowdrugresnetcfact:-,diagtestconttestcdspec:-,drgacptflag:-,drprcpetc1:-,drprcpetc2:-,drprcpetc3:-,drprcpetc4:-,drprcpetc5:-,drprcpetc6:-,drprcpetc7:-,drprcpetc8:-,drprcpetc9:-,drprcpetc10:-");
-
- lf_appendChildPrcp ( "ds_reset_prcplist", "ds_main_prcplist", "main" ); //검색라인추가
- }
-
- ds_cond1.clearData(); //reset (2009.10.28 by JJE)
-
- ds_main_prcplist.enableevent = true;
-
- ds_main_prcplist.selectRow(currow);
- ds_main_prcplist.rowposition = currow;
- div_all.grd_prcplist.setCellPos(div_all.grd_prcplist.getCellPos());
- }
- function cf_TRMMB00203(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TRMMB08302(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMMB00201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 약속처방 복사하기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
- function fCopyRow () {
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist);
- var cnt=0;
-
- var sStatus = "";
- var sTempcol16 = "";
- var sPrcpuseflag = "";
-
- for (var i = 0; i < selectedRows.length; i++) {
- sStatus = ds_main_prcplist.getColumn(selectedRows[i], "status");
- sTempcol16 = ds_main_prcplist.getColumn(selectedRows[i], "tempcol16");
- if(!utlf_isNull(sTempcol16)) {
- sPrcpuseflag = lf_getArrayData (sTempcol16, 0, 0, "^", "|" );
- }
-
- if (sStatus != "S" && sPrcpuseflag != "D"){ //검색, 수가 종료은 드래그 안한다.
- fPrcpBuffer( ++cnt, selectedRows[i], "ds_prcpdrag_prcplist", "ds_main_prcplist" );
- }
- }
- for ( var i = 0 ; i < ds_prcpdrag_prcplist.rowcount; i++ ) {
- ds_prcpdrag_prcplist.setColumn(i, "status" , "I" );
- }
- }
- /**
- * @desc : 엑셀저장
- * @
- * @param : sechflag S:싱글(처방리스트에서 호출) T:트리하위까지(트리에서 호출) P:개인 약속셋 전체 D:부서약속셋 전체
- * settrgtcd sechflag 값이 P 또는 D일때 사번 또는 부서코드
- * ioflag sechflag 값이 P 또는 D일때 진료구분 (O:외래, I:입원)
- * @return :
- * @author : 엄영만 (2012.01.30)
- * @---------------------------------------------------
- */
- function fsaveToExcel(sechflag, settrgtcd, ioflag){
- var setno = ds_prmsprcpsetdetlset.getColumn(0,"setno");
- var settypecd = ds_prmsprcpsetdetlset.getColumn(0,"settypecd");
- var setnm = ds_prmsprcpsetdetlset.getColumn(0,"setnm");
-
- //파일 이름 사용 불가 문자열 처리
- // var specialChars = /[/\~!#$^&*+|:;?"<>']/; // 특수기호 처리 // TF에선 이렇게 해도 되지만 XP에서 이렇게 하면 에러남
- var specialChars = /[\/\~!#$^&*+|:;?"<>']/; // 특수기호 처리 // 이와 같이 '\'을 하나 더 넣어 수정함
- setnm = setnm.split(specialChars).join(" ");
- var sTitle = "약속처방 " + setnm;
-
- ds_send.setColumn(0,"cond1",setno);
- ds_send.setColumn(0,"cond2",settypecd);
- ds_send.setColumn(0,"cond3",sechflag);
- ds_send.setColumn(0,"cond4",settrgtcd);
- ds_send.setColumn(0,"cond5",ioflag);
-
- var oParam = {};
- oParam.id = "TRMMB00202";
- oParam.service = "prcpbaseapp.PrmsPrcpMngt";
- oParam.method = "reqGetPrmsPrcpSetExcelList";
- oParam.inds = "req=ds_send";
- oParam.outds = "ds_excel_prcplist=prcplist";
- oParam.async = false;
- oParam.callback = "cf_TRMMB00202";
- tranf_submit(oParam);
-
- dsf_setDefaultVal(ds_excel_prcplist, "hosinhosoutflag:-");
-
- grdf_exportExcel(grid_excel,sTitle,sTitle, true);
-
- }
- /**
- * @desc : 오른쪽 마우스 클릭 삭제
- * @ : 신규일 때는 removeNode
- * @ : 수정중일 때 원복시킨 후 삭제, D/C 표시
- * @ : 삭제, D/C 원복시킬려면 ? 오른쪽 마우스에 삭제 및 D/C 원복
- * @ : D/C 후 삭제는 불가
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 삭제
- * @return : void
- * @authur : 마정민 2007. 6. 4
- * @---------------------------------------------------
- */
- function fPrmsDeleteRow() {
- var currow = ds_main_prcplist.rowposition;
-
- //타부서의 약속처방을 삭제할 수 없도록 처리. 2008-01-18 오지훈
- var prmsflag = utlf_isNull(oOpener.objects["ds_cond"]) ? "" : oOpener.ds_cond.getColumn(0,"prmsflag");
- sysf_trace("prmsflag : " + prmsflag);
- if(prmsflag == "T"){
- var orddeptcd = oOpener.ds_cond.getColumn(0,"deptsetcd");
- var orddeptnm = oOpener.TabSet.tabPrcp.Div01.cmb_deptset.text;
- sysf_trace("orddeptcd : " + orddeptcd);
-
- if(orddeptcd = sysf_getUserInfo("dutplcecd")){ //
- sysf_messageBox("[" + orddeptnm +"] 약속처방을 삭제", "E001");
- return;
- }
- }
-
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist);
- var cnt=0;
-
- ds_main_prcplist.enableevent = false;
- for (var i = selectedRows.length - 1; i >= 0; i--) {
- var status = ds_main_prcplist.getColumn(selectedRows[i], "status");
-
- if (status == "-") {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "D");
- } else if ( status == "I" ) {
- //신규입력(I)은 removeNode 이다.
- ds_main_prcplist.deleteRow(selectedRows[i]);
- //삭제시 데이터를
- } else if (status == "S") {
- ds_main_prcplist.setColumn(selectedRows[i], "prcpnm", "");
- } else if (status == "D") {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "-");
- } else if (status == "U") {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "D");
- }
- }
-
- ds_main_prcplist.enableevent = true;
-
- div_all.grd_prcplist.setFocus();
- ds_main_prcplist.selectRow(currow);
- ds_main_prcplist.rowposition = currow;
- div_all.grd_prcplist.setCellPos(div_all.grd_prcplist.getCellPos());
- }
- /**
- * @desc : 처방화면 오른쪽 마우스 클릭 처방 붙혀넣기
- * @return : void
- * @authur : 마정민 2007. 10. 22
- */
- function fPrcpPaste() {
- ds_init.setColumn(0, "cropflag", "N" );
-
- var dropRow = ds_main_prcplist.rowposition;
- var endRow = ds_main_prcplist.rowcount -1;
-
- if ( dropRow == endRow ) {
- dropRow = dropRow -1;
- }
- for ( var i= 0; i < ds_prcpdrag_prcplist.rowcount; i++){
- row = dropRow + i;
-
- ds_main_prcplist.insertRow(row);
- ds_main_prcplist.copyRow(row, ds_prcpdrag_prcplist, i);
-
- //model.duplicate( "/root/main/prcp", "/root/prcpdrag/prcplist[" + i + "]", "*[" + row + "]");
- fSetCpVal( row, "I");
- }
-
- ds_prcpdrag_prcplist.clearData();
- }
- /**
- * @desc : 처방화면 오른쪽 마우스 클릭 처방 잘라내기
- * @return : void
- * @authur : 마정민 2007. 10. 22
- */
- function fPrcpCrop() {
- if ( ds_init.getColumn(0, "cropflag") == "Y" ) {
- if (sysf_messageBox ( "잘라낸 데이터가 이미 있습니다. 잘라내시겠습니까?", "Q" ) != "6" ) {
- return;
- }
- }
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist);
- var cnt = 0;
-
- var sStatus = "";
- var sTempcol16 = "";
- var sPrcpuseflag = "";
-
- for (var i = selectedRows.length - 1; i >= 0; i--) {
- sStatus = ds_main_prcplist.getColumn(selectedRows[i], "status");
- sTempcol16 = ds_main_prcplist.getColumn(selectedRows[i], "tempcol16");
- if(!utlf_isNull(sTempcol16)) {
- sPrcpuseflag = lf_getArrayData (sTempcol16, 0, 0, "^", "|" );
- }
-
- if (sStatus != "S" && sPrcpuseflag != "D"){ //검색, 수가 종료 드래그 안한다.
- fPrcpBuffer( ++cnt, selectedRows[i], "ds_prcpdrag_prcplist", "ds_main_prcplist" );
- if ( ds_main_prcplist.getColumn(selectedRows[i], "status") == "I" ) { // ds_main_prcplist.getColumn(selectedRows[i] + "]/status") == "I"
- ds_main_prcplist.deleteRow(selectedRows[i]);
- } else {
- ds_main_prcplist.setColumn(selectedRows[i], "status", "D");
- }
- }
- ds_init.setColumn(0, "cropflag", "Y");
- }
-
- for ( var i = 0 ; i < ds_prcpdrag_prcplist.rowcount; i++ ) {
- ds_prcpdrag_prcplist.setColumn(i, "status" , "I" );
- }
- }
- /**@desc : 처방상세 일괄입력
- * @param :
- * @return : void
- * @authur : 마정민 2007. 6. 30
- */
- function fPrcpDetlCom() {
- var xpt = 510;
- var ypt = 180;
-
- var header = "";
- var useyn = "";
- var value = "";
- var cnt = 0;
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist);
- var prcpclscd = ds_main_prcplist.getColumn(selectedRows[0], "prcpclscd");
- var prnscrID = frmf_getScreenID();
-
- //fPrcpModal ( "SPMMO 10400", xpt, ypt ); //일괄입력 공통
- if ( prcpclscd == "A2" || prcpclscd == "A4" ) { //약
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "A2" && selprcpclscd != "A4" ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if (cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- frmf_setParameter ( "SPMMO12100_prnchk", prnscrID);
- lf_prcpModal ( "SPMMO12100", xpt, ypt );
- }
- } else if ( prcpclscd == "A6" ) { //주사
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- frmf_setParameter ( "SPMMO12200_prnchk", prnscrID);
- lf_prcpModal ( "SPMMO12200", xpt, ypt );
- }
- } else if ( prcpclscd == "F2" ) { //재활
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO11200", xpt, ypt );
- }
- } else if ( prcpclscd == "C2" || prcpclscd == "C6" || prcpclscd == "E2" ) {
- //방사선 검사(기능검사, 내시경,천자,생검, 방사선, 핵의학영상, 방사선치료)
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "C2" && selprcpclscd != "C6" && selprcpclscd != "E2" ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- frmf_setParameter ( "SPMMO12300_prcpclscd", prcpclscd );
- lf_prcpModal ( "SPMMO12300", xpt, ypt );
- frmf_setParameter ( "SPMMO12300_prcpclscd", "" );
- }
- } else if ( prcpclscd == "B2" || prcpclscd == "B6" ) { //진단검사 (검체검사), 핵의학 체내
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "B2" && selprcpclscd != "B6" ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- frmf_setParameter ( "SPMMO12400_prcpclscd", prcpclscd );
- lf_prcpModal ( "SPMMO12400", xpt, ypt );
- frmf_setParameter ( "SPMMO12400_prcpclscd", "" );
- }
- } else if ( prcpclscd == "H2" ) { //수술, 처치, 치과
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "H2" && selprcpclscd != "H4" ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO12600", xpt, ypt );
- }
- } else if ( prcpclscd == "K2" ) {
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "K2" ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO13500", xpt, ypt );
- }
- } else if ( prcpclscd == "03" ) { //식이
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO12700", xpt, ypt );
- }
- } else if ( prcpclscd == "I2" || prcpclscd == "I4" ) { //마취
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != "I2" && selprcpclscd != "I4") {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO12800", xpt, ypt );
- }
- } else if ( prcpclscd == "C4" ) { //angio
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO12900", xpt, ypt );
- }
- } else if ( prcpclscd == "D2" ) { //병리
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO13000", xpt, ypt );
- }
- } else if ( prcpclscd == "M2" ) { //재료
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO13600", xpt, ypt );
- }
- } else if ( prcpclscd == "G2" ) { //RT
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO13700", xpt, ypt );
- }
- } else if ( prcpclscd == "H4" ) { //처치
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO13800", xpt, ypt );
- }
- } else if ( prcpclscd == "B4" ) { //수혈 (혈액수혈)
- for ( var i = selectedRows.length - 1; i >= 0; i-- ){
- //첫번째 SELECT 된 것을 기준으로 다른 것은 SELECT를 해제한다.
- var selprcpclscd = ds_main_prcplist.getColumn(selectedRows[i], "prcpclscd");
- if ( selprcpclscd != prcpclscd ) {
- //grd_prcplist.select( grd_prcplist.selectedrow(i), 1, grd_prcplist.selectedrow(i), 1) = false;
- cnt++;
- }
- }
- if ( cnt > 0) {
- lf_prcpModal ( "SPMMO10400", xpt, ypt );
- } else {
- lf_prcpModal ( "SPMMO12500", xpt, ypt );
- }
- }
- ds_main_prcplist.enableevent = false;
- fBatIpt ( "batipt_rtn1_useyn", "batipt_rtn1" );
- ds_main_prcplist.enableevent = true;
- }
- /**
- * @desc : fMoveGridRows 그리드 선택행 이동
- * @param : grd_id 그리드 아이디
- * flag 이동방향('UP' or 'DOWN')
- * @return : void
- */
- function fMoveGridRows(btnFlag) {
- var grdObj = div_all.grd_prcplist; //document.controls.item(grd_id);
- var row = ds_main_prcplist.rowposition; //grdObj.row;
- //var fixRow = grdObj.fixedRows;
- var delRow = null;
- var insRow = null;
- var MaxRow = null;
- var MinRow = null;
- var i = null;
- var sStatus = "";
-
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist); //var selectedRows = Array(selectedCnt);
-
- //멀티로 선택된 로우 개수
- var selectedCnt = selectedRows.length; //grdObj.selectedRows;
- if(selectedCnt < 1){
- alert("선택한 행이 없습니다.");
- return;
- }
-
- for(i = 0; i < selectedCnt; i++) {
- //selectedRows[i] = grdObj.selectedRow(i);
-
- if(i == 0){
- MaxRow = selectedRows[i]; //grdObj.selectedRow(i);
- MinRow = selectedRows[i]; //grdObj.selectedRow(i);
- } else {
- if ( MaxRow < selectedRows[i] ) // grdObj.selectedRow(i)
- MaxRow = selectedRows[i]; //grdObj.selectedRow(i);
-
- if ( MinRow > selectedRows[i] )
- MinRow = selectedRows[i];
- }
- }
- // if( MinRow < fixRow ){
- // alert("고정된 행은 선택할 수 없습니다.");
- // return;
- // }
- switch (btnFlag) {
- case "top": // 아래에서 위로 올릴때
- if(selectedRows[0] == 0){
- alert("최상위 행은 위로 이동할 수 없습니다.");
- return;
- }
- div_all.grd_prcplist.enable = false; //grdObj.disabled = true;
- for(i = 0; i < selectedCnt; i++){
- // grdObj.isSelected(selectedRows[i]) = false; // 선택취소
- insRow = selectedRows[i] - 1;
- delRow = selectedRows[i] + 1;
-
- ds_main_prcplist.insertRow(insRow); //grdObj.insertRow(insRow, "above", false);
- ds_main_prcplist.copyRow(insRow, ds_main_prcplist, delRow); //model.copyNode(grdObj.nodeset + "[" + insRow + "]", grdObj.nodeset + "[" + delRow + "]");
- ds_main_prcplist.deleteRow(delRow); //grdObj.deleteRow(delRow, true);
-
- sStatus = ds_main_prcplist.getColumn(insRow, "status"); //model.getValue ( prcpNode + "[" + insRow + "]/status");
- if( sStatus == "-") {
- ds_main_prcplist.setColumn(insRow, "status", "U"); //model.setValue ( prcpNode + "[" + insRow + "]/status", "U");
- }
-
- sStatus = ds_main_prcplist.getColumn(insRow + 1, "status"); //model.getValue ( prcpNode + "[" + (insRow+1) + "]/status");
- if( sStatus == "-" ) {
- ds_main_prcplist.setColumn(insRow + 1, "status", "U"); //model.setValue ( prcpNode + "[" + (insRow+1) + "]/status", "U");
- }
- }
-
- //grdObj.refresh()
- ds_main_prcplist.selectRow(MinRow - 1); //grdObj.row = MinRow-1;
- for(i = 0; i < selectedCnt; i++) {
- //grdObj.AddListSelect(selectedRows[i]-1);
- }
- div_all.grd_prcplist.enable = true; //grdObj.disabled = false;
- break;
- case "bottom": // 위에서 아래로 내릴때
- if(MaxRow == ds_main_prcplist.rowcount - 1){
- alert("최하위 행은 아래로 이동할 수 없습니다.");
- return;
- }
-
- div_all.grd_prcplist.enable = false; //grdObj.disabled = true;
- for(i = selectedCnt - 1; i >= 0; i--){
- //grdObj.isSelected(selectedRows[i]) = false; // 선택취소
- insRow = selectedRows[i] + 1;
- delRow = selectedRows[i];
-
- ds_main_prcplist.insertRow(insRow + 1); //grdObj.insertRow(insRow, "below" , false);
- ds_main_prcplist.copyRow(insRow + 1, ds_main_prcplist, delRow); //model.copyNode(grdObj.nodeset + "[" + (insRow+1) + "]", grdObj.nodeset + "[" + delRow + "]");
- ds_main_prcplist.deleteRow(delRow); //grdObj.deleteRow(delRow, true);
-
- sStatus = ds_main_prcplist.getColumn(insRow, "status"); // model.getValue ( prcpNode + "[" + insRow + "]/status");
- if( sStatus == "-") {
- ds_main_prcplist.setColumn(insRow, "status", "U"); //model.setValue ( prcpNode + "[" + insRow + "]/status", "U");
- }
- sStatus = ds_main_prcplist.getColumn(insRow - 1, "status"); //model.getValue ( prcpNode + "[" + (insRow-1) + "]/status");
- if( sStatus == "-") {
- ds_main_prcplist.setColumn(insRow - 1, "status", "U"); //model.setValue ( prcpNode + "[" + (insRow-1) + "]/status", "U");
- }
- }
-
- //grdObj.refresh();
- ds_main_prcplist.selectRow(MinRow + 1); //grdObj.row = MinRow+1;
- for(i = 0; i < selectedCnt; i++) {
- //grdObj.AddListSelect(selectedRows[i]+1);
- }
- div_all.grd_prcplist.enable = true; //grdObj.disabled = false;
- break;
- default:
- alert("fMoveGridRows() flag 값은 UP 또는 DOWN만 가능 합니다.");
- return;
- }
-
- fAbsnSrch(prcpNode, grdObj );
-
-
-
-
- /*
- var selectedRows = grdf_getSelectedRows(div_all.grd_prcplist);
- var frstRow = 0;
- if( btnFlag == "top" ) frstRow = selectedRows[0];
- else if( btnFlag == "bottom" ) frstRow = selectedRows[selectedRows.length - 1];
- var allRows = ds_main_prcplist.rowcount - 1; //caption, search row
- var addChkRow = 0;
- var cnt = 0;
- var chngYN = 0; //선택된 row인지 체크
- var rowNum = 0;
- var chkNum = 0; //위, 아래 row의 mset여부에 따라 달라지는 +/- row
- var moveCnt = 0;
- var iRow = 0;
- var addNum = 0; //추가해야할 num
- //var pmFlag = 0; //rowNum + - 여부 : 0 or else
- var selInclprcpno = "";
- var chkInclprcpno = "";
-
- var inclprcpnoExistYN = "N";
- var inclprcpnoCVS = "";
- var inclprcpnoItem = "";
-
- var printRow = new Array();
- var printRow2 = new Array();
- var selRows = new Array();
-
- if( selectedRows.length < 1 ) {
- alert("선택한 행이 없습니다.");
- return;
- }
-
- if(btnFlag == "top" && frstRow == 0){
- alert("최상위 행은 위로 이동할 수 없습니다.");
- return;
- }
-
- if(btnFlag == "bottom" && frstRow == ds_main_prcplist.rowcount - 2){
- alert("최하위 행은 아래로 이동할 수 없습니다.");
- return;
- }
-
- ds_main_prcplist.enableevent = false;
-
- dsf_createDs("ds_tmp_moveprcp");
-
- for(var i = selectedRows.length - 1; i >= 0; i--){
- if(ds_main_prcplist.getColumn(selectedRows[i], "inclprcpno") > "0" && ds_main_prcplist.getColumn(selectedRows[i], "prcpsetcd") == "-")
- inclprcpnoCVS = inclprcpnoCVS + ds_main_prcplist.getColumn(selectedRows[i], "inclprcpno") + "|";
- }
- inclprcpnoItem = inclprcpnoCVS.split("|");
-
- //전체 row를 보면서 rowSeq를 설정해 줌 , rowseq순으로 /root/tmp_moveprcp => /root/main/prcp 로 이동
- if( btnFlag == "top" ){
- for( var i = ds_main_prcplist.rowcount - 1; i >= 0; i-- ){
- iRow = i;
- chkNum = 0;
- chngYN = 0;
- addNum = 0;
- //pmFlag = 0;
-
- if( iRow >= 0 ){
- chkInclprcpno = ds_main_prcplist.getColumn(iRow, "inclprcpno");
-
- if( inclprcpnoItem.length - 1 > 0 ){
- for(var k = 0; k < inclprcpnoItem.length - 1; k++){ //copy대상의 mset
- if( chkInclprcpno != "0" && chkInclprcpno == inclprcpnoItem[k] ){
- chngYN = 1;
- }
- }
- }
-
- if( chngYN == 0 && ds_main_prcplist.getSelect(iRow) == true && chkInclprcpno == "0" ) chngYN = 1;
- if( chngYN == 1 ){ //선택된 row이면(선택된모코드의 자코드도 포함)
- addChkRow = iRow - 1;
- selInclprcpno = "";
-
- if( addChkRow >= 0 && addChkRow < ds_main_prcplist.rowcount ){
- for(var j = addChkRow; j >= 0; j--){
- addYN = "N";
- chkInclprcpno = ds_main_prcplist.getColumn(j, "inclprcpno");
-
- if( inclprcpnoItem.length - 1 > 0 ){
- for(var k = 0; k < inclprcpnoItem.length - 1; k++){ //copy대상의 mset
- if( chkInclprcpno != "0" && chkInclprcpno == inclprcpnoItem[k] ){
- //addNum++;
- addYN = "Y";
- }
- }
- }
-
- if( addYN != "Y" && ds_main_prcplist.getSelect(j) == true && chkInclprcpno == "0" ){
- //addNum++;
- addYN = "Y";
- }
-
- if( addYN != "Y" ){
- if( chkInclprcpno != "0" ){ // && chkInclprcpno != inclprcpnoItem[k]
- if( utlf_isNull(selInclprcpno) ) selInclprcpno = ds_main_prcplist.getColumn(j, "inclprcpno");
- if( !utlf_isNull(selInclprcpno) && selInclprcpno == chkInclprcpno && utlf_isNull(printRow[chkNum]) ) printRow[printRow.length] = j;
- chkNum++;
- }
- else{
- if( printRow.length <= 0 ){
- if( utlf_isNull(printRow[chkNum]) ) printRow[printRow.length] = j;
- chkNum++;
- }
- break;
- }
- }
- }
- }
- }
- }
-
- if( chngYN > 0 ){
- rowNum = i - printRow.length;
- moveCnt++;
- selRows[selRows.length] = rowNum;
-
- //임시처방은 순서변경 시 수정모드로 상태를 세팅해줌
- if( ds_main_prcplist.getColumn(i, "status") == "-") ds_main_prcplist.setColumn(i, "status", "U" );
- }else{
- if( printRow.length > 0 ){
- for( var p = 0; p < printRow.length; p++ ){
- if( printRow[p] == i ) addNum = moveCnt;
- }
- }
-
- rowNum = i + addNum;
-
- if( printRow.length == 0 || (printRow.length > 0 && i == printRow[printRow.length-1]) ){
- moveCnt = 0;
- printRow = new Array();
- }
- }
-
- //검색 row는 rowseq 변동 없음
- if( ds_main_prcplist.getColumn(i, "status") == "S" ) rowNum = i;
-
- ds_main_prcplist.addColumn("rowseq", "string");
- ds_main_prcplist.setColumn(i, "rowseq", rowNum);
- printRow2[i-1] = rowNum;
- }
- } else{
- for( var i = 0; i < ds_main_prcplist.rowcount; i++ ){
- iRow = i;
- chkNum = 0;
- chngYN = 0;
- addNum = 0;
- //pmFlag = 0;
-
- if( iRow < ds_main_prcplist.rowcount - 1){
- chkInclprcpno = ds_main_prcplist.getColumn(iRow, "inclprcpno");
-
- if( inclprcpnoItem.length - 1 > 0 ){
- for(var k = 0; k < inclprcpnoItem.length - 1; k++){ //copy대상의 mset
- if( chkInclprcpno != "0" && chkInclprcpno == inclprcpnoItem[k] ){
- chngYN = 1;
- }
- }
- }
-
- if( chngYN == 0 && ds_main_prcplist.getSelect(iRow) == true && chkInclprcpno == "0" ) chngYN = 1;
-
- if( chngYN == 1 ){ //선택된 row이면(선택된모코드의 자코드도 포함)
- addChkRow = iRow + 1;
- selInclprcpno = "";
-
- if( addChkRow >= 0 && addChkRow < ds_main_prcplist.rowcount ){
-
- for(var j = addChkRow; j < allRows; j++){
- addYN = "N";
- chkInclprcpno = ds_main_prcplist.getColumn(j, "inclprcpno");
-
- if( inclprcpnoItem.length - 1 > 0 ){
- for(var k = 0; k < inclprcpnoItem.length - 1; k++){ //copy대상의 mset
- if( chkInclprcpno != "0" && chkInclprcpno == inclprcpnoItem[k] ){
- //addNum++;
- addYN = "Y";
- }
- }
- }
-
- if( addYN != "Y" && ds_main_prcplist.getSelect(j) == true && chkInclprcpno == "0" ){
- //addNum++;
- addYN = "Y";
- }
-
- if( addYN != "Y" ){
- if( chkInclprcpno != "0" ){ // && chkInclprcpno != inclprcpnoItem[k]
- if( utlf_isNull(selInclprcpno) ) selInclprcpno = ds_main_prcplist.getColumn(j, "inclprcpno");
- if( !utlf_isNull(selInclprcpno) && selInclprcpno == chkInclprcpno && utlf_isNull(printRow[chkNum]) ) printRow[printRow.length] = j;
- chkNum++;
- }
- else{
- if( printRow.length <= 0 ){
- if( utlf_isNull(printRow[chkNum]) ) printRow[printRow.length] = j;
- chkNum++;
- }
- break;
- }
- }
- }
- }
- }
- }
-
- if( chngYN > 0 ){
- rowNum = i + printRow.length;
- moveCnt++;
- selRows[selRows.length] = rowNum;
- //임시처방은 순서변경 시 수정모드로 상태를 세팅해줌
- if( ds_main_prcplist.getColumn(i, "status") == "-") ds_main_prcplist.setColumn(i, "status", "U" );
- }else{
- if( printRow.length > 0 ){
- for( var p = 0; p < printRow.length; p++ ){
- if( printRow[p] == i ) addNum = moveCnt;
- }
- }
-
- rowNum = i - addNum;
-
- if( printRow.length == 0 || (printRow.length > 0 && i == printRow[printRow.length-1]) ){
- moveCnt = 0;
- printRow = new Array();
- }
- }
-
- //검색 row는 rowseq 변동 없음
- if( ds_main_prcplist.getColumn(i, "status") == "S" ) rowNum = i;
-
- ds_main_prcplist.addColumn("rowseq", "string");
- ds_main_prcplist.setColumn(i, "rowseq", rowNum);
- printRow2[i-1] = rowNum;
- }
- }
-
- //alert( printRow2 );
-
- ds_tmp_moveprcp.copyData(ds_main_prcplist);
-
- //처방 인스턴스로 이동 후 refresh
- ds_main_prcplist.clearData();
-
- for( var i = 0; i < ds_tmp_moveprcp.rowcount; i++ ){
- var findRow = ds_tmp_moveprcp.findRow("rowseq", i);
-
- var row = ds_main_prcplist.addRow();
- ds_main_prcplist.copyRow(row, ds_tmp_moveprcp, findRow);
- }
-
- ds_main_prcplist.deleteColumn("rowseq");
-
- dsf_deleteDs("ds_tmp_moveprcp");
-
- ds_main_prcplist.applyChange();
-
- //이동된 row를 select 처리함
- if( selRows.length > 0 ){
- for(var i = 0; i < selRows.length; i++){
- ds_main_prcplist.selectRow(selRows[i]);
- }
-
- ds_main_prcplist.rowposition = selRows[selRows.length - 1];
- }
-
- ds_main_prcplist.enableevent = true;
- */
- }
- function fAbsnSrch (tempcol16, prcpclscd, drugmastspec) {
- var prcpuseflag = lf_getArrayData (tempcol16, 0, 0, "^", "|" );
-
- var result = "#000000ff"; //기존에 색칠되어 있는 것을 clear 해 준다.
-
- if (prcpuseflag == "D") { // 수가정보에 없는경우
- result = "#ff4848ff";
- } else if ( prcpclscd == "A2" || prcpclscd == "A4" || prcpclscd == "A6" ) {
- if ( lf_getArrayData (drugmastspec, 0, 10, "^", "|" ) == "Y" ) { // 품절여부가 Y 이면 색표시를 해준다.
- result = "#c0c0c0ff";
- }
- }
-
- return result;
-
- }
- /**
- * @desc : SET폴더 삭제시, 약속처방 데이터 삭제
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClrGridData(){
- ds_main_prcplist.clearData();
- }
- /**
- * @desc : 약속처방 붙혀넣기 기능
- * @param :
- * @id : grd_prcplist
- * @event : onmousedown
- * @return : void
- * @authur : 마정민 2007. 6. 12
- * @---------------------------------------------------
- */
-
- function fPasteRow () {
- //ds_prcpdrag_prcplist var srcNodeList = model.instances(0).selectNodes("/root/prcpdrag/prcplist");
- //var destNode = model.instances(0).selectSingleNode("/root/main/prcp");
- var row = ds_main_prcplist.rowcount - 1; //grd_prcplist.rows-1;
- for (var i = 0; i < ds_prcpdrag_prcplist.rowcount; i++) {
- row = row++;
- ds_main_prcplist.copyRow(row, ds_prcpdrag_prcplist, i);
- ds_main_prcplist.setColumn(row, "status", "I");
-
- // model.duplicate( "/root/main/prcp", "/root/prcpdrag/prcplist[" + i + "]", "*[" + row + "]");
- // model.setValue ( "/root/main/prcp/prcplist[" + row + "]/status", "I" );
- }
- }]]></Script>
|