1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SSMMR05700_마취환자기록일반정보.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2008-06-23
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "";
- // 마취과 부서코드 (마취통증의학과/통증클리닉)
- var anstdeptcd = "2090000000";
- // 수술실 마취 부서코드 (간호사 소속부서코드)
- var opanstdeptcd = "";
- // 수술실 마취 부서코드 (간호사 소속부서코드)
- var hardcdno = "5590";
- //2012/11/13 End
- var orddd = "";
- var cretno = "";
- var ordtype = "";
- var ioflag = "";
- var oprsrvno = "";
- var mainoprsrvno = "";
- var ophistno = "";
- var pid = "";
- var phngnm = "";
- var anstrecno = "";
- var anstdd = "";
- var currentdate = "";
- var patarrvdt = "";
- var checkedMeetingTime = "N";
- //2013/09/11 수술구분
- var old_opflagcd="";
- var new_opflagcd="";
- //2013/09/11
- //2013/12/19
- var nurseoprec=""; //간호 수술기록 존재여부
- var rtn="";
- //2013/12/19
- var btn_oproominoutctl_clickyn=false;
- function cf_TRMMR03701(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0)
- {
- return;
- }
- else
- {
- //협진수술여부
- mainoprsrvno = ds_oprsrvinfo.lookup("seq",1,"mainoprsrvno");
- if(mainoprsrvno=="-" || utlf_isNull(mainoprsrvno)){
- sysf_messageBox("수술 예약 정보가 올바르지 않습니다. 전산실로 문의 바랍니다.", "E");
- return;
- }
-
- if (oprsrvno != mainoprsrvno) {
- //2013/09/23 START 협진 수술에 대해서도 마취 기록지를 사용 할 수 있도록 수정(이정택)
- sysf_messageBox("협진수술에 마취 기록을 작성합니다.\n주수술과 연계되지 않고 협진수술로 수술 종료시에는 주과에 연락하여\n수술취소를 안내해 주시기 바랍니다.", "I", "");
- }
- //진단명 리스트, 수술명(전)- case cart (주+부), 수술명(후) 조회
- var oParam = {};
- oParam.id = "TRMMR03709";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_opinfo_item=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03709";
- tranf_submit(oParam);
-
- //공통 기본 정보 셋
- oprsrvno = ds_oprsrvinfo.lookup("seq",1,"oprsrvno");
- ophistno = ds_oprsrvinfo.lookup("seq",1,"ophistno");
- pid = ds_oprsrvinfo.lookup("seq",1,"pid");
- phngnm = ds_oprsrvinfo.lookup("seq",1,"phngnm");
- anstrecno = ds_oprsrvinfo.lookup("seq",1,"anstrecno");
-
- ds_send_reqdata.setColumn(0,"oprsrvno" , oprsrvno);
- ds_send_reqdata.setColumn(0,"ophistno" , ophistno);
- ds_send_reqdata.setColumn(0,"pid" , pid);
- ds_send_reqdata.setColumn(0,"anstrecno", anstrecno);
-
- //공통코드 가져오기...
-
- var arrParam = [{dsNm: "ds_init_M0013", cdGrpId: "M0013"}, //M0013:수술구분코드
- {dsNm: "ds_init_M0016", cdGrpId: "M0016"}, //M0016:수술체위코드
- {dsNm: "ds_init_M0020", cdGrpId: "M0020"}, //M0020:수술환자구분코드
- {dsNm: "ds_init_M0008", cdGrpId: "M0008"}, //M0008:마취가산
- {dsNm: "ds_init_M0270", cdGrpId: "M0270"}, //M0270:마취방법코드(주)
- {dsNm: "ds_init_M0271", cdGrpId: "M0271"}, //M0271:마취방법코드(부)
- {dsNm: "ds_init_M0269", cdGrpId: "M0269"}, //M0269:physical status
- {dsNm: "ds_init_M0287", cdGrpId: "M0287"} //M0287:drug 소분류
- ]
- appf_getCodeList(arrParam); //공통코드 보험유형 조회
-
- // 부서코드 콤보조회
- lf_mmbfGetDeptCodeComboList(ds_init_orddept, "D", orddd);
- dsf_addDsItem( ds_init_orddept, "deptcd", "depthngnm", "-", "-", "above");
-
- // 수술방 콤보조회
- var oParam = {};
- oParam.id = "TRMMR03712";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpRoomList";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_init_oproomlist=item";
- oParam.async = false;
-
- tranf_submit(oParam);
- // 마취의 1,2,3
-
- var opcnfmdd = utlf_transNullToEmpty(ds_oprsrvinfo.lookup("seq",1,"opcnfmdd"));
- fGetUserComboList(ds_init_anstdrlist , anstdeptcd, "0330", "", opcnfmdd);
- // 2009.04.21. 수술실마취 부서코드 정보 가져오기.. 하드코드조회 (79)
- dsf_makeValue(ds_send_reqdata,"hardcdno" , "string", hardcdno);
-
- var oParam = {};
- oParam.id = "TRMMR03716";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetHardCode";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_hiddendata_hardcdlist=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03716";
-
- tranf_submit(oParam);
-
- // 용법조회 (주사약)
- ds_send_req.setColumn(0,"cond1" , "I");
- ds_send_req.setColumn(0,"cond2" , 1);
- ds_send_req.setColumn(0,"cond3" , "");
- var oParam = {};
- oParam.id = "TRMMR03710";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetTmedTthdInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_hiddendata_tmedmthdlist=tmedmthdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03710";
- tranf_submit(oParam);
-
- // 마취일반정보조회
- if (anstrecno == "0") {
- // 선택환자정보
- var node = sysf_getGlobalVariable("paminfo");
- ds_paminfolist.clear();
- dsf_setCSVToDs("ds_paminfolist", node);
-
- //환자정보 : 오더일자(원무키), 생성번호(원무키), 내원구분, 서식코드
- ordtype = ds_paminfolist.getColumn(0,"ioflag");
- // O : 왜래, S : 검진
- if (ordtype == "O" || ordtype == "S") {
- orddd = ds_paminfolist.getColumn(0,"orddd");
- ioflag = "o";
- } else {
- orddd = ds_paminfolist.getColumn(0,"indd");
- ioflag = "i";
- }
- cretno = ds_paminfolist.getColumn(0,"cretno");
- // 환자번호, 환자명 셋 해주기.
- ds_anstinfo_5700.setColumn(0,"pid", pid);
- ds_anstinfo_5700.setColumn(0,"phngnm", phngnm);
- // 원무키 : 오더일자, 생성번호 셋 해주기.
- ds_anstinfo_5700.setColumn(0,"orddd", orddd);
- ds_anstinfo_5700.setColumn(0,"cretno", cretno);
- // 마취일자는 수술확정일자와 동일하게 한다.
- anstdd = ds_oprsrvinfo.lookup("seq",1,"opcnfmdd");
- ds_anstinfo_5700.setColumn(0,"anstdd", anstdd);
- //20131010 이정택 집도과 및 집도의 세팅하는 부분 수정
- ds_anstinfo_5700.setColumn(0,"perfdeptcd1", ds_oprsrvinfo.lookup("seq",1,"perfdeptcd"));
- ds_anstinfo_5700.setColumn(0,"perfdrid1", ds_oprsrvinfo.lookup("seq",1,"perfdrid"));
- ds_anstinfo_5700.setColumn(0,"perfdeptcd2", ds_oprsrvinfo.lookup("seq",2,"perfdeptcd"));
- ds_anstinfo_5700.setColumn(0,"perfdrid2", ds_oprsrvinfo.lookup("seq",2,"perfdrid"));
- ds_anstinfo_5700.setColumn(0,"perfdeptcd3", ds_oprsrvinfo.lookup("seq",3,"perfdeptcd"));
- ds_anstinfo_5700.setColumn(0,"perfdrid3", ds_oprsrvinfo.lookup("seq",3,"perfdrid"));
- ds_anstinfo_5700.setColumn(0,"perfdeptcd4", ds_oprsrvinfo.lookup("seq",4,"perfdeptcd"));
- ds_anstinfo_5700.setColumn(0,"perfdrid4", ds_oprsrvinfo.lookup("seq",4,"perfdrid"));
-
-
- ds_anstinfo_5700.setColumn(0,"anstdrid1", ds_oprsrvinfo.lookup("seq",1,"anstdrid1"));
- ds_anstinfo_5700.setColumn(0,"anstdrid2", ds_oprsrvinfo.lookup("seq",1,"anstdrid2"));
- ds_anstinfo_5700.setColumn(0,"anstdrid3", ds_oprsrvinfo.lookup("seq",1,"anstdrid3"));
- //2013/09/25 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- ds_anstinfo_5700.setColumn(0,"anstdrid4", ds_oprsrvinfo.lookup("seq",1,"anstdrid4"));
- //20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- ds_anstinfo_5700.setColumn(0,"anstdrid5", ds_oprsrvinfo.lookup("seq",1,"anstdrid5"));
- ds_anstinfo_5700.setColumn(0,"anstdrid6", ds_oprsrvinfo.lookup("seq",1,"anstdrid6"));
- ds_anstinfo_5700.setColumn(0,"anstdrid7", ds_oprsrvinfo.lookup("seq",1,"anstdrid7"));
- ds_anstinfo_5700.setColumn(0,"anstdrid8", ds_oprsrvinfo.lookup("seq",1,"anstdrid8"));
-
-
- //2013/09/25
-
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술방)
- ds_anstinfo_5700.setColumn(0,"oproomcd", ds_oprsrvinfo.lookup("seq",1,"oproomcd"));
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술구분)
- ds_anstinfo_5700.setColumn(0,"opflagcd", ds_oprsrvinfo.lookup("seq",1,"opflagcd"));
- // 마취일반정보가 없는 경우 수술예약정보로 기본 셋 (수술체위)
- var opposturecd = ds_oprsrvinfo.lookup("seq",1,"opposturecd");
- var opposturerem = ds_init_M0016.lookup("cdid", opposturecd, "cdnm");
- ds_anstinfo_5700.setColumn(0,"opposturecd", opposturecd);
- ds_anstinfo_5700.setColumn(0,"opposturerem", opposturerem);
- // 마취방법 (주/부), 마취가산, Physical Status 기본 셋
- // 2008.12.23. 마취방법(주) default 는 "" 공백으로 항상 선택되어야 함.
- ds_anstinfo_5700.setColumn(0,"anstmthdcd", "");
- ds_anstinfo_5700.setColumn(0,"anstmthdcdsub", "00");
- ds_anstinfo_5700.setColumn(0,"anstaddcd", "0");
- ds_anstinfo_5700.setColumn(0,"physstat", "01");
- var opcnfmdd = ds_oprsrvinfo.lookup("seq",1,"opcnfmdd");
- opcnfmdd.substr(0,8);
- // 마취, 수술 일자
- ds_anstinfo_5700.setColumn(0,"meetingdd" , opcnfmdd);
- ds_anstinfo_5700.setColumn(0,"tmoutchkdd" , opcnfmdd);
- ds_anstinfo_5700.setColumn(0,"optodd" , opcnfmdd);
- ds_anstinfo_5700.setColumn(0,"anstfromdd" , opcnfmdd);
- ds_anstinfo_5700.setColumn(0,"ansttodd" , opcnfmdd);
- //간호수술기록에서 수술시작 정보 읽어온다. 2010.04.14, 주희경 추가
- ds_send_reqdata.setColumn(0,"oprsrvno" , oprsrvno);
- //2014/01/07 서브밋 주석처리
-
- var tmpopcnfmdd = ds_temp_anstinfo.getColumn(0,"opfromdd");
- var opcnfmtm = ds_temp_anstinfo.getColumn(0,"opfromtm");
- if ( !utlf_isNull(tmpopcnfmdd))
- {
- opcnfmdd = tmpopcnfmdd;
- }
- ds_anstinfo_5700.setColumn(0,"opfromdd" , opcnfmdd);
- ds_anstinfo_5700.setColumn(0,"opfromtm" , opcnfmtm);
-
- //20131111 키 및 몸무게 세팅하도록 수정(이정택)
- ds_anstinfo_5700.setColumn(0,"height", ds_oprsrvinfo.lookup("seq",1,"ht"));
- ds_anstinfo_5700.setColumn(0,"weight", ds_oprsrvinfo.lookup("seq",1,"wt"));
- //20131111
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (preopcureflag == "N")
- {
- preopcureflag = "";
- }
- ds_anstinfo_5700.setColumn(0,"preopcureflag" , preopcureflag);
- // 마취기록 일련번호 기본셋..
- anstrecno = ds_anstinfo_5700.getColumn(0,"anstrecno");
- ds_oprsrvinfo.setColumn(0,"anstrecno", anstrecno);
- ds_send_reqdata.setColumn(0,"anstrecno" , anstrecno);
- // 집도의사 콤보조회 (1)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd1");
- //fGetUserComboList("/root/send/userlist1", "/root/init/userlist1", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist1 , orddeptcd, "0330", "");
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd2") != "-") {
- // 집도의사 콤보조회 (2)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd2");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist2", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist2 , orddeptcd, "0330", "");
- }
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd3") != "-") {
- // 집도의사 콤보조회 (3)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd3");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist3", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist3 , orddeptcd, "0330", "");
- }
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd4") != "-") {
- // 집도의사 콤보조회 (4)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd4");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist4", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist4 , orddeptcd, "0330", "");
- }
- // opposturerem
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"opposturerem", ds_anstinfo_5700.getColumn(0,"opposturerem"));
- // remark
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"remark" , ds_anstinfo_5700.getColumn(0,"remark"));
- // pca remark
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"pcarem" , ds_anstinfo_5700.getColumn(0,"pcarem"));
- // vs set code (2009.06.22)
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"vssetcd" , ds_anstinfo_5700.getColumn(0,"vssetcd"));
-
- // 2017.03.15 default '일치'
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"recmatchflag" , "Y");
-
- // 마취시작시간, 마취종료시간 차~
- fGetHours();
- // 시간 컨트롤
- fCtlDisable(false);
- // 2009.05.26. 대기실 환자 도착시간 표시하기..
- //2013/10/10 병동 출발시각은 메인수술에만 기록하기 때문에 메인으로 변경하여 정보 취득후 다시 원래 수술번호로 원복(이정택)
- //fGetPatArrvDT();
- ds_send_reqdata.setColumn(0,"oprsrvno" , mainoprsrvno);
- fGetPatArrvDT();
- ds_send_reqdata.setColumn(0,"oprsrvno" , oprsrvno);
- //2013/10/10 End
-
- // 2009.05.19. 수술전평가서 formcd 조회하기..
- var oParam = {};
- oParam.id = "TRMMO05503";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetPreOpAssemRecFormcd";
- oParam.inds = "req=ds_init_hardcd";
- oParam.outds = "ds_init_formcd_hardcd=hardcd";
- oParam.async = false;
- tranf_submit(oParam);
-
-
- // 2008.10.07. 수술전평가서 정보가져오기..
- ds_opanstform.clear();
- var oParam = {};
- oParam.id = "TRMMR03714";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpAnstFormSeqno";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_opanstform=opanstform";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03714";
-
- tranf_submit(oParam);
-
- } else {
- var oParam = {};
- oParam.id = "TRMMR03702";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_anstinfo_5700=anstinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03702";
- tranf_submit(oParam);
- }
-
-
-
- }
-
- }
- function cf_TRMMR03702(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (preopcureflag == "N")
- {
- preopcureflag = "";
- }
- ds_anstinfo_5700.setColumn(0,"preopcureflag" , preopcureflag);
- // 마취기록 일련번호 기본셋..
- anstrecno = ds_anstinfo_5700.getColumn(0,"anstrecno");
- ds_oprsrvinfo.setColumn(0,"anstrecno", anstrecno);
- ds_send_reqdata.setColumn(0,"anstrecno" , anstrecno);
- // 집도의사 콤보조회 (1)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd1");
- //fGetUserComboList("/root/send/userlist1", "/root/init/userlist1", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist1 , orddeptcd, "0330", "");
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd2") != "-") {
- // 집도의사 콤보조회 (2)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd2");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist2", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist2 , orddeptcd, "0330", "");
- }
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd3") != "-") {
- // 집도의사 콤보조회 (3)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd3");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist3", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist3 , orddeptcd, "0330", "");
- }
- if (ds_anstinfo_5700.getColumn(0,"perfdeptcd4") != "-") {
- // 집도의사 콤보조회 (4)
- var orddeptcd = ds_anstinfo_5700.getColumn(0,"perfdeptcd4");
- //fGetUserComboList("/root/send/userlist", "/root/init/userlist4", orddeptcd, '0330', ''); // 0330
- fGetUserComboList(ds_init_userlist4 , orddeptcd, "0330", "");
- }
- // opposturerem
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"opposturerem", ds_anstinfo_5700.getColumn(0,"opposturerem"));
- // remark
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"remark" , ds_anstinfo_5700.getColumn(0,"remark"));
- // pca remark
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"pcarem" , ds_anstinfo_5700.getColumn(0,"pcarem"));
- // vs set code (2009.06.22)
- parent.parent.parent.parent.ds_anstinfo.setColumn(0,"vssetcd" , ds_anstinfo_5700.getColumn(0,"vssetcd"));
-
- // [요청번호:20170214016] 마취기록지
- parent.parent.parent.parent.ds_anstinfo.setColumn(0, "teethrem" , ds_anstinfo_5700.getColumn(0, "teethrem"));
- parent.parent.parent.parent.ds_anstinfo.setColumn(0, "recmatchflag" , ds_anstinfo_5700.getColumn(0, "recmatchflag"));
- parent.parent.parent.parent.ds_anstinfo.setColumn(0, "reccomparerem" , ds_anstinfo_5700.getColumn(0, "reccomparerem"));
- parent.parent.parent.parent.ds_anstinfo.setColumn(0, "recsolutionsrem" , ds_anstinfo_5700.getColumn(0, "recsolutionsrem"));
-
- // 마취시작시간, 마취종료시간 차~
- fGetHours();
- // 시간 컨트롤
- fCtlDisable(false);
- // 2009.05.26. 대기실 환자 도착시간 표시하기..
- //2013/10/10 병동 출발시각은 메인수술에만 기록하기 때문에 메인으로 변경하여 정보 취득후 다시 원래 수술번호로 원복(이정택)
- //fGetPatArrvDT();
- ds_send_reqdata.setColumn(0,"oprsrvno" , mainoprsrvno);
- fGetPatArrvDT();
- ds_send_reqdata.setColumn(0,"oprsrvno" , oprsrvno);
- //2013/10/10 End
-
- // 2009.05.19. 수술전평가서 formcd 조회하기..
- var oParam = {};
- oParam.id = "TRMMO05503";
- oParam.service = "prcpmngtapp.OpMngt";
- oParam.method = "reqGetPreOpAssemRecFormcd";
- oParam.inds = "req=ds_init_hardcd";
- oParam.outds = "ds_init_formcd_hardcd=hardcd";
- oParam.async = false;
- tranf_submit(oParam);
-
-
- // 2008.10.07. 수술전평가서 정보가져오기..
- var oParam = {};
- oParam.id = "TRMMR03714";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpAnstFormSeqno";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_opanstform=opanstform";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03714";
-
- tranf_submit(oParam);
-
- }
- function cf_TRMMR03714(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- // 2010.02.02. 하드코드 정보 가져오기..
- lf_reqHardCodeInfo(ds_init_chkhardcd, "9919");
- var checkedStartDD = ds_init_chkhardcd.getColumn(0,"hardcd");
- var opdd = ds_oprsrvinfo.lookup("seq",1,"opcnfmdd");
- if (!utlf_isNull(checkedStartDD) && checkedStartDD <= opdd) {
- checkedMeetingTime = "Y";
- ds_hiddendata.setColumn(0,"checkedmeetingtime", checkedMeetingTime);
-
- }
-
- //2012/12/11 Start 화면 로딩 후 수술부위확인 점검표의 인증저장 여부 체크
- if(parent.parent.parent.parent.ds_init_applychk.getColumn(0,"hardcd")=="Y"){
- fChkEspi();
- }
- //2012/12/11 End
-
- //2013/09/11
- var opflagcd=ds_anstinfo_5700.getColumn(0,"opflagcd");
- if(!utlf_isNull(opflagcd)){
- old_opflagcd=opflagcd;
- }
- //2013/09/11
- }
- function cf_TRMMR03709(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- // 마취 수술후명 카피 노드셋
- //copyNodeset("/root/main/opinfo7/item" , "/root/main/opinfo/item[cdflag = '4']");
- ds_opinfo_item.filter("cdflag == '4'");
- ds_opinfo_item.applyChange();
- ds_opinfo7_item.copyData(ds_opinfo_item,true);
- ds_opinfo_item.filter("");
- }
- function cf_TRMMR03716(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- opanstdeptcd = ds_hiddendata_hardcdlist.lookup("hardcdno", hardcdno , "trgtcd");
- // 수술실 마취 간호사 1,2
- fGetUserComboList(ds_init_anstnurslist , opanstdeptcd, "1140", "");
- }
- function cf_TRMMR03710(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit(send_oprsrvno) {
- ds_anstinfo_5700.enableevent = false;
- oprsrvno = send_oprsrvno;
- ds_hiddendata.clearData();
- ds_patinfo.clearData();
- ds_patinfo.addRow();
- ds_hiddendata.addRow();
- if (oprsrvno.length == 0) {
- ds_anstinfo_5700.enableevent = true;
- return;
-
- }
-
- //2016.10.11 [수술탭] Popup Menu 서식코드(Formcd)
- lf_getHardCDList("N", 9969, null, ds_pmenu_formcd);
-
- ds_anstinfo_5700.filter("");
- ds_anstinfo_5700.clearData();
- ds_anstinfo_5700.addRow();
- ds_anstinfo_5700.setColumn(0,"preopcureflag","N");
- ds_anstinfo_5700.setColumn(0,"anstmthdchgflag","N");
- instcd = sysf_getUserInfo("dutplceinstcd"); // 2009.04.21. 기관코드 셋;
- //초기화 데이타
- ds_send_reqdata.setColumn(0,"instcd" , instcd);
- ds_send_reqdata.setColumn(0,"anstdeptcd", anstdeptcd);
- ds_send_reqdata.setColumn(0,"oprsrvno" , oprsrvno);
- bool1.value = "N";
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_reqdata.setColumn(0,"currentdate" , currentdate);
-
- // 2017.06.19 집도의 초기화
- ds_init_userlist2.clearData();
- ds_init_userlist2.addRow();
- ds_init_userlist3.clearData();
- ds_init_userlist3.addRow();
- ds_init_userlist4.clearData();
- ds_init_userlist4.addRow();
- cmb_perfdr2.value = "";
- cmb_perfdr3.value = "";
- cmb_perfdr4.value = "";
-
-
- //수술예약정보조회
- var oParam = {};
- oParam.id = "TRMMR03701";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpRvInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_oprsrvinfo=oprsrvinfo";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03701";
- tranf_submit(oParam);
- ds_anstinfo_5700.enableevent = true;
-
- }
- /**
- * @desc : 그래프의 시작시간 가져오기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetGraphFormdt(fromdt)
- {
- var fromdd = fromdt.substr(0,8);
- var fromhr = fromdt.substr(8,2);
- var frommin = fromdt.substr(10,2);
-
- // 6분 시작 -> 5분/10분, 14분 시작 -> 10분/15분
- var share = parseInt(frommin / 5);
- frommin = 5 * share;
- if (("" + frommin).length == 1) { frommin = "0" + frommin; }
- return "" + fromdd + fromhr + frommin;
- }
- /**
- * @desc : 마취일반정보 저장
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSaveAnstInfo(flag) {
- ds_anstinfo_5700.enableevent = false;
- var chk_anstrecno = ds_anstinfo_5700.getColumn(0,"anstrecno");
-
- if (utlf_isNull(chk_anstrecno)) { // 2009.06.22. 이미 저장된 마취기록정보가 있는가? 덮어쓸껀지 물어보자..
- var oParam = {};
- oParam.id = "TRMMR03717";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOprsAnstInfo";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_oprsanstinfo=item";
- oParam.async = false;
- tranf_submit(oParam);
- var dataCnt = ds_oprsanstinfo.rowcount;
- if (dataCnt > 0) {
- // 최초입력자 & 시간 / 최종수정자 & 시간
- var fstrgstrid = ds_oprsanstinfo.getColumn(0,"fstrgstrid");
- var fstrgstrnm = ds_oprsanstinfo.getColumn(0,"fstrgstrnm");
- var fstrgstdt = ds_oprsanstinfo.getColumn(0,"fstrgstdt");
- var lastupdtrid = ds_oprsanstinfo.getColumn(0,"lastupdtrid");
- var lastupdtrnm = ds_oprsanstinfo.getColumn(0,"lastupdtrnm");
- var lastupdtdt = ds_oprsanstinfo.getColumn(0,"lastupdtdt");
- var message = "";
- message = message + "\n" + "----------------------------------------------------"
- message = message + "\n" + "이미 저장된 마취기록지가 있습니다. 덮어쓰시겠습니까?"
- message = message + "\n" + "----------------------------------------------------"
- message = message + "\n" + "최초작성 : " + fstrgstrnm + " (" + fstrgstdt + ")";
- message = message + "\n" + "최종수정 : " + lastupdtrnm + " (" + lastupdtdt + ")";
- message = message + "\n" + "----------------------------------------------------"
- var retValue = sysf_messageBox(message, "Q999", "");
- if( retValue == "6" ){
- chk_anstrecno = ds_oprsanstinfo.getColumn(0,"anstrecno");
- ds_anstinfo_5700.setColumn(0,"anstrecno", chk_anstrecno);
- } else {
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- }
-
- if (utlf_isNull(flag)) { flag = "N" };
- // 2008.12.23. 마취방법(주) default 는 "" 공백으로 항상 선택되어야 함.
- var anstfromtm = ds_anstinfo_5700.getColumn(0,"anstmthdcd");
- if (utlf_isNull(anstfromtm)){
- sysf_messageBox("마취방법 (주마취)를 선택해 주시기 바랍니다.", "E");
- ds_anstinfo_5700.enableevent = true;
- return;
- }
-
- //20131112 추가(이정택)
- var anstdrid1 = cmb_anstdrid1.value;
- if(utlf_isNull(anstdrid1) || anstdrid1=="0" || anstdrid1=="-"){
- sysf_messageBox("첫번째 마취의는 필수 입력입니다.", "E");
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- //20131112
- dsf_makeValue(ds_anstinfo_5700,"opposturerem","string", parent.parent.parent.parent.ds_anstinfo.getColumn(0,"opposturerem")); // opposturerem
- dsf_makeValue(ds_anstinfo_5700,"remark" , "string",parent.parent.parent.parent.ds_anstinfo.getColumn(0,"remark")); // remark
- dsf_makeValue(ds_anstinfo_5700,"pcarem" , "string",parent.parent.parent.parent.ds_anstinfo.getColumn(0,"pcarem")); // pca remark
- dsf_makeValue(ds_anstinfo_5700,"vssetcd" , "string",parent.parent.parent.parent.ds_anstinfo.getColumn(0,"vssetcd")); // vs set code (2009.06.22)
-
- // [요청번호:20170214016] 마취기록지
-
- ds_anstinfo_5700.setColumn(0, "teethrem" , parent.parent.parent.parent.ds_anstinfo.getColumn(0, "teethrem"));
- ds_anstinfo_5700.setColumn(0, "recmatchflag" , parent.parent.parent.parent.ds_anstinfo.getColumn(0, "recmatchflag"));
- ds_anstinfo_5700.setColumn(0, "reccomparerem" , parent.parent.parent.parent.ds_anstinfo.getColumn(0, "reccomparerem"));
- ds_anstinfo_5700.setColumn(0, "recsolutionsrem" , parent.parent.parent.parent.ds_anstinfo.getColumn(0, "recsolutionsrem"));
- // 임시 마취의사리스트 정보
- var anstdrid1_c = ds_anstinfo_5700.getColumn(0,"anstdrid1");
- var anstdrid2_c = ds_anstinfo_5700.getColumn(0,"anstdrid2");
- var anstdrid3_c = ds_anstinfo_5700.getColumn(0,"anstdrid3");
- var anstdrid4_c = ds_anstinfo_5700.getColumn(0,"anstdrid4"); //2013/02/04 Start 마취의 추가
-
- // 20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- var anstdrid5_c = ds_anstinfo_5700.getColumn(0,"anstdrid5");
- var anstdrid6_c = ds_anstinfo_5700.getColumn(0,"anstdrid6");
- var anstdrid7_c = ds_anstinfo_5700.getColumn(0,"anstdrid7");
- var anstdrid8_c = ds_anstinfo_5700.getColumn(0,"anstdrid8");
-
- // 임시 간호사 리스트 정보
- var anstnursid1_c = ds_anstinfo_5700.getColumn(0,"anstnursid1");
- var anstnursid2_c = ds_anstinfo_5700.getColumn(0,"anstnursid2");
- var anstnursid3_c = ds_anstinfo_5700.getColumn(0,"anstnursid3"); //20131104 임시간호사 추가
- var anstnursid4_c = ds_anstinfo_5700.getColumn(0,"anstnursid4"); //20131104 임시간호사 추가
- var perfdeptcd1_c = ds_anstinfo_5700.getColumn(0,"perfdeptcd1");
- var perfdrid1_c = ds_anstinfo_5700.getColumn(0,"perfdrid1");
- var perfdeptcd2_c = ds_anstinfo_5700.getColumn(0,"perfdeptcd2");
- var perfdrid2_c = ds_anstinfo_5700.getColumn(0,"perfdrid2");
- var perfdeptcd3_c = ds_anstinfo_5700.getColumn(0,"perfdeptcd3");
- var perfdrid3_c = ds_anstinfo_5700.getColumn(0,"perfdrid3");
- var perfdeptcd4_c = ds_anstinfo_5700.getColumn(0,"perfdeptcd4");
- var perfdrid4_c = ds_anstinfo_5700.getColumn(0,"perfdrid4");
- // 마취, 수술 (시작 날짜+시간, 종료 날짜+시간)
-
- var meetingdt = ds_anstinfo_5700.getColumn(0,"meetingdd") + utlf_transNullToEmpty(ipt_meetingtm.value) ;
- var tmoutchkdt = ds_anstinfo_5700.getColumn(0,"tmoutchkdd") + utlf_transNullToEmpty(ipt_tmoutchktm.value);
- var anstfromdt = ds_anstinfo_5700.getColumn(0,"anstfromdd") + utlf_transNullToEmpty(ipt_anstfromtm.value);
- var ansttodt = ds_anstinfo_5700.getColumn(0,"ansttodd") + utlf_transNullToEmpty(ipt_ansttotm.value);
- var opfromdt = ds_anstinfo_5700.getColumn(0,"opfromdd") + utlf_transNullToEmpty(ipt_opfromtm.value) ;
- var optodt = ds_anstinfo_5700.getColumn(0,"optodd") + utlf_transNullToEmpty(ipt_optotm.value) ;
-
- var anstfromtm = utlf_transNullToEmpty(ipt_anstfromtm.value);
- var ansttotm = utlf_transNullToEmpty(ipt_ansttotm.value);
- var opfromtm = utlf_transNullToEmpty(ipt_opfromtm.value);
- var optotm = utlf_transNullToEmpty(ipt_optotm.value);
- //if (utlf_isNull(anstfromtm)) {anstfromdt = anstfromdt + "9999"};
- //if (utlf_isNull(ansttotm)) {ansttodt = ansttodt + "9999"};
- //if (utlf_isNull(opfromtm)) {opfromdt = opfromdt + "9999"};
- //if (utlf_isNull(optotm)) {optodt = optodt + "9999"};
- meetingdt = meetingdt.replace("undefined","");
- tmoutchkdt = tmoutchkdt.replace("undefined","");
- anstfromdt = anstfromdt.replace("undefined","");
- ansttodt = ansttodt.replace("undefined","");
- opfromdt = opfromdt.replace("undefined","");
- optodt = optodt.replace("undefined","");
-
-
- // 마취, 수술 (시작일시, 종료일시)
- dsf_makeValue(ds_anstinfo_5700,"meetingdt" , "string",meetingdt);
- dsf_makeValue(ds_anstinfo_5700,"tmoutchkdt", "string",tmoutchkdt);
- dsf_makeValue(ds_anstinfo_5700,"anstfromdt", "string",anstfromdt);
- dsf_makeValue(ds_anstinfo_5700,"ansttodt" , "string",ansttodt);
- dsf_makeValue(ds_anstinfo_5700,"opfromdt" , "string",opfromdt);
- dsf_makeValue(ds_anstinfo_5700,"optodt" , "string",optodt);
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (utlf_isNull(preopcureflag)) { preopcureflag = "N" };
- ds_anstinfo_5700.setColumn(0,"preopcureflag" , preopcureflag);
-
- var vssetcd = ds_anstinfo_5700.getColumn(0,"vssetcd"); // 2009.06.16. V/S 셋코드..
- if (utlf_isNull(vssetcd)) { vssetcd = "0" };
- ds_anstinfo_5700.setColumn(0,"vssetcd" , vssetcd);
- //마취일반정보 저장
- dsf_copyDs(ds_send_reqdata_anstinfo, ds_anstinfo_5700,"replace");
-
- dsf_makeValue(ds_send_reqdata_anstinfo,"instcd" ,"string", instcd);
- dsf_makeValue(ds_send_reqdata_anstinfo,"oprsrvno" , "string", oprsrvno);
- dsf_makeValue(ds_send_reqdata_anstinfo,"mainoprsrvno" , "string", mainoprsrvno);
- dsf_makeValue(ds_send_reqdata_anstinfo,"ophistno" , "string", ophistno);
- dsf_makeValue(ds_send_reqdata_anstinfo,"pid" , "string", pid);
- dsf_makeValue(ds_send_reqdata_anstinfo,"anstdd" , "string", anstdd);
- dsf_makeValue(ds_send_reqdata_anstinfo,"lastespiyn" ,"string", flag);
-
- dsf_makeValue(ds_send_reqdata_anstinfo,"chopflagcd", "string",new_opflagcd);
-
-
- //2013/12/19
- var temp_patinroomdd="";
- var temp_patinroomtm="";
- var temp_patoutroomdd="";
- var temp_patoutroomtm="";
- if(nurseoprec=="false"){
- temp_patinroomdd = ipt_patinroomdd.value;
- temp_patinroomtm = ipt_patinroomtm.value;
- temp_patoutroomdd = ipt_patoutroomdd.value;
- temp_patoutroomtm = ipt_patoutroomtm.value;
-
- var temp_wardstartdttm = ds_anstinfo_5700.getColumn(0,"wardstartdttm");
- var temp_patarrvdttm = ds_anstinfo_5700.getColumn(0,"patarrvdttm");
- var temp_patinroomdt = ds_anstinfo_5700.getColumn(0,"patinroomdt");
- var temp_patoutroomdt = ds_anstinfo_5700.getColumn(0,"patoutroomdt");
- if(utlf_isNull(temp_patinroomdt)){ // 환자 수술방 입실 시간이 저장되어 있지 않은 상태
- if(!utlf_isNull(temp_patoutroomtm)){ // 환자 수술방 퇴실 시간을 기록한 상태
- sysf_messageBox("수술방 입실시간과 동시에 퇴실시간은 입력 불가능합니다.", "E");
- ipt_patoutroomtm.value="";
- temp_patoutroomdd="";
- temp_patoutroomtm="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{ // 환자 수술방 입실시간이 없는 상태에서 저장시 수술방 퇴실 시간을 없애주기
- temp_patoutroomdd="";
- temp_patoutroomtm="";
- }
- }
- fGetPatArrvDT("recheck");
- }
-
- dsf_makeValue(ds_send_reqdata_anstinfo,"patinroomdd", "string",ipt_patinroomdd.value);
- dsf_makeValue(ds_send_reqdata_anstinfo,"patinroomtm", "string",ipt_patinroomtm.value);
- dsf_makeValue(ds_send_reqdata_anstinfo,"patoutroomdd", "string",ipt_patoutroomdd.value);
- dsf_makeValue(ds_send_reqdata_anstinfo,"patoutroomtm", "string",ipt_patoutroomtm.value);
- dsf_makeValue(ds_send_reqdata_anstinfo,"opcnfmdd", "string",ds_oprsrvinfo.getColumn(0,"opcnfmdd"));
- dsf_makeValue(ds_send_reqdata_anstinfo,"perfdeptcd", "string",ds_oprsrvinfo.getColumn(0,"perfdeptcd")); // 2014/03/21
-
- if(!fRecTimeCheck(rtn)){ //2013/12/30 마취기록지상 시간을 다시 한번 체크 하도록 설정
- ds_anstinfo_5700.enableevent = true;
- return;
- } //2013/12/30
- var oParam = {};
- oParam.id = "TXMMR03702";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqExeAnstInfo";
- oParam.inds = "anstinfo=ds_send_reqdata_anstinfo";
- oParam.outds = "ds_anstinfo_5700=anstinfo";
- oParam.async = false;
-
- tranf_submit(oParam);
-
- //2013/09/11
- old_opflagcd=ds_send_reqdata_anstinfo.getColumn(0,"chopflagcd");
- //2013/09/11
- //alert("마취 일반 정보를 저장하였습니다");
-
- // 공통 기본 정보 셋 (마취기록번호)
- anstrecno = ds_anstinfo_5700.getColumn(0,"anstrecno");
- dsf_makeValue(ds_send_reqdata_anstinfo,"anstrecno", "string",anstrecno);
- // 집도과, 집도의, 마취의사 저장
- var updateflag = "N";
- dsf_makeValue(ds_anstinfo_5700,"anstdrid1", "string",anstdrid1_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid2", "string",anstdrid2_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid3", "string",anstdrid3_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid4", "string",anstdrid4_c); //2013/02/04 Start 마취의 추가
- // 20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- dsf_makeValue(ds_anstinfo_5700,"anstdrid5", "string",anstdrid5_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid6", "string",anstdrid6_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid7", "string",anstdrid7_c);
- dsf_makeValue(ds_anstinfo_5700,"anstdrid8", "string",anstdrid8_c);
-
- dsf_makeValue(ds_anstinfo_5700,"anstnursid1", "string",anstnursid1_c);
- dsf_makeValue(ds_anstinfo_5700,"anstnursid2", "string",anstnursid2_c);
- dsf_makeValue(ds_anstinfo_5700,"anstnursid3", "string",anstnursid3_c); //20131104 Start
- dsf_makeValue(ds_anstinfo_5700,"anstnursid4", "string",anstnursid4_c); //20131104 End
-
-
- dsf_makeValue(ds_anstinfo_5700,"perfdeptcd1","string", perfdeptcd1_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdrid1" , "string",perfdrid1_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdeptcd2","string", perfdeptcd2_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdrid2" ,"string", perfdrid2_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdeptcd3","string", perfdeptcd3_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdrid3" ,"string", perfdrid3_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdeptcd4", "string",perfdeptcd4_c);
- dsf_makeValue(ds_anstinfo_5700,"perfdrid4" , "string",perfdrid4_c);
- var savedata = "oprsrvno▦anstrecno▦instcd▦drseq▦drtype▦drid▦deptcd▩";
- var dataString = "";
-
- // 집도과 / 집도의 / 마취의
- if (!utlf_isNull(perfdrid1_c) && perfdrid1_c != "-" && perfdrid1_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦O▦" + perfdrid1_c + "▦" + perfdeptcd1_c + "▩";
- }
- if (!utlf_isNull(perfdrid2_c) && perfdrid2_c != "-" && perfdrid2_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦O▦" + perfdrid2_c + "▦" + perfdeptcd2_c + "▩";
- }
- if (!utlf_isNull(perfdrid3_c) && perfdrid3_c != "-" && perfdrid3_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦O▦" + perfdrid3_c + "▦" + perfdeptcd3_c + "▩";
- }
- if (!utlf_isNull(perfdrid4_c) && perfdrid4_c != "-" && perfdrid4_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦O▦" + perfdrid4_c + "▦" + perfdeptcd4_c + "▩";
- }
- if (!utlf_isNull(anstdrid1_c) && anstdrid1_c != "-" && anstdrid1_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦A▦" + anstdrid1_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid2_c) && anstdrid2_c != "-" && anstdrid2_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦A▦" + anstdrid2_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid3_c) && anstdrid3_c != "-" && anstdrid3_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦A▦" + anstdrid3_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid4_c) && anstdrid4_c != "-" && anstdrid4_c != "0") { //2013/02/04 Start 마취의 추가
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦A▦" + anstdrid4_c + "▦" + anstdeptcd + "▩";
- }//2013/02/04 End
-
- // 20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:2020021003
- if (!utlf_isNull(anstdrid5_c) && anstdrid5_c != "-" && anstdrid5_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦5▦A▦" + anstdrid5_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid6_c) && anstdrid6_c != "-" && anstdrid6_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦6▦A▦" + anstdrid6_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid7_c) && anstdrid7_c != "-" && anstdrid7_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦7▦A▦" + anstdrid7_c + "▦" + anstdeptcd + "▩";
- }
- if (!utlf_isNull(anstdrid8_c) && anstdrid8_c != "-" && anstdrid8_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦8▦A▦" + anstdrid8_c + "▦" + anstdeptcd + "▩";
- }
-
-
- if (!utlf_isNull(anstnursid1_c) && anstnursid1_c != "-" && anstnursid1_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦1▦N▦" + anstnursid1_c + "▦" + opanstdeptcd + "▩";
- }
- if (!utlf_isNull(anstnursid2_c) && anstnursid2_c != "-" && anstnursid2_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦2▦N▦" + anstnursid2_c + "▦" + opanstdeptcd + "▩";
- }
- if (!utlf_isNull(anstnursid3_c) && anstnursid3_c != "-" && anstnursid3_c != "0") { //20131104 Start
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦3▦N▦" + anstnursid3_c + "▦" + opanstdeptcd + "▩";
- }
- if (!utlf_isNull(anstnursid4_c) && anstnursid4_c != "-" && anstnursid4_c != "0") {
- dataString = dataString + oprsrvno + "▦" + anstrecno + "▦" + instcd + "▦4▦N▦" + anstnursid4_c + "▦" + opanstdeptcd + "▩";
- } //20131104 End
-
-
- // 집도과 / 집도의 / 마취의 저장
-
- dsf_setCSVToDs("ds_send_drinfo",savedata + dataString);
- dsf_setTypeFormat(ds_send_drinfo, "anstrecno:INT^drseq:INT");
- var oParam = {};
- oParam.id = "TXMMR03701";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqExeAnstDr";
- oParam.inds = "drinfo=ds_send_drinfo";
- oParam.outds = "ds_anstinfo_5700=anstinfo";
- oParam.async = false;
-
- tranf_submit(oParam);
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
- fSetASAClass();
- // 2009.06.12. 수술전처치 관련 플래그..
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (preopcureflag == "N") { preopcureflag = "" };
- ds_anstinfo_5700.setColumn(0,"preopcureflag" , preopcureflag);
-
- //hkjoo, 2009/10/29, 마취의(선택의) 정보를 원무팀 선택진료정보에 저장
- setSpecdridInfo();
- ds_anstinfo_5700.enableevent = true;
- }
- /*************************************************
- * 마취일반정보 마취의(선택의) 첫번째 정보를
- * 원무팀 선택진료의사 정보의 마취통증의학과 선택의3에 저장
- *************************************************/
- function setSpecdridInfo()
- {
- //mmbfGetHardCodeInfo("/root/send/reqdata/hardCodeInfo", "/root/init/hardcd", 9910);
- lf_getHardCDList("N", 9910, null, ds_init_hardcd);
- var dutplceinstcd = sysf_getUserInfo("dutplceinstcd");
-
- //하드코드 테이블의 정보에 따라 해당 기관에만 적용
- if(!utlf_isNull(ds_init_hardcd.lookup("hardcd", dutplceinstcd , "hardcd")))
- {
- //hkjoo, 2009/10/26
- var anstdrid = "";
- var anstdrid1 = ds_anstinfo_5700.getColumn(0,"anstdrid1");
- var anstdrid2 = ds_anstinfo_5700.getColumn(0,"anstdrid2");
- var anstdrid3 = ds_anstinfo_5700.getColumn(0,"anstdrid3");
-
- if ( ds_init_anstdrlist.lookup("userid", anstdrid1 ,"refseq") == "A")
- {
- anstdrid = anstdrid1;
- }
- else if ( ds_init_anstdrlist.lookup("userid", anstdrid2 ,"refseq") == "A")
- {
- anstdrid = anstdrid2;
- }
- else if ( ds_init_anstdrlist.lookup("userid", anstdrid3 ,"refseq") == "A")
- {
- anstdrid = anstdrid3;
- }
-
- if ( !utlf_isNull(anstdrid))
- {
- var objParam =[{col:"pid", type:"string", size:256, val:pid},
- {col:"anstdrid", type:"string", size:256, val:anstdrid}]
- dsf_createDsRow("ds_send_reqdata_anstinfoMast",objParam, false);
-
- var oParam = {};
- oParam.id = "TRMMR04211";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetSpecdridInfo";
- oParam.inds = "anstinfoMast=ds_send_reqdata_anstinfoMast";
- oParam.outds = "ds_specdridInfo=specdridInfo";
- oParam.async = false;
- tranf_submit(oParam);
- var specdrid1 = ds_specdridInfo.getColumn(0,"specdrid1");
- var specdrid2 = ds_specdridInfo.getColumn(0,"specdrid2");
-
- if ( anstdrid == specdrid1 || anstdrid == specdrid2 ) {
- //alert("원무팀 선택의 정보에 이미 저장 되어 있는 마취의 입니다.");
- }
- else { //선택의1의 정보가 원무팀 선택의1, 선택의2의 정보와 겹치지 않으면 저장
- var oParam = {};
- oParam.id = "TXMMR03713";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqExeAnstDrMastItem";
- oParam.inds = "anstinfoMast=ds_send_reqdata_anstinfoMast";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMMR03713";
- tranf_submit(oParam);
- }
- }
- }
- }
- /************************************/
- function cf_TXMMR03713(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 종료시간에서 시작시간을 뺀 시간 계산
- * @param :
- * @ fromtmPath : 시작시간 (시분)
- * @ totmPath : 종료시간 (시분)
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetHours()
- {
- ds_anstinfo_5700.enableevent = false;
- var anstfromdd = ds_anstinfo_5700.getColumn(0,"anstfromdd");
- var anstfromtm = utlf_transNullToEmpty(ds_anstinfo_5700.getColumn(0,"anstfromtm"));
- var ansttodd = ds_anstinfo_5700.getColumn(0,"ansttodd");
- var ansttotm = utlf_transNullToEmpty(ds_anstinfo_5700.getColumn(0,"ansttotm"));
- if (anstfromtm >= "2400") { anstfromtm = "0000" }
- if (ansttotm >= "2400") { ansttotm = "0000" }
-
- ds_anstinfo_5700.setColumn(0,"anstfromdt", ""+ anstfromdd + anstfromtm);
- ds_anstinfo_5700.setColumn(0,"ansttodt", ""+ ansttodd + ansttotm);
-
- var fromdt = ds_anstinfo_5700.getColumn(0,"anstfromdt");
- var todt = ds_anstinfo_5700.getColumn(0,"ansttodt");
- var getHours = "0000";
- if (fromdt <= todt)
- {
- var date1 = fromdt.toDate("YYYYMMDDhhmm");
- var date2 = todt.toDate("YYYYMMDDhhmm");
-
- getHours= fGetHourInterval(fTimeString(date1),fTimeString(date2));
- }
- if (getHours.length > 4)
- {
- //alert("마취 총시간은 100시간 미만입니다.");
- getHours = "0000";
- }
- var hr = getHours.substr(0,2);
- var min = getHours.substr(2,2);
-
- ds_hiddendata.setColumn(0,"ansttm", hr);
- ds_hiddendata.setColumn(0,"anstmnt",min);
- ds_anstinfo_5700.enableevent = true;
- }
- /**
- * Time 스트링을 자바스크립트 Date 객체로 변환
- * parameter time: Time 형식의 String
- */
- function fTimeObject(time) { //parseTime(time)
- var year = time.substr(0,4);
- var month = time.substr(4,2) - 1; // 1월=0,12월=11
- var day = time.substr(6,2);
- var hour = time.substr(8,2);
- var min = time.substr(10,2);
-
- return new Date(year,month,day,hour,min);
- }
- /**
- * 자바스크립트 Date 객체를 Time 스트링으로 변환
- * parameter date: JavaScript Date Object
- */
- function fTimeString(date) { //formatTime(date)
- var year = date.getFullYear();
- var month = date.getMonth() + 1; // 1월=0,12월=11이므로 1 더함
- var day = date.getDate();
- var hour = date.getHours();
- var min = date.getMinutes();
-
- if (("" + month).length == 1) { month = "0" + month; }
- if (("" + day).length == 1) { day = "0" + day; }
- if (("" + hour).length == 1) { hour = "0" + hour; }
- if (("" + min).length == 1) { min = "0" + min; }
-
- return ("" + year + month + day + hour + min)
- }
- /**
- * 두 Time이 몇 시간 차이나는지 구함
- * time1이 time2보다 크면(미래면) minus(-)
- */
- function fGetHourInterval(time1,time2) {
- var date1 = fTimeObject(time1);
- var date2 = fTimeObject(time2);
- var hour = 1000 * 3600; //1시간
- var min = 1000 * 60; //1분
-
- var origin = parseInt((date2 - date1) / min, 10);
- var deferhour = parseInt(origin / 60,10);
- var defermin = origin % 60;
- var hour = deferhour;
- var min = defermin;
- if (("" + hour).length == 1) { hour = "0" + hour; }
- if (("" + min).length == 1) { min = "0" + min; }
- return ("" + hour + min);
-
- }
- /**
- * Right 빈자리 만큼 padStr 을 붙인다.
- */
- function rpad(src, len, padStr){
- var retStr = "";
- var padCnt = Number(len) - String(src).length;
- for(var i=0;i<padCnt;i++) retStr += String(padStr);
- return src+retStr;
- }
- /**
- * @desc : 종료일시 적용 (선택된 Inhalational Agent)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetAnstToDt()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- var anstfromdt = ds_anstinfo_5700.getColumn(0,"anstfromdd") + ds_anstinfo_5700.getColumn(0,"anstfromtm");
- var agenttodd = ds_hiddendata.getColumn(0,"agenttodd");
- var agenttotm = ds_hiddendata.getColumn(0,"agenttotm");
- var todt = agenttodd + agenttotm;
-
- if (anstfromdt > todt)
- {
- return;
- }
- for (var i=0 ; i < ds_agent01.rowcount ; i++)
- {
- var checked = ds_agent01.getColumn(i,"checked");
-
- if (checked == "true")
- {
- ds_agent01.setColumn(i,"drugtodd", agenttodd);
- ds_agent01.setColumn(i,"drugtotm", agenttotm);
- }
- }
- }
- /**
- * @desc : 수술전상태평가표 기록지
- * @
- * @param :
- * @return :
- * @author : 박유미
- * @---------------------------------------------------
- */
- function fPreOpAssemRec(Flag) {
-
- if( utlf_isNull(Flag) ){
- Flag = "STEP1";
- }
-
- var lv_scrnidx = 0;
- var lv_scrnid = "SSMMR06900";
- if( Flag == "STEP4" ){
- lv_scrnidx = 4;
- lv_scrnid = "SSMMR06900_" + lv_scrnidx;
- }
-
- // 2009.05.29. 수술전평가서팝업 화면 체킹하기..
- var mainObj = frmf_getMainViewer();
- var xpt = this.position.left + eval(0);
- var ypt = this.position.top + eval(0);
- var mon = (sysf_getCurrentMonitorNumber()==1) ? 2 : 1;
-
- var curPrcpObj = mainObj.frmf_findPopup(lv_scrnid); //활성화된 수술전평가서팝업 화면 object loading
-
- if(!utlf_isNull(curPrcpObj)){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- curPrcpObj.frmf_setFocus();
- return;
- }
-
- var nFormcd = ds_pmenu_formcd.lookup("hardcd", Flag, "hardcdnm");
- if( utlf_isNull(nFormcd) ){
- sysf_messageBox("선택한 기록의 서식코드가", "E014");
- return false;
- }
-
- dsf_createDsRow("ds_init_formcd_hardcd", [{col:"hardcd", type:"string", size:256, val:nFormcd}]);
-
- var formseqno = "";
-
- if(Flag == "STEP4"){
-
- lf_OpAssemRecExist(Flag);
-
- if(!lgv_OpAssemRecExist)
- return;
-
- formseqno = ds_data_opanstform.getColumn(0,"formseqno");
- }else{
-
- formseqno = utlf_transEmptyToNull(ds_opanstform.getColumn(0,"formseqno"));
- if (utlf_isNull(formseqno) || formseqno == "0") {
- ds_opanstform.clearData();
- var oParam = {};
- oParam.id = "TRMMR03714";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpAnstFormSeqno";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_opanstform=opanstform";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR03714_fPreOpAssemRec";
- tranf_submit(oParam);
-
- formseqno = ds_opanstform.getColumn(0,"formseqno");
-
- }
- }
-
- var sPid = "";
- var sOrddd = "";
- var sCretNo = "";
- var formcd = "";
-
- if (utlf_isNull(formseqno) || formseqno == "0")
- {
- var rtnMsg = "마취전평가 및 협진서";
- if( Flag != "STEP4"){
- //rtnMsg = "마취유도직전평가서";
- sysf_messageBox(rtnMsg + " 작성이 되지않았습니다. \n진료대상자리스트 수술탭에서 작성하시기 바랍니다.", "E");
- return;
- }
-
- // 환자수술정보
- var node = sysf_getGlobalVariable("paminfo");
- ds_paminfolist.clear();
- dsf_setCSVToDs("ds_paminfolist", node);
- sPid = ds_paminfolist.getColumn(0,"pid"); // 환자번호
- var sPnm = ds_paminfolist.getColumn(0,"hngnm"); // 환자명
- var sSex = ds_paminfolist.getColumn(0,"sex"); // 성별
- var sAge = ds_paminfolist.getColumn(0,"age"); // 나이
- var sIndd = ds_paminfolist.getColumn(0,"indd"); // 입원일자
- sOrddd = ds_paminfolist.getColumn(0,"orddd"); // 진료일자
- sCretNo = ds_paminfolist.getColumn(0,"cretno"); // 환자 일자별 일련번호
- var sInstcd = ds_paminfolist.getColumn(0,"instcd"); // 기관코드
- var sIOFlag = ds_paminfolist.getColumn(0,"ioflag"); // 입원/외래 구분
- var sWardCD = ds_paminfolist.getColumn(0,"wardcd");
- var sRoomCD = ds_paminfolist.getColumn(0,"roomcd");
- var sOrdDeptCd = ds_paminfolist.getColumn(0,"orddeptcd"); // 진료과코드
- var sOrdDrId = ds_paminfolist.getColumn(0,"medispclid"); // 진료의사ID
- var sOrdDeptNm = ds_paminfolist.getColumn(0,"orddeptnm"); // 진료과
- var sOrdDrNm = ds_paminfolist.getColumn(0,"orddrnm"); // 진료의사
- // 2009.05.20. 입원/외래 파람처리를 위하여..
- var sPerfDeptCd = ds_oprsrvinfo.getColumn(0,"perfdeptcd"); // 집도과코드
- var sPerfDrId = ds_oprsrvinfo.getColumn(0,"perfdrid"); // 집도의ID
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
-
- frmf_setParameter("pid", sPid);
- // 2009.05.20. 입원인 경우는 입원일/진료과를.. 이외는 진료일/집도과를..
- if (sIOFlag == "I" || sIOFlag == "D" || sIOFlag == "E") {
- sOrddd = sIndd;
- frmf_setParameter("orddd", sIndd);
- frmf_setParameter("orddeptcd", sOrdDeptCd); //진료과
- } else {
- frmf_setParameter("orddd", sOrddd);
- frmf_setParameter("orddeptcd", sPerfDeptCd); //집도과
- }
- frmf_setParameter("cretno", sCretNo);
- frmf_setParameter("ioflag", sIOFlag);
- frmf_setParameter("orddrid", sPerfDrId); //집도의
- frmf_setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 파라메터 추가 : oprsrvno, opcnfmdd)
- var oprsrvno = ds_oprsrvinfo.getColumn(0,"oprsrvno");
- var opcnfmdd = ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- frmf_setParameter("oprsrvno", oprsrvno);
- frmf_setParameter("opcnfmdd", opcnfmdd);
- frmf_setParameter("openmode", "newform"); //오픈모드는 “recform”
-
- // 2009.05.19. 수술전평가서 폼코드 가져오기.. (의정부 확산 관련 수정내용임)
- formcd = ds_init_formcd_hardcd.getColumn(0,"hardcd");
- frmf_setParameter("formcd", formcd);
- frmf_setParameter("formrecseq", formseqno);
- } else {
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 환자수술정보
- var node = sysf_getGlobalVariable("paminfo");
- ds_paminfolist.clear();
- dsf_setCSVToDs("ds_paminfolist", node);
- sPid = ds_paminfolist.getColumn(0,"pid"); // 환자번호
- var sPnm = ds_paminfolist.getColumn(0,"hngnm"); // 환자명
- var sSex = ds_paminfolist.getColumn(0,"sex"); // 성별
- var sAge = ds_paminfolist.getColumn(0,"age"); // 나이
- var sIndd = ds_paminfolist.getColumn(0,"indd"); // 입원일자
- sOrddd = ds_paminfolist.getColumn(0,"orddd"); // 진료일자
- sCretNo = ds_paminfolist.getColumn(0,"cretno"); // 환자 일자별 일련번호
- var sInstcd = ds_paminfolist.getColumn(0,"instcd"); // 기관코드
- var sIOFlag = ds_paminfolist.getColumn(0,"ioflag"); // 입원/외래 구분
- var sWardCD = ds_paminfolist.getColumn(0,"wardcd");
- var sRoomCD = ds_paminfolist.getColumn(0,"roomcd");
- var sOrdDeptCd = ds_paminfolist.getColumn(0,"orddeptcd"); // 진료과코드
- var sOrdDrId = ds_paminfolist.getColumn(0,"medispclid"); // 진료의사ID
- var sOrdDeptNm = ds_paminfolist.getColumn(0,"orddeptnm"); // 진료과
- var sOrdDrNm = ds_paminfolist.getColumn(0,"orddrnm"); // 진료의사
- var disparam = sPid +"▦" + sPnm +"▦" + sSex+ "/" + sAge+ "▦" + sOrdDeptNm +"▦" + sRoomCD + "▦";
- frmf_setParameter("disppatinfo", disparam); //등록번호▦환자명▦성별/나이▦진료과▦병실▦
- // 2009.02.24. 수술전평가서 띄울때 검사 측정치 등이 있으면 바로 세팅해서 보여달라는 요청
- // 파라메터 추가 : oprsrvno, opcnfmdd)
- var oprsrvno = ds_oprsrvinfo.getColumn(0,"oprsrvno");
- var opcnfmdd = ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- frmf_setParameter("oprsrvno", oprsrvno);
- frmf_setParameter("opcnfmdd", opcnfmdd);
- frmf_setParameter("openmode", "recform"); //오픈모드는 “recform”
- frmf_setParameter("formrecseq", formseqno);
- }
-
- frmf_setParameter("callback", Flag);
- if( lv_scrnidx != 0 ){
- frmf_setParameter("scrnidx", lv_scrnidx);
- }else{
- frmf_clearParameter("scrnidx");
- }
-
- //open("SSMMR06900", 1, 0, 0 ,"", "", "","caption:hidden;");
- frmf_open(lv_scrnid, "SSMMR06900", null, false, 1, 1, 1, null, null, null, null, null, "P");
-
-
-
- }
- function cf_TRMMR03714_fPreOpAssemRec(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function fPreOpAssemRecClose() {
- //술전평가표 저장후 formseqno 넘겨받음
- var param = frmf_getParameter("SSMMR01100_formrecseq");
- if (!utlf_isNull(param)) {
- dsf_makeValue(ds_opanstform,"formseqno", "string", param);
- // 2008.10.07. 수술전평가서 정보가져오기..
- ds_opanstform.clear();
- var oParam = {};
- oParam.id = "TRMMR03714";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpAnstFormSeqno";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_opanstform=opanstform";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03714_fPreOpAssemRecClose";
- tranf_submit(oParam);
- // 2008.10.07. 수술전평가서 작성후.. 표시하기..
- // 2009.03.03. 수술전평가서의 작성된 asa class code 셋하기..
-
- }
- }
- function cf_TRMMR03714_fPreOpAssemRecClose(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- fSetASAClass();
- }
- /**
- * @desc : 사용자콤보 조회
- * @
- * @param : ref - reference path
- * rsltref - result reference path
- * deptcd - 부서코드
- * jobkindcd - 직종코드
- * jobposcd - 직책코드
- * specordyn - 선택진료여부
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetUserComboList(oDsRsltRef, sDeptCd, sJobKindCd, sSpeCordYN, sOpcnfmdd)
- {
- var sRef = dsf_createDsRow("ds_cond_usercombo", [{col:"deptcd", type:"string", size:256, val:sDeptCd}, // 부서코드
- {col:"jobkindcd", type:"string", size:256, val:sJobKindCd}, // 직종코드(의사:0330)
- {col:"specordyn", type:"string", size:256, val:sSpeCordYN}]); // 선택진료여부
-
- var oRef = this.objects[sRef];
-
- if(!utlf_isNull(sOpcnfmdd) && sOpcnfmdd.length == 8){
- oRef.addColumn("opcnfmdd", "string");
- oRef.setColumn(0, "opcnfmdd", sOpcnfmdd); //수술확정일자
- }
-
- var oParam = {};
- oParam.id = "TRMMR03700"; // transaction을 구분하기 위한 ID
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetUserComboList"; // method ID
- oParam.inds = "req=" + sRef; // transaction을 요청할 때 입력값으로 보낼 Dataset 의 ID
- oParam.outds = oDsRsltRef.name + "=usercombo"; // transaction을 처리 결과를 받을 Dataset의 ID
- tranf_submit(oParam);
-
- dsf_addDsItem( oDsRsltRef, "userid", "usernm", "-", "-", "above");
- // Temp로 사용한 Dataset을 삭제
- var oRemoveDs = this.removeChild(sRef);
- oRemoveDs = null;
- }
- /**
- * @desc : meeting time set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetMeetingTime(currentFlag)
- {
- //2013/12/19
- ds_anstinfo_5700.enableevent = false;
- var patinroomdd="";
- var patinroomtm="";
- if(nurseoprec=="false"){
- patinroomdd=ipt_patinroomdd.value;
- patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 입실시간이 입력되지 않았습니다.", "E");
- ipt_meetingtm.value="";
- btn_oproominoutctl.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_meetingtm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
-
- //ds_anstinfo_5700.setColumn(0,"meetingtm", tm.substring(0,4));
- ipt_meetingtm.value = tm.substring(0,4);
-
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"meetingdd") + ipt_meetingtm.value;
-
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("Meeting Time 시간을 정확히 입력하십시오", "E999", "");
- ipt_meetingtm.value = "";
- }
- dt = ds_anstinfo_5700.getColumn(0,"meetingdd") + ipt_meetingtm.value;
- // 4. 환자도착시간 , meeting time 비교
- // 2009.05.04. 무통마취 / 재수술 / 수술전처치 인 경우에는 환자도착시간을 체킹하지 않음..
- // 2009.07.16. 무통마취 / 재수술 인 경우에는 환자도착시간을 체킹하지 않음.. (수술전처치 제외)
- var painlessflag = ds_oprsrvinfo.getColumn(0,"painlessflag");
- var reopflag = ds_oprsrvinfo.getColumn(0,"reopflag");
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- //마취 방법 변경의 경우에도 환자 도착시간 체킹하지 않음. 2010.03.25, 주희경
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- if (painlessflag != "Y" && reopflag != "Y" && anstmthdchgflag != "Y") {
- if (dt.length == 12) {
- //2013/12/19
- var diffDays="";
- var diffSecond="";
- var diffMin="";
- if(nurseoprec=="false"){
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 입실시간이 입력되지 않았습니다.", "E");
- btn_oproominoutctl.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- diffDays = utlf_getDateInterval(patinroomdd, dt.substring(0, 8));
- diffSecond = utlf_getTimeInterval(patinroomtm, dt.substring(8,12));
- diffMin = (diffDays * 24 * 60) + (diffSecond/60);
- }else{
- diffDays = utlf_getDateInterval(patarrvdt.substring(0,8), dt.substring(0, 8));
- diffSecond = utlf_getTimeInterval(patarrvdt.substring(8,12), dt.substring(8,12));
- diffMin = (diffDays * 24 * 60) + (diffSecond/60);
- }
- //2013/12/19
- if (diffMin < 0) {
- if(nurseoprec=="false"){
- sysf_messageBox("Meeting Time이 수술방 입실시간 보다 작습니다.", "E999", "");
- ipt_meetingtm.value = "";
- ipt_meetingtm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- sysf_messageBox("Meeting Time이 대기실 도착시간 보다 작습니다.", "E999", "");
- ipt_meetingtm.value = "";
- ipt_meetingtm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- } else if (checkedMeetingTime == "Y" && diffMin > 15) {
- // 2010.02.02. meeting time 블락킹..
- // 1. 수술간호에서 환자 대기실 도착시간 저장 후 15분 이내에만 마취환자기록의 Meeting Time 을 저장할 수 있도록 Blocking
- // 2. 단, 15분이 지난 경우에는 15분 이내 시간으로 수정하여 Meeting Time 입력 가능해야 함.
- sysf_messageBox("환자 도착 시간 후 15분 이내로 Meeting Time 입력 가능합니다.", "E999", "");
- ipt_meetingtm.value = "";
- }
- }
- }
- // 5. meeting time set
- dt = ds_anstinfo_5700.getColumn(0,"meetingdd") + ds_anstinfo_5700.getColumn(0,"meetingtm");
-
- //마취 방법 변경이 체크되어 있는 경우 수술방 도착시간을 기준으로 일시를 셋팅한다.
- //2010.03.25, 주희경
- if (anstmthdchgflag == "Y")
- {
- var patinroomtm = ds_hiddendata.getColumn(0,"patinroomtm");
- dt = ds_hiddendata.getColumn(0,"patinroomdd") + patinroomtm;
- }
-
-
- var preMeetingdt = ds_anstinfo_5700.getColumn(0,"meetingdt");
- if( !utlf_isNull(preMeetingdt) && preMeetingdt.length == 12
- && !utlf_isNull(dt) && dt.length == 12){
- var bRtn = parent.parent.parent.parent.lf_ChkVsData(dt, preMeetingdt);
- if( bRtn == false ){
- sysf_messageBox("변경하시는 Meeting Time 이전 기입력된 기록(V/S, Progress)이 존재합니다.\n기록(V/S, Progress) 삭제 후 진행하시기 바랍니다.", "E");
- ipt_meetingtm.value = preMeetingdt.substr(8, 12);
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
-
-
- ds_anstinfo_5700.setColumn(0,"meetingdt", dt);
-
- if (dt.length == 12) {
- // 그래프 시작일시, 종료일시 셋해주기.. 마취시작시간 ~ (5분간격 컬럼 표시 : 총 2시간)
- parent.parent.parent.parent.fSetGraphFormdt(dt);
- // 메인 그리드에 그려주자..
- parent.parent.parent.parent.fDisplayGrid();
- // V/S TChart 그려주자..
-
- }
- ipt_tmoutchktm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- }
- /**
- * @desc : time out check time set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetTimeOutCheck(currentFlag)
- {
-
- //2013/12/19
-
- ds_anstinfo_5700.enableevent = false;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_tmoutchktm.value="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_tmoutchktm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ipt_tmoutchktm.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"tmoutchkdd") + ds_anstinfo_5700.getColumn(0,"tmoutchktm");
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("환자확인시간을 정확히 입력하십시오", "E999", "");
- ipt_tmoutchktm.value = "";
- }
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. time out check, meeting time 비교
- var meetingdt = ipt_meetingdd.value + ipt_meetingtm.value;
- if (utlf_transNullToEmpty(ipt_meetingtm.value).length != 4) {
- sysf_messageBox("meeting time 을 입력하십시오", "E999", "");
- ipt_tmoutchktm.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(meetingdt) && anstmthdchgflag != "Y") {
- sysf_messageBox("환자확인시간이 meeting time 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_tmoutchktm.value = "";
- ipt_tmoutchktm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- // 5. time out check set
- dt = ds_anstinfo_5700.getColumn(0,"tmoutchkdd") + ds_anstinfo_5700.getColumn(0,"tmoutchktm");
- ds_anstinfo_5700.setColumn(0,"tmoutchkdt", dt);
- ds_anstinfo_5700.enableevent = true;
- // 6. 시작종료 symbol 그려주기..
- // 20160624 [요청번호:20160818037] 마취기록지 관련
- //parent.parent.parent.parent.fSetTimeRecAnstInfo("02", dt, 1);
-
- }
- /**
- * @desc : 수술 시작 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetOpStartTime(currentFlag) {
- //2013/12/19
- ds_anstinfo_5700.enableevent = false;
- if(nurseoprec=="false")
- {
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm))
- {
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_opfromtm.value="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else
- {
- fCtlDisable(true);
- }
- }
- else
- {
- if (fGetPatArrvDT() == false)
- {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_opfromtm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y")
- {
- var tm = utlf_getCurrentTime();
- ipt_opfromtm.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"opfromdd") + ds_anstinfo_5700.getColumn(0,"opfromtm") ;
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false)
- {
- sysf_messageBox("수술시작시간을 정확히 입력하십시오", "E999", "");
- ipt_opfromtm.value = "";
- }
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. 수술시작시간, 마취시작시간 비교
- var anstfromdt = ds_anstinfo_5700.getColumn(0,"anstfromdt");
- if (anstfromdt.length == 8 && anstmthdchgflag != "Y")
- {
- sysf_messageBox("마취시작시간을 입력하십시오", "E999", "");
- ipt_opfromtm.value = "";
- }
-
- // 5. 수술시작시간 set
- dt = ds_anstinfo_5700.getColumn(0,"opfromdd") + ds_anstinfo_5700.getColumn(0,"opfromtm") ;
- ds_anstinfo_5700.setColumn(0,"opfromdt", dt);
- ds_anstinfo_5700.enableevent = true;
- // 6. 시작종료 symbol 그려주기..
- parent.parent.parent.parent.fSetTimeRecAnstInfo("03", dt, 1);
- }
- /**
- * @desc : 수술 종료 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetOpEndTime(currentFlag)
- {
-
- //2013/12/19
- ds_anstinfo_5700.enableevent = false;
-
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_optotm.value="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_optotm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ipt_optotm.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"optodd") + ds_anstinfo_5700.getColumn(0,"optotm") ;
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("수술종료시간을 정확히 입력하십시오", "E999", "");
- ipt_optotm.value = "";
- }
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
-
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = ds_anstinfo_5700.getColumn(0,"physstat");
- // 4. 수술시작시간, 수술종료시간 비교
- var opfromdt = utlf_transNullToEmpty(ds_anstinfo_5700.getColumn(0,"opfromdt"));
- if (opfromdt.length == 8) {
- sysf_messageBox("수술시작시간을 입력하십시오", "E999", "");
- ipt_optotm.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(opfromdt) && anstmthdchgflag != "Y" && physstat != "06") {
- sysf_messageBox("수술종료시간이 수술시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_optotm.value = "";
- ipt_optotm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- // 5. 수술종료시간 set
- dt = ds_anstinfo_5700.getColumn(0,"optodd") + ds_anstinfo_5700.getColumn(0,"optotm") ;
- ds_anstinfo_5700.setColumn(0,"optodt", dt);
- ds_anstinfo_5700.enableevent = true;
- // 6. 시작종료 symbol 그려주기..
- parent.parent.parent.parent.fSetTimeRecAnstInfo("03", dt, 2);
-
- }
- /**
- * @desc : 마취 시작 시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstStartTime(currentFlag)
- {
-
- //2013/12/19
- ds_anstinfo_5700.enableevent = false;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_anstfromtm.value="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_anstfromtm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ds_anstinfo_5700.setColumn(0,"anstfromtm", tm.substring(0,4));
-
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"anstfromdd") + ds_anstinfo_5700.getColumn(0,"anstfromtm");
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("마취시작시간을 정확히 입력하십시오", "E999", "");
- ipt_anstfromtm.value = "";
- }
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- // 4. 마취시작시간, time out check 비교
- var tmoutchkdt = utlf_transNullToEmpty(ds_anstinfo_5700.getColumn(0,"tmoutchkdt"));
- if (tmoutchkdt.length == 8) {
- sysf_messageBox("환자확인시간을 입력하십시오", "E999", "");
- ipt_anstfromtm.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(tmoutchkdt) && anstmthdchgflag != 'Y') {
- sysf_messageBox("마취시작시간이 환자확인시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_anstfromtm.value = "";
- ipt_anstfromtm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- // 5. 마취시작시간 set
- dt = ds_anstinfo_5700.getColumn(0,"anstfromdd") + ds_anstinfo_5700.getColumn(0,"anstfromtm");
- ds_anstinfo_5700.setColumn(0,"anstfromdt", dt);
- // 6. 마취 시작~종료 시간 구하기..
- fSetAnstStartEndTime();
- ds_anstinfo_5700.enableevent = true;
- // 7. 시작종료 symbol 그려주기..
- // 2009.06.16. 수술전처치 시 마취시간은 [T] - 02 가 아닌 [X] - 01 로 표기함.
- parent.parent.parent.parent.fSetTimeRecAnstInfo("01", dt);
- /*
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (preopcureflag == "Y") {
- parent.parent.parent.parent.fSetTimeRecAnstInfo("01", dt);
- } else {
- parent.parent.parent.parent.fSetTimeRecAnstInfo("02", dt);
- }
- */
- }
- /**
- * @desc : 마취 종료시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstEndTime(currentFlag)
- {
-
- //2013/12/19
- ds_anstinfo_5700.enableevent = false;
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_ansttotm.value="";
- ds_anstinfo_5700.enableevent = true;
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_ansttotm.value = "";
- ds_anstinfo_5700.enableevent = true;
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ipt_ansttotm.value = tm.substring(0,4);
-
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ds_anstinfo_5700.getColumn(0,"ansttodd") + ipt_ansttotm.value;
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("마취종료시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value = "";
- }
- var anstmthdchgflag = ds_anstinfo_5700.getColumn(0,"anstmthdchgflag"); //2010.04.13, 주희경, 마취방법변경 시 시간 체크 블러킹 해제
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = ds_anstinfo_5700.getColumn(0,"physstat");
- // 4. 마취종료시간, 수술종료시간 비교
- var optodt = utlf_transNullToEmpty(ds_anstinfo_5700.getColumn(0,"optodt"));
- var anstfromdt = ipt_anstfromdd.value+ipt_anstfromtm.value; // 마취시작시간
- if (optodt.length == 8) {
- sysf_messageBox("수술종료시간을 입력하십시오", "E999", "");
- ipt_ansttotm.value = "";
- } else if (dt.length == 12 && Number(dt) < Number(optodt) && physstat != "06") {
- sysf_messageBox("마취종료시간이 수술종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value = "";
- ipt_ansttotm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- } else if (dt.length == 12 && Number(dt) < Number(anstfromdt) && physstat != "06") {
- sysf_messageBox("마취종료시간이 마취시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value = "";
- ipt_ansttotm.setFocus();
- ds_anstinfo_5700.enableevent = true;
- return;
- }
-
- // 5. 마취종료시간 set
- dt = ds_anstinfo_5700.getColumn(0,"ansttodd") + ipt_ansttotm.value;
- ds_anstinfo_5700.setColumn(0,"ansttodt", dt);
-
- // 6. 마취 시작~종료 시간 구하기..
- fSetAnstStartEndTime();
- // 7. 시작종료 symbol 그려주기..
- fSetTimeRecAnstInfo("01", dt, 2);
- ds_anstinfo_5700.enableevent = true;
- }
- /**
- * @desc : 마취 종료시간 set
- * @
- * @param :
- * @return :
- * @author : 2008.06.23. 이은영
- * @---------------------------------------------------
- */
- function fSetAnstStartEndTime()
- {
- fGetHours();
- // Inhalational Agent 인 경우 시작일시 셋해주기
-
-
- parent.parent.case_anstmast.iv_anstmast.fSetTimeAgent01();
- // Inhalational Agent : 별도로 Display (항목 선택해 주고, 시작일시, 종료일시 다시 보여주기)
- parent.parent.case_anstmast.iv_anstmast.fDisplayAgent01();
- }
- /**
- * @desc : 환자도착시간 조회하고 체킹하기...
- * @
- * @param :
- * @return :
- * @author : 2008.09.17. 이은영
- * @---------------------------------------------------
- */
- function fGetPatArrvDT(flag)
- {
- var chkPatArrvDT = true;
- // 2009.05.04. 무통마취 / 재수술 / 수술전처치 인 경우에는 환자도착시간을 체킹하지 않음..
- // 2009.07.16. 무통마취 / 재수술 인 경우에는 환자도착시간을 체킹하지 않음.. (수술전처치 제외)
- /* 2009.12.01. 변경요청사항
- 1. 마취환자기록의 수술구분의 금일재수술은 재수술로 변경
- 2. 집도과에서 재수술로 의뢰하는 경우에도 병동 출발시간, 대기실 도착시간, 수술방 도착시간 정보가 있는 경우에는 해당 정보 디스플레이
- 3. 단, 회복실에서 바로 수술실로 재입실하는 경우에는 병동출발시간과 대기실 도착시간 없이
- 수술방 도착시간만 있기 때문에 이런 경우 마취과에서 Meeting Time 을 체크하고 일반 수술프로세스와 동일하게 처리되어야 함.
- */
- var painlessflag = ds_oprsrvinfo.getColumn(0,"painlessflag");
- var reopflag = ds_oprsrvinfo.getColumn(0,"reopflag");
- var preopcureflag = ds_anstinfo_5700.getColumn(0,"preopcureflag");
- if (painlessflag == "Y") {
- var opcnfmdd = ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- patarrvdt = opcnfmdd + "0000";
- chkPatArrvDT = false;
- fCtlDisable(true);
- return true;
- }
- if (chkPatArrvDT == true) {
- // 2009.06.08. 병동 환자 출발시간, 수술방 환자 도착시간 표시하기..
-
- var wardstartdttm = ds_patinfo.getColumn(0,"wardstartdttm");
-
-
- var patarrvdttm = ds_patinfo.getColumn(0,"patarrvdttm");
- var patinroomdt = ds_patinfo.getColumn(0,"patinroomdt");
- var patoutroomdt = ds_patinfo.getColumn(0,"patoutroomdt");
- if (utlf_isNull(wardstartdttm) || utlf_isNull(patarrvdttm) || utlf_isNull(patinroomdt)) {
- var oParam = {};
- oParam.id = "TRMMR03715";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPatArrvDT";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_patinfo=patinfo";
- oParam.async = false;
- tranf_submit(oParam);
- wardstartdttm = ds_patinfo.getColumn(0,"wardstartdttm");
- patarrvdttm = ds_patinfo.getColumn(0,"patarrvdttm");
- patinroomdt = ds_patinfo.getColumn(0,"patinroomdt");
- patoutroomdt = ds_patinfo.getColumn(0,"patoutroomdt");
- // 2009.06.08. 병동 환자 출발시간 표시하기..
- if (!utlf_isNull(wardstartdttm)) {
- ds_hiddendata.setColumn(0,"wardstartdd", wardstartdttm.substr(0,8));
- ds_hiddendata.setColumn(0,"wardstarttm", wardstartdttm.substr(8,4));
- }
- // 2009.05.26. 대기실 환자 도착시간 표시하기..
- if (!utlf_isNull(patarrvdttm)) {
- ds_hiddendata.setColumn(0,"patarrvdd", patarrvdttm.substr(0,8));
- ds_hiddendata.setColumn(0,"patarrvtm", patarrvdttm.substr(8,4));
- }
- // 2009.06.08. 수술방 환자 도착시간 표시하기..
- if (!utlf_isNull(patinroomdt)) {
- ds_hiddendata.setColumn(0,"patinroomdd", patinroomdt.substr(0,8));
- ds_hiddendata.setColumn(0,"patinroomtm", patinroomdt.substr(8,4));
- }
-
- //2013/12/26 수술방 퇴실시간을 표시
- if (!utlf_isNull(patoutroomdt) && patoutroomdt.length==12) {
- ds_hiddendata.setColumn(0,"patoutroomdd", patoutroomdt.substr(0,8));
- ds_hiddendata.setColumn(0,"patoutroomtm", patoutroomdt.substr(8,4));
- }
- //2013/12/26
- }
- //2013/12/30
- var perfdeptcd=ds_oprsrvinfo.getColumn(0,"perfdeptcd");
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var oproomcd = ds_oprsrvinfo.getColumn(0,"oproomcd");
- if(instcd=="031" && (oproomcd=="0041"||oproomcd=="0042"||oproomcd=="0043"||oproomcd=="0061"||oproomcd=="0062"||oproomcd=="0063"||oproomcd=="0064"||oproomcd=="0080")){ // 시술일때는 그냥 스킵하도록 설정(김시오교수 요청)
- btn_oproominoutctl.enable=true;
- nurseoprec="false";
- }else{
- if(!utlf_isNull(wardstartdttm) && !utlf_isNull(patarrvdttm) && utlf_isNull(patinroomdt)){ // 병동 출발시간 / 대기실 도착시간 / 수술방 입실시간
- if(instcd=="032" && perfdeptcd=="2090000000"){ // 칠곡은 집도과가 마취통증의학과 일시에만 수술방 입실시간 활성화 버튼 오픈
- btn_oproominoutctl.enable=true;
- nurseoprec="false";
- }else if(instcd=="031"){ // 본원은 집도과 상관 없이 수술방 입실시간 활성화 버튼 오픈
- btn_oproominoutctl.enable=true;
- nurseoprec="false";
- }else{
- return false;
- }
- }else if(!utlf_isNull(wardstartdttm) && !utlf_isNull(patarrvdttm) && !utlf_isNull(patinroomdt)){
- if(nurseoprec=="false"){
- btn_oproominoutctl.enable=true;
- }else if(utlf_isNull(nurseoprec) || nurseoprec=="true"){
- nurseoprec="true";
- }
- }
- }
- //2013/12/30
- patarrvdt = ds_patinfo.getColumn(0,"patarrvdttm");
- /* 2009.12.01. 변경요청사항
- 1. 마취환자기록의 수술구분의 금일재수술은 재수술로 변경
- 2. 집도과에서 재수술로 의뢰하는 경우에도 병동 출발시간, 대기실 도착시간, 수술방 도착시간 정보가 있는 경우에는 해당 정보 디스플레이
- 3. 단, 회복실에서 바로 수술실로 재입실하는 경우에는 병동출발시간과 대기실 도착시간 없이
- 수술방 도착시간만 있기 때문에 이런 경우 마취과에서 Meeting Time 을 체크하고 일반 수술프로세스와 동일하게 처리되어야 함.
- */
- if (utlf_isNull(patarrvdt) && utlf_isNull(patinroomdt)) {
- patarrvdt = patinroomdt;
- }
-
- if(flag!="recheck"){
- if (utlf_isNull(patarrvdt)) {
- fCtlDisable(false);
- return false;
- } else {
- fCtlDisable(true);
- return true;
- }
- }
- }
- }
- /**
- * @desc : 환자도착시간 조회하고 체킹하기...
- * @
- * @param :
- * @return :
- * @author : 2008.09.17. 이은영
- * @---------------------------------------------------
- */
- function fCtlDisable(benable)
- {
- ipt_tmoutchktm.enable = benable;
- ipt_opfromtm.enable = benable;
- ipt_optotm.enable = benable;
- ipt_anstfromtm.enable = benable;
- ipt_ansttotm.enable = benable;
- }
- /**
- * 마취전 평가서 인증저장 여부 체크
- * 2013/08/14
- */
- function fSetASAClass(){
- ds_anstinfo_5700.enableevent = false;
- var asaclasscd = null;
- var physstat = null;
- asaclasscd = ds_opanstform.getColumn(0,"cdid");
- physstat = ds_anstinfo_5700.getColumn(0,"physstat");
-
- var formseqno = ds_opanstform.getColumn(0,"formseqno"); // 기록키
- var espiseq = ds_opanstform.getColumn(0,"espiseq"); //인증키
- if (utlf_isNull(espiseq) || espiseq == "0") { //인증저장여부에 따라서 마크 표시 여부 결정
- ds_hiddendata.setColumn(0,"preopassemrec", "");
- parent.parent.parent.parent.grp_tle.Static_preopassemrec.text = "";
- }else{
- ds_hiddendata.setColumn(0,"preopassemrec", "◈");
- parent.parent.parent.parent.grp_tle.Static_preopassemrec.text = "◈";
- }
-
- //20131101 이정택 Start
- var anstrecno = ds_anstinfo_5700.getColumn(0,"anstrecno");
- if(utlf_isNull(anstrecno)){
- if(!utlf_isNull(formseqno) && formseqno != "0" && !utlf_isNull(asaclasscd)){
- ds_anstinfo_5700.setColumn(0,"physstat", asaclasscd);
-
- }
- }
- //20131101 End
-
- physstat = ds_anstinfo_5700.getColumn(0,"physstat");
-
- if(!utlf_isNull(formseqno) && formseqno != "0") {
- if (utlf_isNull(physstat)) {
- ds_anstinfo_5700.setColumn(0,"physstat", asaclasscd);
- }
- if (physstat == asaclasscd) {
- cap_asamsg.visible = false;
- } else {
- cap_asamsg.visible = true;
- }
- }
- ds_anstinfo_5700.enableevent = true;
-
- var lv_RecExist = lf_OpAssemRecExist("STEP4");
- if( lv_RecExist == false){
- ds_hiddendata.setColumn(0,"opassemrecexist", "");
- parent.parent.parent.parent.grp_tle.Static_OpAssemRecExist.text = "";
- }else{
- ds_hiddendata.setColumn(0,"opassemrecexist", "◈");
- parent.parent.parent.parent.grp_tle.Static_OpAssemRecExist.text = "◈";
- }
-
- }
- /**
- * 수술부위확인점검표 인증저장 여부 체크
- *
- */
- function fChkEspi(){
- var objParam = [{col:"pid", type:"string", size:256, val:ds_anstinfo_5700.getColumn(0,"pid")},
- {col:"oprsrvno", type:"string", size:256, val:ds_anstinfo_5700.getColumn(0,"oprsrvno")},
- {col:"orddd", type:"string", size:256, val:ds_anstinfo_5700.getColumn(0,"orddd")},
- {col:"cretno", type:"string", size:256, val:ds_anstinfo_5700.getColumn(0,"cretno")}
- ]
- dsf_createDsRow("ds_send_espi_chk",objParam,false);
- var oParam = {};
- oParam.id = "TRMMR03720";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetSignno";
- oParam.inds = "reqdata=ds_send_espi_chk";
- oParam.outds = "ds_espiinfo=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03720";
- tranf_submit(oParam);
-
- var signno=ds_espiinfo.getColumn(0,"signno");
- if(signno!="0" && !utlf_isNull(signno)){
- ds_hiddendata.setColumn(0,"espi_chk", "◈");
- parent.parent.parent.parent.grp_tle.Static_espi.text = "◈";
- }
- else
- {
- ds_hiddendata.setColumn(0,"espi_chk", "");
- parent.parent.parent.parent.grp_tle.Static_espi.text = "";
- }
- }
- function cf_TRMMR03720(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /*
- * 마취 일반정보에서 수술구분을 변경시의 이벤트
- *
- * */
- function fChangeOpFlag(){
- var change_opflagcd = ds_anstinfo_5700.getColumn(0,"opflagcd");
- if(old_opflagcd!=change_opflagcd &&(!utlf_isNull(change_opflagcd))){
- new_opflagcd= ds_anstinfo_5700.getColumn(0,"opflagcd");
- }
- }
- /**
- * 수술방 입실시간 활성화 버튼 클릭시 이벤트
- */
- function fOpRoomInOutCtl(){
- //ds_hiddendata.setColumn(0,"patinroomdd", utlf_transNullToEmpty(ds_oprsrvinfo.getColumn(0,"opcnfmdd")));
- //ds_hiddendata.setColumn(0,"patoutroomdd", utlf_transNullToEmpty(ds_oprsrvinfo.getColumn(0,"opcnfmdd")));
- ds_hiddendata.setColumn(0,"patinroomdd", ds_oprsrvinfo.getColumn(0,"opcnfmdd"));
- ds_hiddendata.setColumn(0,"patoutroomdd", ds_oprsrvinfo.getColumn(0,"opcnfmdd"));
- ipt_patinroomdd.enable=true;
- ipt_patinroomtm.enable=true;
- ipt_patoutroomdd.enable=true;
- ipt_patoutroomtm.enable=true;
- btn_patinroom.enable=true;
- btn_patoutroom.enable=true;
- }
- /**
- * 수술방 입실시간을 입력
- */
- function fSetPatInRoomTime(currentFlag){
-
- // 2. 버튼 현재 시간 입력인가?
- sysf_trace("currentFlag == " + currentFlag);
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ipt_patinroomtm.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ipt_patinroomdd.value + ipt_patinroomtm.value;
- sysf_trace("dt == " + dt);
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("수술방 입실시간을 정확히 입력하십시오", "E999", "");
- ipt_patinroomtm.value = "";
- ipt_patinroomtm.setFocus();
- return;
- }
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = ds_anstinfo_5700.getColumn(0,"physstat");
- // 4. 대기실 도착시간 VS 수술방 입실시간 비교
- var patarrvdt = ipt_patarrvdd.value + ipt_patarrvtm.value;
- if (dt.length == 12 && Number(dt) < Number(patarrvdt) && physstat != "06") {
- sysf_messageBox("수술방 입실시간이 대기실 도착시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patinroomtm.value = "";
- ipt_patinroomtm.setFocus();
- return;
- }
- }
- /**
- * 수술방 퇴실시간을 입력
- */
- function fSetPatOutRoomTime(currentFlag){
-
- //2013/12/19
-
- if(nurseoprec=="false"){
- var patinroomdd=ipt_patinroomdd.value;
- var patinroomtm=ipt_patinroomtm.value;
- if(utlf_isNull(patinroomdd) || utlf_isNull(patinroomtm)){
- sysf_messageBox("수술방 도착시간이 입력되지 않았습니다.", "E");
- ipt_patoutroomtm.value="";
- return;
- }else{
- fCtlDisable(true);
- }
- }else{
- if (fGetPatArrvDT() == false) {
- sysf_messageBox("환자가 도착하지 않았습니다.", "E999", "");
- ipt_patoutroomtm.value = "";
- return;
- }
- }
- //2013/12/19
-
- // 2. 버튼 현재 시간 입력인가?
- if (currentFlag == "Y") {
- var tm = utlf_getCurrentTime();
- ipt_patoutroomtm.value = tm.substring(0,4);
- }
- // 3. 날짜 + 시간 => 데이트 타입이 맞는가?
- var dt = ipt_patoutroomdd.value + ipt_patoutroomtm.value;
- if (utlf_isValidDateTime(dt, "YYYYMMDDhhmm") == false) {
- sysf_messageBox("수술방 퇴실시간을 정확히 입력하십시오", "E999", "");
- ipt_patoutroomtm.value = "";
- return;
- }
- //2010.04.16, 이은영, Physical Status = 06 (환자의 퇴사가 선언되고 장기기증을 위한 목적으로 수술을 받는 환자) 인 경우 (수술종료시간/마취종료시간) 시간 체크 블러킹 해제
- var physstat = ds_anstinfo_5700.getColumn(0,"physstat");
- // 4. 마취종료시간, 수술방 퇴실시간 비교
- var ansttodt = ipt_ansttodd.value + ipt_ansttotm.value;
- if (ansttodt.length != 12) {
- sysf_messageBox("마취 종료시간을 정확히 입력하십시오", "E999", "");
- ipt_patoutroomtm.value = "";
- return;
- } else if (dt.length == 12 && Number(dt) < Number(ansttodt) && physstat != "06") {
- sysf_messageBox("수술방 퇴실시간이 마취종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patoutroomtm.value = "";
- ipt_patoutroomtm.setFocus();
- return;
- }
- }
- /**
- * 기록지상 시간이 제대로 기록 됐는지 확인
- * 2013/12/30
- */
- function fRecTimeCheck(rtn){
- var physstat = ds_anstinfo_5700.getColumn(0,"physstat");
- var ipt_patarrvdt = ipt_patarrvdd.value+ipt_patarrvtm.value; //대기실 도착시간
- var ipt_patinroomdt = ipt_patinroomdd.value+ipt_patinroomtm.value; // 수술방 입실시간
- var ipt_meetingdt = ipt_meetingdd.value + ipt_meetingtm.value; // 미팅타임
- var ipt_tmoutchkdt = ipt_tmoutchkdd.value + ipt_tmoutchktm.value; // time out check
- var ipt_anstfromdt = ipt_anstfromdd.value+ipt_anstfromtm.value; // 마취시작시간
- var ipt_opfromdt = ipt_opfromdd.value+ipt_opfromtm.value; // 수술시작시간
- var ipt_optodt = ipt_optodd.value+ipt_optotm.value; // 수술종료시간
- var ipt_ansttodt = ipt_ansttodd.value+ipt_ansttotm.value; // 마취종료시간
- var ipt_patoutroomdt = ipt_patoutroomdd.value+ipt_patoutroomtm.value; // 수술방 퇴실시간
- if(rtn=="6" && ipt_patinroomdt.length==12 && Number(ipt_patinroomdt) < Number(ipt_patarrvdt) && physstat != "06"){
- sysf_messageBox("수술방 입실시간이 대기실 도착시간보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patinroomtm.value="";
- ipt_patinroomtm.setFocus();
- return false;
- }
-
- if(ipt_meetingdt.length==12 && Number(ipt_meetingdt) < Number(ipt_patarrvdt) && physstat != "06"){
- sysf_messageBox("Meeting Time이 대기실 도착시간보다 작습니다. \n시간을 정확히 입력하십시오", "E999", "");
- ipt_meetingtm.value="";
- ipt_meetingtm.setFocus();
- return false;
- }
-
- if(ipt_tmoutchkdt.length==12 && Number(ipt_tmoutchkdt) < Number(ipt_meetingdt) && physstat != "06"){
- sysf_messageBox("환자확인시간이 Meeting Time 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_tmoutchktm.value="";
- ipt_tmoutchktm.setFocus();
- return false;
- }
- if(ipt_anstfromdt.length==12 && Number(ipt_anstfromdt) < Number(ipt_tmoutchkdt) && physstat != "06"){
- sysf_messageBox("마취시작시간이 환자확인시간보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_anstfromtm.value="";
- ipt_anstfromtm.setFocus();
- return false;
- }
- if(ipt_optodt.length==12 && Number(ipt_optodt) < Number(ipt_opfromdt) && physstat != "06"){
- sysf_messageBox("수술종료시간이 수술시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_optotm.value="";
- ipt_optotm.setFocus();
- return false;
- }
- if(ipt_ansttodt.length==12 && Number(ipt_ansttodt) < Number(ipt_anstfromdt) && physstat != "06"){
- sysf_messageBox("마취종료시간이 마취시작시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value="";
- ipt_ansttotm.setFocus();
- return false;
- }
- if(ipt_ansttodt.length==12 && Number(ipt_ansttodt) < Number(ipt_optodt) && physstat != "06"){
- sysf_messageBox("마취종료시간이 수술종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_ansttotm.value="";
- ipt_ansttotm.setFocus();
- return false;
- }
-
- if(nurseoprec=="false" && ipt_patoutroomdt.length==12 && Number(ipt_patoutroomdt) < Number(ipt_ansttodt) && physstat != "06"){
- sysf_messageBox("수술방 퇴실시간이 마취 종료시간 보다 작습니다.\n시간을 정확히 입력하십시오", "E999", "");
- ipt_patoutroomtm.value="";
- ipt_patoutroomtm.setFocus();
- return false;
- }
- return true;
- }
- var lgv_OpAssemRecExist = null;
- function lf_OpAssemRecExist(Flag){
- var nFormcd = ds_pmenu_formcd.lookup("hardcd", Flag, "hardcdnm");
- if( utlf_isNull(nFormcd) ){
- sysf_messageBox("선택한 기록의 서식코드가", "E014");
- return false;
- }
- dsf_createDsRow("ds_init_formcd_hardcd", [{col:"hardcd", type:"string", size:256, val:nFormcd}]);
-
- // 서식존재유무 체크
- if(utlf_isNull(lgv_OpAssemRecExist)){
- dsf_createDsRow("ds_cond_TRMRF00707", [{col:"reqflag", type:"STRING", size:256, val:"formcd"}
- , {col:"reqdata", type:"STRING", size:256, val:nFormcd}
- , {col:"reqformprogflag", type:"STRING", size:256, val:""}
- , {col:"reqstatus", type:"STRING", size:256, val:""}
- , {col:"popflag", type:"STRING", size:256, val:"1"}
- , {col:"jinjeong", type:"STRING", size:256, val:""}]);
-
- dsf_createDs("ds_data_TRMRF00707");
-
- var oParam = {};
- oParam.id = "TRMRF00707";
- oParam.service = "formmngtapp.FormMngt";
- oParam.method = "reqGetFormList";
- oParam.inds = "req=ds_cond_TRMRF00707";
- oParam.outds = "ds_data_TRMRF00707=formlist";
- oParam.async = false;
- oParam.progress = false;
- tranf_submit(oParam);
-
- if( ds_data_TRMRF00707.rowcount > 0 )
- lgv_OpAssemRecExist = true;
- else
- lgv_OpAssemRecExist = false;
-
- }
-
-
- var nOprsrvno = utlf_transNullToEmpty(ds_send_reqdata.getColumn(ds_send_reqdata.rowposition, "oprsrvno"));
- dsf_createDsRow("ds_cond_opanstform", [{col:"oprsrvno", type:"STRING", size:256, val:nOprsrvno}
- , {col:"formcd", type:"STRING", size:256, val:ds_init_formcd_hardcd.getColumn(0, "hardcd")}
- , {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
- , {col:"pid" , type:"STRING", size:256, val:ds_anstinfo_5700.getColumn(0,"pid")}
- , {col:"orddd" , type:"STRING", size:256, val:ds_anstinfo_5700.getColumn(0, "orddd")}
- , {col:"cretno", type:"STRING", size:256, val:ds_anstinfo_5700.getColumn(0, "cretno")}]);
- dsf_createDs("ds_data_opanstform", [
- {col:"formseqno", type:"BIGDECIMAL", size:256}
- , {col:"espiseq", type:"STRING", size:256}
- ]);
-
- //if( utlf_isNull(nOprsrvno) ) return false;
-
- var oParam = {};
- oParam.id = "TRMMR03715";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetOpAssemFormSeqno";
- oParam.inds = "reqdata=ds_cond_opanstform";
- oParam.outds = "ds_data_opanstform=opanstform";
- oParam.async = false;
- oParam.progress = false;
- oParam.callback = "cf_TRMMR03715";
-
- // 서식이 존재할 경우만 기록 조회
- if( lgv_OpAssemRecExist == true ){
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMR03715") < 0 )
- return false;
- }
-
- dsf_deleteDs("ds_cond_opanstform");
-
- if( ds_data_opanstform.rowcount == 0
- || (utlf_isNull(ds_data_opanstform.getColumn(0, "formseqno")) || ds_data_opanstform.getColumn(0, "formseqno") == "0"))
- return false;
-
- return true;
- }
- function cf_TRMMR03715(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }]]></Script>
|