1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 수술마취의뢰 SPMMO00200_수술마취의뢰.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sOPRSRVINFO_PATH = "/root/main/oprsrvinfo/oprsrvinfo";
- var sOPRSRVLIST_PATH = "/root/main/oprsrvlist/oprsrvlist";
- var sOPSCHERECLIST_PATH = "/root/main/opschereclist/opschereclist";
- var sDIAGCDLIST_PATH = "/root/main/diaglist/diaglist";
- var sPATORDINFOLIST_PATH= "/root/patordinfo/patordinfolist";
- var g_scrnflag = ""; //조회전용
- //2012/06/26 Start
- // 수술 예방적 항생제 관련
- var nodecnt ="";
- //2012/06/26 End
- /**
- * @desc : 수술예약 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SPMMO00200(){
- model.removeNodeset(sOPRSRVLIST_PATH);
- model.removeNodeset(sDIAGCDLIST_PATH);
- model.removeNodeset(sOPSCHERECLIST_PATH);
- /*
- mmbfGetHardCodeInfoNm("/root/send/reqdata", "/root/init/oppatflag", 84); //수술환자구분
- mmbfGetHardCodeInfoNm("/root/send/reqdata", "/root/init/chkopcnfmtm", 102); //수술마취 정규수술 저장 가능시간
- mmbfGetHardCodeInfoNm("/root/send/reqdata", "/root/init/chkoffday", 103); //수술마취 정규수술 저장시 휴일체크 여부 체크
- */
- //강남성모는 외래 disable
-
- model.setValue("/root/main/cond/fromdd" , getCurrentDate()); //시작일자
- var todd = (getCurrentDate().toDate()).getAddDate(7);
- todd = todd.getDateFormat();
- model.setValue("/root/main/cond/todd" , todd); //종료일자
- model.setValue("/root/main/cond/opschedd", getCurrentDate()); //수술예약일자
-
- zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept", "depthngnm"); //조회용 진료과
- addComboInstance("/root/init/orddept", "deptcd^depthngnm", "-^전체", "dept"); //조회용 진료과 전체항목 추가
-
- zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept2", "depthngnm"); //부서코드 콤보 조회
- zbcfGetDeptCodeList(getUserInfo("dutplceinstcd"), "orduseyn", "D", "/root/init/orddept3", "depthngnm"); //부서코드 콤보 조회
-
- reqOpRoomList(getCurrentDate(), "/root/init/oproomlist" , "total"); //수술실 조회
- addComboInstance("/root/init/oproomlist", "oproomcd^oproomnm", "0000^방없음", "oproomlist"); //의사콤보 전체항목 추가
-
- reqOpRoomList(getCurrentDate(), "/root/init/oproomlist2", "total"); //수술실 조회(일별 가능한 수술실 조회가 아닌 수술실 전체 조회)
-
- addComboInstance("/root/init/oproomlist2", "oproomcd^oproomnm", "-^전체", "oproomlist"); //부서콤보 전체항목 추가
-
- zbcfGetCodeList(new Array("M0013",
- "M0014",
- "M0016",
- "M0017",
- "M0020",
- "M0022",
- "M0237",
- "M0238",
- "M0239",
- "M0240",
- "M0241",
- "M0242",
- "M0243",
- "M0244",
- "M0245",
- "M0258",
- "M0341",
- "M0377",
- "M0357"),
- new Array("/root/init/M0013",
- "/root/init/M0014",
- "/root/init/M0016",
- "/root/init/M0017",
- "/root/init/M0020",
- "/root/init/M0022",
- "/root/init/M0237",
- "/root/init/M0238",
- "/root/init/M0239",
- "/root/init/M0240",
- "/root/init/M0241",
- "/root/init/M0242",
- "/root/init/M0243",
- "/root/init/M0244",
- "/root/init/M0245",
- "/root/init/M0258",
- "/root/init/M0341",
- "/root/init/M0377",
- "/root/init/M0357"));
-
- //마취통증의학과
- //reqHardCodeInfo("/root/send/reqdata", "/root/init/hardcd", 18);
- var anstdeptcd = model.getValue("/root/init/hardcd/hardcd/hardcd");
- //2009.07.24 LYJ 서울성모만 추가, 정규의뢰에 대한 리미트 시간을 둔다.
- /* 2010. 12. 13 함수 변경으로 model.construct.done 으로 위치 이동)
- if( getUserInfo("dutplceinstcd") == '012' || getUserInfo("dutplceinstcd") == '017'){
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeS","116");
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeE","117");
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeJ","120");
- }
- */
- if( getUserInfo("dutplcecd") == anstdeptcd) { //2008.08.25 LWS 마취통증의학과를 제외한 로그인 유저 진료과 setting
- model.setValue("/root/main/cond/perfdeptcd", "-");
- model.setValue("/root/main/cond1/orddeptcd", "-");
- }else{
- model.setValue("/root/main/cond/perfdeptcd", getUserInfo("dutplcecd"));
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist2", combo1.value, "0330");
- addComboInstance("/root/init/userlist2", "userid^usernm", "-^전체", "usercombo"); //조회용 집도의 전체항목 추가
- //if( !isNull(getUserId())) model.setValue("/root/main/cond/perfdrid", getUserId());
-
- model.setValue("/root/main/cond1/orddeptcd", getUserInfo("dutplcecd"));
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist5", combo1.value, "0330");
- addComboInstance("/root/init/userlist5", "userid^usernm", "-^전체", "usercombo"); //조회용 집도의 전체항목 추가
- //if( !isNull(getUserId())) model.setValue("/root/main/cond/perfdrid", getUserId());
- if( !isNull(getUserId())) model.setValue("/root/main/cond/perfdrid", "-");
- if( !isNull(getUserId())) model.setValue("/root/main/cond1/perfdrid", "-");
- }
-
- model.setValue("/root/main/cond/oproomcd" , "-");
- model.setValue("/root/main/cond1/oproomcd" , "-");
-
-
- if(fInitPamInfo("Y")==false){ //화면 기본 정보 설정
- //window.close();
- return;
- }
-
- model.setValue(sOPRSRVINFO_PATH + "/reopflag" , "N"); //수술공개
- model.setValue(sOPRSRVINFO_PATH + "/opflagcd" , "1"); //수술구분
- model.setValue(sOPRSRVINFO_PATH + "/opopenflag" , "Y"); //금일재수술
- model.setValue(sOPRSRVINFO_PATH + "/anstreqflag", "N"); //마취의뢰만
- model.setValue(sOPRSRVINFO_PATH + "/cnstopflag" , "N"); //협진의뢰여부
- model.setValue(sOPRSRVINFO_PATH + "/opcntmdg" , "0"); //수술창상
- model.setValue("/root/main/cond/rgstnm", getUserInfo("usernm"));
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- grd_diaglist.addRow(false, true);
-
- model.recalculate();
- model.refresh();
-
-
- fReqOpRsrvRecList(); //수술예약장부 조회
- model.setValue("/root/main/cond/qflag", "1"); //2008.08.25 LWS 선택된 부서로 조회되도록 수정
- fReqOpRsrvInfoList(); //수술예약정보 조회
-
- //2012/06/25 Start
- // 수술 예방적 항생제 관련
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/opcd", 5606);
- nodecnt = instance1.selectNodes("/root/temp/opcd/hardcd");
- //2012/06/25 End
-
- //fReqDailyChrgAnstDr(ipt_opschedd.value); //담당요일 마취과 의사 조회
- }
- /**
- * @desc : 화면 기본 정보 설정 (parameter 값으로 설정 또는 상단정보를 기준으로 설정)
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitPamInfo(init){
- var param = opener.javascript.getParameter("SPMMO00200_param");
- if(param.length > 0){ //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"){
- model.setValue("/root/main/cond/pid" , param[1]);
- model.setValue("/root/main/cond/qflag", "3");
- }
-
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
-
- }else{ //parameter가 없는 경우
- var paminfocsv = getGlobalVariable("paminfo");
- var patflagcsv = getGlobalVariable("patflag");
-
-
- /*수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다. 김민선 선생님 요청
- 최초 오픈일 경우에만 상단정보를 보고 그 이외의 경우 별도의 submit으로 가져온 결과로 셋팅한다. 20100614 by LYJ*/
-
- if(paminfocsv.length < 1 || patflagcsv.length < 1){ //상단정보가 없는 경우
- if(init =="Y"){
- }else {
-
- var ioflag = model.getValue("/root/patflag/list/prcpgenrflag");
- var pid = model.getValue("/root/paminfo/list/pid");
- var hngnm = model.getValue("/root/paminfo/list/hngnm");
- var sa = model.getValue("/root/paminfo/list/sex") + "/" + model.getValue("/root/paminfo/list/age");
- var orddeptcd = model.getValue("/root/paminfo/list/orddeptcd");
- if(ioflag == "O"){
- var orddd = model.getValue("/root/paminfo/list/orddd");
- var orddrid = model.getValue("/root/paminfo/list/orddrid");
- var roomcd = "외래";
- }else{
- var orddd = model.getValue("/root/paminfo/list/indd");
- var orddrid = model.getValue("/root/paminfo/list/medispclid");
- var roomcd = model.getValue("/root/paminfo/list/roomcd");
- }
- var insukind = model.getValue("/root/paminfo/list/insukind");
- var suppkind = model.getValue("/root/paminfo/list/suppkind");
-
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
-
- }
-
- }else{
-
-
- if(init =="Y"){ //최초 열때
- model.removeNodeset("/root/paminfo/list");
- model.removeNodeset("/root/patflag/list");
-
- setCSVToNode("/root/paminfo", paminfocsv);
- setCSVToNode("/root/patflag", patflagcsv);
-
- }
-
- var ioflag = model.getValue("/root/patflag/list/prcpgenrflag");
- var pid = model.getValue("/root/paminfo/list/pid");
- var hngnm = model.getValue("/root/paminfo/list/hngnm");
- var sa = model.getValue("/root/paminfo/list/sex") + "/" + model.getValue("/root/paminfo/list/age");
- var orddeptcd = model.getValue("/root/paminfo/list/orddeptcd");
- if(ioflag == "O"){
- var orddd = model.getValue("/root/paminfo/list/orddd");
- var orddrid = model.getValue("/root/paminfo/list/orddrid");
- var roomcd = "외래";
- }else{
- var orddd = model.getValue("/root/paminfo/list/indd");
- var orddrid = model.getValue("/root/paminfo/list/medispclid");
- var roomcd = model.getValue("/root/paminfo/list/roomcd");
- }
- var insukind = model.getValue("/root/paminfo/list/insukind");
- var suppkind = model.getValue("/root/paminfo/list/suppkind");
-
- fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag);
- }
- }
- model.setValue(sOPRSRVINFO_PATH + "/pid" , pid);
- model.setValue(sOPRSRVINFO_PATH + "/hngnm" , hngnm);
- model.setValue(sOPRSRVINFO_PATH + "/sa" , sa);
- model.setValue(sOPRSRVINFO_PATH + "/orddeptcd" , orddeptcd);
- model.setValue(sOPRSRVINFO_PATH + "/perfdeptcd", orddeptcd);
- model.setValue(sOPRSRVINFO_PATH + "/insukind" , insukind);
- model.setValue(sOPRSRVINFO_PATH + "/suppkind" , suppkind);
- //zsufGetUserInfoCombo(orddeptcd, "/root/init/userlist", "_D"); //의사 콤보조회
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", orddeptcd, "0330");
- model.setValue(sOPRSRVINFO_PATH + "/perfdrid" , orddrid);
-
- //model.setValue(sOPRSRVINFO_PATH + "/opschedd" , getCurrentDate());
-
- model.setValue(sOPRSRVINFO_PATH + "/roomcd" , roomcd);
- model.setValue(sOPRSRVINFO_PATH + "/status" , "i");
- model.setValue(sOPRSRVINFO_PATH + "/opcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opnm" , "");
- model.setValue(sOPRSRVINFO_PATH + "/subopcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/subopnm" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opposturecd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opdirecflag" , "");
- model.setValue(sOPRSRVINFO_PATH + "/anstmthdcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opcntmdg" , "-");
- model.setValue(sOPRSRVINFO_PATH + "/delivefact" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opschedd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , "");
- model.setValue(sOPRSRVINFO_PATH + "/cnstopflag" , "N"); // 협진의뢰 여부 초기화._손성훈.
- model.setValue(sOPRSRVINFO_PATH + "/mainoprsrvno" , ""); // 주수술 예약번호 초기화._손성훈.
-
- /* 수술환자구분을 사용자가 직접 선택하도록 저장할 때, 입력여부를 검사함
- if(ioflag == "I"){ //입원환자, 수술환자구분 병동으로 설정
- model.setValue(sOPRSRVINFO_PATH + "/oppatflagcd", "I");
- }else if(ioflag == "E"){ //응급환자, 수술환자구분 응급으로 설정
- model.setValue(sOPRSRVINFO_PATH + "/oppatflagcd", "E");
- }else if(ioflag == "D" || ioflag =="O"){ //외래환자, 수술환자구분 외래(DSC)로 설정
- model.setValue(sOPRSRVINFO_PATH + "/oppatflagcd", "D");
- }
- */
- model.refresh();
- }
- /**
- * @desc : 수술예약장부 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOpRsrvRecList(){
-
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/year" , "");
- model.makeValue("/root/send/reqdata/fromdd" , model.getValue("/root/main/cond/fromdd"));
- model.makeValue("/root/send/reqdata/todd" , model.getValue("/root/main/cond/todd"));
- model.makeValue("/root/send/reqdata/orddeptcd", model.getValue("/root/main/cond1/orddeptcd"));
- model.makeValue("/root/send/reqdata/oproomcd" , model.getValue("/root/main/cond1/oproomcd"));
- model.makeValue("/root/send/reqdata/pid" , model.getValue("/root/main/cond1/pid"));
- model.makeValue("/root/send/reqdata/perfdrid", model.getValue("/root/main/cond1/perfdrid"));
- var rtnval = submit("TRMMO05701");
- if(rtnval == true){
- fSetOpTimeToHourMin();
- }
- }
- /**
- * @desc : 초를 시간분으로 전환
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fTransSecToHourMin(sec){
- var hr = 3600;
- var min = 60;
- hour = parseInt(sec/hr);
- min = parseInt(sec%hr/min);
- var rtnstr = hour + "h " + min + "m ";
- return rtnstr;
- }
- /**
- * @desc : 수술시간 시분초로 변경
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetOpTimeToHourMin(){
- for(var i = 1; i < grd_opschelist.rows; i++){
- var opfromtmcd = model.getValue(sOPSCHERECLIST_PATH + "[" + i + "]/opfromtmcd");
- var opendtmcd = model.getValue(sOPSCHERECLIST_PATH + "[" + i + "]/opendtmcd");
- if(opfromtmcd == "" || opendtmcd == ""){
- var difftime = 0;
- }else{
- var difftime = getTimeInterval(opfromtmcd, opendtmcd);
- }
- model.setValue(sOPSCHERECLIST_PATH + "[" + i + "]/opusetm", fTransSecToHourMin(difftime));
- }
- grd_opschelist.refresh();
- }
- /**
- * @desc : 날짜를 계산
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCalReqDate(daycnt){
- var fromdd = model.getValue("/root/main/cond/fromdd");
- var fromdd = (fromdd.toDate()).getAddDate(daycnt);
- fromdd = fromdd.getDateFormat();
-
- var todd = model.getValue("/root/main/cond/todd");
- var todd = (todd.toDate()).getAddDate(daycnt);
- todd = todd.getDateFormat();
-
- model.setValue("/root/main/cond/fromdd", fromdd);
- model.setValue("/root/main/cond/todd" , todd); //종료일자
- model.refresh();
- }
- /**
- * @desc : 진단명 검색 팝업 open
- * @
- * @param : pFlag 처리구분 (code : 코드검색, term : 수술명)
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenDiagSearch(pFlag){
- if(pFlag == "code"){
- setParameter("SPMMO00800_cond1", 1);
- setParameter("SPMMO00800_cond2", 1);
- setParameter("SPMMO00800_cond3", "E");
- setParameter("SPMMO00800_cond4", getCurrentDate());
- setParameter("SPMMO00800_cond5", model.getValue("/root/main/oprsrvinfo/oprsrvinfo/dispdiagcd"));
-
- }else if(pFlag =="term"){
- var diagnm = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/diagnm");
- setParameter("SPMMO00800_cond1", 2);
- setParameter("SPMMO00800_cond2", 2);
- setParameter("SPMMO00800_cond3", fIsHangul(diagnm));
- setParameter("SPMMO00800_cond4", getCurrentDate());
- setParameter("SPMMO00800_cond5", diagnm);
-
- }
- modal("SPMMO00800");
-
- var useyn = getParameter("SPMMO00800_rtn_useyn");
- if(useyn == "Y"){
- setParameter("SPMMO00800_rtn_useyn", "N");
- var rtnparam = getParameter("SPMMO00800_rtn");
- rtnparam = rtnparam.split("▩");
-
- var tmpstr = rtnparam[1];
- tmpstr = tmpstr.split("▦");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/diagcd" , tmpstr[2]);
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/dispdiagcd", tmpstr[2]);
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/diagnm" , tmpstr[3]);
- ipt_diagcd.attribute("editable") = "false";
- ipt_diagnm.attribute("editable") = "false";
- model.refresh();
- }else{
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/diagcd", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/diagnm", "");
- model.refresh();
- }
- }
- /**
- * @desc : 수술예약시간 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenOpScheTime(){
- var param = model.getValue(sOPRSRVINFO_PATH + "/status") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/oproomcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/oprsrvno") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/ophistno") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/pid") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/opschedd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/opfromtmcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/opendtmcd") + "▦" +
- "oprsrv" + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdrid");
- setParameter("SPMMO08800_param", param);
- modal("SPMMO08800");
- var rtnuseyn = getParameter("SPMMO08800_rtn_useyn");
- if(rtnuseyn == "Y"){
- setParameter("SPMMO08800_rtn_useyn", "N");
- var rtnparam = getParameter("SPMMO08800_rtn_param");
- rtnparam = rtnparam.split("▦");
-
- fReqRegOpTime(); // 정규 수술시간 조회
- // 정규시간을 초과해서 입력하면 응급과 추가만 가능
- if( (rtnparam[1] >= model.getValue("/root/main/scheregtimelist/scheregtimelist/regendtm") + "0000") ||
- (rtnparam[2] > model.getValue("/root/main/scheregtimelist/scheregtimelist/regendtm") + "0000" ) ){
- messageBox("정규시간을 초과하였습니다. 응급과 추가만", "I006");
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd", "");
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd" , "");
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , "");
- return;
- }
-
- var difftime = getTimeInterval(rtnparam[1], rtnparam[2]);
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , rtnparam[0]);
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd", rtnparam[1]);
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd" , rtnparam[2]);
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , fTransSecToHourMin(difftime));
- model.refresh();
- }
- }
- /**
- * @desc : 초를 시분으로 전환
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- 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;
- }
- /**
- * @desc : CaseCart조회 및 value설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenCcrtSearch(){
- var param = model.getValue(sOPRSRVINFO_PATH + "/opschedd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdrid") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/opcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/opnm") + "▦" +
- "perf"; //query구분
- setParameter("SPMMO11000_param", param);
- modal("SPMMO11000");
- var useyn = getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y"){
- var rtnparam = getParameter("SPMMO11000_rtn_param");
- //alert(rtnparam);
- rtnparam = rtnparam.split("▦");
- model.setValue(sOPRSRVINFO_PATH + "/ccrtno" , rtnparam[0]);
- model.setValue(sOPRSRVINFO_PATH + "/ccrtstat", 1);
- model.setValue(sOPRSRVINFO_PATH + "/opcd" , rtnparam[1]);
- model.setValue(sOPRSRVINFO_PATH + "/opnm" , rtnparam[2]);
-
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- // 수정 시작
-
- var opflagcd = model.getValue(sOPRSRVINFO_PATH + "/opflagcd");
- var cnstopflag = model.getValue(sOPRSRVINFO_PATH + "/cnstopflag"); // 협진수술여부 체크 //2010.06.17 kskim
- // 응급:2, 추가:3 일 경우에만 수술카트에 등록된 소요시간 정보 사용
- if(opflagcd == 2 || opflagcd == 3){
- // 협진수술여부 조건 추가 체크(협진의뢰 시 opusetm, oproomcd 정보는 카드마스터와 연동 안됨) //2010.06.17 kskim
- if( cnstopflag == "N" ){
- model.setValue("/root/main/hopebox/usehour" , rtnparam[4]); // 소요시간(시)
- model.setValue("/root/main/hopebox/usemin" , rtnparam[5]); // 소요시간(분)
- var opusetime = rtnparam[4].concat(rtnparam[5]);
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , opusetime); //소요시간(시: 분)
- //model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "0000"); //수술방에 방벖음 정보 셋팅
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "2222"); //수술방에 임시방 정보 셋팅 2014.10.20 엄영만
- }
- }
- model.setValue(sOPRSRVINFO_PATH + "/opposturecd" , rtnparam[6]); // 수술체위
- model.setValue(sOPRSRVINFO_PATH + "/opdirecflag" , rtnparam[7]); // 수술위치
- model.setValue(sOPRSRVINFO_PATH + "/anstmthdcd" , rtnparam[8]); // 마취방법
- model.setValue(sOPRSRVINFO_PATH + "/opcntmdg" , rtnparam[9]); // 수술창상
- // 수정 종료
-
- setParameter("SPMMO11000_rtn_useyn", "N");
- }
- model.refresh();
- }
- /**
- * @desc : CaseCart조회 및 value설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenSubCcrtSearch(){
- var param = model.getValue(sOPRSRVINFO_PATH + "/opschedd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/perfdrid") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/subopcd") + "▦" +
- model.getValue(sOPRSRVINFO_PATH + "/subopnm") + "▦" +
- "perf";
- setParameter("SPMMO11000_param", param);
- modal("SPMMO11000");
-
- var useyn = getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y"){
- var rtnparam = getParameter("SPMMO11000_rtn_param");
- rtnparam = rtnparam.split("▦");
- model.setValue(sOPRSRVINFO_PATH + "/subopcd" , rtnparam[1]);
- model.setValue(sOPRSRVINFO_PATH + "/subopnm" , rtnparam[2]);
- setParameter("SPMMO11000_rtn_useyn", "N");
- }
- model.refresh();
- }
- /**
- * @desc : 수술예약정보 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveOpRsrvInfo(opstatcd,tmpstat){
- var status = model.getValue(sOPRSRVINFO_PATH + "/status");
- var painlessflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/painlessflag");
- var cmpopstatcd = model.getValue(sOPRSRVINFO_PATH + "/opstatcd");
- var chkopcnfmtm = model.getValue("/root/init/chkopcnfmtm/hardcd/hardcd");
- var chkoffday = model.getValue("/root/init/chkoffday/hardcd/hardcd");
- var MyTime = getCurrentTime();
- var realtime = MyTime.substr(0,2);
- var reqrsncd = model.getValue(sOPRSRVINFO_PATH + "/reqrsncd");
-
- if(painlessflag != "Y") { // 무통
- if(status == "u" && cmpopstatcd >= 20){ // 2008.10.31 확정이후 단계의 수술은 모두 변경 불가 처리
- messageBox("수술확정이 된 예약정보는 수술예약정보 변경", "E001");
- return;
- } else if(status == "u" && cmpopstatcd < 20 && (reqrsncd == "314" || reqrsncd == "315")) { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- } else {
- if(fChkSaveOpRsrvValid() == true){ //데이터 무결성 검사시 이상이 없는 경우 저장 로직을 수행
- if(status == "u"){ //수정인 경우
- model.setValue(sOPRSRVINFO_PATH + "/status", ""); //수정내용 검사시 status는 제외하기 위해 값을 삭제
- if(model.getValue(sOPRSRVINFO_PATH + "/opstatcd") == "10") { // 의뢰상태일 경우만
- if(compareNodeVal(sOPRSRVINFO_PATH, "/root/temp/oprsrvinfo") == false && fChkSaveOpPrevDiag() == false){ //변경된 내용이 있는 경우
- messageBox("변경된 내용이", "I004");
- return;
- }else{
- model.setValue(sOPRSRVINFO_PATH + "/status", "u"); //수정 flag 원복
- }
- }else{ // 임시(00) -> 인증 (10)
- model.setValue(sOPRSRVINFO_PATH + "/status", "u"); //수정 flag 원복
- }
- }
-
- if(status != "d"){
- // 2008.09.10 수술 하루전 일괄확정(12:00) 이후에는 정규로는 의뢰불가
- // 추가, 응급(당일)로만 의뢰가능함
- var opflagcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd");
- if( opflagcd == "1") {
- var opschedd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opschedd");
- if (getDateInterval(getCurrentDate(), opschedd) == 1) {
- if( getCurrentTime() > chkopcnfmtm ) {
- messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
-
- if (chkoffday == "Y") {
- // 2008.10.13 월요일 의뢰는 금요일 오전 12시까지만 가능
- var opsdd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opschedd"); // 의뢰요일
- var someday = new Date(opsdd.substring(0, 4), opsdd.substring(4, 6), opsdd.substring(6, 8));
- someday = someday.getAddDate(-1, "M");
- var dkind = someday.getDay();
-
- if( getCurrentWeek() == "5") { // 금 5
- if(dkind == "1") { // 의뢰요일이 월요일이면
- if( opflagcd == "1" && getCurrentTime() > chkopcnfmtm ) {
- messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
-
- if( getCurrentWeek() == "6") { // 토 6
- if(opflagcd == "1" && dkind == "1") { // 의뢰요일이 월요일이면
- messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
-
- // 2008.10.27 휴일인 경우 blocking 처리
- var opflagcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd");
- if(opflagcd == "1") { // 정규일 경우만 check 하도록
- var opexdd = new Date(opsdd.substring(0, 4), opsdd.substring(4, 6) -1, opsdd.substring(6, 8));
- opexdd = opexdd.getAddDate(-1).getDateFormat();
- var nodeList = instance1.selectNodes("/root/main/calendar/calendar[basedd ="+ opexdd +"]");
- if( nodeList.length > 0) {
- var dutflag = nodeList.item(0).selectSingleNode("dutflag").text; // 휴일여부
- if(dutflag == "8") {
- var weekList = instance1.selectNodes("/root/main/calendar/calendar[basedd < "+ opexdd +" and dutflag = '0']");
- var possdd = weekList.item(weekList.length-1).selectSingleNode("basedd").text;
- if( opflagcd == "1" && possdd == getCurrentDate() && getCurrentTime() > chkopcnfmtm) {
- messageBox("정규수술 일괄확정되었습니다. 이후에는 추가, 응급으로만 의뢰", "I006");
- return;
- }
- }
- }
- }
- } else {
- var opcnfmdd = model.getValue("root/main/oprsrvinfo/oprsrvinfo/opschedd");
- var dutflag = model.getValue("/root/main/calendar/calendar[basedd ="+ opcnfmdd +"]/dutflag");
- var opflagcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd");
- if ((dutflag == "4" || dutflag =="8") && opflagcd == "1") {
- messageBox("수술예정일자가 휴일 또는 토요일인 경우는 정규수술로 의뢰가 불가능합니다", "I");
- return;
- }
- }
-
- // 2008.09.23 협진의 경우 주과와 다른 방 입력시 alert
- // 09.02.04 주수술번호를 물고 있는 협진의 경우만 체크하도록 조건 추가
- var cnstopflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/cnstopflag");
- var mainoprsrvno = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/mainoprsrvno");
- var rtnRoomcd = getParameter("SPMMO11100_rtn_param_oproomcd");
- if( cnstopflag == "Y" && rtnRoomcd != null && mainoprsrvno != "") {
- var roomcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/oproomcd");
- if(rtnRoomcd != roomcd) {
- messageBox("수술협진시 다른방으로 의뢰", "E001");
- return;
- }
- }
-
- // 2008.11.19 재원여부 check
- if(!fChkPatInRgst()) return;
- }
-
- model.setValue(sOPRSRVINFO_PATH + "/opstatcd", opstatcd); //의뢰(인증저장)
- model.makeValue("/root/main/oprsrvinfo/oprsrvinfo/tmpstat",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=model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opcd");
- var t_pname = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/hngnm");
- var t_opnm = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opnm");
- var irow = grd_opschelist.row;
-
- if(model.getValue("/root/main/oprsrvinfo/oprsrvinfo/sa").substr(2,4)>17){
- for(var i=1; i<=parseInt(nodecnt.length); i++){
- var trgtcd=model.getValue("/root/temp/opcd/hardcd["+ i +"]/hardcd");
- if(dispopcd==trgtcd){
- messageBox("("+t_pname+")"+" 환자는 " +"("+t_opnm+")" + " 수술로 수술예방적 항생제 적정성 평가 대상입니다.\n" +
- "1,2세대 세파계 항생제를 단독으로 투여하시면 평가를 잘 받을 수 있습니다.", "I");
- break;
- }
- }
- }
- //2012/06/26 End
-
- if(submit("TXMMO00201")==true){
- if(status != "d"){ //삭제된 경우는 selectSingleNode error발생
- fDispAprvCnclChng(); //저장 후 조회결과 그리드의 color를 변경처리함
- fClkGrdOpRsrvList(1);
- }
- }
- }
- }
- } else if(painlessflag == "Y") {
-
- if(status == "u" && cmpopstatcd >= 20){ // 확정이후 단계의 수술은 모두 변경 불가 처리
- messageBox("수술확정이 된 예약정보는 수술예약정보 변경", "E001");
- return;
- } else if(status == "u" && cmpopstatcd < 20 && (reqrsncd == "314" || reqrsncd == "315")) { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- }
-
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var oppatflagcd= model.getValue(sOPRSRVINFO_PATH + "/oppatflagcd");
-
- if(opschedd == ""){
- messageBox("수술예정일자를 ", "C001");
- return;
- }
-
- if(oppatflagcd == ""){
- messageBox("수술환자구분을", "C001");
- return;
- }
-
- var totrow = grd_diaglist.rows;
- if(totrow < 3){
- messageBox("수술전 진단을", "C001");
- return;
- }
-
- model.setValue(sOPRSRVINFO_PATH + "/opstatcd", opstatcd); //의뢰(인증저장)
- model.makeValue("/root/main/oprsrvinfo/oprsrvinfo/tmpstat",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=model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opcd");
- var t_pname = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/hngnm");
- var t_opnm = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opnm");
- var irow = grd_opschelist.row;
-
- if(model.getValue("/root/main/oprsrvinfo/oprsrvinfo/sa").substr(2,4)>17){
- for(var i=1; i<=parseInt(nodecnt.length); i++){
- var trgtcd=model.getValue("/root/temp/opcd/hardcd["+ i +"]/hardcd");
- if(dispopcd==trgtcd){
- messageBox("("+t_pname+")"+" 환자는 " +"("+t_opnm+")" + " 수술로 수술예방적 항생제 적정성 평가 대상입니다.\n" +
- "1,2세대 세파계 항생제를 단독으로 투여하시면 평가를 잘 받을 수 있습니다.", "I");
- break;
- }
- }
- }
-
- if(submit("TXMMO00201")==true){
- if(status != "d"){ //삭제된 경우는 selectSingleNode error발생
- fDispAprvCnclChng(); //저장 후 조회결과 그리드의 color를 변경처리함
- fClkGrdOpRsrvList(1);
- }
- }
- }
- }
- /**
- * @desc : 수술예약자리스트 선택시
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkGrdOpRsrvList(currow){
- var oppatflagcd = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/oppatflagcd");
- var anstreqflag = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/anstreqflag");
- var painlessflag = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/painlessflag");
- var drgyn = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/drgyn");
-
- // 일일수술실일 경우에만 수술전 검사 여부가 보이도록 함 2012.05.22 KJS
- caption60.visible = false;
- rdo_dsclabflag.visible = false;
- rdo_dsclabflag.disabled = true;
- if (oppatflagcd == "D") {
- caption60.visible = true;
- rdo_dsclabflag.visible = true;
- rdo_dsclabflag.disabled = false;
- }
- //임시저장인 경우 수술예약을 조회하지 않아서 selectSingleNode error 발생
- if(model.getValue(sOPRSRVINFO_PATH + "/opstatcd") != "00") {
- model.copyNode(sOPRSRVINFO_PATH, sOPRSRVLIST_PATH + "[" + currow + "]");
- }
- model.copyNode("/root/temp/oprsrvinfo", sOPRSRVINFO_PATH);
- model.setValue(sOPRSRVINFO_PATH + "/status", "u");
-
- // if(anstreqflag == "Y"){ //마취의뢰인 경우, 수술전진단 및 수술실시간, 수술실배정, 수술코드 입력이 모두 불가함
- // fSetInptDisabled("Y");
-
- // }else{
- if(painlessflag == "Y"){ //무통마취의뢰인 경우, 수술전진단 및 수술실시간, 수술실배정, 수술코드 입력이 모두 불가함
- fClkUnpainFlag("Y");
-
- }else{
- fSetInptDisabled("-");
- var orddeptcd = model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd"); //의사명 집도과에 따라변경
- //zsufGetUserInfoCombo(orddeptcd, "/root/init/userlist", "_D");
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", orddeptcd, "0330");
- fReqDailyChrgAnstDr(ipt_opschedd.value);
- fReqOpPrevDiagList(currow); //수술예약정보 수술전 진단 조회
- model.refresh();
- }
-
- if (drgyn == "Y") {
- btn_drgmod.disabled = false;
- } else {
- btn_drgmod.disabled = true;
- }
- }
- /**
- * @desc : 진단검색
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenSearchDiag(){
- var curcol = grd_diaglist.col;
- if(curcol == grd_diaglist.colRef("dispdiagcd")){ //진단코드로 검색
- setParameter("SPMMO00800_cond1", 1);
- setParameter("SPMMO00800_cond2", 1);
- setParameter("SPMMO00800_cond3", "E");
- setParameter("SPMMO00800_cond4", getCurrentDate());
- setParameter("SPMMO00800_cond5", grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("dispdiagcd")));
-
- }else if(curcol == grd_diaglist.colRef("diagengnm")){ //진단영문명 검색
- var diagengnm = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diagengnm"));
- setParameter("SPMMO00800_cond1", 2);
- setParameter("SPMMO00800_cond2", 4);
- setParameter("SPMMO00800_cond3", fIsHangul(diagengnm));
- setParameter("SPMMO00800_cond4", getCurrentDate());
- setParameter("SPMMO00800_cond5", diagengnm);
-
- }else if(curcol == grd_diaglist.colRef("diaghngnm")){ //진단한글명 검색
- var diaghngnm = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diaghngnm"));
- setParameter("SPMMO00800_cond1", 2);
- setParameter("SPMMO00800_cond2", 4);
- setParameter("SPMMO00800_cond3", fIsHangul(diaghngnm));
- setParameter("SPMMO00800_cond4", getCurrentDate());
- setParameter("SPMMO00800_cond5", diaghngnm);
-
- }
-
- if(getParameter("SPMMO00800_cond5").length < 2){
- return;
- }
- modal("SPMMO00800");
-
- var useyn = getParameter("SPMMO00800_rtn_useyn");
- if(useyn == "Y"){
- setParameter("SPMMO00800_rtn_useyn", "");
- fSetDiagTermCD();
- }else{
- setParameter("SPMMO00800_rtn_useyn", "");
- var currow = grd_diaglist.row;
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/dispdiagcd", "");
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagengnm" , "");
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diaghngnm" , "");
- model.refresh();
- }
- }
- /**
- * @desc : 진단용어코드 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetDiagTermCD(){
- var rtnparam = getParameter("SPMMO00800_rtn");
- rtnparam = rtnparam.split("▩");
-
- for(var i = 1; i <= rtnparam.length-2; i++){
- var tmpstr = rtnparam[i];
- tmpstr = tmpstr.split("▦");
- var currow = grd_diaglist.rows - 1;
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/status" , "i");
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/oprsrvno" , model.getValue(sOPRSRVINFO_PATH + "/oprsrvno"));
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/dispdiagcd", tmpstr[1]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagcd" , tmpstr[9]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagengnm" , tmpstr[2]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diaghngnm" , tmpstr[3]);
- grd_diaglist.addrow(false, true);
- }
- model.recalculate();
- model.refresh();
- }
- /**
- * @desc : 수술예약정보 수술전 진단 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOpPrevDiagList(currow){
- var oprsrvno = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/oprsrvno");
- var perfdeptcd = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/perfdeptcd");
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/oprsrvno", oprsrvno);
- model.makeValue("/root/send/reqdata/perfdeptcd", perfdeptcd);
- if(submit("TRMMO00202")==true){
- grd_diaglist.addRow(false, true);
- }
- model.recalculate();
- }
- /**
- * @desc : 수술예약정보 수술전 진단 삭제
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDelOpPrevDiag(){
- var status = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("status"));
- if(status == "i"){ //신규일 경우
- model.removeNode("/root/main/diaglist/diaglist[" + grd_diaglist.row + "]");
- grd_diaglist.rebuild();
- }else{
- grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("status")) = "d";
- }
- model.refresh();
- }
- /**
- * @desc : 수술예약정보 수술전 진단 변경 사항 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkSaveOpPrevDiag(){
- var totrow = grd_diaglist.rows;
- for(var i = 0; i < totrow; i++){
- var status = grd_diaglist.valueMatrix(i, grd_diaglist.colRef("status"));
- if(status == "i" || status == "d"){
- return true;
- }
- }
- return false;
- }
- /**
- * @desc : 수술예약장부 클릭시 수술예약정보에 데이터 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkGrdOpScheList(currow){
- var pid = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/pid");
- var perfdeptcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/perfdeptcd");
- var perfdrid = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/perfdrid");
- var oproomcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/oproomcd");
- var opfromtmcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/opfromtmcd");
- var opendtmcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/opendtmcd");
- var anstmthdcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/anstmthdcd");
- var opusetm = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/opusetm");
- var oppatflagcd= model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/oppatflagcd");
- var opschedd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/opschedd");
- var hngnm = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/hngnm");
- var sex = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/sex");
- var age = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/age");
- var diagcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/diagcd");
- var diagnm = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/diagnm");
- var dispdiagcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/dispdiagcd");
- var orddeptcd = model.getValue(sOPSCHERECLIST_PATH + "[" + currow + "]/orddeptcd");
- model.resetInstanceNode(sOPRSRVINFO_PATH);
- model.refresh();
- model.setValue(sOPRSRVINFO_PATH + "/status" , "i");
- model.setValue(sOPRSRVINFO_PATH + "/pid" , pid);
- model.setValue(sOPRSRVINFO_PATH + "/orddeptcd" , perfdeptcd);
- model.setValue(sOPRSRVINFO_PATH + "/perfdeptcd" , perfdeptcd);
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , oproomcd);
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd" , opfromtmcd);
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd" , opendtmcd);
- model.setValue(sOPRSRVINFO_PATH + "/anstmthdcd" , anstmthdcd);
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , opusetm);
- model.setValue(sOPRSRVINFO_PATH + "/oppatflagcd", oppatflagcd);
- model.setValue(sOPRSRVINFO_PATH + "/opschedd" , opschedd);
- model.setValue(sOPRSRVINFO_PATH + "/hngnm" , hngnm);
- model.setValue(sOPRSRVINFO_PATH + "/sa" , sex + "/".concat(age));
-
- model.setValue(sOPRSRVINFO_PATH + "/reopflag" , "N"); //수술공개
- if(opschedd != getCurrentDate()) {
- model.setValue(sOPRSRVINFO_PATH + "/opflagcd" , "1"); //수술구분
- }
- model.setValue(sOPRSRVINFO_PATH + "/opopenflag" , "Y"); //금일재수술
- model.setValue(sOPRSRVINFO_PATH + "/anstreqflag", "N"); //마취의뢰만
- model.setValue(sOPRSRVINFO_PATH + "/cnstopflag" , "N"); //협진의뢰여부
- model.setValue(sOPRSRVINFO_PATH + "/opcntmdg" , "0"); //수술창상
- model.setValue("/root/main/cond/rgstnm", 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");
- model.setValue(sOPRSRVINFO_PATH + "/perfdrid" , perfdrid);
-
- model.removeNodeset(sDIAGCDLIST_PATH);
- model.refresh();
-
- grd_diaglist.addRow(false, true);
- grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("status")) = "i";
- grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diagcd")) = diagcd;
- grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("dispdiagcd"))= dispdiagcd;
- grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diagengnm")) = diagnm;
- grd_diaglist.addRow(false, true);
- model.recalculate();
- }
- /**
- * @desc : 수술예약정보 저장시 데이터 무결성 검사 및 진단코드 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkSaveOpRsrvValid(){
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- var opcd = model.getValue(sOPRSRVINFO_PATH + "/opcd");
- var oproomcd = model.getValue(sOPRSRVINFO_PATH + "/oproomcd");
- var opfromtmcd = model.getValue(sOPRSRVINFO_PATH + "/opfromtmcd");
- var opendtmcd = model.getValue(sOPRSRVINFO_PATH + "/opendtmcd");
- var anstreqflag= model.getValue(sOPRSRVINFO_PATH + "/anstreqflag");
- var opposturecd= model.getValue(sOPRSRVINFO_PATH + "/opposturecd");
- var opdirecflag= model.getValue(sOPRSRVINFO_PATH + "/opdirecflag");
- var anstmthdcd = model.getValue(sOPRSRVINFO_PATH + "/anstmthdcd");
- var opflagcd = model.getValue(sOPRSRVINFO_PATH + "/opflagcd");
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var oppatflagcd= model.getValue(sOPRSRVINFO_PATH + "/oppatflagcd");
- var opcntmdg = model.getValue(sOPRSRVINFO_PATH + "/opcntmdg");
- var cnstopflag = model.getValue(sOPRSRVINFO_PATH + "/cnstopflag"); //2008.08.25 LWS 협진의뢰여부 체크위한 추가
- var hopetmflag = model.getValue(sOPRSRVINFO_PATH + "/hopetmflag");
- var cntctel = model.getValue(sOPRSRVINFO_PATH + "/cntctel"); //2010.03.19 JJE 작성자 연락처 필수 요청(요청번호:12222)
- var totrow = grd_diaglist.rows;
-
- if(opschedd == ""){
- messageBox("수술예정일자를 ", "C001");
- return;
- }
-
- if(pid == ""){
- messageBox("등록번호를 ", "C001");
- return false;
- }
-
- if(oppatflagcd == ""){
- messageBox("수술환자구분을", "C001");
- return false;
- }
-
- if(opflagcd == "") {
- messageBox("수술구분을", "C001");
- return;
- }
-
- if(opflagcd == 1){ //정규인 경우, 수술방 입력은 필수(응급, 추가인 경우 수술방 입력 삭제)
- if(cmb_oproomcd.label == "" ||cmb_oproomcd.value == "0000" ||cmb_oproomcd.value == "2222"){
- messageBox("정규수술은 수술방", "I003");
- return false;
- }
-
- if(opfromtmcd == "" || opendtmcd == ""){ //정규인 경우에만 수술시간 입력을 검사한다.
- messageBox("수술시간을", "C001");
- return false;
- }
-
- if(fCheckValidTime("/root/main/oprsrvinfo/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"){
- messageBox("응급, 추가 수술은 수술방을 선택", "E001");
- return false;
- }
- }
-
- /*if(cmb_oproomcd.value == ""){
- messageBox("응급, 추가 수술은 소요시간을 설정", "I008");
- return false;
- }*/
-
- if(opfromtmcd != "000000" || opendtmcd != "000000") {
- if(opfromtmcd != "" || opendtmcd != ""){
- messageBox("응급, 추가 수술은 수술시간을 입력", "E001");
- return false;
- }
- }
- }
- }
- // 2008-08-28 LWS 마취의뢰만인 경우도 무결성 검사하도록
- // if(anstreqflag == "Y"){ //마취의뢰만인 경우, 이후의 데이터 무결성 검사를 하지 않는다.
- // return true;
- // }
-
- if(totrow < 3){
- messageBox("수술전 진단을", "C001");
- return false;
- }
-
-
- if(opcd == ""){
- messageBox("수술코드 및 수술명을", "C001");
- return false;
- }
-
- if(opposturecd == ""){
- messageBox("수술체위를", "C001");
- return false;
- }
-
- if(opdirecflag == ""){
- messageBox("수술위치(left, right, both)를", "C001");
- return false;
- }
-
- if(anstmthdcd == ""){
- messageBox("마취방법을", "C001");
- return false;
- }
-
- if(opcntmdg == 0 || opcntmdg == "") {
- messageBox("수술창상을", "C001");
- return false;
- }
-
- if( isNull(cntctel) || getStringLength(cntctel) < 3 ){
- messageBox("작성자 연락처는 3자리 이상", "C001");
- return false;
- }
-
- return true;
- }
- /**
- * @desc : 입원환자 원무, 환자구분, 상단정보 설정
- * @
- * @param :
- * @return :
- * @author : 이윤정
- * @---------------------------------------------------
- */
- function fReqInPatTopInfo(){
- if(submit("TRMMO04302")){
- var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/inpatpaminfo");
- var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/inpatflaginfo");
- var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
- model.copyNode("/root/paminfo/list", "/root/hidden/topinfo/inpatpaminfo");
- model.copyNode("/root/patflag/list", "/root/hidden/topinfo/inpatflaginfo");
- if(paminfonode.length < 1){
- messageBox("입원환자 원무 정보가", "I004");
- return false;
- }
- if(patflagnode.length < 1){
- messageBox("입원환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopnode.length < 1){
- messageBox("입원환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /**
- * @desc : 외래환자 원무, 환자구분, 상단정보 설정
- * @
- * @param :
- * @return :
- * @author : 이윤정
- * @---------------------------------------------------
- */
- function fReqOutPatTopInfo(){
- if(submit("TRMMO04202")){
- var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/outpatpaminfo");
- var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/outpatflaginfo");
- var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
- model.copyNode("/root/paminfo/list", "/root/hidden/topinfo/outpatpaminfo");
- model.copyNode("/root/patflag/list", "/root/hidden/topinfo/outpatflaginfo");
- if(paminfonode.length < 1){
- messageBox("외래환자 원무 정보가", "I004");
- return false;
- }
- if(patflagnode.length < 1){
- messageBox("외래환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopnode.length < 1){
- messageBox("외래환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /**
- * @desc : 응급환자 상단정보 조회조건 설정
- * @
- * @param :
- * @return :
- * @author : 이윤정
- * @---------------------------------------------------
- */
- function fReqERPatTopInfo(){
- if(submit("TRMMO04302")){
- var paminfonode = model.instance1.selectNodes("/root/hidden/topinfo/inpatpaminfo");
- var patflagnode = model.instance1.selectNodes("/root/hidden/topinfo/inpatflaginfo");
- var maintopnode = model.instance1.selectNodes("/root/hidden/topinfo/patmaintopinfo");
- model.copyNode("/root/paminfo/list", "/root/hidden/topinfo/inpatpaminfo");
- model.copyNode("/root/patflag/list", "/root/hidden/topinfo/inpatflaginfo");
- if(paminfonode.length < 1){
- messageBox("응급환자 원무 정보가", "I004");
- return false;
- }
- if(patflagnode.length < 1){
- messageBox("응급환자 환자구분 정보가", "I004");
- return false;
- }
- if(maintopnode.length < 1){
- messageBox("응급환자 기본 정보가", "I004");
- return false;
- }
- }
- return true;
- }
- /**
- * @desc : 환자 수진정보 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqPatOrdInfo(){
-
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/reopflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/anstreqflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/cnstopflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/painlessflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/angioflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/robotopflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/cancerflag", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/laparoflag", "");
-
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- if(pid == ""){
- messageBox("환자의 등록번호를 ", "C001");
- return;
- }
-
- model.removeNodeset("/root/send/reqdata");
- /*
- model.makeValue("/root/send/reqdata/cond1", "1"); //1은 등록번호, 2는 환자명
- model.makeValue("/root/send/reqdata/cond2", pid); //등록번호
- model.makeValue("/root/send/reqdata/cond3", getUserInfo("dutplceinstcd"));
- model.makeValue("/root/send/reqdata/cond4", "N"); //원무키 기준여부
- model.makeValue("/root/send/reqdata/cond5", "N"); //당일기준 조회여부
- model.makeValue("/root/send/reqdata/cond6", "-"); //외래,입원테이블 기준
- */
- model.makeValue("/root/send/reqdata/pid", pid); //외래,입원테이블 기준
- model.makeValue("/root/send/reqdata/confdd", getCurrentDate()); //외래,입원테이블 기준
- if(submit("TRMMO00215") == true){
- // 2008.11.18 주석
- /*var nodecnt = getNodeSetCnt(sPATORDINFOLIST_PATH)
- if(nodecnt > 1){
- var xpt = window.screenleft + 50;
- var ypt = window.screenTop + 80;
- 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 );
-
- param = getParameter("SPMMO09100_rtn_param");
-
- if(param.length > 0){
- model.removeNodeset(sPATORDINFOLIST_PATH);
- setCSVToNode("/root/patordinfo", param, "patordinfolist");
- }
- }*/
-
- // 2008.11.18 로그인 의사 진료과의 최근 수진 이력을 선택한 상태
- //sortNodeList("/root/patordinfo/patordinfolist", "orddd", "desc"); // 20090630 수진이력이 많은 경우 정렬하는데 시간이 너무 많이 걸려서 브라우저가 죽는 경우가 있음
- // 쿼리에서 정렬한 결과를 가지고 오는 것으로 변경
- var patlist = model.instance1.selectNodes("/root/patordinfo/patordinfolist[orddeptcd = " + getUserInfo("dutplcecd") + "and orddd <="+ getCurrentDate() +"]");
- if(patlist.length > 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;
- if (dschdd == "99991231") {
- var srchdd = getCurrentDate();
- } else {
- var srchdd = dschdd;
- }
- } else{ // 해당 진료과에 수진이력이 없을 경우 가장 최근 내원이력으로 조회하도록 로직 수정 : 2009.06.30 김영학
- patlist = model.instance1.selectNodes("/root/patordinfo/patordinfolist[orddd <="+ getCurrentDate() +"]");
- if(patlist.length > 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;
- if (dschdd == "99991231") {
- var srchdd = getCurrentDate();
- } else {
- var srchdd = dschdd;
- }
- } else {
- messageBox("환자번호를 확인하세요", "I");
- return;
- }
- }
-
- // (e)
- // 2008.11.18 주석
- /*
- var ioflag = model.getValue(sPATORDINFOLIST_PATH + "/ioflag");
- var pid = model.getValue(sPATORDINFOLIST_PATH + "/pid");
- var orddd = model.getValue(sPATORDINFOLIST_PATH + "/orddd");
- var cretno = model.getValue(sPATORDINFOLIST_PATH + "/cretno");
- var instcd = model.getValue(sPATORDINFOLIST_PATH + "/instcd");*/
- /*
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid", pid);
- model.makeValue("/root/send/reqdata/orddd", orddd);
- model.makeValue("/root/send/reqdata/cretno", cretno);
-
- // 조회조건에서 srchdd를 구할 수 있으므로 주석처리 20090630 김영학
- // 2008.10.31 등록번호 검색으로 의뢰시 상단 UP 조건 icdr.fromdd
- if(submit("TRMMO00210")) {
- var srchdd = model.getValue("/root/main/topinfo/topinfo/fromdd");
- }
- // (e)
- */
- //수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다.
- //김민선 선생님 요청 20100614 by LYJ
- model.makeValue("/root/send/reqdata/pid" , pid); //등록번호
- model.makeValue("/root/send/reqdata/orddd" , orddd); //입원일자
- model.makeValue("/root/send/reqdata/cretno" , cretno); //생성번호
- model.makeValue("/root/send/reqdata/instcd" , instcd); //기관코드
-
- if(ioflag == "I" || ioflag == "D"){
- model.makeValue("/root/send/reqdata/srchdd" , srchdd); //조회일자
- model.makeValue("/root/send/reqdata/ioflag" , "I");
- fReqInPatTopInfo();
- //var param = "I" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
- } else if(ioflag == "E") {
- model.makeValue("/root/send/reqdata/srchdd", srchdd); //조회일자
- model.makeValue("/root/send/reqdata/ioflag" , "E");
-
- fReqERPatTopInfo();
- //var param = "E" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦"+ srchdd ;
- }else{
- model.makeValue("/root/send/reqdata/ioflag" , "O");
- fReqOutPatTopInfo();
- // var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
- }
-
- fInitPamInfo(); //화면 기본 정보 설정
- grd_diaglist.addRow();
-
- /*
- setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var useyn = getParameter("SPMMO08900_rtn_useyn");
- if(useyn == "Y"){
- setParameter("SPMMO08900_rtn_useyn", "");
- fInitPamInfo
- grd_diaglist.addRow();
-
- }else{
- return;
- }*/
-
- //DRG 환자정보 조회 2013.05.21 KJS
-
- var workdd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opschedd");
- if (workdd == "" || workdd == null) {
- workdd = getCurrentDate();
- }
-
- model.makeValue("/root/send/reqdata/pid" , model.getValue("/root/main/oprsrvinfo/oprsrvinfo/pid"));
- model.makeValue("/root/send/reqdata/workdd" , workdd);
-
- if (submit("TRMMO00218")) {
- model.makeValue("/root/main/oprsrvinfo/oprsrvinfo/drgyn", model.getValue("/root/main/drginfo/drgyn"));
- model.makeValue("/root/main/oprsrvinfo/oprsrvinfo/drgno", model.getValue("/root/main/drginfo/drgno"));
- model.makeValue("/root/main/oprsrvinfo/oprsrvinfo/drgnm", model.getValue("/root/main/drginfo/drgnm"));
- model.refresh();
-
- var drgyn = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/drgyn");
- if (drgyn != null && drgyn != "" && drgyn == "A"){
- btn_drgmod.disabled = false;
- } else {
- btn_drgmod.disabled = true;
- }
- }
- }
-
- }
- /**
- * @desc : 신규버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnNew(){
- model.resetInstanceNode(sOPRSRVINFO_PATH);
- model.removeNodeset(sDIAGCDLIST_PATH);
- /*var paminfo = getGlobalVariable("paminfo");
- if(paminfo.length < 1){
- messaegeBox("환자의 상단정보가", "I004");
- return;
- }*/
- fInitPamInfo("Y");
- model.setValue(sOPRSRVINFO_PATH + "/reopflag" , "N"); //수술공개
- //model.setValue(sOPRSRVINFO_PATH + "/opflagcd" , "1"); //수술구분
- model.setValue(sOPRSRVINFO_PATH + "/opopenflag" , "Y"); //금일재수술
- model.setValue(sOPRSRVINFO_PATH + "/anstreqflag", "N"); //마취의뢰만
- model.setValue(sOPRSRVINFO_PATH + "/cnstopflag" , "N"); //협진의뢰여부
- //model.setValue(sOPRSRVINFO_PATH + "/oppatflagcd", "D"); //수술환자구분
- grd_diaglist.addRow(false, true);
- if(rdo_opflag.disabled) { // 무통
- fClkUnpainFlag("N");
- }
- fGetReqrcntctel(); //연락처정보 셋팅 추가 요청 (2010.03.19 JJE)
- model.recalculate();
- model.refresh();
- }
- /**
- * @desc : 예약취소
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCnclRsrv(){
- group1.attribute("visibility") = "visible";
- btn_new.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_tempsave.disabled = true;
- model.setFocus("cmb_inrsrvcnclresn");
- model.refresh();
- }
- /**
- * @desc : 환자 현재 진단 조회 (진단구분코드:M)
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqPatCurrentDiagList(pid, orddd, orddeptcd, ioflag){
- model.removeNodeset("/root/send/reqdata");
- model.removeNodeset("/root/main/diaglist");
- model.makeNode("/root/main/diaglist");
- model.makeValue("/root/send/reqdata/pid" , pid);
- model.makeValue("/root/send/reqdata/orddd" , orddd);
- model.makeValue("/root/send/reqdata/orddeptcd" , orddeptcd);
- model.makeValue("/root/send/reqdata/ioflag" , ioflag);
- model.makeValue("/root/send/reqdata/diagkindcdflag", "");
- if(submit("TRMMO00114")== true){
- var xmlNode = model.instance1.selectSingleNode("/root/main/diaginfo/diagcdlist");
- if(xmlNode != null){
- var grdRow = grd_diaglist.row;
- var totcnt = getNodeSetCnt("/root/main/diaginfo/diagcdlist");
- for(var currow = 1 ; currow <= totcnt ; currow++){
- var dispdiagcd = model.getValue("/root/main/diaginfo/diagcdlist[" + currow + "]/icd10cd");
- var diagcd = model.getValue("/root/main/diaginfo/diagcdlist[" + currow + "]/diagcd");
- var diagengnm = model.getValue("/root/main/diaginfo/diagcdlist[" + currow + "]/diagengnm");
- var diaghngnm = model.getValue("/root/main/diaginfo/diagcdlist[" + currow + "]/diaghngnm");
- if(grdRow == -1) grd_diaglist.addRow(false, true);
- model.setValue(sDIAGCDLIST_PATH + "[" + grd_diaglist.row + "]/status" , "i");
- model.setValue(sDIAGCDLIST_PATH + "[" + grd_diaglist.row + "]/dispdiagcd", dispdiagcd);
- model.setValue(sDIAGCDLIST_PATH + "[" + grd_diaglist.row + "]/diagcd" , diagcd);
- model.setValue(sDIAGCDLIST_PATH + "[" + grd_diaglist.row + "]/diagengnm" , diagengnm);
- model.setValue(sDIAGCDLIST_PATH + "[" + grd_diaglist.row + "]/diaghngnm" , diaghngnm);
- if(grdRow != -1) grd_diaglist.addRow(false, true);
- }
- }
- }
- model.recalculate();
- model.refresh();
- }
- /**
- * @desc : 협진의뢰 여부 bool 클릭시
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBoolCnstOpFlag(){
- var cnstopflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/cnstopflag");
- if(cnstopflag == "Y"){ //협진의뢰여부가 선택된 경우
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var oprsrvno = model.getValue(sOPRSRVINFO_PATH + "/oprsrvno");
- var ophistno = model.getValue(sOPRSRVINFO_PATH + "/ophistno");
- var perfdeptcd = model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd");
- var perfdrid = model.getValue(sOPRSRVINFO_PATH + "/perfdrid");
-
- //초기화
- clearParameter("SPMMO11100_rtn_param_opschedd");
- clearParameter("SPMMO11100_rtn_param_oprsrvno");
- clearParameter("SPMMO11100_rtn_param_opfromtmcd");
- clearParameter("SPMMO11100_rtn_param_opendtmcd");
- clearParameter("SPMMO11100_rtn_param_opusetm");
- clearParameter("SPMMO11100_rtn_param_oproomcd");
- clearParameter("SPMMO11100_rtn_param_cnstopflag");
-
- var param = pid + "▦" + opschedd + "▦" + "cnst" + "▦" + oprsrvno + "▦" + ophistno + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + cnstopflag ;
- setParameter("SPMMO11100_param", param);
- modal("SPMMO11100");
-
- var popschedd = getParameter("SPMMO11100_rtn_param_opschedd"); //수술예정일자
- var poprsrvno = getParameter("SPMMO11100_rtn_param_oprsrvno"); //수술예약번호
- var popfromtmcd = getParameter("SPMMO11100_rtn_param_opfromtmcd"); //수술예약번호
- var popendtmcd = getParameter("SPMMO11100_rtn_param_opendtmcd"); //수술예약번호
- var popusetm = getParameter("SPMMO11100_rtn_param_opusetm"); //수술예약번호
- var poproomcd = getParameter("SPMMO11100_rtn_param_oproomcd"); //수술예약번호
-
- var cnstopflag = getParameter("SPMMO11100_rtn_param_cnstopflag"); //협진여부
-
- if(poprsrvno.length > 1){
- //model.removeNodeset("/root/main/diaglist");
- model.resetInstanceNode("/root/main/diaglist");
- model.setValue(sOPRSRVINFO_PATH + "/opschedd", popschedd);
- model.setValue(sOPRSRVINFO_PATH + "/mainoprsrvno", poprsrvno);
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd", popfromtmcd);
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd", popendtmcd);
- model.setValue(sOPRSRVINFO_PATH + "/opusetm", popusetm);
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd", poproomcd);
- model.setValue(sOPRSRVINFO_PATH + "/status", "i");
- model.setValue(sOPRSRVINFO_PATH + "/oprsrvno", "");
- var cnts = getNodesetCount("/root/main/diaglist/diaglist");
- if (cnts > 1 ) {
- model.removeNodeset("/root/main/diaglist");
- }
- grd_diaglist.addRow(false, true);
- grd_diaglist.rebuild();
- model.refresh();
- }else{
- //부수술을 먼저 입력할 수 있도록 주석처리. 09.02.04
- model.setValue(sOPRSRVINFO_PATH + "/cnstopflag", cnstopflag);
- model.refresh();
- }
- }else if(cnstopflag == "N"){ //협진의뢰여부가 취소된 경우
- var mainoprsrvno = model.getValue(sOPRSRVINFO_PATH + "/oprsrvno");
- model.setValue(sOPRSRVINFO_PATH + "/mainoprsrvno", mainoprsrvno);
- model.setValue(sOPRSRVINFO_PATH + "/opschedd", "");
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd", "");
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd", "");
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd", "");
- model.setValue(sOPRSRVINFO_PATH + "/opusetm", "");
- model.refresh();
- }
- }
- /**
- * @desc : 마취의뢰 여부 bool 클릭시
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBoolAnstReqFlag(){
- var anstreqflag = model.getValue(sOPRSRVINFO_PATH + "/anstreqflag");
- if(anstreqflag == "Y"){ //마취의뢰만 선택된 경우
- fSetInptDisabled("Y");
- //model.setValue(sOPRSRVINFO_PATH + "/opcd", "0");
-
- }else if(anstreqflag == "N"){ //마취의뢰만 취소된 경우
- fSetInptDisabled("N");
- //model.setValue(sOPRSRVINFO_PATH + "/opcd", "");
-
- }
- model.refresh();
- }
- /**
- * @desc : 수술예약정보 input box disabled 설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetInptDisabled(bFlag){
- if(bFlag == "Y"){
- //model.removeNodeset(sDIAGCDLIST_PATH);
- var bval = true;
- cmb_oproomcd.value = "";
- rdo_oppatflag.value = "";
- cmb_opfromtmcd.value = "";
- cmb_opendtmcd.value = "";
- //ipt_opcd.value = "0";
- //ipt_opnm.value = "";
- ipt_subopcd.value = "";
- ipt_subopnm.value = "";
- cmb_opposture.value = "";
- cmb_opdirecflag.value = "";
- //cmb_oppartcd.value = "";
- cmb_anstmthd.value = "";
- ipt_delivefact.value = "";
- cmb_opcnfmdg.value = "";
- }else if(bFlag == "N"){
- var bval = false;
- grd_diaglist.addRow(false, true);
- }else{
- var bval = false;
-
- }
- //rdo_oppatflag.disabled = bval;
- //cmb_opfromtmcd.disabled = bval;
- //cmb_opendtmcd.disabled = bval;
- ipt_opcd.disabled = bval;
- ipt_opnm.disabled = bval;
- ipt_subopcd.disabled = bval;
- ipt_subopnm.disabled = bval;
- cmb_opposture.disabled = bval;
- cmb_opdirecflag.disabled = bval;
- //cmb_oppartcd.disabled = bval;
- cmb_anstmthd.disabled = bval;
- ipt_delivefact.disabled = bval;
- cmb_opcnfmdg.disabled = bval;
- //button61.disabled = bval;
- //button5.disabled = bval;
- model.recalculate();
- model.refresh();
- }
- /**
- * @desc : 수술예약정보 리스트 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOpRsrvInfoList(){
-
- // 2008.01.30 외래메인 간호에서 띄우는 경우
- if(!isNull(opener.javascript.getParameter("SMMNO00100_opschedd"))) {
- model.setValue("/root/main/cond/opschedd", opener.javascript.getParameter("SMMNO00100_opschedd"));
- model.setValue("/root/main/cond/pid", opener.javascript.getParameter("SMMNO00100_pid"));
- model.setValue("/root/main/cond/qflag", "3");
- }
- // (e)
- model.removeNodeset("/root/send/reqdata");
- model.makeNode ( "/root/send/reqdata" );
- model.copyNode("/root/send/reqdata", "/root/main/cond");
- if(submit("TRMMO00201")){
- var qflag = model.getValue("/root/main/cond/qflag"); //파라미터를 받아서 조회하는 경우
- if(qflag == 3){
- if(grd_oprsrvlist.rows > 1){
- fClkGrdOpRsrvList(1);
- //파라미터를 받아서 조회하는 경우, 저장 버튼을 모두 disabled한다.
- rdo_oppatflag.disabled = true;
- ipt_opcd.disabled = true;
- ipt_opnm.disabled = true;
- ipt_subopcd.disabled = true;
- ipt_subopnm.disabled = true;
- cmb_opposture.disabled = true;
- cmb_opdirecflag.disabled = true;
- cmb_anstmthd.disabled = true;
- ipt_delivefact.disabled = true;
- cmb_opcnfmdg.disabled = true;
- btn_new.disabled = true;
- btn_tempsave.disabled = true;
- btn_certsave.disabled = true;
- btn_rsrvcncl.disabled = true;
- model.refresh();
- }
- }
- fDispAprvCnclChng();
-
- // 2008.01.30 외래메인 간호에서 띄우는 경우
- if(!isNull(opener.javascript.getParameter("SMMNO00100_pid"))) {
- var nodeList = instance1.selectNodes(sOPRSRVLIST_PATH);
- fClkGrdOpRsrvList(1);
- clearParameter("SMMNO00100_opschedd");
- clearParameter("SMMNO00100_pid");
- }
- // (e)
- }
- }
- /**
- * @desc : 입원의뢰화면 open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnInReqWnd(){
- var insukind = model.getValue(sOPRSRVINFO_PATH + "/insukind");
- var suppkind = model.getValue(sOPRSRVINFO_PATH + "/suppkind");
- if(insukind == ""){
- messageBox("입원의뢰서를 등록하려면 현재 환자를 진료대상자 또는 스케줄현황 화면에서", "C002");
- return;
- }
-
- if(suppkind == ""){
- messageBox("입원의뢰서를 등록하려면 현재 환자를 진료대상자 또는 스케줄현황 화면에서", "C002");
- return;
- }
- modal("SPMMO00100");
- }
- /**
- * @desc : 과거의뢰내역 버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnCnstPastHist(){
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var oprsrvno = model.getValue(sOPRSRVINFO_PATH + "/oprsrvno");
- var ophistno = model.getValue(sOPRSRVINFO_PATH + "/ophistno");
- var param = pid + "▦" + opschedd + "▦" + "past" + "▦" + oprsrvno + "▦" + ophistno;
- setParameter("SPMMO11100_param", param);
- modal("SPMMO11100");
- }
- /**
- * @desc : 취소변경 버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkCnfmCncl(){
- var rtnval = 6; //승인요청 대기중이 아니더라도 취소변경 flow는 흘러가도록 rtnval값을 예로 설정
- var currow = grd_oprsrvlist.row
- if(currow < 1){
- return;
- }
- var opstatcd = model.getValue(sOPRSRVINFO_PATH + "/opstatcd");
- var aprvreqno = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/aprvreqno");
- var reqrsncd = model.getValue(sOPRSRVINFO_PATH + "/reqrsncd");
- if(opstatcd < 20){
- if(reqrsncd == "314" || reqrsncd == "315") { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- } else {
- messageBox("의뢰 중인 수술예약은 취소 요청을", "E001");
- }
- return;
- }
-
- if(aprvreqno != 0){
- rtnval = messageBox("승인 요청 대기 중인 수술예약 정보입니다. 확정취소 변경을", "Q003");
- }
-
- if(rtnval == 6){
- setParameter("SPMMO05800_param_pid" , model.getValue("/root/main/oprsrvinfo/oprsrvinfo/pid"));
- setParameter("SPMMO05800_param_oprsrvno" , model.getValue("/root/main/oprsrvinfo/oprsrvinfo/oprsrvno"));
- setParameter("SPMMO05800_param_ophistno" , model.getValue("/root/main/oprsrvinfo/oprsrvinfo/ophistno"));
- setParameter("SPMMO05800_param_aprvreqno", model.getValue("/root/main/oprsrvinfo/oprsrvinfo/aprvreqno"));
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var opfromtmcd= model.getValue(sOPRSRVINFO_PATH + "/opfromtmcd");
- var opendtmcd = model.getValue(sOPRSRVINFO_PATH + "/opendtmcd");
- var oproomcd = model.getValue(sOPRSRVINFO_PATH + "/oproomcd");
- var opcd = model.getValue(sOPRSRVINFO_PATH + "/opcd");
- var opnm = model.getValue(sOPRSRVINFO_PATH + "/opnm");
- var diagcd = model.getValue(sOPRSRVINFO_PATH + "/diagcd");
- var diagnm = model.getValue(sOPRSRVINFO_PATH + "/diagnm");
- var perfdeptcd= model.getValue(sOPRSRVINFO_PATH + "/perfdeptcd");
- var perfdrid = model.getValue(sOPRSRVINFO_PATH + "/perfdrid");
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/opusetm");
- var anstmthd = model.getValue(sOPRSRVINFO_PATH + "/anstmthdcd");
- var anstdetlmthdcd = model.getValue(sOPRSRVINFO_PATH + "/anstdetlmthdcd");
- var opstatcd = model.getValue(sOPRSRVINFO_PATH + "/opstatcd");
- var opposturecd = model.getValue(sOPRSRVINFO_PATH + "/opposturecd");
- var opdirecflag = model.getValue(sOPRSRVINFO_PATH + "/opdirecflag");
- var oppatflagcd = model.getValue(sOPRSRVINFO_PATH + "/oppatflagcd");
- var opcntmdg = model.getValue(sOPRSRVINFO_PATH + "/opcntmdg");
- var opdelivefact = model.getValue(sOPRSRVINFO_PATH + "/delivefact");
- var opcnfmdd = model.getValue(sOPRSRVINFO_PATH + "/opcnfmdd");
- var opflagcd = model.getValue(sOPRSRVINFO_PATH + "/opflagcd"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, opflagcd(수술구분)정보 추가
- var cntctel = model.getValue(sOPRSRVINFO_PATH + "/cntctel"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cntctel(연락처)정보 추가
- var cnstopflag = model.getValue(sOPRSRVINFO_PATH + "/cnstopflag"); // [요청번호: 847] 수술일자변경 2010.06.25 kskim, cnstopflag(협진여부)정보 추가
- var ccrtno = model.getValue(sOPRSRVINFO_PATH + "/ccrtno"); // [요청번호: 847] 카트번호 2010.06.25 kskim, ccrtno정보 추가
-
- //drg정보 추가 2013.06.20 KJS
- var drgyn = model.getValue(sOPRSRVINFO_PATH + "/drgyn");
- var drgno = model.getValue(sOPRSRVINFO_PATH + "/drgno");
- var drgnm = model.getValue(sOPRSRVINFO_PATH + "/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(수술구분)정보 추가
- setParameter("SPMMO05800_param_opdata", opdata);
- modal("SPMMO05800");
- var rtnuseyn = getParameter("SPMMO05800_rtn_useyn");
- if(rtnuseyn == "Y"){
- setParameter("SPMMO05800_rtn_useyn", "N");
- model.setValue("/root/main/cond/qflag", "1");
- fReqOpRsrvInfoList();
- }
- }else{
- return;
- }
-
- }
- /**
- * @desc : 담당요일 의사조회
- * @
- * @param : opschedd 수술예약일자
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqDailyChrgAnstDr(opschedd){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/opschedd", opschedd);
- if(submit("TRMMO00203")){
- var existxml = instance1.selectNodes("/root/main/dailychrgdrlist/dailychrgdrlist");
- if(existxml.length == 1){ //담당자가 있는 경우
- var daynm = model.getValue("/root/main/dailychrgdrlist/dailychrgdrlist/chrgdwnm") + "요일";
- var chrgdrnm = model.getValue("/root/main/dailychrgdrlist/dailychrgdrlist/usernm") + "\n"+"(" +
- model.getValue("/root/main/dailychrgdrlist/dailychrgdrlist/beepno") + ")";
- model.setValue("/root/main/cond/daynm" , daynm);
- model.setValue("/root/main/cond/chrgdrnm", chrgdrnm);
- }else{ //담당자가 없는 경우
- model.setValue("/root/main/cond/daynm" , "");
- model.setValue("/root/main/cond/chrgdrnm", "");
- }
- }
- model.refresh();
- }
- /**
- * @desc : 취소/변경 승인요청 표시, 빨간색 취소, 파란색 변경
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDispAprvCnclChng(){
- for(var i = 1; i < grd_oprsrvlist.rows; i++){
- var aprvreqno = model.getValue(sOPRSRVLIST_PATH + "[" + i + "]/aprvreqno");
- var reqrsncd = model.getValue(sOPRSRVLIST_PATH + "[" + 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";
- }
- }
- grd_oprsrvlist.refresh();
- }
- /**
- * @desc : 예약취소 버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnRsrvCncl(){
- var opstatcd = model.getValue(sOPRSRVINFO_PATH + "/opstatcd");
- var reqrsncd = model.getValue(sOPRSRVINFO_PATH + "/reqrsncd");
- if(opstatcd < 20){
- if(reqrsncd == "314" || reqrsncd == "315") { // [요청번호: 847] 취소변경 사유(수술일자 변경)일 경우 블로킹 by 박영우 2010.07.09
- messageBox("수술일 변경요청된 스케줄입니다. 마취과 승인 이전 의뢰취소 또는 취소변경은 불가합니다.", "E");
- return;
- } else {
- group1.attribute("visibility") = "visible";
- btn_new.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_tempsave.disabled = true;
- model.setFocus("cmb_inrsrvcnclresn");
- model.refresh();
- }
- }else{
- messageBox("확정된 환자는 예약 취소", "E001");
- return;
- }
- }
- /**
- * @desc : 8PM~11PM 의 익일 추가 수술 마취 의뢰 가능 하도록 블러킹
- * @
- * @param :
- * @return :
- * @author : 이윤정
- * @---------------------------------------------------
- */
- function fOpRsrvTimeInfo(tmp){
- var MyTime = getCurrentTime();
- var realtime = MyTime.substr(0,2);
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeI","115");
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeS","116");
- reqHardCodeInfo("/root/init/hard","/root/init/hardcodeE","117");
- var start = model.getValue("/root/init/hardcodeS/hardcd/hardcd");
- var end = model.getValue("/root/init/hardcodeE/hardcd/hardcd");
- if (model.getValue("/root/init/hardcodeI/hardcd/hardcd")=="Y" && ipt_opschedd.value == getCurrentDate().toDate('YYYYMMDD').getAddDate(+1, "D").getDateFormat('YYYYMMDD')&& model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd")!="1"&& model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd")!="3"){
- if((model.getValue("/root/init/hardcodeS/hardcd/hardcd")<realtime && realtime<model.getValue("/root/init/hardcodeE/hardcd/hardcd"))||(model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd")=="2")){
- fSaveOpRsrvInfo(tmp);
- }
- else if (model.alert("익일 추가 수술 의뢰 가능시간은 " +start+":00 ~ "+end+":00 입니다"));
- }
- else fSaveOpRsrvInfo(tmp);
- }
- /**
- * @desc : 수술구분 유효성 체크, 당일인 경우 정규 설정은 불가함
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fValidOpFlagCD(){
- var chkopcnfmtm = model.getValue("/root/init/chkopcnfmtm/hardcd/hardcd");
- var opflagcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd");
- var MyTime = getCurrentTime();
- var Mydate = getCurrentDate();
-
- if(ipt_opschedd.value == Mydate){ //현재일자와 동일한 경우
- if(opflagcd == 1 || opflagcd == 3){ //정규(1), 추가(3)인 경우
- messageBox("당일 수술마취의뢰는 응급만", "I006");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd", "2"); // 응급 설정
-
- // 2010.05.24 kskim
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opusetm", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/oproomcd", "");
- }
- }
-
- if(opflagcd == 2 && ipt_opschedd.value != "") { //응급인 경우
- if( ipt_opschedd.value != Mydate && MyTime <= chkopcnfmtm ) { // 2008.09.10 수술하루전 일괄확정시간 이전일 경우만 check 하도록 조건 추가
- messageBox("응급은 당일 수술마취만", "I006");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd", "");
- }
- }
- model.refresh();
- }
- /**
- * @desc : 시간설정 버튼 클릭, 수술구분 정규 -> 수술예약시간 설정 팝업 open
- * 응급, 추가 -> 희망시간 입력 팝업 open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkBtnSetTime(){
- var opflagcd = model.getValue(sOPRSRVINFO_PATH + "/opflagcd");
- var opschedd = model.getValue(sOPRSRVINFO_PATH + "/opschedd");
- var hopetmflag= model.getValue(sOPRSRVINFO_PATH + "/hopetmflag");
-
- if(opschedd == ""){
- messageBox("수술예정일자를", "C001");
- return;
- }
-
- if(opflagcd == 1){ //정규
- fOpenOpScheTime(); //수술예약시간 설정 팝업 open
-
- }else if(opflagcd == 2 || opflagcd == 3){ //응급, 추가
- group2.attribute("visibility") = "visible";
- btn_new.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_rsrvcncl.disabled = true;
- btn_tempsave.disabled = true;
-
- if(hopetmflag == ""){ //희망일자 구분이 선택된 경우
- cmb_hopetmflag.select(0);
- ipt_hopehour.disabled = true;
- cmb_hopemin.disabled = true;
- //ipt_usehour.disabled = true;
- //cmb_usemin.disabled = true;
-
- model.setFocus("cmb_hopetmflag");
- //model.setValue("/root/main/hopebox/hopehour", "09");
- model.setValue("/root/main/hopebox/hopehour", "00");
- model.setValue("/root/main/hopebox/hopemin" , "00");
- // model.setValue("/root/main/hopebox/usehour", "00"); // 주석처리 사유: 응급, 추가 수술일 경우 수술카트에 저장된 정보 사용
- // model.setValue("/root/main/hopebox/usemin" , "10"); // 주석처리 사유: 응급, 추가 수술일 경우 수술카트에 저장된 정보 사용
-
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- model.setValue("/root/main/hopebox/usehour" , usehour);
- model.setValue("/root/main/hopebox/usemin" , usemin);
- }else{
- if(hopetmflag == 1 || hopetmflag == 2 || hopetmflag == 3){ //1:오전, 2:오후, 3:상관없음, 시간설정 disabled
- ipt_hopehour.disabled = true;
- cmb_hopemin.disabled = true;
- //ipt_usehour.disabled = true;
- //cmb_usemin.disabled = true;
-
- }else if(hopetmflag == 4){ //4:특정시간, 시간설정 enabled
- ipt_hopehour.disabled = false;
- cmb_hopemin.disabled = false;
- //ipt_usehour.disabled = false;
- //cmb_usemin.disabled = false;
-
- var opfromtmcd = model.getValue(sOPRSRVINFO_PATH + "/opfromtmcd");
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/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);
-
- model.setValue("/root/main/hopebox/hopehour", hopehour);
- model.setValue("/root/main/hopebox/hopemin" , hopemin);
- model.setValue("/root/main/hopebox/usehour" , usehour);
- model.setValue("/root/main/hopebox/usemin" , usemin);
- }
- }
- }
- model.refresh();
- }
- /**
- * @desc : 희망시간구분 변경
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngHopeTmFlag(){
- var hopetmflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/hopetmflag");
- if(hopetmflag == 1){//오전
- //model.setValue("/root/main/hopebox/hopehour", "09");
- model.setValue("/root/main/hopebox/hopehour", "00");
- model.setValue("/root/main/hopebox/hopemin" , "00");
- //model.setValue("/root/main/hopebox/usehour", "00");
- //model.setValue("/root/main/hopebox/usemin" , "00");
-
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- model.setValue("/root/main/hopebox/usehour" , usehour);
- model.setValue("/root/main/hopebox/usemin" , usemin);
-
- model.setFocus("ipt_cntctel");
- ipt_hopehour.disabled = true;
- cmb_hopemin.disabled = true;
- //ipt_usehour.disabled = true;
- //cmb_usemin.disabled = true;
-
- }else if(hopetmflag == 2){ //오후
- //model.setValue("/root/main/hopebox/hopehour", "13");
- model.setValue("/root/main/hopebox/hopehour", "00");
- model.setValue("/root/main/hopebox/hopemin" , "00");
- //model.setValue("/root/main/hopebox/usehour", "00");
- //model.setValue("/root/main/hopebox/usemin" , "00");
-
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- model.setValue("/root/main/hopebox/usehour" , usehour);
- model.setValue("/root/main/hopebox/usemin" , usemin);
- model.setFocus("ipt_cntctel");
- ipt_hopehour.disabled = true;
- cmb_hopemin.disabled = true;
- //ipt_usehour.disabled = true;
- //cmb_usemin.disabled = true;
-
- }else if(hopetmflag == 3){ //상관없음
- // 요청번호; 845
- // 요청내용: 수술의뢰시 필요한 기준자료 추가 등록
- // 세부내용: 수술체위, 수술창상, 수술위치, 마취방법
- // 수정날자 2010.05.24
- // 수정자 : kskim
- var opusetm = model.getValue(sOPRSRVINFO_PATH + "/opusetm");
- var usehour = opusetm.substr(0, 2);
- var usemin = opusetm.substr(2, 2);
- model.setValue("/root/main/hopebox/usehour" , usehour);
- model.setValue("/root/main/hopebox/usemin" , usemin);
-
- model.setFocus("ipt_cntctel");
- ipt_hopehour.disabled = true;
- cmb_hopemin.disabled = true;
- //ipt_usehour.disabled = true;
- //cmb_usemin.disabled = true;
-
- }else if(hopetmflag == 4){ //특정시간
- model.setFocus("ipt_hopehour");
- ipt_hopehour.disabled = false;
- cmb_hopemin.disabled = false;
- //ipt_usehour.disabled = false;
- //cmb_usemin.disabled = false;
- }
- model.refresh();
- }
- /**
- * @desc : 희망시간 확정버튼 클릭
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fClkCnfmHopeTm(){
- group2.attribute("visibility") = "hidden";
- var hopehour = model.getValue("/root/main/hopebox/hopehour");
- var hopemin = model.getValue("/root/main/hopebox/hopemin");
- var usehour = model.getValue("/root/main/hopebox/usehour");
- var usemin = model.getValue("/root/main/hopebox/usemin");
- var hopetmflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/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";
- model.setValue(sOPRSRVINFO_PATH + "/opfromtmcd", opfromtmcd);
- model.setValue(sOPRSRVINFO_PATH + "/opendtmcd" , opendtmcd);
- }
-
- //model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "0000"); //응급, 추가의 경우, 방없음 설정
- model.setValue(sOPRSRVINFO_PATH + "/oproomcd" , "2222"); //응급, 추가의 경우, 임시방 설정
- model.setValue(sOPRSRVINFO_PATH + "/opusetm" , opusetm);
- btn_new.disabled = false;
- btn_rsrvcncl.disabled = false;
- btn_rsrvcncl.disabled = false;
- btn_tempsave.disabled = false;
-
- if(hopetmflag != 4) { // 2008.10.13 특정시간 설정일 경우만 제외하고 처리
- if(cmb_opfromtmcd.value != "" || cmb_opendtmcd.value != "") {
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opfromtmcd", "");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opendtmcd", "");
- }
- }
-
- model.refresh();
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @event :
- * @return :
- * @---------------------------------------------------
- */
- function saveGridToExcel(grdObj){
- var fileName = window.fileDialog("save", ",", false, "excel", "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
- if (fileName != ""){
- grdObj.saveExcel(fileName, "SheetName", true, true, "", "", true);
- }
- }
- /**
- * @desc : 입력된 수술시간이 유효한지 check
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fCheckValidTime(timePath){
- var fromtm = model.getValue( timePath + "/opfromtmcd");
- var endtm = model.getValue( timePath + "/opendtmcd");
-
- if(fromtm.length != 6) {
- fromtm += "00";
- model.setValue(timePath + "/opfromtmcd", fromtm);
- }
-
- if(endtm.length != 6) {
- endtm += "00";
- model.setValue(timePath + "/opendtmcd", endtm);
- }
- var node = instance1.selectNodes("/root/init/M0014/M0014/cdid");
- var i, j;
-
- for(i=1; i< node.length; i++) {
- if(fromtm == node.item(i).value) {
- break;
- }
- }
-
- for(j=1; j< node.length; j++) {
- if(endtm == node.item(j).value) {
- break;
- }
- }
-
- if(i == node.length) {
- messageBox("입력된 시간이", "E016");
- model.setFocus("ipt_fmtm");
- return false;
- }
-
- if(j == node.length) {
- messageBox("입력된 시간이", "E016");
- model.setFocus("ipt_endtm");
- return false;
- }
-
- return true;
- }
-
-
- /**
- * @desc : 병원 휴일 select
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fGetCalendar(basedd){
-
- var preyear = new Date(basedd.substring(0, 4) -1, basedd.substring(4, 6), basedd.substring(6, 8));
- //alert(preyear.getDateFormat().substring(0, 4));
- model.makeValue("/root/send/reqdata/basedd", preyear.getDateFormat().substring(0, 4)+ "▦" +basedd.substring(0, 4));
- //model.makeValue("/root/send/reqdata/basedd", basedd.substring(0, 4));
- //submit("TRMMO10601");
- submit("TRMMO00212");
- // --> 2008.10.27 휴일인 경우 blocking 처리 check
- }
- /**
- * @desc : 환자진료정보 list 조회
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fOpenPatInfo(){
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- if(pid == ""){
- messageBox("환자의 등록번호를 ", "C001");
- return;
- }
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/cond1", "1"); //1은 등록번호, 2는 환자명
- model.makeValue("/root/send/reqdata/cond2", pid); //등록번호
- model.makeValue("/root/send/reqdata/cond3", getUserInfo("dutplceinstcd"));
- model.makeValue("/root/send/reqdata/cond4", "N"); //원무키 기준여부
- model.makeValue("/root/send/reqdata/cond5", "N"); //당일기준 조회여부
- model.makeValue("/root/send/reqdata/cond6", "-"); //외래,입원테이블 기준
- if(submit("TRMMO00200")==true){
- var nodecnt = getNodeSetCnt(sPATORDINFOLIST_PATH)
- if(nodecnt > 1){
- var xpt = window.screenleft + 50;
- var ypt = window.screenTop + 80;
- 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 );
-
- param = getParameter("SPMMO09100_rtn_param");
-
- if(param.length > 0){
- model.removeNodeset(sPATORDINFOLIST_PATH);
- setCSVToNode("/root/patordinfo", param, "patordinfolist");
- }
- }
-
- var ioflag = model.getValue(sPATORDINFOLIST_PATH + "/ioflag");
- var pid = model.getValue(sPATORDINFOLIST_PATH + "/pid");
- var orddd = model.getValue(sPATORDINFOLIST_PATH + "/orddd");
- var cretno = model.getValue(sPATORDINFOLIST_PATH + "/cretno");
- var instcd = model.getValue(sPATORDINFOLIST_PATH + "/instcd");
-
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid" , pid); //등록번호
- model.makeValue("/root/send/reqdata/orddd" , orddd); //입원일자
- model.makeValue("/root/send/reqdata/cretno" , cretno); //생성번호
- model.makeValue("/root/send/reqdata/instcd" , instcd); //기관코드
-
- // 2008.10.31 등록번호 검색으로 의뢰시 상단 UP 조건 icdr.fromdd
- if(submit("TRMMO00210")) {
- var srchdd = model.getValue("/root/main/topinfo/topinfo/fromdd");
- }
- // (e)
-
-
-
-
- //수술 예약정보 입력시 연동되는 상단과 진료기록, 처방 창 환자 정보가 상이한 오류가 발생하여 상단 연동 기능을 제외한다. 김민선 선생님 요청 20100614 by LYJ
- if(ioflag == "I" || ioflag == "D"){
- model.makeValue("/root/send/reqdata/srchdd" , srchdd); //조회일자
- model.makeValue("/root/send/reqdata/ioflag" , "I");
- fReqInPatTopInfo();
- // var param = "I" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + srchdd;
-
- } else if(ioflag == "E") {
- model.makeValue("/root/send/reqdata/srchdd", srchdd); //조회일자
- model.makeValue("/root/send/reqdata/ioflag" , "E");
-
- fReqERPatTopInfo();
- //var param = "E" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦"+ srchdd ;
-
- }else{
- model.makeValue("/root/send/reqdata/ioflag" , "O");
-
- fReqOutPatTopInfo();
- // var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
- }
-
-
-
- fInitPamInfo(); //화면 기본 정보 설정
-
-
-
-
-
-
- /* setParameter("condparam", param);
- modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- var useyn = getParameter("SPMMO08900_rtn_useyn");
- if(useyn == "Y"){
- setParameter("SPMMO08900_rtn_useyn", "");
- fInitPamInfo(); //화면 기본 정보 설정
-
- }else{
- return;
-
- }*/
- }
- }
- /**
- * @desc : 재원여부 check
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fChkPatInRgst(){
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- var oppatflagcd = model.getValue(sOPRSRVINFO_PATH +"/oppatflagcd");
- if(pid != "" && oppatflagcd == "D"){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid", pid); //등록번호
-
- if(submit("TRMMO00211")) {
- var rgstyn = model.getValue("/root/main/rgstinfo/rgstinfo/ret");
- if(rgstyn == "Y") {
- messageBox("재원 중인 환자입니다. DSC수술의뢰", "E001");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/oppatflagcd", "");
- model.refresh();
- return false;
- }else{
- return true;
- }
- }
- }
- return true;
- }
- /**
- * @desc : 무통마취 의뢰
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fClkUnpainFlag( bFlag ) {
- var painlessflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/painlessflag");
- if(painlessflag == "Y"){
- if(bFlag == "Y") {
- //model.removeNodeset(sDIAGCDLIST_PATH);
- var bval = true;
- rdo_opflag.value = "";
- rdo_opopen.value = "";
- cmb_oproomcd.value = "";
- //rdo_oppatflag.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 = "";
- //ipt_delivefact.value = "";
- cmb_opcnfmdg.value = "";
- ipt_usetm.value = "";
- bool3.value = "N";
- bool1.value = "N";
- bool2.value = "N";
- } else if(bFlag == "N") {
- var bval = false;
- grd_diaglist.addRow(false, true);
- } else {
- var bval = false;
- }
- } else { // 무통마취가 풀렸을 경우, 신규일 경우
- var bval = false;
- //grd_diaglist.addRow(false, true);
- }
- rdo_opflag.disabled = bval;
- rdo_opopen.disabled = bval;
- bool1.disabled = bval;
- bool2.disabled = bval;
- bool3.disabled = bval;
- //rdo_oppatflag.disabled = bval;
- ipt_opcd.disabled = bval;
- ipt_opnm.disabled = bval;
- ipt_subopcd.disabled = bval;
- ipt_subopnm.disabled = bval;
- cmb_opposture.disabled = bval;
- cmb_opdirecflag.disabled = bval;
- cmb_anstmthd.disabled = bval;
- //ipt_delivefact.disabled = bval;
- cmb_opcnfmdg.disabled = bval;
- button61.disabled = bval;
- button5.disabled = bval;
- button6.disabled = bval;
- btn_tmsetup.disabled = bval;
- //model.recalculate();
- model.refresh();
- }
- /**
- * @desc : 진단 팝업
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fOpenDiagInfo() {
- var xpt = window.screenLeft + 50;
- var ypt = window.screenTop + 80;
- var coord = getRelativeCoordinate(xpt, ypt);
- var mon = coord[0];
- var paminfo = model.getValue("/root/paminfo/list/pid") +"▦" + model.getValue("/root/paminfo/list/orddd");
- xpt = coord[1];
- ypt = coord[2];
- //model.makeValue("/root/main/temp/setlist", "Y");
- //open("SPMMO03100", mon,xpt,ypt,"SPMMO03100", "/root/main/temp/setlist", "/root/temp/getlist/getlist", "", false);
- setParameter("SPMMO03100_param", "Y");
- setParameter("SPMMO03100_patinfo", paminfo); // 상단정보를 올리지 않음으로 파라메터로 값 넘기도록 수정 20100614 by LYJ
- modal("SPMMO03100", mon,xpt,ypt,"SPMMO03100", "", "", "", false);
-
- var useyn = getParameter("SPMMO03100_rtn_useyn");
- if(useyn == "Y") {
- var diagparam = getParameter("SPMMO03100_rtn");
- diagparam = diagparam.split("▩");
-
- for(var i = 1; i <= diagparam.length-2; i++){
- var tmpstr = diagparam[i];
- tmpstr = tmpstr.split("▦");
- var currow = grd_diaglist.rows - 1;
-
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/status" , "i");
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/oprsrvno" , model.getValue(sOPRSRVINFO_PATH + "/oprsrvno"));
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/dispdiagcd", tmpstr[1]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagcd" , tmpstr[9]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagengnm" , tmpstr[2]);
- model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diaghngnm" , tmpstr[3]);
- grd_diaglist.addrow(false, true);
- }
- model.recalculate();
- model.refresh();
- }
- }
- /**
- * @desc : 하드코드 조회 (하드코드, 하드코드명)
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * hardcd - 하드코드
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function mmbfGetHardCodeInfoNm(ref, rsltref, hardcd){
- var mmb_rsltref = "/root/hidden/mmb/hardcd";
- model.removeNode(mmb_rsltref);
- model.makeNode(mmb_rsltref);
- model.removeNode(ref);
- model.makeValue(ref + "/hardcd", hardcd);
- if(submit("TRMMB04105", "false", ref, mmb_rsltref)==true){
- model.copyNode(rsltref, mmb_rsltref);
- model.removeNode(mmb_rsltref);
- }
- model.refresh();
- }
- /**
- * @desc : 하드코드 조회 (하드코드, 하드코드명)
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * hardcd - 하드코드
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fDelOpRsrvCncl() {
- var currow = grd_oprsrvlist.row
- var pid = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/pid");
- var opschedd = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/opschedd");
- var oprsrvno = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/oprsrvno");
- var aprvreqno = model.getValue(sOPRSRVLIST_PATH + "[" + currow + "]/aprvreqno");
- var perfdeptcd = model.getValue("/root/main/cond/perfdeptcd");
- var oproomcd = model.getValue("/root/main/cond/oproomcd");
- model.makeValue("/root/send/savedata/rsrvcnclinfo/pid" , pid);
- model.makeValue("/root/send/savedata/rsrvcnclinfo/opschedd" , opschedd);
- model.makeValue("/root/send/savedata/rsrvcnclinfo/oprsrvno" , oprsrvno);
- model.makeValue("/root/send/savedata/rsrvcnclinfo/aprvreqno", aprvreqno);
- model.makeValue("/root/send/savedata/rsrvcnclinfo/perfdeptcd", perfdeptcd);
- model.makeValue("/root/send/savedata/rsrvcnclinfo/oproomcd", oproomcd);
- submit("TXMMO00202", false);
-
- model.setValue("/root/main/cond/qflag", "1");
- fReqOpRsrvInfoList();
-
- }
- /**
- * @desc : 집도과 수술마취 의뢰자 연락처 정보 조회
- * @
- * @param :
- * @return :
- * @author : 전지은
- * @---------------------------------------------------
- */
- function fGetReqrcntctel() {
- var rgstMpphonNo = getUserInfo("mpphonno");
- var cntctel = "";
- if( !isNull(rgstMpphonNo) ){
- if( getStringLength(rgstMpphonNo) == 10 ) cntctel = rgstMpphonNo.substring(0,3) + "-" + rgstMpphonNo.substring(3,6) + "-" + rgstMpphonNo.substring(6,10);
- else if( getStringLength(rgstMpphonNo) == 11 ) cntctel = rgstMpphonNo.substring(0,3) + "-" + rgstMpphonNo.substring(3,7) + "-" + rgstMpphonNo.substring(7,11);
- else cntctel = rgstMpphonNo;
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/cntctel", cntctel);
- }
- }
- /**
- * @desc : 퇴원예고가 된 환자에 한해 외래 수술/마취 의뢰 가능
- * @
- * @param :
- * @return :
- * @author : 이윤정
- * @---------------------------------------------------
- */
- function foppatflaginfo() {
- var pid = model.getValue(sOPRSRVINFO_PATH + "/pid");
- var oppatflagcd = model.getValue(sOPRSRVINFO_PATH +"/oppatflagcd");
- var indd = model.getValue("/root/paminfo/list/indd");
-
- // 일일수술실일 경우에만 수술전 검사 여부가 보이도록 함 2012.05.22 KJS
- if (oppatflagcd == "D") {
- caption60.visible = true;
- rdo_dsclabflag.visible = true;
- rdo_dsclabflag.disabled = false;
- } else {
- caption60.visible = false;
- rdo_dsclabflag.visible = false;
- rdo_dsclabflag.disabled = true;
- model.setValue(sOPRSRVINFO_PATH +"/dsclabflag", "");
- rdo_dsclabflag.refresh();
- }
-
- if(pid != "" && oppatflagcd == "O" && indd != ""){
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid", pid); //등록번호
- model.makeValue("/root/send/reqdata/indd", indd); //입원일
- if(submit("TRMMO00211")) {
- var rgstyn = model.getValue("/root/main/rgstinfo/rgstinfo/ret");
- if(rgstyn == "A") {
- messageBox("재원중인 환자는 외래수술 의뢰가 불가합니다." + "\n"+"단, 퇴원예고 후에는 외래수술 의뢰가 가능합니다. 퇴원예고 여부를 확인하시기 바랍니다.", "I");
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/oppatflagcd", "");
- model.refresh();
- return false;
- }else{
- return true;
- }
- }
-
- }
- }
- /**
- * @desc : 협진의뢰 시 수술구분정보 체크(협진의 경우 당일에도 추가 가능)
- * @
- * @param :
- * @return :
- * @author : 김광성 2010.06.17
- * @---------------------------------------------------
- */
- function fCheckCnstOpFlag(){
- // 협진의뢰 시 수술구분정보 체크(협진의 경우 당일에도 추가 가능) 2010.06.17 kskim
- var cnstopflag = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/cnstopflag");
- if( cnstopflag == "Y" ){
- var opflagcd = model.getValue("/root/main/oprsrvinfo/oprsrvinfo/opflagcd");
- if( opflagcd == 2 || opflagcd == 3 ){
- model.setValue( "/root/main/oprsrvinfo/oprsrvinfo/oproomcd", getParameter("SPMMO11100_rtn_param_oproomcd"));
- model.setValue( "/root/main/oprsrvinfo/oprsrvinfo/opusetm", getParameter("SPMMO11100_rtn_param_opusetm"));
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opfromtmcd", getParameter("SPMMO11100_rtn_param_opfromtmcd"));
- model.setValue("/root/main/oprsrvinfo/oprsrvinfo/opendtmcd", getParameter("SPMMO11100_rtn_param_opendtmcd"));
- model.refresh();
- }
- }
- }
|