123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * Creator :
- * Make Date : 2015-02-12
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2015-02-12 Live Converter TF->XP
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- // var sOPRSRVINFO_PATH = ds_main_oprsrvinfo;
- // var sOPRSRVLIST_PATH = ds_main_oprsrvlist;
- // var sOPSCHERECLIST_PATH = ds_main_opschereclist;
- //
- // var sDIAGCDLIST_PATH = ds_main_diaglist;
- // var sPATORDINFOLIST_PATH = ds_patordinfolist;
- var g_scrnflag = ""; //조회전용
- //2012/06/26 Start
- // 수술 예방적 항생제 관련
- var nodecnt = 0;
- //2012/06/26 End
- var arErrorCode = new HashArray();
- //=======================================================================================
- // Function
- //---------------------------------------------------------------------------------------
- /***************************************************************************************************
- * Function : fInitialize_SPMMO00200
- * Description : 수술예약 화면 초기화
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fInitialize_SPMMO00200(){
- //20180320 이돈희 : 칠곡 제외하고는 로봇수술 hide 처리
- if(sysf_getUserInfo("dutplceinstcd") != "032" ) {
- bool6.visible = false;
- }
- ds_main_oprsrvlist.clearData();
- ds_main_diaglist.clearData();
- ds_main_opschereclist.clearData();
- ds_main_cond.setColumn(0,"fromdd" , utlf_getCurrentDate()); //시작일자
- var todd = (utlf_getCurrentDate().toDate()).getAddDate(7);
- todd = todd.getDateFormat();
- ds_main_cond.setColumn(0,"todd" , todd); //종료일자
- ds_main_cond.setColumn(0,"opschedd", utlf_getCurrentDate()); //수술예약일자
- appf_getDeptCodeList(sysf_getUserInfo("dutplceinstcd"),"orduseyn","D","depthngnm","","","","","ds_init_orddept",false,""); //조회용 진료과
- dsf_addDsItem( ds_init_orddept, "deptcd", "depthngnm", "전체", "-", "above"); //조회용 진료과 전체항목 추가
- appf_getDeptCodeList(sysf_getUserInfo("dutplceinstcd"),"orduseyn","D","depthngnm","","","","","ds_init_orddept2",false,""); //부서코드 콤보 조회
- appf_getDeptCodeList(sysf_getUserInfo("dutplceinstcd"),"orduseyn","D","depthngnm","","","","","ds_init_orddept3",false,""); //부서코드 콤보 조회
-
- lf_reqOpRoomList(utlf_getCurrentDate(), ds_init_oproomlist, ds_init_opallroomlist, "total"); //수술실 조회
- dsf_addDsItem( ds_init_oproomlist, "oproomcd", "oproomnm", "방없음", "0000", "above"); //의사콤보 전체항목 추가
- lf_reqOpRoomList(utlf_getCurrentDate(), ds_init_oproomlist2, ds_init_opallroomlist2, "total"); //수술실 조회(일별 가능한 수술실 조회가 아닌 수술실 전체 조회)
- dsf_addDsItem( ds_init_oproomlist2, "oproomcd", "oproomnm", "전체", "-", "above"); //부서콤보 전체항목 추가
-
- var arrParam = [ {dsNm: "ds_init_M0013", cdGrpId: "M0013"}
- ,{dsNm: "ds_init_M0014", cdGrpId: "M0014"}
- ,{dsNm: "ds_init_M0016", cdGrpId: "M0016"}
- ,{dsNm: "ds_init_M0017", cdGrpId: "M0017"}
- ,{dsNm: "ds_init_M0020", cdGrpId: "M0020"}
- ,{dsNm: "ds_init_M0022", cdGrpId: "M0022"}
- ,{dsNm: "ds_init_M0237", cdGrpId: "M0237"}
- ,{dsNm: "ds_init_M0238", cdGrpId: "M0238"}
- ,{dsNm: "ds_init_M0239", cdGrpId: "M0239"}
- ,{dsNm: "ds_init_M0240", cdGrpId: "M0240"}
- ,{dsNm: "ds_init_M0241", cdGrpId: "M0241"}
- ,{dsNm: "ds_init_M0242", cdGrpId: "M0242"}
- ,{dsNm: "ds_init_M0243", cdGrpId: "M0243"}
- ,{dsNm: "ds_init_M0244", cdGrpId: "M0244"}
- ,{dsNm: "ds_init_M0245", cdGrpId: "M0245"}
- ,{dsNm: "ds_init_M0258", cdGrpId: "M0258"}
- ,{dsNm: "ds_init_M0341", cdGrpId: "M0341"}
- ,{dsNm: "ds_init_M0377", cdGrpId: "M0377"}
- ,{dsNm: "ds_init_M0357", cdGrpId: "M0357"}
- ]
- appf_getCodeList(arrParam);
-
- //마취통증의학과
- var anstdeptcd = ds_init_hardcd.getColumn(0,"hardcd");
-
- if( sysf_getUserInfo("dutplcecd") == anstdeptcd) { //2008.08.25 LWS 마취통증의학과를 제외한 로그인 유저 진료과 setting
- ds_main_cond.setColumn(0,"perfdeptcd", "-");
- ds_main_cond1.setColumn(0,"orddeptcd", "-");
- }else{
- ds_main_cond.setColumn(0,"perfdeptcd",sysf_getUserInfo("dutplcecd"));
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist2", combo1.value, "0330");
- // addComboInstance("/root/init/userlist2", "userid^usernm", "-^전체", "usercombo");
- lf_mmbfGetUserComboList(ds_init_userlist2, grp_srch2.combo1.value, "0330", "", "", "", "", "", "", "");
- dsf_addDsItem( ds_init_userlist2, "userid", "usernm", "전체", "-", "above"); //조회용 집도의 전체항목 추가
- ds_main_cond1.setColumn(0,"orddeptcd", sysf_getUserInfo("dutplcecd"));
- lf_mmbfGetUserComboList(ds_init_userlist5, grp_srch2.combo1.value, "0330", "", "", "", "", "", "", "");
- dsf_addDsItem( ds_init_userlist5, "userid", "usernm", "전체", "-", "above"); //조회용 집도의 전체항목 추가
- if( !utlf_isNull(sysf_getUserId())) ds_main_cond.setColumn(0,"perfdrid", "-");
- if( !utlf_isNull(sysf_getUserId())) ds_main_cond1.setColumn(0,"perfdrid", "-");
- }
-
- ds_main_cond.setColumn(0,"oproomcd" , "-");
- ds_main_cond1.setColumn(0,"oproomcd" , "-");
-
- if(fInitPamInfo("Y")==false){ //화면 기본 정보 설정
- return;
- }
-
- /*
- ds_main_oprsrvinfo.setColumn(0,"reopflag" , "N"); //수술공개
- ds_main_oprsrvinfo.setColumn(0,"opflagcd" , "1"); //수술구분
- ds_main_oprsrvinfo.setColumn(0,"opopenflag" , "Y"); //금일재수술
- ds_main_oprsrvinfo.setColumn(0,"anstreqflag", "N"); //마취의뢰만
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "N"); //협진의뢰여부
- ds_main_oprsrvinfo.setColumn(0,"opcntmdg" , "0"); //수술창상
- ds_main_cond.setColumn(0,"rgstnm",sysf_getUserInfo("usernm"));
-
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- ds_main_diaglist.addRow();
-
- */
- fReqOpRsrvRecList(); //수술예약장부 조회
- ds_main_cond.setColumn(0,"qflag","1");
- fReqOpRsrvInfoList(); //수술예약정보 조회
-
- //20180424 이돈희 : 수술예약정보 초기화
- fInitOprsrvInfo();
- //2012/06/25 Start
- // 수술 예방적 항생제 관련
- // mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/opcd", 5606);
- lf_getHardCDList("N", 5606, null, ds_temp_opcd);
- // nodecnt = instance1.selectNodes("/root/temp/opcd/hardcd");
- nodecnt = ds_temp_opcd.rowcount;
- //2012/06/25 End
- frmf_createPopupMenu("popupmenu1"
- ,"fDelOpPrevDiag"
- ,[{id: "D", level: "0", title: "삭제"}] //항목추가
- );
- frmf_createPopupMenu("popupmenu2"
- ,"fDelOpRsrvCncl"
- ,[{id: "C", level: "0", title: "취소"}] //항목추가
- );
-
- }
- //20180424 이돈희 : 수술예약정보 초기화
- function fInitOprsrvInfo()
- {
- ds_main_oprsrvinfo.clearData();
- ds_main_diaglist.clearData();
- ds_main_oprsrvinfo.addRow();
- ds_main_diaglist.addRow();
-
- ds_main_oprsrvinfo.setColumn(0,"reopflag" , "N"); //재수술
- ds_main_oprsrvinfo.setColumn(0,"opflagcd" , "1"); //수술구분
- ds_main_oprsrvinfo.setColumn(0,"opopenflag" , "Y"); //수술공개
- ds_main_oprsrvinfo.setColumn(0,"anstreqflag", "N"); //마취의뢰만
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "N"); //협진의뢰여부
- ds_main_oprsrvinfo.setColumn(0,"opcntmdg" , "0"); //수술창상
- ds_main_cond.setColumn(0,"rgstnm",sysf_getUserInfo("usernm"));
-
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- }
- /***************************************************************************************************
- * Function : fInitPamInfo
- * Description : 화면 기본 정보 설정 (parameter 값으로 설정 또는 상단정보를 기준으로 설정)
- * Argument : init : 최초 오픈 구분
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fInitPamInfo(init){
- var param = opener.frmf_getParameter("SPMMO00200_param");
- if(!utlf_isNull(param)) { //parameter가 있는 경우
- param = param.split("▦");
- var ioflag = param[0];
- var pid = param[1];
- var hngnm = param[2];
- var sa = param[3] + "/" + param[4];
- var orddeptcd = param[5];
- var orddd = param[6];
- var orddrid = param[7];
- var roomcd = param[8];
- var insukind = param[9];
- var suppkind = param[10];
- var fromdd = param[11];
- var todd = param[12];
- g_scrnflag = param[13]; //조회구분
- if(g_scrnflag == "Y"){
- ds_main_cond.setColumn(0,"pid" , param[1]);
- ds_main_cond.setColumn(0,"qflag", "3");
- }
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
-
- } else { //parameter가 없는 경우
- var paminfocsv = sysf_getGlobalVariable("paminfo");
- var patflagcsv = sysf_getGlobalVariable("patflag");
- /*수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다. 김민선 선생님 요청
- 최초 오픈일 경우에만 상단정보를 보고 그 이외의 경우 별도의 submit으로 가져온 결과로 셋팅한다. 20100614 by LYJ*/
- if(utlf_isNull(paminfocsv) || utlf_isNull(patflagcsv)){ //상단정보가 없는 경우
- if(init =="Y"){ //최초 열때
- } else {
- var ioflag = ds_patflag.getColumn(0,"prcpgenrflag");
- var pid = ds_paminfo.getColumn(0,"pid");
- var hngnm = ds_paminfo.getColumn(0,"hngnm");
- var sa = ds_paminfo.getColumn(0,"sex") + "/" + ds_paminfo.getColumn(0,"age");
- var orddeptcd = ds_paminfo.getColumn(0,"orddeptcd");
-
- if(ioflag == "O"){
- var orddd = ds_paminfo.getColumn(0,"orddd");
- var orddrid = ds_paminfo.getColumn(0,"orddrid");
- var roomcd = "외래";
- } else {
- var orddd = ds_paminfo.getColumn(0,"indd");
- var orddrid = ds_paminfo.getColumn(0,"medispclid");
- var roomcd = ds_paminfo.getColumn(0,"roomcd");
- }
-
- var insukind = ds_paminfo.getColumn(0,"insukind");
- var suppkind = ds_paminfo.getColumn(0,"suppkind");
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
- }
- } else {
- if(init =="Y") { //최초 열때
- // ds_paminfo.clear();
- // ds_patflag.clear();
- dsf_setCSVToDs("ds_paminfo", paminfocsv);
- dsf_setCSVToDs("ds_patflag", patflagcsv);
- }
-
- var ioflag = ds_patflag.getColumn(0,"prcpgenrflag");
- var pid = ds_paminfo.getColumn(0,"pid");
- var hngnm = ds_paminfo.getColumn(0,"hngnm");
- var sa = ds_paminfo.getColumn(0,"sex") + "/" + ds_paminfo.getColumn(0,"age");
- var orddeptcd = ds_paminfo.getColumn(0,"orddeptcd");
-
- if(ioflag == "O") {
- var orddd = ds_paminfo.getColumn(0,"orddd");
- var orddrid = ds_paminfo.getColumn(0,"orddrid");
- var roomcd = "외래";
- } else {
- var orddd = ds_paminfo.getColumn(0,"indd");
- var orddrid = ds_paminfo.getColumn(0,"medispclid");
- var roomcd = ds_paminfo.getColumn(0,"roomcd");
- }
- var insukind = ds_paminfo.getColumn(0,"insukind");
- var suppkind = ds_paminfo.getColumn(0,"suppkind");
-
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
- }
- }
- ds_main_oprsrvinfo.setColumn(0,"pid" , pid);
- ds_main_oprsrvinfo.setColumn(0,"hngnm" , hngnm);
- ds_main_oprsrvinfo.setColumn(0,"sa" , sa);
- ds_main_oprsrvinfo.setColumn(0,"orddeptcd" , orddeptcd);
- ds_main_oprsrvinfo.setColumn(0,"perfdeptcd" , orddeptcd);
- ds_main_oprsrvinfo.setColumn(0,"insukind" , insukind);
- ds_main_oprsrvinfo.setColumn(0,"suppkind" , suppkind);
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", orddeptcd, "0330");
- lf_mmbfGetUserComboList(ds_init_userlist, orddeptcd, "0330", "", "", "", "", "", "", "");
- ds_main_oprsrvinfo.setColumn(0,"perfdrid" , orddrid);
- ds_main_oprsrvinfo.setColumn(0,"roomcd" , roomcd);
- ds_main_oprsrvinfo.setColumn(0,"status" , "i");
- ds_main_oprsrvinfo.setColumn(0,"opcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opnm" , "");
- ds_main_oprsrvinfo.setColumn(0,"subopcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"subopnm" , "");
- ds_main_oprsrvinfo.setColumn(0,"opposturecd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opdirecflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"anstmthdcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opcntmdg" , "-");
- ds_main_oprsrvinfo.setColumn(0,"delivefact" , "");
- ds_main_oprsrvinfo.setColumn(0,"opschedd" , "");
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , "");
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "N"); // 협진의뢰 여부 초기화._손성훈.
- ds_main_oprsrvinfo.setColumn(0,"mainoprsrvno" , ""); // 주수술 예약번호 초기화._손성훈.
- }
- /***************************************************************************************************
- * Function : fReqPatCurrentDiagList
- * Description : 환자 현재 진단 조회 (진단구분코드:M)
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag){
- ds_send_reqdata.clear();
- ds_main_diaglist.clearData();
- dsf_makeValue(ds_send_reqdata,"pid" ,"string",pid);
- dsf_makeValue(ds_send_reqdata,"orddd" ,"string",orddd);
- dsf_makeValue(ds_send_reqdata,"orddeptcd" ,"string",orddeptcd);
- dsf_makeValue(ds_send_reqdata,"ioflag" ,"string",ioflag);
- dsf_makeValue(ds_send_reqdata,"diagkindcdflag" ,"string","");
- var oParam = {};
- oParam.id = "TRMMO00114";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetPatCurrentDiag";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_diagcdlist=diagcdlist ds_main_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00114";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00114") > -1){
- // var xmlNode = model.instance1.selectSingleNode("/root/main/diaginfo/diagcdlist");
- var xmlNodecnt = ds_main_diagcdlist.rowcount;
- if(xmlNodecnt > 0){
- var grdRow = ds_main_diaglist.rowposition;
- // var totcnt = getNodeSetCnt("/root/main/diaginfo/diagcdlist");
- for(var currow = 0 ; currow < xmlNodecnt ; currow++){
- var dispdiagcd = ds_main_diagcdlist.getColumn(currow,"icd10cd");
- var diagcd = ds_main_diagcdlist.getColumn(currow,"diagcd");
- var diagengnm = ds_main_diagcdlist.getColumn(currow,"diagengnm");
- var diaghngnm = ds_main_diagcdlist.getColumn(currow,"diaghngnm");
- if(grdRow < 0) ds_main_diaglist.addRow(); // 데이터셋이 비었다면 한줄 생성하여 입력
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"status" ,"i");
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"dispdiagcd",dispdiagcd);
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diagcd" ,diagcd);
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diagengnm" ,diagengnm);
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diaghngnm" ,diaghngnm);
- if(grdRow >= 0) ds_main_diaglist.addRow(); // 작업이 끝난 후 빈 한줄을 또 생성하여 준다.
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00114
- * Description : TRMMO00114 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00114(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fGetReqrcntctel
- * Description : 집도과 수술마취 의뢰자 연락처 정보 조회
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fGetReqrcntctel() {
- var rgstMpphonNo = sysf_getUserInfo("mpphonno");
- var cntctel = "";
- if( !utlf_isNull(rgstMpphonNo) ){
- if( utlf_getStringLength(rgstMpphonNo) == 10 ) cntctel = rgstMpphonNo.substring(0,3) + "-" + rgstMpphonNo.substring(3,6) + "-" + rgstMpphonNo.substring(6,10);
- else if( utlf_getStringLength(rgstMpphonNo) == 11 ) cntctel = rgstMpphonNo.substring(0,3) + "-" + rgstMpphonNo.substring(3,7) + "-" + rgstMpphonNo.substring(7,11);
- else cntctel = rgstMpphonNo;
- ds_main_oprsrvinfo.setColumn(0,"cntctel", cntctel);
- }
- }
- /***************************************************************************************************
- * Function : fReqOpRsrvRecList
- * Description : 수술예약장부 조회
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqOpRsrvRecList(){
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"year" , "string", "");
- dsf_makeValue(ds_send_reqdata,"fromdd" , "string", ds_main_cond.getColumn(0,"fromdd"));
- dsf_makeValue(ds_send_reqdata,"todd" , "string", ds_main_cond.getColumn(0,"todd"));
- dsf_makeValue(ds_send_reqdata,"orddeptcd", "string", ds_main_cond1.getColumn(0,"orddeptcd"));
- dsf_makeValue(ds_send_reqdata,"oproomcd" , "string", ds_main_cond1.getColumn(0,"oproomcd"));
- dsf_makeValue(ds_send_reqdata,"pid" , "string", ds_main_cond1.getColumn(0,"pid"));
- dsf_makeValue(ds_send_reqdata,"perfdrid" , "string", utlf_transNullToEmpty(ds_main_cond1.getColumn(0,"perfdrid")));
-
- if(utlf_isNull(ds_send_reqdata.getColumn(0,"perfdrid")))
- {
- ds_send_reqdata.setColumn(0,"perfdrid","-");
- }
-
- var oParam = {};
- oParam.id = "TRMMO05701";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpScheRecList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_opschereclist=opschereclist";
- oParam.async = true;
- oParam.callback = "cf_TRMMO05701";
- tranf_submit(oParam);
- }
- /***************************************************************************************************
- * Function : cf_TRMMO05701
- * Description : TRMMO05701 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO05701(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- fSetOpTimeToHourMin();
-
-
- //20180424 이돈희 : 잘못된 ophistno에 저장되는 것을 막기 위하여 조회시 수술에약 정보 초기화
- fInitOprsrvInfo();
- }
- /***************************************************************************************************
- * Function : fSetOpTimeToHourMin
- * Description : 수술시간 시분초로 변경
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fSetOpTimeToHourMin(){
- for(var i = 0; i < ds_main_opschereclist.rowcount; i++){
- var opfromtmcd = ds_main_opschereclist.getColumn(i,"opfromtmcd");
- var opendtmcd = ds_main_opschereclist.getColumn(i,"opendtmcd");
- if(utlf_isNull(opfromtmcd) || utlf_isNull(opendtmcd)){
- var difftime = 0;
- }else{
- var difftime = utlf_getTimeInterval(opfromtmcd, opendtmcd);
- }
- // ds_main_opschereclist.setColumn(i,"opusetm", fTransSecToHourMin(difftime));
- dsf_makeValue(ds_main_opschereclist,"opusetm","string",fTransSecToHourMin(difftime),i);
- }
- }
- /***************************************************************************************************
- * Function : fTransSecToHourMin
- * Description : 초를 시분으로 전환
- * Argument : sec : 초
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fTransSecToHourMin(sec){
- var hr = 3600;
- var min = 60;
- hour = parseInt(sec/hr);
- min = parseInt(sec%hr/min);
- hour = ("" + hour + "").getLeftPad(2, "0");
- min = ("" + min + "").getLeftPad(2, "0");
- var rtnstr = hour.concat(min);
- return rtnstr;
- }
- /***************************************************************************************************
- * Function : fReqOpRsrvInfoList
- * Description : 수술예약정보 리스트 조회
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqOpRsrvInfoList(){
- // 2008.01.30 외래메인 간호에서 띄우는 경우
- if(!utlf_isNull(opener.frmf_getParameter("SMMNO00100_opschedd"))) {
- ds_main_cond.setColumn(0,"opschedd" , opener.frmf_getParameter("SMMNO00100_opschedd"));
- ds_main_cond.setColumn(0,"pid" , opener.frmf_getParameter("SMMNO00100_pid"));
- ds_main_cond.setColumn(0,"qflag" , "3");
- }
- // (e)
- // model.removeNodeset("/root/send/reqdata");
- // model.makeNode ( "/root/send/reqdata" );
- // model.copyNode("/root/send/reqdata", "/root/main/cond");
- ds_send_reqdata.copyData(ds_main_cond);
- var oParam = {};
- oParam.id = "TRMMO00201";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpRsrvList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_oprsrvlist=oprsrvlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00201";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00201") > -1){
- var qflag = ds_main_cond.getColumn(0,"qflag"); //파라미터를 받아서 조회하는 경우
- if(qflag == 3){
- if(ds_main_oprsrvlist.rowcount > 1){
- fClkGrdOpRsrvList(0);
- //파라미터를 받아서 조회하는 경우, 저장 버튼을 모두 disabled한다.
- rdo_oppatflag.enable = false;
- ipt_opcd.enable = false;
- ipt_opnm.enable = false;
- ipt_subopcd.enable = false;
- ipt_subopnm.enable = false;
- cmb_opposture.enable = false;
- cmb_opdirecflag.enable = false;
- cmb_anstmthd.enable = false;
- ipt_delivefact.enable = false;
- cmb_opcnfmdg.enable = false;
- btn_new.enable = false;
- btn_tempsave.enable = false;
- btn_certsave.enable = false;
- btn_rsrvcncl.enable = false;
- }
- }
- //fDispAprvCnclChng(); /* 취소/변경에 따른 색 변경 그리드 EXPR로 설정 */
- // 2008.01.30 외래메인 간호에서 띄우는 경우
- if(!utlf_isNull(opener.frmf_getParameter("SMMNO00100_pid"))) {
- //var nodeList = instance1.selectNodes(ds_main_oprsrvlist); //??? 사용하는곳을 아직 모름
- fClkGrdOpRsrvList(0);
- frmf_clearParameter("SMMNO00100_opschedd");
- frmf_clearParameter("SMMNO00100_pid");
- }
-
-
- //20180424 이돈희 : 잘못된 ophistno에 저장되는 것을 막기 위하여 조회시 수술에약 정보 초기화
- fInitOprsrvInfo();
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00201
- * Description : TRMMO00201 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fClkGrdOpRsrvList
- * Description : 수술예약자리스트 선택시
- * Argument : currow : 선택한 row
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkGrdOpRsrvList(currow){
- var oppatflagcd = ds_main_oprsrvlist.getColumn(currow,"oppatflagcd");
- var anstreqflag = ds_main_oprsrvlist.getColumn(currow,"anstreqflag");
- var painlessflag = ds_main_oprsrvlist.getColumn(currow,"painlessflag");
- var drgyn = ds_main_oprsrvlist.getColumn(currow,"drgyn");
-
- // 일일수술실일 경우에만 수술전 검사 여부가 보이도록 함 2012.05.22 KJS
- caption60.visible = false;
- rdo_dsclabflag.visible = false;
- rdo_dsclabflag.enable = false;
- if (oppatflagcd == "D") {
- caption60.visible = true;
- rdo_dsclabflag.visible = true;
- rdo_dsclabflag.enable = true;
- }
- //임시저장인 경우 수술예약을 조회하지 않아서 selectSingleNode error 발생
- if(ds_main_oprsrvinfo.getColumn(0,"opstatcd") != "00") {
- ds_main_oprsrvinfo.copyRow(0,ds_main_oprsrvlist,currow);
- //sysf_trace(ds_main_oprsrvinfo.saveXML());
- //sysf_trace(ds_main_oprsrvlist.saveXML());
- }
- ds_temp_oprsrvinfo.copyData(ds_main_oprsrvinfo);
- ds_main_oprsrvinfo.setColumn(0,"status", "u");
- if(painlessflag == "Y"){ //무통마취의뢰인 경우, 수술전진단 및 수술실시간, 수술실배정, 수술코드 입력이 모두 불가함
- fClkUnpainFlag("Y");
- } else {
- fSetInptDisabled("-");
- var orddeptcd = ds_main_oprsrvinfo.getColumn(0,"perfdeptcd"); //의사명 집도과에 따라변경
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", orddeptcd, "0330");
- lf_mmbfGetUserComboList(ds_init_userlist, orddeptcd, "0330", "", "", "", "", "", "", "");
- fReqDailyChrgAnstDr(ipt_opschedd.value);
- fReqOpPrevDiagList(currow); //수술예약정보 수술전 진단 조회
- }
-
- if (drgyn == "Y") {
- btn_drgmod.enable = true;
- } else {
- btn_drgmod.enable = false;
- }
- }
- /***************************************************************************************************
- * Function : fClkUnpainFlag
- * Description : 무통마취 의뢰
- * Argument : bFlag :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkUnpainFlag( bFlag ) {
- var painlessflag = ds_main_oprsrvinfo.getColumn(0,"painlessflag");
- if(painlessflag == "Y"){
- if(bFlag == "Y") {
- var bval = true;
- rdo_opflag.value = "";
- rdo_opopen.value = "";
- cmb_oproomcd.value = "";
- cmb_opfromtmcd.value = "";
- cmb_opendtmcd.value = "";
- ipt_opcd.value = "";
- ipt_opnm.value = "";
- ipt_subopcd.value = "";
- ipt_subopnm.value = "";
- cmb_opposture.value = "";
- cmb_opdirecflag.value = "";
- cmb_anstmthd.value = "";
- cmb_opcnfmdg.value = "";
- ipt_usetm.value = "";
- bool3.value = "N";
- bool1.value = "N";
- bool2.value = "N";
- } else if(bFlag == "N") {
- var bval = true;
- ds_main_diaglist.addRow();
- } else {
- var bval = true;
- }
- } else { // 무통마취가 풀렸을 경우, 신규일 경우
- var bval = true;
- //grd_diaglist.addRow(false, true);
- }
-
- rdo_opflag.enable = bval;
- rdo_opopen.enable = bval;
- bool1.enable = bval;
- bool2.enable = bval;
- bool3.enable = bval;
- ipt_opcd.enable = bval;
- ipt_opnm.enable = bval;
- ipt_subopcd.enable = bval;
- ipt_subopnm.enable = bval;
- cmb_opposture.enable = bval;
- cmb_opdirecflag.enable = bval;
- cmb_anstmthd.enable = bval;
- cmb_opcnfmdg.enable = bval;
- button61.enable = bval;
- button5.enable = bval;
- button6.enable = bval;
- btn_tmsetup.enable = bval;
- }
- /***************************************************************************************************
- * Function : fSetInptDisabled
- * Description : 수술예약정보 input box disabled 설정
- * Argument : bFlag
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fSetInptDisabled(bFlag){
- if(bFlag == "Y"){
- var bval = true;
- cmb_oproomcd.value = "";
- rdo_oppatflag.value = "";
- cmb_opfromtmcd.value = "";
- cmb_opendtmcd.value = "";
- ipt_subopcd.value = "";
- ipt_subopnm.value = "";
- cmb_opposture.value = "";
- cmb_opdirecflag.value = "";
- cmb_anstmthd.value = "";
- ipt_delivefact.value = "";
- cmb_opcnfmdg.value = "";
- }else if(bFlag == "N"){
- var bval = true;
- ds_main_diaglist.addRow();
- }else{
- var bval = true;
- }
- ipt_opcd.enable = bval;
- ipt_opnm.enable = bval;
- ipt_subopcd.enable = bval;
- ipt_subopnm.enable = bval;
- cmb_opposture.enable = bval;
- cmb_opdirecflag.enable = bval;
- cmb_anstmthd.enable = bval;
- ipt_delivefact.enable = bval;
- cmb_opcnfmdg.enable = bval;
- }
- /***************************************************************************************************
- * Function : fReqDailyChrgAnstDr
- * Description : 담당요일 의사조회
- * Argument : opschedd : 수술예약일자
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqDailyChrgAnstDr(opschedd){
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"opschedd","string",opschedd);
-
- var oParam = {};
- oParam.id = "TRMMO00203";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpAnstDailyChrgDr";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_dailychrgdrlist=dailychrgdrlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00203";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00203") > -1){
- // var existxml = instance1.selectNodes("/root/main/dailychrgdrlist/dailychrgdrlist");
- var totcnt = ds_main_dailychrgdrlist.rowcount;
- if(totcnt == 1){ //담당자가 있는 경우
- var daynm = ds_main_dailychrgdrlist.getColumn(0,"chrgdwnm") + "요일";
- var chrgdrnm = ds_main_dailychrgdrlist.getColumn(0,"usernm") + "\n"+"(" +
- ds_main_dailychrgdrlist.getColumn(0,"beepno") + ")";
- ds_main_cond.setColumn(0,"daynm" , daynm);
- ds_main_cond.setColumn(0,"chrgdrnm", chrgdrnm);
- } else { //담당자가 없는 경우
- ds_main_cond.setColumn(0,"daynm" , "");
- ds_main_cond.setColumn(0,"chrgdrnm", "");
- }
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00203
- * Description : TRMMO00203 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00203(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fReqOpPrevDiagList
- * Description : 수술예약정보 수술전 진단 조회
- * Argument : currow : 선택한 row
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqOpPrevDiagList(currow){
- var oprsrvno = ds_main_oprsrvlist.getColumn(currow,"oprsrvno");
- var perfdeptcd = ds_main_oprsrvlist.getColumn(currow,"perfdeptcd");
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"oprsrvno" ,"string", oprsrvno);
- dsf_makeValue(ds_send_reqdata,"perfdeptcd","string", perfdeptcd);
- var oParam = {};
- oParam.id = "TRMMO00202";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpPrevDiagList";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_diaglist=diaglist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00202";
- tranf_submit(oParam);
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00202
- * Description : TRMMO00202 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00202(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- ds_main_diaglist.addRow();
- }
- /***************************************************************************************************
- * Function : fDispAprvCnclChng
- * Description : 취소/변경 승인요청 표시, 빨간색 취소, 파란색 변경
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fDispAprvCnclChng() {
- // for(var i = 0; i < ds_main_oprsrvlist.rowcount; i++){
- // var aprvreqno = ds_main_oprsrvlist.getColumn(i,"aprvreqno");
- // var reqrsncd = ds_main_oprsrvlist.getColumn(i,"reqrsncd");
- // if(aprvreqno != 0){
- // if(reqrsncd < 300){ //취소
- // grd_oprsrvlist.rowStyle(i, "all", "color") = "#ff0000";
- // }else if(reqrsncd > 300){ //변경
- // grd_oprsrvlist.rowStyle(i, "all", "color") = "#0000ff";
- // }
- // }else{
- // grd_oprsrvlist.rowStyle(i, "all", "color") = "#000000";
- // }
- // }
- }
- /***************************************************************************************************
- * Function : fCalReqDate
- * Description : 날짜를 계산
- * Argument : daycnt : 계산할 날수
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fCalReqDate(daycnt){
- var fromdd = ds_main_cond.getColumn(0,"fromdd");
- var fromdd = (fromdd.toDate()).getAddDate(daycnt);
- fromdd = fromdd.getDateFormat();
- var todd = ds_main_cond.getColumn(0,"todd");
- var todd = (todd.toDate()).getAddDate(daycnt);
- todd = todd.getDateFormat();
- ds_main_cond.setColumn(0,"fromdd",fromdd);
- ds_main_cond.setColumn(0,"todd" ,todd);
- }
- /***************************************************************************************************
- * Function : fClkGrdOpScheList
- * Description : 수술예약장부 클릭시 수술예약정보에 데이터 설정
- * Argument : currow : 선택한 row
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkGrdOpScheList(currow){
- var pid = ds_main_opschereclist.getColumn(currow,"pid");
- var perfdeptcd = ds_main_opschereclist.getColumn(currow,"perfdeptcd");
- var perfdrid = ds_main_opschereclist.getColumn(currow,"perfdrid");
- var oproomcd = ds_main_opschereclist.getColumn(currow,"oproomcd");
- var opfromtmcd = ds_main_opschereclist.getColumn(currow,"opfromtmcd");
- var opendtmcd = ds_main_opschereclist.getColumn(currow,"opendtmcd");
- var anstmthdcd = ds_main_opschereclist.getColumn(currow,"anstmthdcd");
- var opusetm = ds_main_opschereclist.getColumn(currow,"opusetm");
- var oppatflagcd = ds_main_opschereclist.getColumn(currow,"oppatflagcd");
- var opschedd = ds_main_opschereclist.getColumn(currow,"opschedd");
- var hngnm = ds_main_opschereclist.getColumn(currow,"hngnm");
- var sex = ds_main_opschereclist.getColumn(currow,"sex");
- var age = ds_main_opschereclist.getColumn(currow,"age");
- var diagcd = ds_main_opschereclist.getColumn(currow,"diagcd");
- var diagnm = ds_main_opschereclist.getColumn(currow,"diagnm");
- var dispdiagcd = ds_main_opschereclist.getColumn(currow,"dispdiagcd");
- // var orddeptcd = ds_main_opschereclist.getColumn(currow,"orddeptcd");
- ds_main_oprsrvinfo.clearData();
- ds_main_oprsrvinfo.addRow();
- ds_main_oprsrvinfo.setColumn(0,"status" , "i");
- ds_main_oprsrvinfo.setColumn(0,"pid" , pid);
- ds_main_oprsrvinfo.setColumn(0,"orddeptcd" , perfdeptcd);
- ds_main_oprsrvinfo.setColumn(0,"perfdeptcd" , perfdeptcd);
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , oproomcd);
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd" , opfromtmcd);
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , opendtmcd);
- ds_main_oprsrvinfo.setColumn(0,"anstmthdcd" , anstmthdcd);
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , opusetm);
- ds_main_oprsrvinfo.setColumn(0,"oppatflagcd", oppatflagcd);
- ds_main_oprsrvinfo.setColumn(0,"opschedd" , opschedd);
- ds_main_oprsrvinfo.setColumn(0,"hngnm" , hngnm);
- ds_main_oprsrvinfo.setColumn(0,"sa" , sex + "/".concat(age));
- ds_main_oprsrvinfo.setColumn(0,"reopflag" , "N"); //수술공개
- if(opschedd != utlf_getCurrentDate()) {
- ds_main_oprsrvinfo.setColumn(0,"opflagcd" , "1"); //수술구분
- }
- ds_main_oprsrvinfo.setColumn(0,"opopenflag" , "Y"); //금일재수술
- ds_main_oprsrvinfo.setColumn(0,"anstreqflag", "N"); //마취의뢰만
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "N"); //협진의뢰여부
- ds_main_oprsrvinfo.setColumn(0,"opcntmdg" , "0"); //수술창상
- ds_main_cond.setColumn(0,"rgstnm", sysf_getUserInfo("usernm"));
-
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- //zsufGetUserInfoCombo(cmb_perfdeptcd.value, "/root/init/userlist", "_D"); //의사 콤보조회
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", cmb_perfdeptcd.value, "0330");
- lf_mmbfGetUserComboList(ds_init_userlist, cmb_perfdeptcd.value, "0330", "", "", "", "", "", "", "");
- ds_main_oprsrvinfo.setColumn(0,"perfdrid" , perfdrid);
- ds_main_diaglist.clearData();
-
- ds_main_diaglist.addRow(); // 데이터셋이 비었다면 한줄 생성하여 입력
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"status" ,"i");
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"dispdiagcd",dispdiagcd);
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diagcd" ,diagcd);
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diagengnm" ,diagnm);
- // ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"diaghngnm" ,diaghngnm);
- ds_main_diaglist.addRow(); // 작업이 끝난 후 빈 한줄을 또 생성하여 준다.
- }
- /***************************************************************************************************
- * Function : fDelOpRsrvCncl
- * Description : 수술예약자 리스트 취소 실행
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fDelOpRsrvCncl(obj:PopupMenu, e:MenuClickEventInfo) {
- if(e.id == "C") {
- var currow = ds_main_oprsrvlist.rowposition;
- var pid = ds_main_oprsrvlist.getColumn(currow,"pid");
- var opschedd = ds_main_oprsrvlist.getColumn(currow,"opschedd");
- var oprsrvno = ds_main_oprsrvlist.getColumn(currow,"oprsrvno");
- var aprvreqno = ds_main_oprsrvlist.getColumn(currow,"aprvreqno");
- var perfdeptcd = ds_main_cond.getColumn(0,"perfdeptcd");
- var oproomcd = ds_main_cond.getColumn(0,"oproomcd");
- ds_send_savedata_rsrvcnclinfo.clear();
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"pid" ,"string", pid);
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"opschedd" ,"string", opschedd);
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"oprsrvno" ,"string", oprsrvno);
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"aprvreqno" ,"string", aprvreqno);
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"perfdeptcd","string", perfdeptcd);
- dsf_makeValue(ds_send_savedata_rsrvcnclinfo ,"oproomcd" ,"string", oproomcd);
-
- var oParam = {};
- oParam.id = "TXMMO00202";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqSetOpRsrvCncl";
- oParam.inds = "req=ds_send_savedata_rsrvcnclinfo";
- oParam.outds = "ds_main_oprsrvlist=oprsrvlist";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
-
- ds_main_cond.setColumn(0,"qflag","1");
- fReqOpRsrvInfoList();
- }
- }
- /***************************************************************************************************
- * Function : fOpenPatInfo
- * Description : 환자진료정보 list 조회
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenPatInfo(){
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- if(utlf_isNull(pid)){
- sysf_messageBox("환자의 등록번호를 ", "C001");
- return;
- }
-
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"cond1","string", "1"); //1은 등록번호, 2는 환자명
- dsf_makeValue(ds_send_reqdata,"cond2","string", pid); //등록번호
- dsf_makeValue(ds_send_reqdata,"cond3","string", sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_send_reqdata,"cond4","string", "N"); //원무키 기준여부
- dsf_makeValue(ds_send_reqdata,"cond5","string", "N"); //당일기준 조회여부
- dsf_makeValue(ds_send_reqdata,"cond6","string", "-"); //외래,입원테이블 기준
- var oParam = {};
- oParam.id = "TRMMO00200";
- oParam.service = "prcpmngtapp.PrcpMngt";
- oParam.method = "reqGetComnPatOrdInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_patordinfolist=patordinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00200";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO00200") > -1){
- var patnodecnt = ds_patordinfolist.rowcount;
- if(patnodecnt > 1){
- var xpt = this.position.left + 50;
- var ypt = this.position.top + 80;
- var mon = sysf_getCurrentMonitorNumber();
- // var coord = getRelativeCoordinate(xpt, ypt);
- // var mon = coord[0];
- // xpt = coord[1];
- // ypt = coord[2];
- // modal("SPMMO09100", mon, xpt, ypt, "patordinfo", "/root/patordinfo", "/root/patordinfo", "", false );
- var objArg = new Object();
- objArg.arg_ds_patordinfolist = ds_patordinfolist;
- frmf_modal("SPMMO09100","SPMMO09100",objArg,null,mon,xpt,ypt,null,null,null,null,null,"M");
- var param = frmf_getParameter("SPMMO09100_rtn_param");
- if(!utlf_isNull(param)){
- ds_patordinfolist.clear();
- dsf_setCSVToDs("ds_patordinfolist",param);
- }
- }
- var ioflag = ds_patordinfolist.getColumn(0,"ioflag");
- var pid = ds_patordinfolist.getColumn(0,"pid");
- var orddd = ds_patordinfolist.getColumn(0,"orddd");
- var cretno = ds_patordinfolist.getColumn(0,"cretno");
- var instcd = ds_patordinfolist.getColumn(0,"instcd");
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"pid" ,"string", pid); //등록번호
- dsf_makeValue(ds_send_reqdata,"orddd" ,"string", orddd); //입원일자
- dsf_makeValue(ds_send_reqdata,"cretno" ,"string", cretno); //생성번호
- dsf_makeValue(ds_send_reqdata,"instcd" ,"string", instcd); //기관코드
- // 2008.10.31 등록번호 검색으로 의뢰시 상단 UP 조건 icdr.fromdd
- var oParam = {};
- oParam.id = "TRMMO00210";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOpTopInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_topinfo=topinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00210";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00210") > -1) {
- var srchdd = ds_main_topinfo.getColumn(0,"fromdd");
- }
- // (e)
- //수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다. 김민선 선생님 요청 20100614 by LYJ
- if(ioflag == "I" || ioflag == "D"){
- dsf_makeValue(ds_send_reqdata,"srchdd" ,"string", srchdd); //조회일자
- dsf_makeValue(ds_send_reqdata,"ioflag" ,"string", "I");
- fReqInPatTopInfo();
- } else if(ioflag == "E") {
- dsf_makeValue(ds_send_reqdata,"srchdd" ,"string", srchdd); //조회일자
- dsf_makeValue(ds_send_reqdata,"ioflag" ,"string", "E");
- fReqERPatTopInfo();
- }else{
- dsf_makeValue(ds_send_reqdata,"ioflag" ,"string", "O");
- fReqOutPatTopInfo();
- }
-
- fInitPamInfo(); //화면 기본 정보 설정
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00200
- * Description : TRMMO00200 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00200(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00210
- * Description : TRMMO00210 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00210(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fReqInPatTopInfo
- * Description : 입원환자 원무, 환자구분, 상단정보 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqInPatTopInfo(){
- var oParam = {};
- oParam.id = "TRMMO04302";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetPatTopInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_hidden_inpatpaminfo=inpatpaminfo ds_hidden_patmaintopinfo=patmaintopinfo ds_hidden_inpatflaginfo=inpatflaginfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04302";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04302") > -1){
- ds_hidden_inpatpaminfo.updateColID("dschrgstacptchar","dschrgstacptcharid");
- ds_hidden_inpatpaminfo.updateColID("basetypecd" ,"sectioncd");
- ds_hidden_inpatpaminfo.updateColID("typenm" ,"sectionnm");
-
- var paminfocnt = ds_hidden_inpatpaminfo.rowcount;
- var patflagcnt = ds_hidden_inpatflaginfo.rowcount;
- var maintopcnt = ds_hidden_patmaintopinfo.rowcount;
- ds_paminfo.copyData(ds_hidden_inpatpaminfo);
- ds_patflag.copyData(ds_hidden_inpatflaginfo);
-
- if(paminfocnt < 1){
- sysf_messageBox("입원환자 원무 정보가", "I004");
- return false;
- }
- if(patflagcnt < 1){
- sysf_messageBox("입원환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopcnt < 1){
- sysf_messageBox("입원환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /***************************************************************************************************
- * Function : fReqERPatTopInfo
- * Description : 응급환자 상단정보 조회조건 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqERPatTopInfo(){
- var oParam = {};
- oParam.id = "TRMMO04302";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetPatTopInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_hidden_inpatpaminfo=inpatpaminfo ds_hidden_patmaintopinfo=patmaintopinfo ds_hidden_inpatflaginfo=inpatflaginfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04302";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04302") > -1){
- ds_hidden_inpatpaminfo.updateColID("dschrgstacptchar","dschrgstacptcharid");
- ds_hidden_inpatpaminfo.updateColID("basetypecd" ,"sectioncd");
- ds_hidden_inpatpaminfo.updateColID("typenm" ,"sectionnm");
-
- var paminfocnt = ds_hidden_inpatpaminfo.rowcount;
- var patflagcnt = ds_hidden_inpatflaginfo.rowcount;
- var maintopcnt = ds_hidden_patmaintopinfo.rowcount;
- ds_paminfo.copyData(ds_hidden_inpatpaminfo);
- ds_patflag.copyData(ds_hidden_inpatflaginfo);
-
- if(paminfocnt < 1){
- sysf_messageBox("응급환자 원무 정보가", "I004");
- return false;
- }
- if(patflagcnt < 1){
- sysf_messageBox("응급환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopcnt < 1){
- sysf_messageBox("응급환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /***************************************************************************************************
- * Function : cf_TRMMO04302
- * Description : TRMMO04302 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO04302(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fReqOutPatTopInfo
- * Description : 외래환자 원무, 환자구분, 상단정보 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqOutPatTopInfo(){
- var oParam = {};
- oParam.id = "TRMMO04202";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetPatTopInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_hidden_outpatpaminfo=outpatpaminfo ds_hidden_patmaintopinfo=patmaintopinfo ds_hidden_outpatflaginfo=outpatflaginfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04202";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04202") > -1){
- ds_hidden_outpatpaminfo.updateColID("centernm","centnm");
-
- var paminfocnt = ds_hidden_outpatpaminfo.rowcount;
- var patflagcnt = ds_hidden_outpatflaginfo.rowcount;
- var maintopcnt = ds_hidden_patmaintopinfo.rowcount;
- ds_paminfo.copyData(ds_hidden_outpatpaminfo);
- ds_patflag.copyData(ds_hidden_outpatflaginfo);
-
- if(paminfocnt < 1){
- sysf_messageBox("외래환자 원무 정보가", "I004");
- return false;
- }
- if(patflagcnt < 1){
- sysf_messageBox("외래환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopcnt < 1){
- sysf_messageBox("외래환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /***************************************************************************************************
- * Function : cf_TRMMO04202
- * Description : TRMMO04202 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO04202(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fReqPatOrdInfo
- * Description : 환자 수진정보 조회
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fReqPatOrdInfo(){
- ds_main_oprsrvinfo.setColumn(0,"reopflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"anstreqflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"painlessflag", "");
- ds_main_oprsrvinfo.setColumn(0,"angioflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"robotopflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"cancerflag" , "");
- ds_main_oprsrvinfo.setColumn(0,"laparoflag" , "");
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- if(utlf_isNull(pid)){
- sysf_messageBox("환자의 등록번호를 ", "C001");
- return;
- }
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"pid" ,"string",pid); //외래,입원테이블 기준
- dsf_makeValue(ds_send_reqdata,"confdd","string",utlf_getCurrentDate()); //외래,입원테이블 기준
-
- var oParam = {};
- oParam.id = "TRMMO00215";
- oParam.service = "prcpmngtapp.ConcPatMngt";
- oParam.method = "reqGetPatOrdInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_patordinfolist=patordinfolist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00215";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO00215") > -1){
- // 2008.11.18 로그인 의사 진료과의 최근 수진 이력을 선택한 상태
- //sortNodeList("/root/patordinfo/patordinfolist", "orddd", "desc"); // 20090630 수진이력이 많은 경우 정렬하는데 시간이 너무 많이 걸려서 브라우저가 죽는 경우가 있음
- // 쿼리에서 정렬한 결과를 가지고 오는 것으로 변경
- // var patlist = model.instance1.selectNodes("/root/patordinfo/patordinfolist[orddeptcd = " + getUserInfo("dutplcecd") + "and orddd <="+ getCurrentDate() +"]");
- dsf_createDs("ds_temp_patordinfolist");
- ds_patordinfolist.filter("orddeptcd=='"+sysf_getUserInfo("dutplcecd")+"' && orddd <= '"+utlf_getCurrentDate()+"'");
- ds_temp_patordinfolist.copyData(ds_patordinfolist,true);
- ds_patordinfolist.filter("");
- if(ds_temp_patordinfolist.rowcount > 0) {
- // var ioflag = patlist.item(0).selectSingleNode("ioflag").text;
- // var pid = patlist.item(0).selectSingleNode("pid").text;
- // var orddd = patlist.item(0).selectSingleNode("orddd").text;
- // var cretno = patlist.item(0).selectSingleNode("cretno").text;
- // var instcd = patlist.item(0).selectSingleNode("instcd").text;
- // var dschdd = patlist.item(0).selectSingleNode("dschdd").text;
- var ioflag = ds_temp_patordinfolist.getColumn(0,"ioflag");
- var pid = ds_temp_patordinfolist.getColumn(0,"pid");
- var orddd = ds_temp_patordinfolist.getColumn(0,"orddd");
- var cretno = ds_temp_patordinfolist.getColumn(0,"cretno");
- var instcd = ds_temp_patordinfolist.getColumn(0,"instcd");
- var dschdd = ds_temp_patordinfolist.getColumn(0,"dschdd");
-
- if (dschdd == "99991231") {
- var srchdd = utlf_getCurrentDate();
- } else {
- var srchdd = dschdd;
- }
- } else { // 해당 진료과에 수진이력이 없을 경우 가장 최근 내원이력으로 조회하도록 로직 수정 : 2009.06.30 김영학
- // patlist = ds_patordinfolist.filter("orddd <= '"+utlf_getCurrentDate()+"'");
- dsf_createDs("ds_temp_patordinfolist");
- ds_patordinfolist.filter("orddd <= '"+utlf_getCurrentDate()+"'");
- ds_temp_patordinfolist.copyData(ds_patordinfolist,true);
- ds_patordinfolist.filter("");
- if(ds_temp_patordinfolist.rowcount > 0) {
- var ioflag = ds_temp_patordinfolist.getColumn(0,"ioflag");
- var pid = ds_temp_patordinfolist.getColumn(0,"pid");
- var orddd = ds_temp_patordinfolist.getColumn(0,"orddd");
- var cretno = ds_temp_patordinfolist.getColumn(0,"cretno");
- var instcd = ds_temp_patordinfolist.getColumn(0,"instcd");
- var dschdd = ds_temp_patordinfolist.getColumn(0,"dschdd");
-
- if (dschdd == "99991231") {
- var srchdd = utlf_getCurrentDate();
- } else {
- var srchdd = dschdd;
- }
- } else {
- sysf_messageBox("환자번호를 확인하세요", "I");
- return;
- }
- }
- // (e)
- //수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다.
- //김민선 선생님 요청 20100614 by LYJ
- dsf_makeValue(ds_send_reqdata,"pid" ,"string", pid); //등록번호
- dsf_makeValue(ds_send_reqdata,"orddd" ,"string", orddd); //입원일자
- dsf_makeValue(ds_send_reqdata,"cretno" ,"string", cretno); //생성번호
- dsf_makeValue(ds_send_reqdata,"instcd" ,"string", instcd); //기관코드
- if(ioflag == "I" || ioflag == "D"){
- dsf_makeValue(ds_send_reqdata,"srchdd","string", srchdd); //조회일자
- dsf_makeValue(ds_send_reqdata,"ioflag","string", "I");
- fReqInPatTopInfo();
- } else if(ioflag == "E") {
- dsf_makeValue(ds_send_reqdata,"srchdd","string", srchdd); //조회일자
- dsf_makeValue(ds_send_reqdata,"ioflag","string", "E");
- fReqERPatTopInfo();
- }else{
- dsf_makeValue(ds_send_reqdata,"ioflag","string", "O");
- fReqOutPatTopInfo();
- }
- fInitPamInfo(); //화면 기본 정보 설정
- ds_main_diaglist.addRow();
- //DRG 환자정보 조회 2013.05.21 KJS
- var workdd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- if (utlf_isNull(workdd)) {
- workdd = utlf_getCurrentDate();
- }
- dsf_makeValue(ds_send_reqdata,"pid" ,"string", ds_main_oprsrvinfo.getColumn(0,"pid"));
- dsf_makeValue(ds_send_reqdata,"workdd" ,"string", workdd);
- var oParam = {};
- oParam.id = "TRMMO00218";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetOPDrgInfo";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_drginfo=drginfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00218";
- tranf_submit(oParam);
- if (arErrorCode.pop("TRMMO00218") > -1) {
- dsf_makeValue(ds_main_oprsrvinfo,"drgyn","string", ds_main_drginfo.getColumn(0,"drgyn"));
- dsf_makeValue(ds_main_oprsrvinfo,"drgno","string", ds_main_drginfo.getColumn(0,"drgno"));
- dsf_makeValue(ds_main_oprsrvinfo,"drgnm","string", ds_main_drginfo.getColumn(0,"drgnm"));
- var drgyn = ds_main_oprsrvinfo.getColumn(0,"drgyn");
- if (!utlf_isNull(drgyn) && drgyn == "A"){
- btn_drgmod.enable = true;
- } else {
- btn_drgmod.enable = false;
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00215
- * Description : TRMMO00215 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00215(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00218
- * Description : TRMMO00218 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00218(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fGetCalendar
- * Description : 병원 휴일 select
- * Argument : basedd : 기준일자
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fGetCalendar(basedd){
- basedd = String(basedd);
- var preyear = new Date(basedd.substr(0, 4) -1, basedd.substr(4, 6), basedd.substr(6, 8));
- dsf_makeValue(ds_send_reqdata,"basedd","string",preyear.getDateFormat().substr(0, 4)+ "▦" +basedd.substr(0, 4));
- var oParam = {};
- oParam.id = "TRMMO00212";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetPrcpCalendar";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_calendar=calendar";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /***************************************************************************************************
- * Function : fValidOpFlagCD
- * Description : 수술구분 유효성 체크, 당일인 경우 정규 설정은 불가함
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fValidOpFlagCD(){
- var chkopcnfmtm = ds_init_chkopcnfmtm.getColumn(0,"hardcd");
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- var MyTime = utlf_getCurrentTime();
- var Mydate = utlf_getCurrentDate();
- if(ipt_opschedd.value == Mydate){ //현재일자와 동일한 경우
- if(opflagcd == 1 || opflagcd == 3){ //정규(1), 추가(3)인 경우
- sysf_messageBox("당일 수술마취의뢰는 응급만", "I006");
- ds_main_oprsrvinfo.setColumn(0,"opflagcd", "2"); // 응급 설정
-
- // 2010.05.24 kskim
- ds_main_oprsrvinfo.setColumn(0,"opusetm", "");
- ds_main_oprsrvinfo.setColumn(0,"oproomcd", "");
- }
- }
- if(opflagcd == 2 && ipt_opschedd.value != "") { //응급인 경우
- if( ipt_opschedd.value != Mydate && MyTime <= chkopcnfmtm ) { // 2008.09.10 수술하루전 일괄확정시간 이전일 경우만 check 하도록 조건 추가
- sysf_messageBox("응급은 당일 수술마취만", "I006");
- ds_main_oprsrvinfo.setColumn(0,"opflagcd", "");
- }
- }
- }
- /***************************************************************************************************
- * Function : fCheckCnstOpFlag
- * Description : 협진의뢰 시 수술구분정보 체크(협진의 경우 당일에도 추가 가능)
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fCheckCnstOpFlag(){
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag");
- if( cnstopflag == "Y" ){
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- if( opflagcd == 2 || opflagcd == 3 ){
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , frmf_getParameter("SPMMO11100_rtn_param_oproomcd"));
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , frmf_getParameter("SPMMO11100_rtn_param_opusetm"));
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd" , frmf_getParameter("SPMMO11100_rtn_param_opfromtmcd"));
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , frmf_getParameter("SPMMO11100_rtn_param_opendtmcd"));
- }
- }
- }
- /***************************************************************************************************
- * Function : fClkBoolCnstOpFlag
- * Description : 협진의뢰 여부 bool 클릭시
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBoolCnstOpFlag(){
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag");
- if(cnstopflag == "Y"){ //협진의뢰여부가 선택된 경우
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var oprsrvno = utlf_transNullToEmpty(ds_main_oprsrvinfo.getColumn(0,"oprsrvno"));
- var ophistno = ds_main_oprsrvinfo.getColumn(0,"ophistno");
- var perfdeptcd = ds_main_oprsrvinfo.getColumn(0,"perfdeptcd");
- var perfdrid = ds_main_oprsrvinfo.getColumn(0,"perfdrid");
- //초기화
- frmf_clearParameter("SPMMO11100_rtn_param_opschedd");
- frmf_clearParameter("SPMMO11100_rtn_param_oprsrvno");
- frmf_clearParameter("SPMMO11100_rtn_param_opfromtmcd");
- frmf_clearParameter("SPMMO11100_rtn_param_opendtmcd");
- frmf_clearParameter("SPMMO11100_rtn_param_opusetm");
- frmf_clearParameter("SPMMO11100_rtn_param_oproomcd");
- frmf_clearParameter("SPMMO11100_rtn_param_cnstopflag");
- var param = pid + "▦" + opschedd + "▦" + "cnst" + "▦" + oprsrvno + "▦" + ophistno + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + cnstopflag ;
- frmf_setParameter("SPMMO11100_param", param);
- // modal("SPMMO11100");
- frmf_modal("SPMMO11100", "SPMMO11100", "", "", "", "", "", "", "", "", "", "", "M");
- var popschedd = frmf_getParameter("SPMMO11100_rtn_param_opschedd"); //수술예정일자
- var poprsrvno = frmf_getParameter("SPMMO11100_rtn_param_oprsrvno"); //수술예약번호
- var popfromtmcd = frmf_getParameter("SPMMO11100_rtn_param_opfromtmcd"); //수술예약번호
- var popendtmcd = frmf_getParameter("SPMMO11100_rtn_param_opendtmcd"); //수술예약번호
- var popusetm = frmf_getParameter("SPMMO11100_rtn_param_opusetm"); //수술예약번호
- var poproomcd = frmf_getParameter("SPMMO11100_rtn_param_oproomcd"); //수술예약번호
- var cnstopflag = frmf_getParameter("SPMMO11100_rtn_param_cnstopflag"); //협진여부
- if(!utlf_isNull(poprsrvno) && poprsrvno.length > 1){
- // model.resetInstanceNode("/root/main/diaglist");
- ds_main_diaglist.clearData();
- ds_main_oprsrvinfo.setColumn(0,"opschedd" , popschedd);
- ds_main_oprsrvinfo.setColumn(0,"mainoprsrvno" , poprsrvno);
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd" , popfromtmcd);
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , popendtmcd);
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , popusetm);
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , poproomcd);
- ds_main_oprsrvinfo.setColumn(0,"status" , "i");
- ds_main_oprsrvinfo.setColumn(0,"oprsrvno" , "");
- // var cnts = getNodesetCount("/root/main/diaglist/diaglist");
- // if (cnts > 1 ) {
- // model.removeNodeset("/root/main/diaglist");
- // }
- ds_main_diaglist.addRow();
- }else{
- //부수술을 먼저 입력할 수 있도록 주석처리. 09.02.04
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , cnstopflag);
- }
- }else if(cnstopflag == "N"){ //협진의뢰여부가 취소된 경우
- var mainoprsrvno = ds_main_oprsrvinfo.getColumn(0,"oprsrvno");
- ds_main_oprsrvinfo.setColumn(0,"mainoprsrvno", mainoprsrvno);
- ds_main_oprsrvinfo.setColumn(0,"opschedd", "");
- ds_main_oprsrvinfo.setColumn(0,"oproomcd", "");
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd", "");
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd", "");
- ds_main_oprsrvinfo.setColumn(0,"opusetm", "");
- }
- }
- /***************************************************************************************************
- * Function : fClkBtnCnstPastHist
- * Description : 과거의뢰내역 버튼 클릭
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBtnCnstPastHist(){
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var oprsrvno = ds_main_oprsrvinfo.getColumn(0,"oprsrvno");
- var ophistno = ds_main_oprsrvinfo.getColumn(0,"ophistno");
- var param = pid + "▦" + opschedd + "▦" + "past" + "▦" + oprsrvno + "▦" + ophistno;
- frmf_setParameter("SPMMO11100_param", param);
- // modal("SPMMO11100");
- frmf_modal("SPMMO11100", "SPMMO11100", "", "", "", "", "", "", "", "", "", "", "M");
- }
- /***************************************************************************************************
- * Function : foppatflaginfo
- * Description : 퇴원예고가 된 환자에 한해 외래 수술/마취 의뢰 가능
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function foppatflaginfo() {
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- var oppatflagcd = ds_main_oprsrvinfo.getColumn(0,"oppatflagcd");
- var indd = ds_paminfo.getColumn(0,"indd");
- // 일일수술실일 경우에만 수술전 검사 여부가 보이도록 함 2012.05.22 KJS
- if (oppatflagcd == "D") {
- caption60.visible = true;
- rdo_dsclabflag.visible = true;
- rdo_dsclabflag.enable = true;
- } else {
- caption60.visible = false;
- rdo_dsclabflag.visible = false;
- rdo_dsclabflag.enable = false;
- ds_main_oprsrvinfo.setColumn(0,"dsclabflag", "");
- }
- if(!utlf_isNull(pid) && oppatflagcd == "O" && !utlf_isNull(indd)){
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"pid" ,"string", pid); //등록번호
- dsf_makeValue(ds_send_reqdata,"indd","string", indd); //입원일
-
- var oParam = {};
- oParam.id = "TRMMO00211";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetPatInRgst";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_rgstinfo=rgstinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00211";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMO00211") > -1) {
- var rgstyn = ds_main_rgstinfo.getColumn(0,"ret");
- if(rgstyn == "A") {
- sysf_messageBox("재원중인 환자는 외래수술 의뢰가 불가합니다." + "\n"+"단, 퇴원예고 후에는 외래수술 의뢰가 가능합니다. 퇴원예고 여부를 확인하시기 바랍니다.", "I");
- ds_main_oprsrvinfo.setColumn(0,"oppatflagcd", "");
- return false;
- }else{
- return true;
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : cf_TRMMO00211
- * Description : TRMMO00211 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TRMMO00211(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : foppatflaginfo
- * Description : 시간설정 버튼 클릭, 수술구분 정규 -> 수술예약시간 설정 팝업 open
- * : 응급, 추가 -> 희망시간 입력 팝업 open
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBtnSetTime(){
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var hopetmflag = ds_main_oprsrvinfo.getColumn(0,"hopetmflag");
- if(utlf_isNull(opschedd)){
- sysf_messageBox("수술예정일자를", "C001");
- return;
- }
- if(opflagcd == 1){ //정규
- fOpenOpScheTime(); //수술예약시간 설정 팝업 open
- }else if(opflagcd == 2 || opflagcd == 3){ //응급, 추가
- group2.visible = true;
- btn_new.enable = false;
- btn_rsrvcncl.enable = false;
- btn_rsrvcncl.enable = false;
- btn_tempsave.enable = false;
- if(utlf_isNull(hopetmflag)){ //희망일자 구분이 선택된 경우
- group2.cmb_hopetmflag.index = 0;
- group2.ipt_hopehour.enable = false;
- group2.cmb_hopemin.enable = false;
- group2.cmb_hopetmflag.setFocus();
- ds_main_hopebox.setColumn(0,"hopehour", "00");
- ds_main_hopebox.setColumn(0,"hopemin" , "00");
- ds_main_hopebox.setColumn(0,"usehour", "00");
- ds_main_hopebox.setColumn(0,"usemin" , "00");
-
-
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- ds_main_hopebox.setColumn(0,"usehour" , usehour);
- ds_main_hopebox.setColumn(0,"usemin" , usemin);
- } else {
- if(hopetmflag == 1 || hopetmflag == 2 || hopetmflag == 3){ //1:오전, 2:오후, 3:상관없음, 시간설정 disabled
- group2.ipt_hopehour.enable = false;
- group2.cmb_hopemin.enable = false;
- } else if(hopetmflag == 4){ //4:특정시간, 시간설정 enabled
- group2.ipt_hopehour.enable = true;
- group2.cmb_hopemin.enable = true;
- var opfromtmcd = ds_main_oprsrvinfo.getColumn(0,"opfromtmcd");
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var hopehour = opfromtmcd.substr(0, 2);
- var hopemin = opfromtmcd.substr(4, 2);
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- ds_main_hopebox.setColumn(0,"hopehour", hopehour);
- ds_main_hopebox.setColumn(0,"hopemin" , hopemin);
- ds_main_hopebox.setColumn(0,"usehour" , usehour);
- ds_main_hopebox.setColumn(0,"usemin" , usemin);
- }
- }
- } else {
- sysf_messageBox("수술구분이 먼저 선택되어야 합니다.", "I");
- }
- }
- function fChngHopeTmFlag(){
- var hopetmflag = ds_main_oprsrvinfo.getColumn(0,"hopetmflag");
- if(hopetmflag == 1){//오전
- ds_main_hopebox.setColumn(0,"hopehour", "00");
- ds_main_hopebox.setColumn(0,"hopemin" , "00");
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- ds_main_hopebox.setColumn(0,"usehour" , usehour);
- ds_main_hopebox.setColumn(0,"usemin" , usemin);
- group2.ipt_cntctel.setFocus();
- group2.ipt_hopehour.enable = false;
- group2.cmb_hopemin.enable = false;
- }else if(hopetmflag == 2){ //오후
- ds_main_hopebox.setColumn(0,"hopehour", "00");
- ds_main_hopebox.setColumn(0,"hopemin" , "00");
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- ds_main_hopebox.setColumn(0,"usehour" , usehour);
- ds_main_hopebox.setColumn(0,"usemin" , usemin);
- group2.ipt_cntctel.setFocus();
- group2.ipt_hopehour.enable = false;
- group2.cmb_hopemin.enable = false;
- }else if(hopetmflag == 3){ //상관없음
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- ds_main_hopebox.setColumn(0,"usehour" , usehour);
- ds_main_hopebox.setColumn(0,"usemin" , usemin);
- group2.ipt_cntctel.setFocus();
- group2.ipt_hopehour.enable = false;
- group2.cmb_hopemin.enable = false;
- }else if(hopetmflag == 4){ //시간설정
- group2.ipt_hopehour.setFocus();
- group2.ipt_hopehour.enable = true;
- group2.cmb_hopemin.enable = true;
- }
- }
- /***************************************************************************************************
- * Function : fOpenOpScheTime
- * Description : 수술예약시간 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenOpScheTime(){
- var param = ds_main_oprsrvinfo.getColumn(0,"status") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"oproomcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"oprsrvno") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"ophistno") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"pid") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"opschedd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdeptcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"opfromtmcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"opendtmcd") + "▦" +
- "oprsrv" + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdrid");
- frmf_setParameter("SPMMO08800_param", param);
- // modal("SPMMO08800");
- frmf_modal("SPMMO08800", "SPMMO08800", "", "", "", "", "", "", "", "", "", "", "M");
-
- var rtnuseyn = frmf_getParameter("SPMMO08800_rtn_useyn");
- if(rtnuseyn == "Y"){
- frmf_setParameter("SPMMO08800_rtn_useyn", "N");
- var rtnparam = frmf_getParameter("SPMMO08800_rtn_param");
- rtnparam = rtnparam.split("▦");
- fReqRegOpTime(); // 정규 수술시간 조회
- // 정규시간을 초과해서 입력하면 응급과 추가만 가능
- if( (rtnparam[1] >= ds_main_scheregtimelist.getColumn(0,"regendtm") + "0000") ||
- (rtnparam[2] > ds_main_scheregtimelist.getColumn(0,"regendtm") + "0000") ){
- sysf_messageBox("정규시간을 초과하였습니다. 응급과 추가만", "I006");
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd", "");
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , "");
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , "");
- return;
- }
- var difftime = utlf_getTimeInterval(rtnparam[1], rtnparam[2]);
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , rtnparam[0]);
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd", rtnparam[1]);
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , rtnparam[2]);
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , fTransSecToHourMin(difftime));
- }
- }
- /***************************************************************************************************
- * Function : fOpenDiagInfo
- * Description : 진단 팝업
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenDiagInfo() {
- var xpt = this.position.left + 50;
- var ypt = this.position.top + 80;
- var mon = sysf_getCurrentMonitorNumber();
- // var coord = getRelativeCoordinate(xpt, ypt);
- // var mon = coord[0];
- // xpt = coord[1];
- // ypt = coord[2];
- var paminfo = ds_paminfo.getColumn(0,"pid") +"▦"+ ds_paminfo.getColumn(0,"orddd");
- frmf_setParameter("SPMMO03100_param", "Y");
- frmf_setParameter("SPMMO03100_patinfo", paminfo); // 상단정보를 올리지 않음으로 파라메터로 값 넘기도록 수정 20100614 by LYJ
- // modal("SPMMO03100", mon,xpt,ypt,"SPMMO03100", "", "", "", false);
- frmf_modal("SPMMO03100","SPMMO03100",null,null,mon,xpt,ypt,null,null,null,null,null,"M"); // 진단 화면 미개발
- var useyn = frmf_getParameter("SPMMO03100_rtn_useyn");
- if(useyn == "Y") {
- var diagparam = frmf_getParameter("SPMMO03100_rtn");
- diagparam = diagparam.split("▩");
- for(var i = 0; i < diagparam.length-1; i++){
- var tmpstr = diagparam[i];
- tmpstr = tmpstr.split("▦");
- var currow = ds_main_diaglist.rowcount - 1;
- ds_main_diaglist.setColumn(currow,"status" , "i");
- ds_main_diaglist.setColumn(currow,"oprsrvno" , ds_main_oprsrvinfo.getColumn(0,"oprsrvno"));
- ds_main_diaglist.setColumn(currow,"dispdiagcd", tmpstr[1]);
- ds_main_diaglist.setColumn(currow,"diagcd" , tmpstr[9]);
- ds_main_diaglist.setColumn(currow,"diagengnm" , tmpstr[2]);
- ds_main_diaglist.setColumn(currow,"diaghngnm" , tmpstr[3]);
- ds_main_diaglist.addRow();
- }
- }
- }
- /***************************************************************************************************
- * Function : fOpenSearchDiag
- * Description : 진단검색
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenSearchDiag(){
- var curcol = grd_diaglist.currentcol;
- if(lf_getBindCellName(grd_diaglist,curcol) == "dispdiagcd"){ //진단코드로 검색
- var dispdiagcd = ds_main_diaglist.getColumn(ds_main_diaglist.rowposition,"dispdiagcd");
- frmf_setParameter("SPMMO00800_cond1", 1);
- frmf_setParameter("SPMMO00800_cond2", 1);
- frmf_setParameter("SPMMO00800_cond3", "E");
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", dispdiagcd);
- }else if(lf_getBindCellName(grd_diaglist,curcol) == "diagengnm"){ //진단영문명 검색
- var diagengnm = ds_main_diaglist.getColumn(ds_main_diaglist.rowposition,"diagengnm");
- frmf_setParameter("SPMMO00800_cond1", 2);
- frmf_setParameter("SPMMO00800_cond2", 4);
- frmf_setParameter("SPMMO00800_cond3", utlf_isHangul(diagengnm));
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", diagengnm);
- }else if(lf_getBindCellName(grd_diaglist,curcol) == "diaghngnm"){ //진단한글명 검색
- var diaghngnm = ds_main_diaglist.getColumn(ds_main_diaglist.rowposition,"diaghngnm");
- frmf_setParameter("SPMMO00800_cond1", 2);
- frmf_setParameter("SPMMO00800_cond2", 4);
- frmf_setParameter("SPMMO00800_cond3", utlf_isHangul(diaghngnm));
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", diaghngnm);
- }
- if(frmf_getParameter("SPMMO00800_cond5").length < 2){
- return;
- }
- // modal("SPMMO00800");
- frmf_modal("SPMMO00800", "SPMMO00800", "", "", "", "", "", "", "", "", "", "", "M");
- var useyn = frmf_getParameter("SPMMO00800_rtn_useyn");
- if(useyn == "Y"){
- frmf_setParameter("SPMMO00800_rtn_useyn", "");
- fSetDiagTermCD();
- }else{
- frmf_setParameter("SPMMO00800_rtn_useyn", "");
- var currow = ds_main_diaglist.rowposition;
- ds_main_diaglist.setColumn(currow,"dispdiagcd", "");
- ds_main_diaglist.setColumn(currow,"diagengnm" , "");
- ds_main_diaglist.setColumn(currow,"diaghngnm" , "");
- }
- }
- /***************************************************************************************************
- * Function : fOpenSearchDiag
- * Description : 진단용어코드 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fSetDiagTermCD(){
- var rtnparam = frmf_getParameter("SPMMO00800_rtn");
- rtnparam = rtnparam.split("▩");
- for(var i = 0; i < rtnparam.length-1; i++){
- var tmpstr = rtnparam[i];
- tmpstr = tmpstr.split("▦");
- var currow = ds_main_diaglist.rowcount - 1;
- ds_main_diaglist.setColumn(currow,"status" , "i");
- ds_main_diaglist.setColumn(currow,"oprsrvno" , ds_main_oprsrvinfo.getColumn(0,"oprsrvno"));
- ds_main_diaglist.setColumn(currow,"dispdiagcd", tmpstr[1]);
- ds_main_diaglist.setColumn(currow,"diagcd" , tmpstr[9]);
- ds_main_diaglist.setColumn(currow,"diagengnm" , tmpstr[2]);
- ds_main_diaglist.setColumn(currow,"diaghngnm" , tmpstr[3]);
- ds_main_diaglist.addRow();
- }
- }
- /***************************************************************************************************
- * Function : fDelOpPrevDiag
- * Description : 수술예약정보 수술전 진단 삭제
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fDelOpPrevDiag(){
- var status = ds_main_diaglist.getColumn(ds_main_diaglist.rowposition,"status");
- if(status == "i"){ //신규일 경우
- ds_main_diaglist.deleteRow(ds_main_diaglist.rowposition);
- }else{
- ds_main_diaglist.setColumn(ds_main_diaglist.rowposition,"status","d");
- }
- }
- /***************************************************************************************************
- * Function : fOpenCcrtSearch
- * Description : CaseCart조회 및 value설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenCcrtSearch(){
- var param = lf_getDsValue(ds_main_oprsrvinfo,0,"opschedd") + "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"perfdeptcd")+ "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"perfdrid") + "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"opcd") + "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"opnm") + "▦" +
- "perf"; //query구분
- frmf_setParameter("SPMMO11000_param", param);
- // modal("SPMMO11000");
- frmf_modal("SPMMO11000", "SPMMO11000", "", "", "", "", "", "", "", "", "", "", "M");
- var useyn = frmf_getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y"){
- var rtnparam = frmf_getParameter("SPMMO11000_rtn_param");
- rtnparam = rtnparam.split("▦");
- ds_main_oprsrvinfo.setColumn(0,"ccrtno" , rtnparam[0]);
- ds_main_oprsrvinfo.setColumn(0,"ccrtstat", 1);
- ds_main_oprsrvinfo.setColumn(0,"opcd" , rtnparam[1]);
- ds_main_oprsrvinfo.setColumn(0,"opnm" , rtnparam[2]);
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag"); // 협진수술여부 체크 //2010.06.17 kskim
- // 응급:2, 추가:3 일 경우에만 수술카트에 등록된 소요시간 정보 사용
- if(opflagcd == 2 || opflagcd == 3){
- // 협진수술여부 조건 추가 체크(협진의뢰 시 opusetm, oproomcd 정보는 카드마스터와 연동 안됨) //2010.06.17 kskim
- if( cnstopflag == "N" ){
- ds_main_hopebox.setColumn(0,"usehour" , rtnparam[4]); // 소요시간(시)
- ds_main_hopebox.setColumn(0,"usemin" , rtnparam[5]); // 소요시간(분)
- var opusetime = rtnparam[4].concat(rtnparam[5]);
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , opusetime); //소요시간(시: 분)
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , "2222"); //수술방에 임시방 정보 셋팅 2014.10.20 엄영만
- }
- }
- ds_main_oprsrvinfo.setColumn(0,"opposturecd" , rtnparam[6]); // 수술체위
- ds_main_oprsrvinfo.setColumn(0,"opdirecflag" , rtnparam[7]); // 수술위치
- ds_main_oprsrvinfo.setColumn(0,"anstmthdcd" , rtnparam[8]); // 마취방법
- ds_main_oprsrvinfo.setColumn(0,"opcntmdg" , rtnparam[9]); // 수술창상
- frmf_setParameter("SPMMO11000_rtn_useyn", "N");
- }
- }
- /***************************************************************************************************
- * Function : fOpenSubCcrtSearch
- * Description : CaseCart조회 및 value설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fOpenSubCcrtSearch(){
- var param = ds_main_oprsrvinfo.getColumn(0,"opschedd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdeptcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdrid") + "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"subopcd")+ "▦" +
- lf_getDsValue(ds_main_oprsrvinfo,0,"subopnm")+ "▦" +
- "perf";
- frmf_setParameter("SPMMO11000_param", param);
- // modal("SPMMO11000");
- frmf_modal("SPMMO11000", "SPMMO11000", "", "", "", "", "", "", "", "", "", "", "M");
- var useyn = frmf_getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y"){
- var rtnparam = frmf_getParameter("SPMMO11000_rtn_param");
- rtnparam = rtnparam.split("▦");
- ds_main_oprsrvinfo.setColumn(0,"subopcd" , rtnparam[1]);
- ds_main_oprsrvinfo.setColumn(0,"subopnm" , rtnparam[2]);
- frmf_setParameter("SPMMO11000_rtn_useyn", "N");
- }
- }
- /***************************************************************************************************
- * Function : fClkBtnInReqWnd
- * Description : 입원의뢰화면 open
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBtnInReqWnd(){
- var insukind = ds_main_oprsrvinfo.getColumn(0,"insukind");
- var suppkind = ds_main_oprsrvinfo.getColumn(0,"suppkind");
-
- if(utlf_isNull(insukind)){
- sysf_messageBox("입원의뢰서를 등록하려면 현재 환자를 진료대상자 또는 스케줄현황 화면에서", "C002");
- return;
- }
- if(utlf_isNull(suppkind)){
- sysf_messageBox("입원의뢰서를 등록하려면 현재 환자를 진료대상자 또는 스케줄현황 화면에서", "C002");
- return;
- }
- // modal("SPMMO00100");
- frmf_modal("SPMMO00100", "SPMMO00100", "", "", "", "", "", "", "", "", "", "", "M");
- }
- /***************************************************************************************************
- * Function : fClkBtnNew
- * Description : 신규버튼 클릭
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBtnNew(){
- ds_main_oprsrvinfo.clearData();
- ds_main_oprsrvinfo.addRow();
- ds_main_diaglist.clearData();
- fInitPamInfo("Y");
-
- ds_main_oprsrvinfo.setColumn(0,"reopflag" , "N"); //수술공개
- ds_main_oprsrvinfo.setColumn(0,"opopenflag" , "Y"); //금일재수술
- ds_main_oprsrvinfo.setColumn(0,"anstreqflag", "N"); //마취의뢰만
- ds_main_oprsrvinfo.setColumn(0,"cnstopflag" , "N"); //협진의뢰여부
- ds_main_diaglist.addRow();
-
- if(rdo_opflag.disabled) { // 무통
- fClkUnpainFlag("N");
- }
-
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- }
- /***************************************************************************************************
- * Function : fSaveOpRsrvInfo
- * Description : 수술예약정보 저장
- * Argument : opstatcd : 저장 구분 (00 : 임시저장 , 10 : 인증저장)
- * : tmpstat : 가확정처리를위한tmpflag
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fSaveOpRsrvInfo(opstatcd,tmpstat){
- var status = ds_main_oprsrvinfo.getColumn(0,"status");
- var painlessflag = ds_main_oprsrvinfo.getColumn(0,"painlessflag");
- var cmpopstatcd = ds_main_oprsrvinfo.getColumn(0,"opstatcd");
- var chkopcnfmtm = ds_init_chkopcnfmtm.getColumn(0,"hardcd");
- var chkoffday = ds_init_chkoffday.getColumn(0,"hardcd");
- var MyTime = utlf_getCurrentTime();
- var realtime = MyTime.substr(0,2);
- var reqrsncd = ds_main_oprsrvinfo.getColumn(0,"reqrsncd");
-
- //20180424 이돈희 : 창을 갱신안하고 저장 및 삭제 하는 경우 예전 ophistno에 접근하여 데이터 수정하는 현상 발생
- // 저장 및 삭제 처리 전에 최신 정보인지 확인 절차 필요
-
- //수술예약장부 선택된 건 혹은 신규 건은 oprsrvno가 null임
- if(!utlf_isNull(ds_main_oprsrvinfo.getColumn(0, "oprsrvno")))
- {
- var oParam = {};
- oParam.id = "TXMMO00203";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqCheckLatestOpScheInfo";
- oParam.inds = "req=ds_main_oprsrvinfo";
- oParam.outds = "ds_main_checkLastest=result";
- oParam.async = false;
- tranf_submit(oParam);
-
- //ophistno가 다른 경우 새로 조회 후 수정이 필요
- if(ds_main_checkLastest.getColumn(0,"ophistno") != ds_main_oprsrvinfo.getColumn(0,"ophistno")){
- sysf_messageBox("변경된 수술예약정보가 존재하여 재조회하니 다시 입력바랍니다.", "E");
-
- //재조회시 자동 선택을 위한 수술예약정보
- var varOriginOprsrvno = ds_main_oprsrvinfo.getColumn(0, "oprsrvno");
-
- //재조회
- fInitOprsrvInfo();
-
- //수술예약정보 자동 선택
- var nRow = ds_main_oprsrvlist.findRow("oprsrvno", varOriginOprsrvno);
- fClkGrdOpRsrvList(nRow);
- return;
- }
- }
-
- //20180112 이돈희 : 전달사항에 < > 특수문자로 인하여 수술/마취일정 조정 리스트 못가져 오는 현상 발생
- // : < 은 ( 으로 >은 ) 으로 변경
- if(!utlf_isNull(ds_main_oprsrvinfo.getColumn(0,"delivefact"))){
- var tempString = ds_main_oprsrvinfo.getColumn(0,"delivefact");
- tempString = tempString.replace("<","(");
- tempString = tempString.replace(">",")");
- ds_main_oprsrvinfo.setColumn(0,"delivefact",tempString);
- }
-
- //20180515 이돈희 : 집도과와 집도의를 선택 후 수술방(시간설정)을 선택하는데, 수술방 선택 후 집도의 변경하는 경우가 있음
- // : 따라서 해당 시간에 들어갈 수 없는 집도의나 집도과로 예약 되는 경우가 있음
- // : 저장할 때 한번 더 체크하는 로직 추가
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- if(opflagcd == 1){ //정규
- //20180518 이돈희 : 협진 수술 인 경우는 주 수술의 방을 입력하므로 조회 조건 해제
- if(ds_main_oprsrvinfo.getColumn(0,"cnstopflag") != 'Y'){
- lf_reqHardCodeInfo(ds_init_roomauthcd, 18);
- var hardcd = ds_init_roomauthcd.getColumn(0,"hardcd");
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var opperfdeptcd = ds_main_oprsrvinfo.getColumn(0,"perfdeptcd");
- var opperfdrid = ds_main_oprsrvinfo.getColumn(0,"perfdrid");
- var oproomcd = ds_main_oprsrvinfo.getColumn(0,"oproomcd");
- if(sysf_getUserInfo("dutplcecd")== hardcd || sysf_getUserInfo("userid") == "EMR"){ //마취통증의학과의 경우 모든 수술방에 대해 예약입력 가능 권한을 부여
- lf_reqOpRoomList(utlf_getCurrentDate(), ds_main_oproomlist, ds_main_alloproomlist, "total"); //전체 수술실 조회
- }else{
- lf_reqOpRoomList(opschedd, ds_main_oproomlist, ds_main_alloproomlist, "detl", opperfdeptcd, opperfdrid); //집도과와 집도의로 수술방 조회
- }
-
- var iCol = ds_main_oproomlist.findRow("oproomcd", oproomcd);
- if(iCol < 0){
- sysf_messageBox("선택된 수술방은 사용이 불가합니다. 다시 선택해 주시기 바랍니다.", "E");
- return;
- }
- }
- }
- // 20190509 김현석, 추가, 응급 수술의 경우 수술방 체크를 하여 임시방으로 설정이 되도록 한번더 체크함 _S
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag"); // 협진수술여부 체크
- if(opflagcd == 2 || opflagcd == 3){ // 2 : 응급, 3 : 추가
- // 협진수술여부 조건 추가 체크
- if( cnstopflag == "N" ){
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , "2222"); //수술방에 임시방 정보 셋팅 2014.10.20 엄영만
- }
- }
- // 20190509 김현석, 추가, 응급 수술의 경우 수술방 체크를 하여 임시방으로 설정이 되도록 한번더 체크함 _E
-
-
- if(painlessflag != "Y") { // 무통
- if(status == "u" && cmpopstatcd >= 20){ // 2008.10.31 확정이후 단계의 수술은 모두 변경 불가 처리
- sysf_messageBox("수술확정이 된 예약정보는 수술예약정보 변경", "E001");
- return;
- } else if(status == "u" && cmpopstatcd < 20 && (reqrsncd == "314" || reqrsncd == "315")) { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- sysf_messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- } else {
- if(fChkSaveOpRsrvValid() == true){ //데이터 무결성 검사시 이상이 없는 경우 저장 로직을 수행
- if(status == "u"){ //수정인 경우
- ds_main_oprsrvinfo.setColumn(0,"status", ""); //수정내용 검사시 status는 제외하기 위해 값을 삭제
- if(ds_main_oprsrvinfo.getColumn(0,"opstatcd") == "10") { // 의뢰상태일 경우만
- if(lf_compareNodeVal(ds_main_oprsrvinfo, ds_temp_oprsrvinfo) == false && fChkSaveOpPrevDiag() == false){ //변경된 내용이 있는 경우
- sysf_messageBox("변경된 내용이", "I004");
- return;
- }else{
- ds_main_oprsrvinfo.setColumn(0,"status", "u"); //수정 flag 원복
- }
- }else{ // 임시(00) -> 인증 (10)
- ds_main_oprsrvinfo.setColumn(0,"status", "u"); //수정 flag 원복
- }
- }
-
- if(status != "d"){
- // 2008.09.10 수술 하루전 일괄확정(12:00) 이후에는 정규로는 의뢰불가
- // 추가, 응급(당일)로만 의뢰가능함
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- if( opflagcd == "1") {
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- if (utlf_getDateInterval(utlf_getCurrentDate(), opschedd) == 1) {
- if( utlf_getCurrentTime() > chkopcnfmtm ) {
- sysf_messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
-
- if (chkoffday == "Y") {
- // 2008.10.13 월요일 의뢰는 금요일 오전 12시까지만 가능
- var opsdd = ds_main_oprsrvinfo.getColumn(0,"opschedd"); // 의뢰요일
- var someday = new Date(opsdd.substring(0, 4), opsdd.substring(4, 6), opsdd.substring(6, 8));
- someday = someday.getAddDate(-1, "M");
- var dkind = someday.getDay();
-
- if( utlf_getCurrentWeek() == "5") { // 금 5
- if(dkind == "1") { // 의뢰요일이 월요일이면
- if( opflagcd == "1" && utlf_getCurrentTime() > chkopcnfmtm ) {
- sysf_messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
-
- if( utlf_getCurrentWeek() == "6") { // 토 6
- if(opflagcd == "1" && dkind == "1") { // 의뢰요일이 월요일이면
- sysf_messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
-
- // 2008.10.27 휴일인 경우 blocking 처리
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- if(opflagcd == "1") { // 정규일 경우만 check 하도록
- var opexdd = new Date(opsdd.substring(0, 4), opsdd.substring(4, 6) -1, opsdd.substring(6, 8));
- opexdd = opexdd.getAddDate(-1).getDateFormat();
- var nodeList = ds_main_calendar.filter("basedd == '"+opexdd+"'");
- if( nodeList.rowcount > 0) {
- var dutflag = nodeList.getColumn(0,"dutflag"); // 휴일여부
- if(dutflag == "8") {
- var weekList = ds_main_calendar.filter("basedd < '"+opexdd+"' and dutflag == '0'");
- var possdd = weekList.getColumn(weekList.rowcount-1,"basedd");
- if( opflagcd == "1" && possdd == utlf_getCurrentDate() && utlf_getCurrentTime() > chkopcnfmtm) {
- sysf_messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
- }
- } else {
- var opcnfmdd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var dutflag = ds_main_calendar.getColumn(ds_main_calendar.findRow("basedd",opcnfmdd),"dutflag");
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- if ((dutflag == "4" || dutflag =="8") && opflagcd == "1") {
- sysf_messageBox("수술예정일자가 휴일 또는 토요일인 경우는 정규수술로 의뢰가 불가능합니다", "I");
- return;
- }
- }
-
- // 2008.09.23 협진의 경우 주과와 다른 방 입력시 alert
- // 09.02.04 주수술번호를 물고 있는 협진의 경우만 체크하도록 조건 추가
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag");
- var mainoprsrvno = ds_main_oprsrvinfo.getColumn(0,"mainoprsrvno");
- var rtnRoomcd = frmf_getParameter("SPMMO11100_rtn_param_oproomcd");
- if( cnstopflag == "Y" && !utlf_isNull(rtnRoomcd) && !utlf_isNull(mainoprsrvno)) {
- var roomcd = ds_main_oprsrvinfo.getColumn(0,"oproomcd");
- if(rtnRoomcd != roomcd) {
- sysf_messageBox("수술협진시 다른방으로 의뢰", "E001");
- return;
- }
- }
-
- // 2008.11.19 재원여부 check
- if(!fChkPatInRgst()) return;
- }
-
- ds_main_oprsrvinfo.setColumn(0,"opstatcd", opstatcd); //의뢰(인증저장)
- dsf_makeValue(ds_main_oprsrvinfo,"tmpstat","string",tmpstat);
- // 데이터셋 바로 넘기면 되므로 의미없음 `
- // var rsrvinfo = ds_main_oprsrvinfo;
- // var diaginfo = ds_main_diaglist;
- // ds_send_savedata.clear();
- // dsf_makeValue(ds_send_savedata,"rsrvinfo","string",dsf_getDsCSV(ds_main_oprsrvinfo));
- // dsf_makeValue(ds_send_savedata,"diaginfo","string",dsf_getDsCSV(ds_main_diaglist));
-
- //2012/06/26 Start
- // 수술 예방적 항생제 관련
- var dispopcd = ds_main_oprsrvinfo.getColumn(0,"opcd");
- var t_pname = ds_main_oprsrvinfo.getColumn(0,"hngnm");
- var t_opnm = ds_main_oprsrvinfo.getColumn(0,"opnm");
- var irow = ds_main_opschereclist.rowposition;
-
- if(ds_main_oprsrvinfo.getColumn(0,"sa").substr(2,4) > 17){
- for(var i = 0; i < nodecnt; i++){
- var trgtcd = ds_temp_opcd.getColumn(i,"hardcd");
- if(dispopcd == trgtcd){
- sysf_messageBox("("+t_pname+")"+" 환자는 " +"("+t_opnm+")" + " 수술로 수술예방적 항생제 적정성 평가 대상입니다.\n" +
- "1,2세대 세파계 항생제를 단독으로 투여하시면 평가를 잘 받을 수 있습니다.", "I");
- break;
- }
- }
- }
- //2012/06/26 End
-
- var oParam = {};
- oParam.id = "TXMMO00201";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqExeSaveOpRsrvInfo";
- oParam.inds = "rsrvinfo=ds_main_oprsrvinfo diaginfo=ds_main_diaglist";
- oParam.outds = "ds_main_oprsrvlist=oprsrvlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO00201";
- tranf_submit(oParam);
- if(arErrorCode.pop("TXMMO00201") > -1){
- if(status != "d"){ //삭제된 경우는 selectSingleNode error발생
- //fDispAprvCnclChng(); //저장 후 조회결과 그리드의 color를 변경처리함-> 그리드 EXPR로 처리
- fClkGrdOpRsrvList(0);
- }
- }
- }
- }
- } else if(painlessflag == "Y") {
-
- if(status == "u" && cmpopstatcd >= 20){ // 확정이후 단계의 수술은 모두 변경 불가 처리
- sysf_messageBox("수술확정이 된 예약정보는 수술예약정보 변경", "E001");
- return;
- } else if(status == "u" && cmpopstatcd < 20 && (reqrsncd == "314" || reqrsncd == "315")) { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- sysf_messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- }
-
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var oppatflagcd = ds_main_oprsrvinfo.getColumn(0,"oppatflagcd");
-
- if(utlf_isNull(opschedd)){
- sysf_messageBox("수술예정일자를 ", "C001");
- ipt_opschedd.setFocus();
- return;
- }
-
- if(utlf_isNull(oppatflagcd)){
- sysf_messageBox("수술환자구분을", "C001");
- rdo_oppatflag.setFocus();
- return;
- }
-
- var totrow = ds_main_diaglist.rowcount;
- if(totrow < 2){
- sysf_messageBox("수술전 진단을", "C001");
- grd_diaglist.setFocus();
- return;
- }
-
- ds_main_oprsrvinfo.setColumn(0,"opstatcd", opstatcd); //의뢰(인증저장)
- dsf_makeValue(ds_main_oprsrvinfo,"tmpstat","string",tmpstat);
- // var rsrvinfo = model.instance1.selectNodes("/root/main/oprsrvinfo/oprsrvinfo");
- // var diaginfo = model.instance1.selectNodes("/root/main/diaglist/diaglist");
- // model.removeNodeset("/root/send/savedata");
- // model.makeValue("/root/send/savedata/rsrvinfo", getNodeListCSV(rsrvinfo));
- // model.makeValue("/root/send/savedata/diaginfo", getNodeListCSV(diaginfo));
-
- //2012/06/26 Start
- // 수술 예방적 항생제 관련
- var dispopcd = ds_main_oprsrvinfo.getColumn(0,"opcd");
- var t_pname = ds_main_oprsrvinfo.getColumn(0,"hngnm");
- var t_opnm = ds_main_oprsrvinfo.getColumn(0,"opnm");
- var irow = ds_main_opschereclist.rowcount;
-
- if(ds_main_oprsrvinfo.getColumn(0,"sa").substr(2,4)>17){
- for(var i = 0; i < nodecnt; i++){
- var trgtcd = ds_temp_opcd.getColumn(i,"hardcd");
- if(dispopcd == trgtcd){
- sysf_messageBox("("+t_pname+")"+" 환자는 " +"("+t_opnm+")" + " 수술로 수술예방적 항생제 적정성 평가 대상입니다.\n" +
- "1,2세대 세파계 항생제를 단독으로 투여하시면 평가를 잘 받을 수 있습니다.", "I");
- break;
- }
- }
- }
-
- var oParam = {};
- oParam.id = "TXMMO00201";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqExeSaveOpRsrvInfo";
- oParam.inds = "rsrvinfo=ds_main_oprsrvinfo diaginfo=ds_main_diaglist";
- oParam.outds = "ds_main_oprsrvlist=oprsrvlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO00201";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMMO00201") > -1){
- if(status != "d"){ //삭제된 경우는 selectSingleNode error발생
- //fDispAprvCnclChng(); //저장 후 조회결과 그리드의 color를 변경처리함-> 그리드 EXPR로 처리
- fClkGrdOpRsrvList(0);
- }
- }
- }
- }
- /***************************************************************************************************
- * Function : cf_TXMMO00201
- * Description : TXMMO00201 콜백함수
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function cf_TXMMO00201(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /***************************************************************************************************
- * Function : fChkSaveOpRsrvValid
- * Description : 수술예약정보 저장시 데이터 무결성 검사 및 진단코드 설정
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fChkSaveOpRsrvValid(){
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- var opcd = ds_main_oprsrvinfo.getColumn(0,"opcd");
- var oproomcd = ds_main_oprsrvinfo.getColumn(0,"oproomcd");
- var opfromtmcd = ds_main_oprsrvinfo.getColumn(0,"opfromtmcd");
- var opendtmcd = ds_main_oprsrvinfo.getColumn(0,"opendtmcd");
- var anstreqflag = ds_main_oprsrvinfo.getColumn(0,"anstreqflag");
- var opposturecd = ds_main_oprsrvinfo.getColumn(0,"opposturecd");
- var opdirecflag = ds_main_oprsrvinfo.getColumn(0,"opdirecflag");
- var anstmthdcd = ds_main_oprsrvinfo.getColumn(0,"anstmthdcd");
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd");
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var oppatflagcd = ds_main_oprsrvinfo.getColumn(0,"oppatflagcd");
- var opcntmdg = ds_main_oprsrvinfo.getColumn(0,"opcntmdg");
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag"); //2008.08.25 LWS 협진의뢰여부 체크위한 추가
- var hopetmflag = ds_main_oprsrvinfo.getColumn(0,"hopetmflag");
- var cntctel = ds_main_oprsrvinfo.getColumn(0,"cntctel"); //2010.03.19 JJE 작성자 연락처 필수 요청(요청번호:12222)
- var totrow = ds_main_diaglist.rowcount;
-
- if(utlf_isNull(opschedd)){
- sysf_messageBox("수술예정일자를 ", "C001");
- ipt_opschedd.setFocus();
- return;
- }
- if(utlf_isNull(pid)){
- sysf_messageBox("등록번호를 ", "C001");
- ipt_pid.setFocus();
- return false;
- }
- if(utlf_isNull(oppatflagcd)){
- sysf_messageBox("수술환자구분을", "C001");
- rdo_oppatflag.setFocus();
- return false;
- }
- if(utlf_isNull(opflagcd)) {
- sysf_messageBox("수술구분을", "C001");
- rdo_opflag.setFocus();
- return;
- }
- if(opflagcd == 1){ //정규인 경우, 수술방 입력은 필수(응급, 추가인 경우 수술방 입력 삭제)
- if(cmb_oproomcd.text == "" ||cmb_oproomcd.value == "0000" ||cmb_oproomcd.value == "2222"){
- sysf_messageBox("정규수술은 수술방", "I003");
- return false;
- }
- if(utlf_isNull(opfromtmcd) || utlf_isNull(opendtmcd)){ //정규인 경우에만 수술시간 입력을 검사한다.
- sysf_messageBox("수술시간을", "C001");
- return false;
- }
- if(fCheckValidTime(ds_main_oprsrvinfo) == false) { //입력된 시간이 유효한지 check
- return false;
- }
- }
- if(cnstopflag == "N" && hopetmflag != "4") { //2008.08.25 LWS 협진의뢰시 응급, 추가인경우 수술방정보가 있어도 인증저장 가능하도록
- // 2008.10.13 특정시간 입력의 경우도 제외처리
- if(opflagcd == 2 || opflagcd == 3){ //응급, 추가인 경우
- if(cmb_oproomcd.value != "") {
- if(cmb_oproomcd.value != "0000" && cmb_oproomcd.value != "2222"){
- sysf_messageBox("응급, 추가 수술은 수술방을 선택", "E001");
- return false;
- }
- }
- if(opfromtmcd != "000000" || opendtmcd != "000000") {
- if(!utlf_isNull(opfromtmcd) || !utlf_isNull(opendtmcd)){
- sysf_messageBox("응급, 추가 수술은 수술시간을 입력", "E001");
- return false;
- }
- }
- }
- }
- if(totrow < 2){
- sysf_messageBox("수술전 진단을", "C001");
- grd_diaglist.setFocus();
- return false;
- }
-
- if(utlf_isNull(opcd)){
- sysf_messageBox("수술코드 및 수술명을", "C001");
- ipt_opcd.setFocus();
- return false;
- }
- if(utlf_isNull(opposturecd)){
- sysf_messageBox("수술체위를", "C001");
- cmb_opposture.setFocus();
- return false;
- }
- if(utlf_isNull(opdirecflag)){
- sysf_messageBox("수술위치(left, right, both)를", "C001");
- cmb_opdirecflag.setFocus();
- return false;
- }
- if(utlf_isNull(anstmthdcd)){
- sysf_messageBox("마취방법을", "C001");
- cmb_anstmthd.setFocus();
- return false;
- }
- if(opcntmdg == 0 || utlf_isNull(opcntmdg)) {
- sysf_messageBox("수술창상을", "C001");
- cmb_opcnfmdg.setFocus();
- return false;
- }
- if( utlf_isNull(cntctel) || utlf_getStringLength(cntctel) < 3 ){
- sysf_messageBox("작성자 연락처는 3자리 이상", "C001");
- input3.setFocus();
- return false;
- }
- return true;
- }
- /***************************************************************************************************
- * Function : fCheckValidTime
- * Description : 입력된 수술시간이 유효한지 check
- * Argument : timePath : 시간정보 가지고 있는 Dataset
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fCheckValidTime(timePath){
- var fromtm = timePath.getColumn(0,"opfromtmcd");
- var endtm = timePath.getColumn(0,"opendtmcd");
- if(fromtm.length != 6) {
- fromtm += "00";
- timePath.setColumn(0,"opfromtmcd", fromtm);
- }
- if(endtm.length != 6) {
- endtm += "00";
- timePath.setColumn(0,"opendtmcd", endtm);
- }
- var node = ds_init_M0014;
- var i, j;
- for(i=0; i< node.rowcount; i++) {
- if(fromtm == node.getColumn(i,"cdid")) {
- break;
- }
- }
- for(j=0; j< node.rowcount; j++) {
- if(endtm == node.getColumn(j,"cdid")) {
- break;
- }
- }
- if(i == node.rowcount) {
- sysf_messageBox("입력된 시간이", "E016");
- ipt_fmtm.setFocus();
- return false;
- }
- if(j == node.rowcount) {
- sysf_messageBox("입력된 시간이", "E016");
- ipt_endtm.setFocus();
- return false;
- }
- return true;
- }
- /***************************************************************************************************
- * Function : fChkSaveOpPrevDiag
- * Description : 수술예약정보 수술전 진단 변경 사항 검사
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fChkSaveOpPrevDiag(){
- var totrow = ds_main_diaglist.rowcount;
- for(var i = 0; i < totrow; i++){
- var status = ds_main_diaglist.getColumn(i,"status");
- if(status == "i" || status == "d"){
- return true;
- }
- }
- return false;
- }
- /***************************************************************************************************
- * Function : fChkPatInRgst
- * Description : 재원여부 check
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fChkPatInRgst(){
- var pid = ds_main_oprsrvinfo.getColumn(0,"pid");
- var oppatflagcd = ds_main_oprsrvinfo.getColumn(0,"oppatflagcd");
- if(!utlf_isNull(pid) && oppatflagcd == "D"){
- ds_send_reqdata.clear();
- dsf_makeValue(ds_send_reqdata,"pid","string",pid); //등록번호
-
- var oParam = {};
- oParam.id = "TRMMO00211";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetPatInRgst";
- oParam.inds = "req=ds_send_reqdata";
- oParam.outds = "ds_main_rgstinfo=rgstinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00211";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00211") > -1) {
- var rgstyn = ds_main_rgstinfo.getColumn(0,"ret");
- if(rgstyn == "Y") {
- sysf_messageBox("재원 중인 환자입니다. DSC수술의뢰", "E001");
- ds_main_oprsrvinfo.getColumn(0,"oppatflagcd", "");
- return false;
- }else{
- return true;
- }
- }
- }
- return true;
- }
- /***************************************************************************************************
- * Function : fClkBtnRsrvCncl
- * Description : 예약취소 버튼 클릭
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkBtnRsrvCncl(){
- var opstatcd = ds_main_oprsrvinfo.getColumn(0,"opstatcd");
- var reqrsncd = ds_main_oprsrvinfo.getColumn(0,"reqrsncd");
- if(opstatcd < 20){
- if(reqrsncd == "314" || reqrsncd == "315") { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- sysf_messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- } else {
- group1.visible = true;
- btn_new.enable = false;
- btn_rsrvcncl.enable = false;
- btn_tempsave.enable = false;
- group1.cmb_inrsrvcnclresn.setFocus();
- }
- }else{
- sysf_messageBox("확정된 환자는 예약 취소", "E001");
- return;
- }
- }
- /***************************************************************************************************
- * Function : fClkCnfmCncl
- * Description : 취소변경 버튼 클릭
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkCnfmCncl(){
- var rtnval = 6; //승인요청 대기중이 아니더라도 취소변경 flow는 흘러가도록 rtnval값을 예로 설정
- var currow = ds_main_oprsrvlist.rowposition;
- if(currow < 0){
- return;
- }
- var opstatcd = ds_main_oprsrvinfo.getColumn(0,"opstatcd");
- var aprvreqno = ds_main_oprsrvlist.getColumn(currow,"aprvreqno");
- var reqrsncd = ds_main_oprsrvinfo.getColumn(0,"reqrsncd");
- if(opstatcd < 20){
- if(reqrsncd == "314" || reqrsncd == "315") { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- sysf_messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- } else {
- sysf_messageBox("의뢰 중인 수술예약은 취소 요청을", "E001");
- }
- return;
- }
- if(aprvreqno != 0){
- rtnval = sysf_messageBox("승인 요청 대기 중인 수술예약 정보입니다. 확정취소 변경을", "Q003");
- }
- if(rtnval == 6){
- frmf_setParameter("SPMMO05800_param_pid" , lf_getDsValue(ds_main_oprsrvinfo,0,"pid"));
- frmf_setParameter("SPMMO05800_param_oprsrvno" , lf_getDsValue(ds_main_oprsrvinfo,0,"oprsrvno"));
- frmf_setParameter("SPMMO05800_param_ophistno" , lf_getDsValue(ds_main_oprsrvinfo,0,"ophistno"));
- frmf_setParameter("SPMMO05800_param_aprvreqno", lf_getDsValue(ds_main_oprsrvinfo,0,"aprvreqno"));
- var opschedd = lf_getDsValue(ds_main_oprsrvinfo,0,"opschedd");
- var opfromtmcd = lf_getDsValue(ds_main_oprsrvinfo,0,"opfromtmcd");
- var opendtmcd = lf_getDsValue(ds_main_oprsrvinfo,0,"opendtmcd");
- var oproomcd = lf_getDsValue(ds_main_oprsrvinfo,0,"oproomcd");
- var opcd = lf_getDsValue(ds_main_oprsrvinfo,0,"opcd");
- var opnm = lf_getDsValue(ds_main_oprsrvinfo,0,"opnm");
- var diagcd = lf_getDsValue(ds_main_oprsrvinfo,0,"diagcd");
- var diagnm = lf_getDsValue(ds_main_oprsrvinfo,0,"diagnm");
- var perfdeptcd = lf_getDsValue(ds_main_oprsrvinfo,0,"perfdeptcd");
- var perfdrid = lf_getDsValue(ds_main_oprsrvinfo,0,"perfdrid");
- var opusetm = lf_getDsValue(ds_main_oprsrvinfo,0,"opusetm");
- var anstmthd = lf_getDsValue(ds_main_oprsrvinfo,0,"anstmthdcd");
- var anstdetlmthdcd = lf_getDsValue(ds_main_oprsrvinfo,0,"anstdetlmthdcd");
- var opstatcd = lf_getDsValue(ds_main_oprsrvinfo,0,"opstatcd");
- var opposturecd = lf_getDsValue(ds_main_oprsrvinfo,0,"opposturecd");
- var opdirecflag = lf_getDsValue(ds_main_oprsrvinfo,0,"opdirecflag");
- var oppatflagcd = lf_getDsValue(ds_main_oprsrvinfo,0,"oppatflagcd");
- var opcntmdg = lf_getDsValue(ds_main_oprsrvinfo,0,"opcntmdg");
- var opdelivefact = lf_getDsValue(ds_main_oprsrvinfo,0,"delivefact");
- var opcnfmdd = lf_getDsValue(ds_main_oprsrvinfo,0,"opcnfmdd");
- var opflagcd = lf_getDsValue(ds_main_oprsrvinfo,0,"opflagcd"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, opflagcd(수술구분)정보 추가
- var cntctel = lf_getDsValue(ds_main_oprsrvinfo,0,"cntctel"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cntctel(연락처)정보 추가
- var cnstopflag = lf_getDsValue(ds_main_oprsrvinfo,0,"cnstopflag"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cnstopflag(협진여부)정보 추가
- var ccrtno = lf_getDsValue(ds_main_oprsrvinfo,0,"ccrtno"); // [요청번호: 847] 카트번호 2010.06.25 kskim, ccrtno정보 추가
- //drg정보 추가 2013.06.20 KJS
- var drgyn = lf_getDsValue(ds_main_oprsrvinfo,0,"drgyn");
- var drgno = lf_getDsValue(ds_main_oprsrvinfo,0,"drgno");
- var drgnm = lf_getDsValue(ds_main_oprsrvinfo,0,"drgnm");
- var opdata = opschedd + "▦" +
- opfromtmcd + "▦" +
- opendtmcd + "▦" +
- oproomcd + "▦" +
- opcd + "▦" +
- opnm + "▦" +
- diagcd + "▦" +
- diagnm + "▦" +
- perfdeptcd + "▦" +
- perfdrid + "▦" +
- opusetm + "▦" +
- anstmthd + "▦" +
- anstdetlmthdcd + "▦" +
- opstatcd + "▦" +
- opposturecd + "▦" +
- opdirecflag + "▦" +
- oppatflagcd + "▦" +
- opcntmdg + "▦" +
- opdelivefact + "▦" +
- opcnfmdd + "▦" +
- opflagcd + "▦" +
- cntctel + "▦" +
- cnstopflag + "▦" +
- ccrtno + "▦" +
- drgyn + "▦" +
- drgno + "▦" +
- drgnm; // [요청번호: 847] 수술일자변경 2010.06.25 kskim, opflagcd(수술구분)정보 추가
- frmf_setParameter("SPMMO05800_param_opdata", opdata);
- // modal("SPMMO05800");
- frmf_modal("SPMMO05800", "SPMMO05800", "", "", "", "", "", "", "", "", "", "", "M");
- var rtnuseyn = frmf_getParameter("SPMMO05800_rtn_useyn");
- if(rtnuseyn == "Y"){
- frmf_setParameter("SPMMO05800_rtn_useyn", "N");
- ds_main_cond.setColumn(0,"qflag", "1");
- fReqOpRsrvInfoList();
- }
- }else{
- return;
- }
- }
- /***************************************************************************************************
- * Function : fClkCnfmHopeTm
- * Description : 희망시간 확정버튼 클릭
- * Argument :
- * return type :
- * Creator :
- ***************************************************************************************************/
- function fClkCnfmHopeTm(){
- group2.visible = false;
- var hopehour = ds_main_hopebox.getColumn(0,"hopehour");
- var hopemin = ds_main_hopebox.getColumn(0,"hopemin");
- var usehour = ds_main_hopebox.getColumn(0,"usehour");
- var usemin = ds_main_hopebox.getColumn(0,"usemin");
- var hopetmflag = ds_main_oprsrvinfo.getColumn(0,"hopetmflag");
-
- if(hopehour.length == 1) {
- hopehour = "0" + hopehour;
- }
-
- if(usehour.length == 1) {
- usehour = "0" + usehour;
- }
-
- var opusetm = usehour.concat(usemin);
- if(hopetmflag == 4){
- var opfromtmcd = hopehour.concat(hopemin) + "00";
- var opendhour = eval(hopehour) + eval(usehour);
- var opendmin = eval(hopemin) + eval(usemin);
- if(opendmin == 60){
- opendhour++;
- opendmin = "00";
- }else if(opendmin == 0){
- opendmin = "00";
- }
-
- if(opendhour < 10){
- opendhour = "0".concat(opendhour);
- }
- var opendtmcd = ("" + opendhour + "").concat(opendmin) + "00";
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd", opfromtmcd);
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd" , opendtmcd);
- }
-
- ds_main_oprsrvinfo.setColumn(0,"oproomcd" , "2222"); //응급, 추가의 경우, 임시방 설정
- ds_main_oprsrvinfo.setColumn(0,"opusetm" , opusetm);
- btn_new.enable = true;
- btn_rsrvcncl.enable = true;
- btn_rsrvcncl.enable = true;
- btn_tempsave.enable = true;
-
- if(hopetmflag != 4) { // 2008.10.13 특정시간 설정일 경우만 제외하고 처리
- if(cmb_opfromtmcd.value != "" || cmb_opendtmcd.value != "") {
- ds_main_oprsrvinfo.setColumn(0,"opfromtmcd", "");
- ds_main_oprsrvinfo.setColumn(0,"opendtmcd", "");
- }
- }
- }
- ]]></Script>
|