123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[var arErrorCode = new HashArray();
- /**
- * @desc : 화면 초기화
- * @
- * @param : flag: save (처방저장후에는 다시 조회하지 않고 저장후 리턴된 값으로 대신 보인다.)
- * @event : void
- * @return :
- * @authur : 마정민 2007. 3. 13
- * @---------------------------------------------------
- */
- function fInitialize( flag ){
- sysf_trace(" SPEED CHECK START OF SMMO02100 fInitialize()");
-
- appf_getCodeList([{dsNm: "ds_M0003", cdGrpId: "M0003"}
- , {dsNm: "ds_M0011", cdGrpId: "M0011"}
- , {dsNm: "ds_M0029", cdGrpId: "M0029"}], true, true);
- ds_init.setColumn(0, "bfprcpdd", oOpener.ds_init.getColumn(0, "prcpdd"));
- //Div00.cmb_bfprcpdd.value = oOpener.ds_init.getColumn(0, "prcpdd");
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag" );
-
- //dc처방 색변경을 위한 수정 시작 by 손주연 2008-06-30
- //전처방화면이 로드되기전 간호반납의뢰창이 먼저 뜰때 오류발생.
- oOpener.ds_root.setColumn(0, "bfinityn", "Y");
- //dc처방 색변경을 위한 수정 종료 by 손주연 2008-06-30
-
- //by sonjy 20081027 인증 저장 후 초기화 함수 호출시 마우스 오른쪽 메뉴가 지워지는 현상 수정.
- //flag == save일때는 타지 않도록 처리.
- ds_mouserght.reset(); // 원래대로 복구하고 deleteRow 하도록 함
- if ( prcpgenrflag != "O" && flag != "save" ) {
- if ( utlf_isNull(frmf_getParameter("payflagcd")) ) //급비변경 후 메뉴 사라지지 않도록 조건 추가
- ds_mouserght.deleteRow(1);
- }
- if ( oOpener.ds_init.getColumn(0, "detlivw" ) == "m" ) {
- grd_bfprcplist.setFormatColProperty(grd_bfprcplist.getBindCellIndex("body", "tempcol6"), "size", ds_init.getColumn(0, "tempcol6exwd"));
- grd_bfprcplist.setFormatColProperty(grd_bfprcplist.getBindCellIndex("body", "tempcol7"), "size", ds_init.getColumn(0, "tempcol7exwd"));
- }
- grd_bfprcplist.visible = true; //컬럼모양이 바뀌는 것을 보여주지 않기 위해 사이즈 조절후 보여준다.
- //init: 전처방 처음 띄울 때 최초 조회는 최신 전처방 가져오기 ( 단 입원, 응급은 입원기간 내 )
-
- if (utlf_isNull(prcpgenrflag)){
- return;
- }
- if ( flag == "save" ) {
- //20080819 마정민 수정 저장후에는 한 submit에서 가져오는 걸로 수정
- if ( !utlf_isNull(oOpener.ds_savertninfo_prcplist.getColumn(1, "prcpcd" ))) {
- ds_prcpsrch_prcplist.copyData(oOpener.ds_savertninfo_prcplist);
-
- oOpener.div_all.visible = true;
- }
- } else { //flag != "save"
- fBfPrcpSrch( "init" );
-
- //자가보유처방 조회 (최초 처방창을 열때만 호출한다.) 20100210 by LYJ
- var mainObj = frmf_getMainViewer();
- var curPrcpObj = mainObj.frmf_findPopup("SMMMO00100");
- if(!utlf_isNull(oOpener.objects["ds_hidden_selfhld"]) && oOpener.ds_hidden_selfhld.getColumn(0, "selfopenyn") != "Y") {
- if (!utlf_isNull(curPrcpObj)){
- curPrcpObj.fSelfHldPrcpSub();
- }
- }
-
- //kimsj 처방시 미비기록 유무 확인(submit) - (최초 처방창을 열때만 호출.) - SMMMO04100.js에서 message 실행
- if (!utlf_isNull(curPrcpObj != null)){
- curPrcpObj.fChkValidRecInfo();
- }
-
- //var sDutPlceCd = getUserInfo("dutplcecd");
- //if(getUserInfo("userid") == "EMR") { // 테스트
- /*
- if(sDutPlceCd == "4072000000" || sDutPlceCd == "4070700000" ) { // 심사실에서만 분리청구를 위해 사용하는 우측버튼 기능 생성. 2014.03.25 엄영만
- if(isNull(model.getValue("/root/init/msrght/mouserght[func='fFreeCalcs']/func"))) { // 기존에 추가되지 않았을경우만 추가.
- var ndMouseRght = instance1.selectNodes( "/root/init/msrght/mouserght");
-
- model.makeValue("/root/init/msrght/mouserght["+ndMouseRght.length+ 1 +"]/func", ""); // 분리선 추가
- model.makeValue("/root/init/msrght/mouserght["+ndMouseRght.length+ 1 +"]/label", ""); // 분리선 추가
-
- model.makeValue("/root/init/msrght/mouserght["+ndMouseRght.length+ 2 +"]/func", "fFreeCalcs");
- model.makeValue("/root/init/msrght/mouserght["+ndMouseRght.length+ 2 +"]/label", "무산정 처리");
- }
- }
- */
- }
-
-
- // //자가보유처방 조회 (최초 처방창을 열때만 호출한다.) 20100210 by LYJ
- // if (flag != "save" && oOpener.model.getValue("/root/hidden/selfhld/selfopenyn") != "Y" ){
- // var mainObj = getMainViewer();
- // var curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100");
- // if (curPrcpObj != null){
- // curPrcpObj.javascript.fSelfHldPrcpSub();
- // }
- // }
- var prcppkspec = ds_prcpsrch_prcplist.getColumn(0, "prcppkspec");
- if(utlf_isNull(prcppkspec)) prcppkspec = "";
- var prcppkspecArray = prcppkspec.split("|");
-
- if ( utlf_isNull (prcppkspecArray[0] )) {
- var orddd = oOpener.ds_paminfo.getColumn(0, "orddd");
- if (prcpgenrflag == "O" ) {
- ds_init.setColumn(0, "bfprcpdd" , orddd );
- } else {
- ds_init.setColumn(0, "bfprcpdd" , utlf_getCurrentDate());
- }
- } else {
- ds_init.setColumn(0, "bfprcpdd" , prcppkspecArray[0] );
- // 입원이고 입원전 처방이 전처방에 보일때 날짜를 입원당일로 보여준다.
- if (prcpgenrflag != "O" ) {
- if ( eval ( prcppkspecArray[0]) < oOpener.ds_paminfo.getColumn(0, "indd" )) {
- ds_init.setColumn(0, "bfprcpdd" , oOpener.ds_paminfo.getColumn(0, "indd" ));
- }
- //입원일 때는 follow up 처방 검색을 위해 /root/init/initdd 에 최종 검색일자를 넣어준다.
- //followup 처방이 있을 경우는 initdd와 같은 날짜는 folowup 처방과 같이 보여주기 위해서 이다.
- ds_init.setColumn(0, "initdd", ds_init.getColumn(0, "bfprcpdd" ));
-
- var prcppkspec_70 = ds_prcpsrch_prcplist.lookup("prcpkindcd", '70', "prcppkspec");
- if(utlf_isNull(prcppkspec_70)) prcppkspec_70 = "";
-
- var followupArray = prcppkspec_70.split("|");
- if ( !utlf_isNull(followupArray)){
- ds_init.setColumn(0, "followup", followupArray[0]);
- }
- }
- }
- var addprcpflag = oOpener.ds_init.getColumn(0, "addprcpflag"); //시행부서화면 여부
- //전처방 로딩이 완료되면 진료대상자에서 진료기록을 호출하는 로직 추가 (2008.08.28 : 김영학)
- if (addprcpflag !="Y") { // 시행부서 화면일 경우에는 호출하는 로직 수행하지않음
- //전회처방 복사
- fCopyBfPrcp(flag);
- if(flag != "save"){
- fGetHosOutPrcpResn(); //원외처방 사후관리 팝업 호출, 최초 1회만 (2010.01.18 JJE)
- }
-
- var mainObj = frmf_getMainViewer();
- var srcOrdPatListwnd = mainObj.frmf_findPopup("SMMMO04100");
-
- //마취기록지에서 처방창을 열경우 마취기록지를 initialize 시키지 않는 로직 추가 (평화IS 이은영GJ요청 : 2008.08.28)
- var srcAnstRecwnd = mainObj.frmf_findPopup("SMMMR03700");
- var anstrereload = mainObj.frmf_getParameter("SMMMR03700_refresh");
- if (!utlf_isNull(srcAnstRecwnd)) {
- var anstrereload = srcAnstRecwnd.frmf_getParameter("SMMMR03700_refresh");
- }
-
- if (anstrereload != "false") {
- var fstopenflag = oOpener.ds_init.getColumn(0, "fstopenflag"); //처방화면이 최초 생성 여부
- if (!utlf_isNull(srcOrdPatListwnd)) {
- var cpflag= srcOrdPatListwnd.ds_root.getColumn(0, "cpflag");
- if(cpflag != "Y"){ //CP가 아닐 경우만, 전처방에서 기록지 변경하는 로직 호출(CP 일 경우는 대상자 리스트 클릭시 동작
- if (fstopenflag !="N") {
- var answcnt = srcOrdPatListwnd.frmf_getParameter("SMMMO04100_ANSWCNT");
- if (answcnt =="004" || utlf_isNull(answcnt)) {
- srcOrdPatListwnd.fChngMainEMRScrn();
- }
- var scrnwnd = frmf_findPopup("SPMMB08400");
- if(!utlf_isNull(scrnwnd)){
- scrnwnd.fCloseOpenEmrWnd();
- }
- }
- }
- }
- /* CP 초기화 해주는 로직 처방.js로 이동 김영학 ( 2009.03.16)
- //JJE- (추가, srcOrdPatListwnd=null의 Y/N 상관없이 체크해야 함)
- var cpWdwFlag= oOpener.model.getValue("/root/cp");
- if( fstopenflag == "Y" && cpWdwFlag == "Y" ){ //CP가 open된 첫회만 수행(CP가 열린상태에서 다른환자 선택 시 수행 안함 -> fReconstruct()*2 방지)
- //fOpenPrcpMainWnd();
- oOpener.javascript.fReconstruct();
- }
- */
- }
-
- } //end if(addprcpflag !="Y")
-
- sysf_trace(" SPEED CHECK END OF SMMO02100 fInitialize()");
- }
- /**
- * @desc : 전회처방을 개인설정에 따라 처방 화면으로 복사 한다.
- * @param :
- * @id : fCopyBfPrcp
- * @event : 처방 화면 로딩(리로딩)시 호출
- * @return : void
- * @authur : 엄영만 2011. 11. 16
- * @---------------------------------------------------
- */
- function fCopyBfPrcp(flag) {
- if (flag == "save") { return; }
-
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag" );
- if (prcpgenrflag != "O") { return; }
-
- var copybfprcpyn = ds_init.getColumn(0, "copybfprcpyn" );
- if (copybfprcpyn != "N") { return; }
-
- //start : 환경설정(임시처방 존재시 전처방 자동 copy 기능 사용여부 설정)에 따른 전처방 copy 추가 엄영만 2013.02.06
- var findRow = oOpener.ds_initsrch_envinfo.findRowExpr("qestcd == '034' && answcnt == '002'");
- var copyTempPrcpYnNode = oOpener.ds_initsrch_envinfo.getColumn(findRow, "answcnt"); //001:사용, 002:사용안함
- var existTempPrcpNode = oOpener.ds_main_prcplist.lookup("prcphistcd", 'T', "prcpcd"); //임시저장 처방 정보
- if (!utlf_isNull(existTempPrcpNode) && !utlf_isNull(copyTempPrcpYnNode)) {
- return;
- }
-
- //start : 환경설정(전처방 자동 copy 기능 설정)에 따른 전처방 copy 추가 (요청번호:8586, 2009.11.02 JJE)
- findRow = oOpener.ds_initsrch_envinfo.findRowExpr("qestcd == '016' && answcnt == '003'");
- var copyPrcpInfoNode = oOpener.ds_initsrch_envinfo.getColumn(findRow, "answcnt"); //001:약만COPY, 002:전체COPY, 003:설정안함
- if( /*!oOpener.fIsOnSubmit() && */!utlf_isNull(copyPrcpInfoNode)){
- var orgNode = null;
- var orgPrcpcdNode = null;
- var orgPrcpclscdNode = null;
- var orgStatusNode = null;
- var orgPrcphistcdNode = null;
- var copyPrcpInfo = copyPrcpInfoNode;
- var orgPrcpcd = "";
- var orgPrcpclscd = "";
- var orgPrcphistcd = "";
- var copyCnt = 0;
- if( ds_prcpsrch_prcplist.rowcount > 0 ){
- if(!utlf_isNull(oOpener.objects["ds_migdrugmthd"])) {
- var oRemoveDs = oOpener.removeChild("ds_migdrugmthd");
- oRemoveDs = null;
- }
-
- //copy해야 하는 처방을 select 한다
- for( var i = 0; i < ds_prcpsrch_prcplist.rowcount; i++ ){
- if(!utlf_isNull(ds_prcpsrch_prcplist.getColumnInfo("prcpcd")))
- orgPrcpcd = ds_prcpsrch_prcplist.getColumn(i, "prcpcd");
-
- if(!utlf_isNull(ds_prcpsrch_prcplist.getColumnInfo("prcpclscd")))
- orgPrcpclscd = ds_prcpsrch_prcplist.getColumn(i, "prcpclscd");
-
- if(!utlf_isNull(ds_prcpsrch_prcplist.getColumnInfo("prcphistcd")))
- orgPrcphistcd = ds_prcpsrch_prcplist.getColumn(i, "prcphistcd");
-
- if(!utlf_isNull(orgPrcpcd) && orgPrcphistcd == "O" && ((copyPrcpInfo=="001" && (orgPrcpclscd=="A2" || orgPrcpclscd=="A4" || orgPrcpclscd=="A6")) || copyPrcpInfo=="002") ){
- ds_prcpsrch_prcplist.rowposition = i;
- ds_prcpsrch_prcplist.setColumn(i, "status", "I");
- copyCnt++;
- }
- } //end for()
-
- //select된 처방에 대해 addPrcp()
- //oOpener의 서브밋 여부를 체크 하여 실행 하도록 수정함.
- if(/*!oOpener.fIsOnSubmit() && */copyCnt > 0 ){
- ds_init.setColumn(0, "copybfprcpyn" , "Y");
- oOpener.frmf_setParameter("SMMMO02100_skipAddPrcpPopYN", "Y");
- // 추후 그리드명 확인필요
- lf_addPrcp ( "child", ds_prcpsrch_prcplist, ds_main_prcplist, "Y", "status", "I", grd_bfprcplist, "N", "01");
- for (var i= 0; i < ds_prcpsrch_prcplist.rowcount; i++){
- if (ds_prcpsrch_prcplist.getColumn(i, "status") == "I") {
- ds_prcpsrch_prcplist.setColumn(i, "status", "-");
- }
- }
- oOpener.fOldDrugMthdPop();
- oOpener.frmf_clearParameter("SMMMO02100_skipAddPrcpPopYN"); //parameter로 상세팝업 호출 여부 체크를 위함
- }
- }
- } //end if(환경설정에 따른 전처방 copy)
- //end : 환경설정(전처방 자동 copy 기능 설정)에 따른 전처방 copy 추가
- }
- /**
- * @desc : 전처방을 검색한다.
- * @param : flag: 전처방 구분 ( init: 전처방 처음 띄울 때 최초 조회는 최신 전처방 가져오기 ( 단 입원, 응급은 입원기간 내 )
- : prcpgenrflag: 외래입원구분
- * @id :
- * @event :
- * @return : void
- * @authur : 마정민 2007. 5. 5
- * @---------------------------------------------------
- */
- function fBfPrcpSrch( flag ) {
- var cnt = 0;
- var orddd = "";
- var orddrid = "";
- var todd = "";
- var pid = oOpener.ds_paminfo.getColumn(0, "pid" );
- var prcpdd = ds_init.getColumn(0, "bfprcpdd");
- var bfflag = "bfprcp";
- var rsrvflag = lf_getDsValue(oOpener.ds_paminfo, 0, "rsrvflag");
- if ( oOpener.ds_root.getColumn(0, "addprcp" ) == "Y" || rsrvflag == "P" ) {
- bfflag = "addprcp";
- }
- if (utlf_isNull(flag)) flag ="";
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag" );
- if (prcpgenrflag == "O" || prcpgenrflag == "S") {
- orddd = prcpdd;
- orddrid = oOpener.ds_paminfo.getColumn(0, "orddrid" );
- todd = oOpener.ds_paminfo.getColumn(0, "orddd" );
- }
- else {
- orddd = oOpener.ds_paminfo.getColumn(0, "indd" );
- todd = utlf_getCurrentDate().toDate().getAddDate(1,"D").getDateFormat();
- }
- orddeptcd = oOpener.ds_paminfo.getColumn(0, "orddeptcd" );
- cretno = oOpener.ds_paminfo.getColumn(0, "cretno" );
- var prcpauthflag = oOpener.ds_init.getColumn(0, "prcpauthflag" );
- var followup = ds_init.getColumn(0, "followup" );
- //by sonjy 20091120 전처방 조회 개인별 설정 추가
- var bfprcpviewnode = oOpener.ds_initsrch_envinfo.lookup("qestcd", '018', "answcnt")
- var bfprcpviewflag = "";
-
- if( !utlf_isNull(bfprcpviewnode) ) bfprcpviewflag = bfprcpviewnode.text ;
-
- //검색처방일이 followup 날짜와 같다면 followup 처방을 검색한다.
- if ( ( prcpdd == followup && !utlf_isNull(prcpdd)) || ( flag == "aft" && !utlf_isNull(followup))) {
- //var rtnval = fBfPrcpSrchCom ( pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", prcpauthflag, followup);
- //by sonjy 20091120 전처방 조회 개인별 설정 추가
- var rtnval = lf_bfPrcpSrchCom ( pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", prcpauthflag, followup, bfprcpviewflag);
- ds_send.setColumn(0, "cond12", "" );
- //followup 검색 초기화
- } else {
- // var rtnval = fBfPrcpSrchCom ( pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", prcpauthflag);
- //by sonjy 20091120 전처방 조회 개인별 설정 추가
- var rtnval = lf_bfPrcpSrchCom ( pid, orddd, prcpdd, bfflag, flag, orddrid, todd, prcpgenrflag, orddeptcd, cretno, "TRMMO00100", prcpauthflag, "", bfprcpviewflag);
- }
-
- if(rtnval == true){
- oOpener.div_all.visible = true;
- }
- }
- /**
- * @desc : 오른쪽 마우스 클릭 D/C
- * @ : 신규일 때는 removeNode
- * @ : 수정중일 때 원복시킨 후 삭제, D/C 표시
- * @ : 삭제, D/C 원복시킬려면 ? 오른쪽 마우스에 삭제, D/C 취소
- * @ : 삭제 후 D/C는 불가
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 삭제
- * @return : void
- * @authur : 마정민 2007. 3. 26
- * @history: vAftClamDcFg 추가 by sonjy vAftClamDcFg가 C이면
- * @---------------------------------------------------
- */
- function fDCRow(vAftClamDcFg) {
- //by sonjy 20081022
- if( utlf_isNull(vAftClamDcFg) ){
- vAftClamDcFg = "";
- //청구 후 d/c를 일반 d/c와 함께 낼 수 없도록 처리. by sonjy 20081027
- var aftNodeList = ds_prcpsrch_prcplist.getCaseCount("tempcol21 == 'C'");
- if( aftNodeList > 0 ){
- sysf_messageBox ( "청구 후 D/C는 일반 D/C와 함께 내리실 수 없습니다.", "E" );
- return;
- }
- }
-
- // 아래의 for 문 안으로 이 로직 집어 넣음
- // //덤프된 처방은 d/c 할 수 없도로 처리. cha 20090525
- // var cvrtbfprcp = model.getValue ( "/root/prcpsrch/prcplist[" + grd_bfprcplist.selectedRow(i) + "]/prcphistcd");
- // if( cvrtbfprcp == "M"){
- // messageBox ( "Dump된 처방은 D/C 할 수 없습니다.", "E" );
- // return;
- // }
-
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag");
-
- var pampkspec = "";
- var pamorddd = "";
- var pamcretno = "";
-
- var pamstatus = "";
- var statcdcnts = 0;
- var nurdrugrtn = "";
- var dchosoutcnt = 0;
- var orghosoutcnt = 0;
- var sumhosoutfg = "";
- var addprcp = oOpener.ds_init.getColumn(0, "addprcpflag");
- var cretno = "";
-
- //SON1006 첫번째 로우값으로 체크하던 로직을 선택된 row를 체크하는 로직으로 변경. START
- var selectedRows = grdf_getSelectedRows(grd_bfprcplist);
-
- for( var i = 0 ; i < selectedRows.length ; i++) {
- // 위에 있는 이 로직이 여기 있어야 하는 것 아닌가?
- var cvrtbfprcp = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcphistcd");
- if( cvrtbfprcp == "M"){
- sysf_messageBox ( "Dump된 처방은 D/C 할 수 없습니다.", "E" );
- return;
- }
-
- pampkspec = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "pampkspec") + "^";
- pamorddd = lf_getArrayData (pampkspec, 0, 1, "^", "|" );
- pamcretno = lf_getArrayData (pampkspec, 0, 2, "^", "|" );
-
- pamstatus = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "tempcol1");
-
- if ( prcpgenrflag == "O" ) {
- orddd = oOpener.ds_paminfo.getColumn(0, "orddd");
- if (pamorddd != orddd ) {
- sysf_messageBox ( "진료일에만 D/C를 내리실 수 있습니다.", "E" );
- return;
- }
- //진료환자와 원무정보가 다른 처방은 D/C할 수 없습니다.
- cretno = oOpener.ds_paminfo.getColumn(0, "cretno");
- if (pamcretno != cretno ) {
- sysf_messageBox ( "진료환자와 원무정보가 다른 처방은 D/C할 수", "I004" );
- return;
- }
- //kimsj 20090828 수납 후 D/C 처방시 메세지
- if (pamstatus >= "230") {
- statcdcnts++;
- }
- //kimsj 20100105 연속처방 D/c 선택시 청구된 내역 존재할 경우 메세지
- if ( pamstatus == "601" ) {
- sysf_messageBox ( "연속처방중 청구된 건이 있습니다. \n부분반환을 하시기 바랍니다.", "E" );
- return;
- }
- }
-
- /*
- * 진료에서 반환처방등록시 간호에서 반환요청된 처방이 있는 경우 반환요청된 처방임을 알리고 반환처방발행대신에 반환요청 팝업창이 생성되어 반환저장만 가능하도록
- * 변경요청번호 : 8869
- *by sonjy 20091030 간호투약기록 반환요청 약 check
- */
- if( prcpgenrflag != "O" && prcpgenrflag != "S" && addprcp != "Y" &&
- (ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A2" ||
- ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A4" ||
- ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A6" ) ){
- nurdrugrtn = lf_getArrayData ( ds_prcpsrch_prcplist.getColumn(selectedRows[i], "tempcol10") + "^", 0, 3, "^", "|" ) ;
- if( nurdrugrtn == "P" ) {
- sysf_messageBox ( ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpnm") + "간호에서 반납요청된 처방으로 D/C할 수 없습니다.\n 간호반납 화면에서 확인", "I008" );
- if(oOpener != null){
- oOpener.ds_initsrchprcp_prcpetccnts.setColumn(0, "drugprcprtnyn", "Y");
- oOpener.fDrugPrcpDc();
- }
- return ;
- }
- }
- /*
- * 원외처방전에만 해당되며, 반환시 부분반환은 블러킹하고 전체 반환만 가능하도록(변경요청번호:8829) , 단, admin mode제외
- * by sonjy 20091030 부분반환은 블러킹
- */
- if(prcpgenrflag == "O" && ( oOpener.ds_root.getColumn(0, "admininfo") == "NNNNNNNNNNNNNNNNNNNN" || utlf_isNull( oOpener.ds_root.getColumn(0, "admininfo")) ) &&
- (ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A2" ||
- ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A4" ||
- ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd") == "A6") ){
-
- //by sonjy 20091126 현재 환자의 원무정보와 동일 할 경우만 check하도록
- sumhosoutfg = lf_getArrayData ( ds_prcpsrch_prcplist.getColumn(selectedRows[i], "tempcol10") + "^", 0, 4, "^", "|" ) ;
- if( sumhosoutfg == "Y" && pamcretno == cretno ) dchosoutcnt++;
- }
- }
-
- /*
- * 원외처방전에만 해당되며, 반환시 부분반환은 블러킹하고 전체 반환만 가능하도록(변경요청번호:8829)
- * by sonjy 20091030 부분반환은 블러킹
- */
- if(prcpgenrflag == "O" && dchosoutcnt > 0 && (oOpener.ds_root.getColumn(0, "admininfo" ) == "NNNNNNNNNNNNNNNNNNNN" || utlf_isNull( oOpener.ds_root.getColumn(0, "admininfo")) ) ) {
- orghosoutcnt = 0;
- cretno = oOpener.ds_paminfo.getColumn(0, "cretno" ); //현재 환자의 원무정보
-
- for( var i = 0; i < ds_prcpsrch_prcplist.rowcount; i++) {
- if((ds_prcpsrch_prcplist.getColumn(i, "prcpclscd") == "A2" ||
- ds_prcpsrch_prcplist.getColumn(i, "prcpclscd") == "A4" ||
- ds_prcpsrch_prcplist.getColumn(i, "prcpclscd") == "A6") ){
- pampkspec = ds_prcpsrch_prcplist.getColumn(i, "pampkspec") + "^";
- pamorddd = lf_getArrayData (pampkspec, 0, 1, "^", "|" );
- pamcretno = lf_getArrayData (pampkspec, 0, 2, "^", "|" );
- sumhosoutfg = lf_getArrayData ( ds_prcpsrch_prcplist.getColumn(i, "tempcol10") + "^", 0, 4, "^", "|" ) ;
- if( sumhosoutfg == "Y" && pamcretno == cretno ) orghosoutcnt++;
- }
- }
-
- if( dchosoutcnt != orghosoutcnt ) {
- sysf_messageBox ("원외처방전이 출력되어 부분 반환이 불가 합니다.전체 반환 후 처방", "I008");
- return ;
- }
- }
-
- //kimsj 20090828 수납 후 D/C 처방시 메세지
- if (statcdcnts > 0) {
- if (sysf_messageBox ( "수납이 완료된 환자입니다. 처방을 수정하시겠습니까? \n 수정하신 후에는 환자에게 재수납하실 것을 설명해 주시기 바랍니다.", "Q" ) != "6" ) {
- return;
- }
- }
- //SON1006 END
-
- var prcpcslcd = "";
- var contprcpspec = "";
- var prcplen = "";
- var status = "";
- var actorddd = "";
- var actcretno = "";
- var execprcpstatcd = "";
- var prcpdd = "";
- var execprcpno = "";
- var rcptdd = "";
- var keyval = "";
- var prcpno = "";
- var prcphistno = "";
- var clamdd = "";
- var anticncrprtlnochk = 0;
- var nortnchk = 0;
- for ( var i = 0; i < selectedRows.length; i++ ) {
- //제목은 DC 불가
- var tempcol9 = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "tempcol9");
- if ( tempcol9 == "N" || tempcol9 == "C" ) {
- continue;
- }
- var prcphistcd = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcphistcd");
- if ( prcphistcd == "C" ) {
- continue;
- }
-
- if (ds_prcpsrch_prcplist.getColumn(selectedRows[i], "anticncrprtlno") != "0" ) {
- if (anticncrprtlnochk==0) {
- sysf_messageBox ( "항암프로토콜 처방은 항암프로토콜 화면에서 가능합니다.", "E" );
- }
- anticncrprtlnochk++;
- continue;
- }
- //M은 DC 불가, 다선택하면 M도 DC 가능
- var chkcol = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "chkcol");
- //*************************** **********************************//
- var suppdeptspec = lf_getDsValue(ds_prcpsrch_prcplist, selectedRows[i], "suppdeptspec");
- var iFind = suppdeptspec.indexOf( "NORTN" );
- if ( iFind >= 0) {
- //messageBox ( "특수조제실에서 조제완료하였으므로 반환불가합니다. 특수조제실로 문의바랍니다.", "E" );
- //퇴원약 처방 출력후 반환도 추가되어서 메시지를 바꿨다.
- if ( nortnchk == 0 ) {
- sysf_messageBox ( "반환불가한 상태입니다. 약국에 문의바랍니다.", "E" );
- }
- nortnchk++;
- continue;
- }
-
- if ( ds_prcpsrch_prcplist.getColumn(selectedRows[i], "tempcol4") == "incldcchk" ) {
- continue; // 종속처방 처리 됐으면 d/c 처리 할 필요 없음
- }
- if (chkcol!="D") {
- ds_prcpsrch_prcplist.setColumn(selectedRows[i], "chkcol", "D");
- ds_prcpsrch_prcplist.setColumn(selectedRows[i], "tempcol21", vAftClamDcFg) ; //SON20081022 청구 후 D/C
- //종속처방 DC 처리
- var inclprcpno = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "inclprcpno");
- //종속처방 값이 있으면
- if ( ds_prcpsrch_prcplist.getColumn(selectedRows[i], "inclprcpno") > 0 ) {
- for ( var j = 0; j < ds_prcpsrch_prcplist.rowcount; j++ ) {
- if ( inclprcpno == ds_prcpsrch_prcplist.getColumn(j, "inclprcpno")) {
-
- var tempcol9 = ds_prcpsrch_prcplist.getColumn(j, "tempcol9");
- if ( tempcol9 == "N" || tempcol9 == "C" ) {
- continue;
- }
- if ( eval(ds_prcpsrch_prcplist.getColumn(j, "tempcol1")) >= 400 && utlf_isNull(vAftClamDcFg) ){
- //종속처방에서 상태값이 400이상이면 d/c처리에서 뺀다.
- //단, 청구후 d/c가 아닐 경우만...by sonjy 20081027
- ds_prcpsrch_prcplist.setColumn(j, "chkcol", "");
- ds_prcpsrch_prcplist.setColumn(j, "tempcol21", "");//SON20081022 청구 후 D/C
- } else {
- if ( ds_prcpsrch_prcplist.getColumn(j, "chkcol") == "D" ) {
- //model.setValue ( "/root/prcpsrch/prcplist[" + j + "]/chkcol", "" );
- //model.setValue ( "/root/prcpsrch/prcplist[" + j + "]/tempcol4", "incldcchk" );
- } else {
- ds_prcpsrch_prcplist.setColumn(j, "chkcol", "D");
- ds_prcpsrch_prcplist.setColumn(j, "tempcol21", vAftClamDcFg);//SON20081022 청구 후 D/C
- ds_prcpsrch_prcplist.setColumn(j, "tempcol4", "incldcchk");
- }
- }
- }
- }
- }
- } else {
- ds_prcpsrch_prcplist.setColumn(selectedRows[i], "chkcol", "" );
- ds_prcpsrch_prcplist.setColumn(selectedRows[i], "tempcol21", "") ; //SON20081022 청구 후 D/C
-
- //연속처방 클리어 처리
- prcpcslcd = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpclscd" );
- if ( prcpcslcd == "A6" || prcpcslcd == "F2" ) {
- var contprcpspec = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "contprcpspec" );
- if ( contprcpspec != "-" ) {
- var prcplen = contprcpspec.split("^").length;
- var strContprcpspec = "status|actorddd|actcretno|execprcpstatcd|prcpdd|execprcpno|execprcpuniqno|rcptdd|keyval|prcpno|prcphistno|clamdd";
- for ( var j = 1; j < prcplen; j++ ) {
- status = "^-|";
- actorddd = lf_getArrayData ( contprcpspec, j, 1, "^", "|" ) + "|";
- actcretno = lf_getArrayData ( contprcpspec, j, 2, "^", "|" ) + "|";
- execprcpstatcd = lf_getArrayData ( contprcpspec, j, 3, "^", "|" ) + "|";
- prcpdd = lf_getArrayData ( contprcpspec, j, 4, "^", "|" ) + "|";
- execprcpno = lf_getArrayData ( contprcpspec, j, 5, "^", "|" ) + "|";
- execprcpuniqno = lf_getArrayData ( contprcpspec, j, 6, "^", "|" ) + "|";
- rcptdd = lf_getArrayData ( contprcpspec, j, 7, "^", "|" ) + "|";
- keyval = lf_getArrayData ( contprcpspec, j, 8, "^", "|" ) + "|";
- prcpno = lf_getArrayData ( contprcpspec, j, 9, "^", "|" ) + "|";
- prcphistno = lf_getArrayData ( contprcpspec, j, 10, "^", "|" ) + "|";
- clamdd = lf_getArrayData ( contprcpspec, j, 11, "^", "|" );
- strContprcpspec = strContprcpspec + status + actorddd + actcretno + execprcpstatcd + prcpdd + execprcpno + execprcpuniqno + rcptdd + keyval + prcpno + prcphistno + clamdd;
- }
- ds_prcpsrch_prcplist.setColumn(selectedRows[i], "contprcpspec", strContprcpspec );
- }
- }
- }
- }
- //종속처방 DC풀기 처리
- for ( var i = 0; i < ds_prcpsrch_prcplist.rowcount; i++ ){
- ds_prcpsrch_prcplist.setColumn(i, "tempcol4", "");
- //제목은 DC 불가
- var tempcol9 = ds_prcpsrch_prcplist.getColumn(i, "tempcol9");
- if ( tempcol9 == "N" || tempcol9 == "C" ) {
- continue;
- }
- var prcphistcd = ds_prcpsrch_prcplist.getColumn(i, "prcphistcd" );
- if ( prcphistcd == "C" ) {
- continue;
- }
- if ( ds_prcpsrch_prcplist.getColumn(i, "tempcol1" ) >= 400 && utlf_isNull(vAftClamDcFg) ){
- //종속처방에서 상태값이 400이상이면 d/c처리에서 뺀다.
- //단, 청구후 d/c가 아닐 경우만...by sonjy 20081027
- continue;
- } else {
- if ( ds_prcpsrch_prcplist.getColumn(i, "chkcol") == "" ) {
- var inclprcpno = ds_prcpsrch_prcplist.getColumn(i, "inclprcpno" );
- if ( inclprcpno > 0 ) { //종속처방 번호가 있는 것중
- var inclprcpno = ds_prcpsrch_prcplist.getColumn(i, "inclprcpno" );
- for ( var j = 0; j < ds_prcpsrch_prcplist.rowcount; j++ ) {
- if ( ds_prcpsrch_prcplist.getColumn(j, "chkcol") == "D" ){ //같은종속처방중 D가 아닌것은 D로 처리
- if ( inclprcpno == ds_prcpsrch_prcplist.getColumn(j, "inclprcpno" )) {
- if ( eval(ds_prcpsrch_prcplist.getColumn(j, "tempcol1" )) >= 400 && utlf_isNull(vAftClamDcFg) ){
- //종속처방에서 상태값이 400이상이면 d/c처리에서 뺀다.
- //단, 청구후 d/c가 아닐 경우만...by sonjy 20081027
- continue;
- } else {
- ds_prcpsrch_prcplist.setColumn(j, "chkcol", "");
- ds_prcpsrch_prcplist.setColumn(j, "tempcol21", ""); //SON20081022 청구 후 D/C
- }
- }
- }
- }
- }
- }
- }
- }
- }
- function fAppendDC() {
- for ( var i = 0; i < ds_prcpsrch_prcplist.rowcount; i++ ){
- if ( ds_prcpsrch_prcplist.getColumn(i, "chkcol") == "D" ) {
- ds_prcpsrch_prcplist.setColumn(i, "status", "C");
-
- var row = oOpener.ds_prcpdc_prcplist.addRow();
- oOpener.ds_prcpdc_prcplist.copyRow(row, ds_prcpsrch_prcplist, i);
- }
- }
- }
- function fContPrcpDC() {
- var selectedRows = grdf_getSelectedRows(grd_bfprcplist);
-
- if ( selectedRows.length > 1 ) {
- sysf_messageBox ( "부분D/C는 멀티 선택", "E001" );
- return;
- }
-
- var currow = ds_prcpsrch_prcplist.rowposition;
-
- //제목은 DC 불가
- var tempcol9 = ds_prcpsrch_prcplist.getColumn(currow, "tempcol9");
- if ( tempcol9 == "N" ) {
- return;
- }
-
- //덤프된 처방은 d/c 할 수 없도로 처리. cha 20090525
- var cvrtbfprcp = ds_prcpsrch_prcplist.getColumn(currow, "prcphistcd");
- if( cvrtbfprcp == "M"){
- sysf_messageBox ( "Dump된 처방은 D/C 할 수 없습니다.", "E" );
- return;
- }
-
- var prcpcslcd = ds_prcpsrch_prcplist.getColumn(currow, "prcpclscd");
-
- //by sonjy 2008-08-28 mset부분d/c시 하나만 d/c되는 경우 발생. 주사이나 종속처방이 아닌경우만 처리.
- if ( (prcpcslcd == "A6" || prcpcslcd == "F2" ) && (ds_prcpsrch_prcplist.getColumn(currow, "inclprcpno") )=="0"
- ) {
- if ( ds_prcpsrch_prcplist.getColumn(currow, "contprcpspec") != "-" ) {
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag");
- frmf_setParameter ( "SMMM02100_prcpgenrflag", prcpgenrflag );
- fPrcpModal ( "SPMMO11300", 100, 150 );
- } else {
- ds_prcpsrch_prcplist.setColumn(currow, "chkcol", "D");
- }
- } else {
- //model.setValue ( "/root/prcpsrch/prcplist[" + grd_bfprcplist.row + "]/chkcol", "D" );
- //by sonjy 2008-08-28 mset부분d/c시 하나만 d/c되는 경우 발생.
- sysf_messageBox ( "부분D/C는 주사 및 재활 연속처방만 가능합니다.", "I" );
- }
- }
- /**
- * @desc : 환자급여변경
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 함수
- * @return : void
- * @authur : 마정민 2007. 9. 10
- * @---------------------------------------------------
- */
- function fChngPayflagCd() {
-
- //setParameter ( "bfpayflagcd", model.getValue ( "/root/prcpsrch/prcplist[" + grd_bfprcplist.row + "]/payflagcd"));
-
- lf_prcpModal ( "SPMMO14000", 100, 150 );
- var payflagcd = "";
- if ( utlf_isNull(frmf_getParameter ( "payflagcd" ))){
- return;
- } else {
- payflagcd = frmf_getParameter ( "payflagcd" );
- }
-
- var selectedRows = grdf_getSelectedRows(grd_bfprcplist);
-
- ds_prcppaychg_prcppaychglist.clearData();
- var row = 0;
- for (var i = 0; i < selectedRows.length; i++) {
- var orgpayflagcd = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "payflagcd");
- if(utlf_isNull(orgpayflagcd)) continue; // 처방 입력 설명행은 체크 하지 않는다. 2013.12.20
-
- if ( payflagcd == orgpayflagcd ) {
- var prcpcd = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpcd");
- var prcpnm = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcpnm");
- sysf_messageBox ( "[" + prcpcd + ":" + prcpnm + "] " + "처방은 변경된 급비가", "I004" );
- continue;
- }
-
- lf_appendChildPrcp ( "ds_reset_prcppaychglist", "ds_prcppaychg_prcppaychglist", "main" );
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag");
- ds_prcppaychg_prcppaychglist.setColumn(row, "ioflag", prcpgenrflag);
- ds_prcppaychg_prcppaychglist.setColumn(row, "pid", oOpener.ds_paminfo.getColumn(0, "pid"));
- var orddd = "";
- if ( prcpgenrflag == "O" ){ //외래일때
- orddd = oOpener.ds_paminfo.getColumn(0, "orddd");
- } else {
- orddd = oOpener.ds_paminfo.getColumn(0, "indd");
- }
-
- ds_prcppaychg_prcppaychglist.setColumn(row, "orddd", orddd);
- ds_prcppaychg_prcppaychglist.setColumn(row, "cretno", oOpener.ds_paminfo.getColumn(0, "cretno"));
- ds_prcppaychg_prcppaychglist.setColumn(row, "instcd", oOpener.ds_paminfo.getColumn(0, "instcd"));
- var prcppkspec = ds_prcpsrch_prcplist.getColumn(selectedRows[i], "prcppkspec") + "^";
- var prcpdd = lf_getArrayData ( prcppkspec, 0, 0, "^", "|" );
- var prcpno = lf_getArrayData ( prcppkspec, 0, 1, "^", "|" );
- var prcphistno = lf_getArrayData ( prcppkspec, 0, 2, "^", "|" );
- ds_prcppaychg_prcppaychglist.setColumn(row, "prcpdd", prcpdd);
- ds_prcppaychg_prcppaychglist.setColumn(row, "prcpno", prcpno);
- ds_prcppaychg_prcppaychglist.setColumn(row, "payflagcd", payflagcd);
- ds_prcppaychg_prcppaychglist.setColumn(row, "deptcd", sysf_getUserInfo("dutplcecd"));
- ds_prcppaychg_prcppaychglist.setColumn(row, "userid", sysf_getUserInfo ("userid"));
- ds_prcppaychg_prcppaychglist.setColumn(row, "prcphistno", prcphistno);
- ds_prcppaychg_prcppaychglist.setColumn(row, "orgpayflagcd", orgpayflagcd);
-
- row++;
- }
-
- if ( ds_prcppaychg_prcppaychglist.rowcount > 0 ) {
-
- var oParam = {};
- oParam.id = "TXMMO02101";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqExeSetPrcpPayFlag";
- oParam.inds = "req=ds_prcppaychg_prcppaychglist";
- oParam.outds = "ds_prcperrlist=prcperrlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO02101";
- tranf_submit(oParam);
-
- }
- }
- function cf_TXMMO02101(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode > -1) {
- var errNode = ds_prcperrlist.getCaseCount("flag == '9'");
- if (errNode > 0) {
-
- var mon = sysf_getCurrentMonitorNumber();
- var xpt = this.getOwnerFrame().position.x + 200;
- var ypt = this.getOwnerFrame().position.y + 100;
-
- var objArg = new Object();
- objArg.arg_ds_result_prcperrlist = ds_prcperrlist;
-
- frmf_modal("SPMMO21501", "SPMMO21501", objArg, false, mon, xpt, ypt, null, null, null, null, null, "M");
- }
-
- oOpener.fInitPaminfo();
- //fInitialize("save"); //오른쪽 마우스 메뉴 삭제 오류 수정 by sonjy 20091030
- // if문 필요 없는 듯? 확인필요
- // if(row > 0){ //급비 변경 후, opener에 savertninfo가 없는 경우 전처방이 제대로 refresh안됨 (2010.03.02 JJE)
- fInitialize();
- // }
- }
-
- frmf_setParameter ( "payflagcd", "");
- }
- function setPrcpColor(style, tempcol10) {
- var colorArray = tempcol10 + "^";
-
- var rtnVal = "";
- if(style == "background") {
- var backgroundcolor = lf_getArrayData (colorArray, 0, 0, "^", "|" );
- rtnVal = (!utlf_isNull(backgroundcolor)) ? backgroundcolor : "#ffffffff";
- } else if(style == "fontcolor") {
- var fontcolor = lf_getArrayData (colorArray, 0, 1, "^", "|" );
- rtnVal = (!utlf_isNull(fontcolor)) ? fontcolor : "#000000ff";
- } else if(style == "fonttype") {
- var boldflag = lf_getArrayData (colorArray, 0, 2, "^", "|" );
- rtnVal = (!utlf_isNull(boldflag)) ? "Dotum,9," + boldflag : "Dotum,9";
- }
-
- return rtnVal;
- }
- /**
- * @desc : D/C처방 오류처방 색변경
- * @param :
- * @id : grd_bfprcplist
- * @event : D/C처방 오류발생시
- * @return : void
- * @authur : 손주연 2008. 6. 30
- * @---------------------------------------------------
- */
- function fSetErrDCRow(DcErrArray) {
- if( DcErrArray == null || DcErrArray.length < 1) return ;
-
- var lstDC = new Array();
- lstDC = DcErrArray ;
-
- for ( var i = 0; i < lstDC.length; i++ ){
- for( var j = 0; j < ds_prcpsrch_prcplist.rowcount; j++ ) {
- if( ds_prcpsrch_prcplist.getColumn(j, "chkcol") != "D" ) continue ;
-
- if( ds_prcpsrch_prcplist.getColumn(j, "prcppkspec") == lstDC[i] ){
- ds_prcpsrch_prcplist.setColumn(j, "tempcol10", "#ff6600");
- }
- }
- }
- }
- /**
- * @desc : 오른쪽 마우스 클릭 청구후 D/C
- * @ : 신규일 때는 removeNode
- * @ : 수정중일 때 원복시킨 후 삭제, D/C 표시
- * @ : 삭제, D/C 원복시킬려면 ? 오른쪽 마우스에 삭제, D/C 취소
- * @ : 삭제 후 D/C는 불가
- * @param :
- * @id : grd_prcplist
- * @event : 오른쪽 마우스 클릭 삭제
- * @return : void
- * @authur :
- * @---------------------------------------------------
- */
- function fAftDCRow() {
- fDCRow("C");
- }
- function fBtnInit(value){
- if (value == "A") {
- btn_bfinit.visible = true;
- btn_bfreinit.visible = false;
- } else if (value == "B") {
- btn_bfinit.visible = false;
- btn_bfreinit.visible = true;
- } else {
- btn_bfinit.visible = false;
- btn_bfreinit.visible = false;
- }
- }
- /**
- * @desc : 원외처방 사후관리 팝업 호출, 최초 1회만 (2010.01.18 JJE)
- * @param :
- * @return :
- * @authur : 전지은, submission은 약제(뱍유미) 제공
- * @---------------------------------------------------
- */
- function fGetHosOutPrcpResn(){
- var prcpgenrflag = oOpener.ds_patflag.getColumn(0, "prcpgenrflag" );
- var orddd = "";
- if (prcpgenrflag == "O" || prcpgenrflag == "S"){
- orddd = oOpener.ds_paminfo.getColumn(0, "orddd" );
- }else{
- orddd = oOpener.ds_paminfo.getColumn(0, "indd" );
- }
-
- ds_send_hosoutprcpresninfo.setColumn(0, "pid" , oOpener.ds_paminfo.getColumn(0, "pid" ));
- ds_send_hosoutprcpresninfo.setColumn(0, "cretno" , oOpener.ds_paminfo.getColumn(0, "cretno" ));
- ds_send_hosoutprcpresninfo.setColumn(0, "orddeptcd", oOpener.ds_paminfo.getColumn(0, "orddeptcd" ));
- ds_send_hosoutprcpresninfo.setColumn(0, "orddd" , orddd);
- ds_send_hosoutprcpresninfo.setColumn(0, "prcpdd" , ds_init.getColumn(0, "bfprcpdd"));
-
- var oParam = {};
- oParam.id = "TRMMO02102";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetHosOutPrcpResnInfo";
- oParam.inds = "req=ds_send_hosoutprcpresninfo";
- oParam.outds = "ds_hosoutprcpresninfo=result";
- oParam.async = false;
- oParam.callback = "cf_TRMMO02102";
- tranf_submit(oParam);
- }
- function cf_TRMMO02102(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode > -1) {
- dsf_setDefaultVal(ds_hosoutprcpresninfo, "msg:''");
-
- var rtnMsg = ds_hosoutprcpresninfo.getColumn(0, "msg");
- if(!utlf_isNull(rtnMsg)){
- sysf_messageBox(rtnMsg, "I");
- }
- }
- }]]></Script>
|