1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644 |
- <?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(){
- 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(); //수술예약정보 조회
- //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: "취소"}] //항목추가
- );
- }
- /***************************************************************************************************
- * 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.substr(0,3) + "-" + rgstMpphonNo.substr(3,6) + "-" + rgstMpphonNo.substr(6,10);
- else if( utlf_getStringLength(rgstMpphonNo) == 11 ) cntctel = rgstMpphonNo.substr(0,3) + "-" + rgstMpphonNo.substr(3,7) + "-" + rgstMpphonNo.substr(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", ds_main_cond1.getColumn(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();
- }
- /***************************************************************************************************
- * 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(1);
- //파라미터를 받아서 조회하는 경우, 저장 버튼을 모두 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(1);
- frmf_clearParameter("SMMNO00100_opschedd");
- frmf_clearParameter("SMMNO00100_pid");
- }
- // (e)
- }
- }
- /***************************************************************************************************
- * 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);
- }
- 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 = 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_=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() +"]");
- var patlist = ds_patordinfolist.filter("orddeptcd=='"+sysf_getUserInfo("dutplcecd")+"' && orddd <= '"+utlf_getCurrentDate()+"'");
- if(patlist.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 = patlist.getColumn(0,"ioflag");
- var pid = patlist.getColumn(0,"pid");
- var orddd = patlist.getColumn(0,"orddd");
- var cretno = patlist.getColumn(0,"cretno");
- var instcd = patlist.getColumn(0,"instcd");
- var dschdd = patlist.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()+"'");
- if(patlist.rowcount > 0) {
- var ioflag = patlist.getColumn(0,"ioflag");
- var pid = patlist.getColumn(0,"pid");
- var orddd = patlist.getColumn(0,"orddd");
- var cretno = patlist.getColumn(0,"cretno");
- var instcd = patlist.getColumn(0,"instcd");
- var dschdd = patlist.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 = 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");
- // 요청번호; 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 : 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 = 1; i <= diagparam.length-2; 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 = 1; i <= rtnparam.length-2; 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 = ds_main_oprsrvinfo.getColumn(0,"opschedd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdeptcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"perfdrid") + "▦" +
- ds_main_oprsrvinfo.getColumn(0,"opcd") + "▦" +
- ds_main_oprsrvinfo.getColumn(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_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");
-
- 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.substr(0, 4), opsdd.substr(4, 6), opsdd.substr(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.substr(0, 4), opsdd.substr(4, 6) -1, opsdd.substr(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(1);
- }
- }
- }
- }
- } 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(1);
- }
- }
- }
- }
- /***************************************************************************************************
- * 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 < 1){
- 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" , ds_main_oprsrvinfo.getColumn(0,"pid"));
- frmf_setParameter("SPMMO05800_param_oprsrvno" , ds_main_oprsrvinfo.getColumn(0,"oprsrvno"));
- frmf_setParameter("SPMMO05800_param_ophistno" , ds_main_oprsrvinfo.getColumn(0,"ophistno"));
- frmf_setParameter("SPMMO05800_param_aprvreqno", ds_main_oprsrvinfo.getColumn(0,"aprvreqno"));
- var opschedd = ds_main_oprsrvinfo.getColumn(0,"opschedd");
- var opfromtmcd = ds_main_oprsrvinfo.getColumn(0,"opfromtmcd");
- var opendtmcd = ds_main_oprsrvinfo.getColumn(0,"opendtmcd");
- var oproomcd = ds_main_oprsrvinfo.getColumn(0,"oproomcd");
- var opcd = ds_main_oprsrvinfo.getColumn(0,"opcd");
- var opnm = ds_main_oprsrvinfo.getColumn(0,"opnm");
- var diagcd = ds_main_oprsrvinfo.getColumn(0,"diagcd");
- var diagnm = ds_main_oprsrvinfo.getColumn(0,"diagnm");
- var perfdeptcd = ds_main_oprsrvinfo.getColumn(0,"perfdeptcd");
- var perfdrid = ds_main_oprsrvinfo.getColumn(0,"perfdrid");
- var opusetm = ds_main_oprsrvinfo.getColumn(0,"opusetm");
- var anstmthd = ds_main_oprsrvinfo.getColumn(0,"anstmthdcd");
- var anstdetlmthdcd = ds_main_oprsrvinfo.getColumn(0,"anstdetlmthdcd");
- var opstatcd = ds_main_oprsrvinfo.getColumn(0,"opstatcd");
- var opposturecd = ds_main_oprsrvinfo.getColumn(0,"opposturecd");
- var opdirecflag = ds_main_oprsrvinfo.getColumn(0,"opdirecflag");
- var oppatflagcd = ds_main_oprsrvinfo.getColumn(0,"oppatflagcd");
- var opcntmdg = ds_main_oprsrvinfo.getColumn(0,"opcntmdg");
- var opdelivefact = ds_main_oprsrvinfo.getColumn(0,"delivefact");
- var opcnfmdd = ds_main_oprsrvinfo.getColumn(0,"opcnfmdd");
- var opflagcd = ds_main_oprsrvinfo.getColumn(0,"opflagcd"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, opflagcd(수술구분)정보 추가
- var cntctel = ds_main_oprsrvinfo.getColumn(0,"cntctel"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cntctel(연락처)정보 추가
- var cnstopflag = ds_main_oprsrvinfo.getColumn(0,"cnstopflag"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cnstopflag(협진여부)정보 추가
- var ccrtno = ds_main_oprsrvinfo.getColumn(0,"ccrtno"); // [요청번호: 847] 카트번호 2010.06.25 kskim, ccrtno정보 추가
- //drg정보 추가 2013.06.20 KJS
- var drgyn = ds_main_oprsrvinfo.getColumn(0,"drgyn");
- var drgno = ds_main_oprsrvinfo.getColumn(0,"drgno");
- var drgnm = ds_main_oprsrvinfo.getColumn(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>
|