12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SMMMR03700_마취환자기록.xfdl - JScript )
- - Version :
- 1) : Ver.1.00.01
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- // 마취과 부서코드 (마취통증의학과/통증클리닉)
- /*var anstdeptcd = "2090000000";*/
- // 수술환자정보
- var chkreview = true;
- /**
- 수술환자 parameter 구조 : mmohoprs수술예약정보 tbl의 정보를 기본으로 함
- var param = 구분자'T' + "▦" +
- 등록번호 :=pid + "▦" +
- 수술확정일자 :=opcnfmdd + "▦" +
- (생성번호) :=cretno + "▦" +
- 기관코드 :=instcd + "▦" +
- 집도과코드 :=perfdeptcd + "▦" +
- 집도의 :=perfdrid + "▦" +
- 환자구분 :=patflag + "▦" + ==> 외래(I), 입원(O), DSC(D), 응급(E)
- 처리구분'F' + "▦" +
- 수술예약번호 :=oprsrvno + "▦" +
- 수술이력번호 :=ophistno + "▦" +
- 조회일자;
- */
- /**
- * @desc : 폼초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fFormInit() {
-
- if( grp_base.btn_tabsize.class == "icon_bottom" ){
- grp_base.btn_tabsize.click();
- }
- // 2009.04.21. 기관코드 셋
- ds_grd_main.enableevent = false;
- grp_base.Splitter00.position2.left = 458;
- sInstcd = sysf_getUserInfo("dutplceinstcd");
- loadyn = "Y";
- // 수술환자정보
- operationdata = sysf_getGlobalVariable("operation");
- dsf_setCSVToDs("ds_hidden_operationdata", operationdata);
-
-
- //2012/12/11 Start 마취기록지 수정사항 적용여부
-
- lf_reqHardCodeInfo(ds_init_applychk,5586);
- applychk = ds_init_applychk.getColumn(0,"hardcd");
- //2012/12/11 End
-
- //2013/07/22 Start 마취기록지 초기화 버튼 활성화 여부
- // mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcd5870", 5870);
- lf_reqHardCodeInfo(ds_init_hardcd5870,5870);
- var hardcd5870 = ds_init_hardcd5870.getColumn(0,"hardcd");
- if(hardcd5870=="Y" || hardcd5870=="y"){
- grp_base.button2.visible=true;
- }else{
- grp_base.button2.visible=false;
- }
- //2013/07/22 End
-
- //2016.07.01 Progress Note 정보 조회
- lf_reqHardCodeInfo(ds_init_hardcd9964, 9964);
-
- //2017.02.07 Meeting Time 변경시 기록 제어여부
- lf_reqHardCodeInfo(ds_init_hardcd9975, 9975);
-
- iv_anstinfo_load = "N";
- iv_anstmast_load = "N";
- iv_anstprcp_load = "N";
- if (ds_hidden_operationdata.rowcount == 0) {
- alert("환자 수술정보가 없습니다.");
- ds_grd_main.enableevent = true;
- return;
- }
- var operation = operationdata.split("▩");
- var oprsrvinfo = operation[1].split("▦");
- oprsrvno = oprsrvinfo[0]; // 수술예약번호
-
- if (oprsrvno.length == 0) {
- alert("환자 수술정보가 없습니다..");
- ds_grd_main.enableevent = true;
- return;
- }
- // 팝업 버튼 활성화..
- grp_base.swt_right.case_prog.btn_pca.enable = true;
- grp_base.swt_right.case_prog.btn_totalio.enable = true;
- // 메인 그리드 클리어..
-
- ds_grd_main.filter("");
- ds_grd_main.clearData();
- ds_grd_main.addRow();
- ds_grd_prog.clearData();
- ds_grd_prog.addRow();
- ds_grd_vslist.clearData();
- ds_grd_vslist.addRow();
- ds_grd_timerec.clearData();
- ds_grd_timerec.addRow();
- // 마취일반정보
- grp_base.sw_left.case_anstinfo.iv_anstinfo.url = "emr_anstrecxp::SSMMR05700_마취환자기록일반정보.xfdl";
- grp_base.sw_left.case_anstinfo.iv_anstinfo.fFormInit(oprsrvno);
- //공통 기본 정보 셋
- oprsrvno = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"oprsrvno");
- ophistno = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"ophistno");
- pid = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"pid");
- phngnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"phngnm");
- anstrecno = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"anstrecno");
- var wt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"wt"); // 2009.06.12. 환자 키/몸무게 셋팅해주기..
- var ht = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"ht");
- var ibw = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"ibw");
-
- recsetcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"recsetcd"); // 마취일반정보 기본셋
- lastespiyn = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"lastespiyn"); // 최종인증저장 여부 값 설정 2014.09.04
-
-
- // 공통 기본 정보 셋 (마취기록번호)
- 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,"phngnm" , phngnm);
- ds_send_reqdata.setColumn(0,"anstrecno", anstrecno);
-
- var weight = "";
- var height = "";
- var sibw = "";
- if (!utlf_isNull(wt)) { weight = "Wt : " + wt + " kg"; }
- if (!utlf_isNull(ht)) { height = "Ht : " + ht + " cm"; }
- if (!utlf_isNull(ibw)) { sibw = "IBW : " +ibw; }
- //model.makeValue("/root/hidden/cap_vs", height + " / " + weight);
- ds_hidden.setColumn(0,"cap_vs", height + " / " + weight + " / " + sibw);
- if( anstrecno == "0") {
- ds_hidden.setColumn(0,"savestate", "저장상태: 신규");
-
- } else {
- if( lastespiyn == "Y") {
- ds_hidden.setColumn(0,"savestate", "저장상태: 인증저장");
- } else {
- ds_hidden.setColumn(0,"savestate", "저장상태: 임시저장");
- }
- }
-
- // 마취기록정보
- grp_base.sw_left.case_anstmast.iv_anstmast.url = "emr_anstrecxp::SSMMR05800_마취환자기록마스터.xfdl";
- grp_base.sw_left.case_anstmast.iv_anstmast.fFormInit();
- // 마취처방내역조회
- fAnstOrdMast();
- // 사용자 직종 체킹하기..
- fUserAuth();
-
- // 마취일반정보 : default tab 처리
- grp_base.sw_left.tabindex = 0;
- //var ev = new TabIndexChangeEventInfo;
- //frmf_inputEnterKey("grp_base.sw_left", "onchanged", ev );
- // 그래프 차트 보여주기...
-
- //fOpenLeft(true);
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_reqdata.setColumn(0,"currentdate" , currentdate);
- // 2008.10.13. V/S SET 콤보 초기화...
- ds_send_setinfo.setColumn(0,"setcd" , "");
- // V/S SET LIST 조회
- var oParam = {};
- oParam.id = "TRMMR04204";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstSet";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_init_setlist=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04204";
- tranf_submit(oParam);
- // V/S마스터 정보 조회
- var oParam = {};
- oParam.id = "TRMMR04207";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetVSMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_grd_vslist=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04207";
- tranf_submit(oParam);
-
- // V/S마스터 정보 조회
- dsf_copyDs(ds_vssetitem, ds_grd_vslist,"replace");
- // 마취환자 Progress 조회
-
- var oParam = {};
- oParam.id = "TRMMR03703";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetAnstProg";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_grd_prog=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03703";
- tranf_submit(oParam);
- // 2009.02.24. 시간기록 추가..
- var nOpcnfmdd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- if( !utlf_isNull(nOpcnfmdd) && nOpcnfmdd.length == 8){
- ds_send_reqdata.setColumn(0,"currentdate" , nOpcnfmdd + "000000");
- }
-
- var oParam = {};
- oParam.id = "TRMMR04210";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetTimeRecMast";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_timerec=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04210";
- tranf_submit(oParam);
-
- ds_send_reqdata.setColumn(0,"currentdate" , currentdate);
-
- // 2009.02.25. 시간기록 가져오기..
- fOpenTimeRec();
- // 2008.01.07. 그래프 시작일시, 종료일시 셋해주기.. Meeting Time ~ (5분간격 컬럼 표시 : 총 2시간)
- var meetingdt = utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdt"));
- if (meetingdt.length == 8) {
- meetingdt = meetingdt + "0000";
- }
- fSetGraphFormdt(meetingdt);
- // 메인그리드에 그려주자..
- fDisplayGrid();
- // V/S TChart 그려주자..
- //fDisplayChart();
- // V/S Set 하기.. (2009.06.22)
- var vssetcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"vssetcd");
- if (utlf_isNull(vssetcd)) {
- ds_anstinfo.setColumn(0,"vssetcd", "0");
- } else {
- ds_anstinfo.setColumn(0,"vssetcd", vssetcd);
- }
- // V/S Set 그려주자..
- fSetItemDisplay();
- // 처방 네비게이션을 위한 추가 함수... (2008.07.22)
- var scrnwnd = frmf_findPopup("SPMMB08400");
- if(!utlf_isNull(scrnwnd)){
- scrnwnd.fCloseOpenEmrWnd();
- }
-
- //2016.07.01 [요청번호:20160621011] 마취기록지 Progress 추가
- var prognoteCnt = ds_init_hardcd9964.rowcount;
- // progress 그리드 초기화 해주기 (디폴트로 20개 로우셋 해주기)
- for (var i = ds_grd_prog.rowcount ; i < 20 ; i++) {
- ds_grd_prog.addRow();
- ds_grd_prog.setColumn(i-1,"progno", i);
- if (i <= prognoteCnt) {
- var progrec = utlf_transNullToEmpty(ds_grd_prog.getColumn(i-1,"progrec"));
- if (progrec.replace(" ", "").length == 0) {
- ds_grd_prog.setColumn(i-1,"progrec", ds_init_hardcd9964.getColumn(i-1, "hardcdnm"));
- }
- } else {
- var progrec = utlf_transNullToEmpty(ds_grd_prog.getColumn(i-1,"progrec"));
- if (progrec.replace(" ", "").length == 0) {
- ds_grd_prog.setColumn(i-1,"progrec", "");
- }
- }
-
-
- }
- loadyn = "N";
- ds_grd_main.enableevent = true;
- }
- function cf_TRMMR04204(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRMMR04207(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRMMR03703(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function cf_TRMMR04210(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110418
- * @author : 최원돈
- * @desc : 마취환자 CDIS처방 투여일시 가져오기
- * @---------------------------------------------------
- */
- function lf_searchAnstCdisItem()
- {
- ds_grd_main.enableevent = false;
- if (iv_anstprcp_load == "Y")
- {
- grp_base.sw_left.case_anstprcp.iv_anstprcp.searchAnstCdisItem(anstrecno, grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm")) // 마취환자 CDIS처방 투여일시 조회
- // 메인 그리드에 그려주자..
- fDisplayGrid();
- // V/S TChart 그려주자..
- fDisplayChart();
-
- // V/S
- var gridObj = grp_base.grd_main;
- var firstRow = "";
- for (var i=2 ; i < grp_base.grd_main.rowcount ; i++) {
- var tmplinktype = grp_base.grd_main.getCellText(i, "linktype");
- if (tmplinktype == "V" && vslist == "on" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = false;
- grp_base.grd_main.setFormatRowProperty(i, "size", 24);
- }
- if (tmplinktype == "V" && vslist == "off" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = true;
- grp_base.grd_main.setFormatRowProperty(i, "size", 0);
- }
- if (tmplinktype == "V" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : 처방내역
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstOrdMast()
-
- {
- if (iv_anstprcp_load == "N") {
-
- // 2016.09.30 현재 시점에서 작성 시점으로 변경
- var nOpcnfmdd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- if( !utlf_isNull(nOpcnfmdd) && nOpcnfmdd.length == 8){
- nOpcnfmdd = nOpcnfmdd + "000000";
- }
-
- // 마취 기록 & 처방
- grp_base.sw_left.case_anstprcp.iv_anstprcp.url = "emr_anstrecxp::SSMMR05900_마취환자기록처방목록.xfdl";
- grp_base.sw_left.case_anstprcp.iv_anstprcp.fFormInit(anstrecno, nOpcnfmdd);
- iv_anstprcp_load = "Y";
- }
- }
- /**
- * @desc : 그래프 시작일시 셋해주기.. 마취시작시간 ~ (5분간격 컬럼 표시 : 총 2시간)
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSetGraphFormdt(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; }
- graph_fromdt = "" + fromdd + fromhr + frommin;
- }
- /**
- * @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 fDisplayGrid()
- {
- var dataCnt = ds_grd_prog.rowcount;
- if (dataCnt == 1) {
- if (utlf_isNull(ds_grd_prog.getColumn(0,"progrec"))) {
- //grd_prog.deleteRow(grd_prog.rows-1,true);
- ds_grd_prog.deleteRow(ds_grd_prog.rowcount - 1);
- }
- }
-
- //2016.07.01 [요청번호:20160621011] 마취기록지 Progress 추가
- var prognoteCnt = ds_init_hardcd9964.rowcount;
-
- // progress 그리드 초기화 해주기 (디폴트로 20개 로우셋 해주기)
- for (var i = ds_grd_prog.rowcount ; i < 20 ; i++) {
- ds_grd_prog.addRow();
-
- ds_grd_prog.setColumn(i-1,"progno", i);
-
- if (i <= prognoteCnt) {
- var progrec = ds_grd_prog.getColumn(i-1,"progrec");
- if (utlf_transNullToEmpty(progrec).toString().replace(" ", "").length == 0) {
- ds_grd_prog.setColumn(i-1,"progrec", ds_init_hardcd9964.getColumn(i-1, "hardcdnm"));
- }
- }
- }
- // 메인 그리드 초기화
- fGridLoad();
- //this.grp_base.grd_main.setCellProperty("body",1,"align","left");
- }
- /**
- * @desc : 그리드 초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGridLoad()
- {
- ds_grd_main.enableevent = false;
- // 컬럼에 날짜, 시간, 분 셋하기... + 총용량 + 단위 (추가)
- fAddColDate();
- // 그리드 로우 초기화 (타이틀 3 row)
- ds_grd_main.clearData();
-
- // 1. progress (0번째 row)
- var newrow = ds_grd_main.addRow();
- ds_grd_main.setColumn(newrow, "type","Progress");
- ds_grd_main.setColumn(newrow, "linktype", "P");
- ds_grd_main.setColumn(newrow, "sorttype",sorttype_progress);
- ds_grd_main.setColumn(newrow, "sortno", 1);
-
- fDisplayProgress();
- ds_grd_main.enableevent = false;
- // *. 시작종료 (1번째 row)
- newrow = ds_grd_main.addRow();
- ds_grd_main.setColumn(newrow, "type","시작종료");
- ds_grd_main.setColumn(newrow, "linktype", "S");
- ds_grd_main.setColumn(newrow, "sorttype", sorttype_startend);
- ds_grd_main.setColumn(newrow, "sortno", 1);
-
- // fDisplayStartEnd();
- // 2009.02.24. 시작종료 심볼 표시하기...
- fDisplayTimeRec();
- ds_grd_main.enableevent = false;
- // 2. V/S item display + data display
- var dataCnt = ds_grd_vslist.rowcount;
- for (var i = 0 ; i < dataCnt ; i++) {
- var checked = ds_grd_vslist.getColumn(i,"checked");
- if (checked == "true") {
- var vsitemnm = ds_grd_vslist.getColumn(i,"vsitemnm");
- var vsitemcd = ds_grd_vslist.getColumn(i,"vsitemcd");
- fAddVS( vsitemnm, vsitemcd);
- fDisplayAnstItem(ds_grd_main.rowcount-1);
- }
- }
-
-
- // 2008.01.07. 마취시작시간을 입력하기...
- if (graph_fromdt.length != 12) {
- alert("Meeting Time을 입력하시기 바랍니다.");
- chkreview = false;
- ds_grd_main.enableevent = true;
-
- //fOpenLeft(true);
- return;
- }
- chkreview = true;
- // 3. agent / drug / fluid
- var dataCnt = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
-
- var tmpprcpcd;
-
- // 차트 그리드 에 표시
- for (var i = 0 ; i < dataCnt ; i++) {
-
- var prcptype = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcptype");
- var prcpcd = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno= this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"prcpseqno");
- var sortno = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"sortno");
- var checked = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.getColumn(i,"checked");
- if (prcptype == "A" || prcptype == "D" || prcptype == "F" || prcptype == "H") {
- if (checked == "true") {
- // 로우 추가
- fAddRow(prcptype, prcpcd, sortno, prcpseqno)
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(ds_grd_main.rowcount-1);
- }
- }
- }
- // 입력 불가 모드 (Progress)
- //grd_main.isReadOnly(row_progress , grd_main.fixedcols, row_progress , grd_main.cols - 1) = true;
-
-
- ds_grd_main.rowposition =-1;
- // 2008.11.07. 메인 그리드 sort 처리..
- fGridSort();
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : 마취기록 메인 그리드에서 항목 로우 추가하기...
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddRow(prcptype, prcpcd, sortno, prcpseqno)
- {
- ds_grd_main.enableevent = false;
- var sorttype;
- switch (prcptype){
- case "A": sorttype = sorttype_agent; break;
- case "D": sorttype = sorttype_drug; break;
- case "F": sorttype = sorttype_fluid; break;
- case "H": sorttype = sorttype_blood; break;
- }
- if (prcptype == "A" || prcptype == "D" || prcptype == "F" || prcptype == "H") {
- // 로우 추가
- var addrow = ds_grd_main.addRow();
- ds_grd_main.setColumn(addrow,"linkcd",prcpcd);
-
- ds_grd_main.setColumn(addrow,"linktype", prcptype);
- ds_grd_main.setColumn(addrow,"sorttype", sorttype);
- ds_grd_main.setColumn(addrow,"sortno", sortno);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- ds_grd_main.setColumn(addrow,"linkseqno", prcpseqno);
- // 처방 타입을 보여주기
- if (prcptype == "A") {
- ds_grd_main.setColumn(addrow,"type", "Agent");
- } else if (prcptype == "D") {
- ds_grd_main.setColumn(addrow,"type", "Drug");
- } else if (prcptype == "F") {
- ds_grd_main.setColumn(addrow,"type", "Fluid");
- } else if (prcptype == "H") {
- ds_grd_main.setColumn(addrow,"type", "Blood");
- }
-
- // 약어명 보여주기
- var abbrnm = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcpcd,"abbrnm");
- var prcpnm = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcpcd,"prcpnm");
- if (!utlf_isNull(abbrnm)) {
- ds_grd_main.setColumn(addrow,"linknm",abbrnm);
- } else {
- ds_grd_main.setColumn(addrow,"linknm",prcpnm);
- }
-
- // 총용량을 계산하나??
- var totvolyn = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcpcd,"totvolyn");
- if (totvolyn == "Y") {
- // 기록된 용량 다 더해주기.. 총용량 보여주기
- ds_grd_main.setColumn(addrow,"totalvol", fGetTotalRecVol(prcpcd, prcpseqno,""));
- var prcpvolunitnm = this.grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcpcd,"prcpvolunitnm");
- ds_grd_main.setColumn(addrow,"volunit", prcpvolunitnm);
-
- }
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리, 일단 보류
- //grd_main.cellstyle("font-weight", addrow, 1, addrow, 1) = "bold";
- //grp_base.grd_main.setCellProperty("body",1,"style","font:EXPR(getColumn(currow,'linkcd') == '" + prcpcd + "' && getColumn(currow,'linktype')!='V'?'Dotum,9,bold':'')");
- if(loadyn == "N")
- {
- ds_grd_main.setColumn(addrow,"boldyn", "Y");
- }
- ds_grd_main.setColumn(addrow,"viewyn", "Y");
-
- }
- ds_grd_main.enableevent = true;
- }
-
- /**
- * @desc : Agent, Drug, Fluid, Blood 인 경우 투여용량, 시작시간, 종료시간 표시하기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fDisplayAnstItem(row)
- {
- ds_grd_main.enableevent = false;
- // grp_base.grd_main.enableredraw = false;
- var gridObj = grp_base.grd_main;
- var dsObj = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- var dsObj_anstprcp = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item;
- var linkcd = ds_grd_main.getColumn(row, "linkcd");
- var linktype = ds_grd_main.getColumn(row, "linktype");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = ds_grd_main.getColumn(row, "linkseqno");
-
-
- ds_grd_main.addColumn("color", "string", 256);
-
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- // 2008.09.22. time out chrck 확인한다.. time out chrck보다 선택된 시작시간이 작으면 time out chrck으로 저장한다.. (agent,drug,fluid,blood)
- if (linktype == "V") {
- var anstfromdt = dsObj.getColumn(0,"meetingdd") + dsObj.getColumn(0,"meetingtm");
- } else {
- var anstfromdt = dsObj.getColumn(0,"anstfromdd") + dsObj.getColumn(0,"anstfromtm");
- }
- var anstfromdt = utlf_transNullToEmpty(dsObj.getColumn(0,"meetingdd")) + utlf_transNullToEmpty(dsObj.getColumn(0,"meetingtm"));
- if (anstfromdt.length != 12) {
- ds_grd_main.enableevent = true;
- // grp_base.grd_main.enableredraw = true;
- return;
- }
- var totvolyn = dsObj_anstprcp.lookup("prcpcd", linkcd, "totvolyn");
- var clscd = dsObj_anstprcp.lookup("prcpcd", linkcd, "clscd");
- // 2008.10.20. 마취기록지 컬러 주기..
- /*
- 1. Agent - 구분이 01
- @ Air -> 노란색
- @ N2O -> 하늘색
- @ O2 -> 녹색
- @ 그밖의 마취가스 -> 주황색
- 2. Agent - 그외 02,03,04 (토탈용량 기록여부에 따라)
- @ 용량 -> 회색
- @ 농도 -> 연노란색
- 2. Drug -> 보라색
- 3. Fluid -> 살구색
- 4. Blood -> 연두색
- */
- if (linktype != "V") {
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- ds_grd_main.setColumn(row,"boldyn", "Y");
- }
-
- for (var j = col_fromdt + 1 ; j < parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
-
- ds_grd_main.setColumn(row,lf_getBindCellName(grp_base.grd_main,j),"");
- }
- //gridObj.rowstyle(row, "data", "background-color") = "#ffffff";
-
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- //var ref = "/root/main/anstitem/item";
- var refDs = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- var dataCnt = refDs.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- var tmplinkcd = refDs.getColumn(i,"linkcd");
- var tmplinkseqno = refDs.getColumn(i,"linkseqno");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- var fromdt = refDs.getColumn(i,"fromdt");
- var todt = refDs.getColumn(i,"todt");
- var rec = refDs.getColumn(i,"rec");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- if (fromdt == anstfromdt) {
- fromdt = fGetGraphFormdt(fromdt);
- }
- if (utlf_isNull(todt)) { todt = fromdt; }
- fromdt.substr(0,12);
- todt.substr(0,12);
- for (var j = col_fromdt + 1 ; j <= parseInt(col_todt)+ parseInt(col_fromdt); j++) {
- var graphappyn = ds_grd_vslist.lookup("vsitemcd", linkcd, "graphappyn");
- var colDate = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- if (fromdt <= colDate && colDate <= todt) {
- if (linktype != "V") {
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- ds_grd_main.setColumn(row,"boldyn", "N");
- }
- if (!utlf_isNull(rec)) {
- //gridObj.textMatrix(row, j) = rec;
- ds_grd_main.setColumn(row,lf_getBindCellName(grp_base.grd_main,j),rec);
- rec = "";
- } else {
- //gridObj.textMatrix(row, j) = "·";
- ds_grd_main.setColumn(row,lf_getBindCellName(grp_base.grd_main,j),"·");
-
- }
- }
- // 2008.10.20. Display 루프 빠져나오기..
- if (colDate > todt ) {
- break;
- }
- }
- }
- }
- // agent, drug, blood 인 경우 시작용량이 정량보다 작은 경우 처방용량에 적용한다.
- // fulid 인 경우 시작용량이 정량보다 작은 경우 처방총용량에 적용하지 않는다.
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- // 기록 총용량 계산해 보여주기..
- var recvol = fGetTotalRecVol(linkcd, linkseqno,"");
- //gridObj.textmatrix(row,col_prcpvol) = recvol;
- ds_grd_main.setColumn(row,"totalvol",recvol);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var refDs = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item;
- var dataCnt = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- // 총용량 계산하여 보여주기
- var prcpcd = refDs.getColumn(i,"prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = refDs.getColumn(i,"prcpseqno");
- if (linkcd == prcpcd && linkseqno == prcpseqno) {
- refDs.setColumn(i,"recvol", recvol);
- if (linktype == "F") {
- recvol = fGetTotalRecVol(linkcd, linkseqno, "sub");
- }
- // 처방 총용량 계산해 보여주기..
-
- var prcpvol = fGetTotalPrcpVol(linkcd, recvol);
- refDs.setColumn(i,"prcpvol", prcpvol);
-
- }
- }
-
- }
- ds_grd_main.enableevent = true;
- // grp_base.grd_main.enableredraw = true;
- }
- /**
- * @desc : V/S TChart 그리기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayChart()
- {
- // set 을 선택한 경우 모든 V/S item checked = false 하고
- var dataCnt = ds_grd_vslist.rowcount ;
- for (var i = 0 ; i < dataCnt ; i++) {
- ds_grd_vslist.setColumn(i,"checked", "false");
- }
- // set item 을 checked = true 한다.
- var dataCnt2 = ds_vssetitem.rowcount;
- for (var j = 0 ; j < dataCnt2 ; j++) {
- var vsitemcd = ds_vssetitem.getColumn(j,"vsitemcd");
- ds_grd_vslist.setColumn(ds_grd_vslist.findRowExpr("vsitemcd == '"+ vsitemcd +"'"),"checked", "true");
- //model.setValue("/root/main/vslist/item[vsitemcd = '"+ vsitemcd +"']/checked", "true");
- }
- // V/S 항목 hidden..
- fHiddenVS();
- if(applychk=="Y"){
- fSetGrdColor();
- }
-
- }
- /**
- * @desc : V/S 항목 hidden..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fHiddenVS()
- {
-
- // V/S 항목 hidden..
- ds_grd_main.enableevent = false;
- ds_grd_main.filter("");
- var rvalue = "";
- for (var k = 0 ; k < ds_grd_main.rowcount ; k++)
- {
- var linktype = ds_grd_main.getColumn(k,"linktype");
- if (linktype == "V")
- {
- var linkcd = ds_grd_main.getColumn(k,"linkcd");
- var checked = ds_grd_vslist.lookup("vsitemcd", linkcd,"checked");
-
- if (checked == "true" || checked == "1")
- {
- ds_grd_main.setColumn(k,"viewyn","Y");
- } else
- {
- ds_grd_main.setColumn(k,"viewyn","N");
- }
- } else
- {
- ds_grd_main.setColumn(k,"viewyn","Y");
- }
- }
-
- ds_grd_main.filter("viewyn == 'Y'");
- ds_grd_main.enableevent = true;
-
-
- }
- /**
- * @desc : 시간을 컬럼에 보여주기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddColDate()
- {
-
-
- // merge했던 그리드를 split으로 푼후 다시 merge한다
-
- if(mergeFlag == "Y"){
- grp_base.grd_main.splitContentsCell("Head",0,8,0,296,true);
- }
- // 일시 : 날짜+시+분
- var fromdt = graph_fromdt;
- var fromdtMin = graph_fromdt;
- var lCol_todt = grp_base.grd_main.getCellCount("Head");
- var enddd,endhr,endmin;
-
- // 그리드 헤더 시간표시위해 병합
-
- for (var i = col_fromdt ; i < (lCol_todt /2) +1; i++) {
-
- grp_base.grd_main.setCellProperty("Head",i,"text",fromdt.substr(0,4) + "/" + fromdt.substr(4,2) + "/" +fromdt.substr(6,2) + " [" + fromdt.substr(8,2) + "시]"); //(" +d+ ")
- //grp_base.grd_main.setFormatColProperty(new Number(i+2),"size",35);
-
- if(i == (lCol_todt / 2) - 1){
- enddd = fromdt.substr(6,2);
- endhr = fromdt.substr(8,2);
- mergeFlag = "Y";
- }
-
- var tmpdt = fromdt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
-
- }
-
- // 분 표시
- var lCol_todt2 = grp_base.grd_main.getCellCount("Head");
- ds_timeheader.clear();
- for (var i = 8 ; i <= (lCol_todt2 /2) ; i++) {
-
- var colno = i + 1;
- ds_timeheader.addColumn("t"+ colno,"string",256);
-
- if(i== 8)
- {
- ds_timeheader.addRow();
- ds_timeheader.addRow();
- }
- //var u = (i+ col_fromdt);
- var j = ((lCol_todt2 /2)+i) -1;
-
-
- grp_base.grd_main.setCellProperty("Head",j,"text",fromdtMin.substr(10,2));
-
- // 임시로 저장할 값.
- var si = grp_base.grd_main.getCellProperty("Head",i,"text");
- si = si.replace(" [","");
- si = si.replace("시]","");
- si = si.replace("/","");
- ds_timeheader.setColumn(0,"t"+ colno, si);
- ds_timeheader.setColumn(1,"t"+ colno, fromdtMin.substr(10,2));
-
- if( i == ( (lCol_todt2 /2) - 4 ) -1){
- endmin = fromdtMin.substr(10,2);
- }
-
- var tmpdt = fromdtMin.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- fromdtMin = rtndt.getDateFormat("YYYYMMDDhhmm");
-
- }
- // 시간표시된 헤더 같은 시간별로 가로 병합.
- var cnt = 0;
-
- for(var i= (lCol_todt /2 ) ; i > col_fromdt -1 ; i--){
- var cur = utlf_transNullToEmpty(grp_base.grd_main.getCellProperty("Head",i,"text"));
- var bef = utlf_transNullToEmpty(grp_base.grd_main.getCellProperty("Head",i-1,"text"));
-
- if(cur == bef){
-
- cnt++;
- }else{
-
-
- var mergecol = grp_base.grd_main.mergeContentsCell("Head",0,i+1,0,i+cnt+1,i,false);
-
- cnt = 0;
- }
- }
- graph_todt = "" + enddd + endhr + endmin;
-
- }
- /**
- * @desc : 메인 그리드에 시간 추가하기.. (2시간 단위로)
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- // function fAddColDateHr()
- // {
- // // 2008.10.09. 메인 그리드에 시간 추가하기.. (2시간 단위로)
- // var end_col = col_todt + 24;
- // // 일시 : 날짜+시+분
- // var todt = graph_todt;
- //
- // for (var i = col_todt ; i < end_col ; i++) {
- //
- // if (i >= grp_base.grd_main.getCellCount("Head")) {
- // // 2010.02.12 이은영 마취기록 메인 화면에 30분 단위로 굵은 선을 보여줌..
- // if (todt.substr(10,2) == "25" || todt.substr(10,2) == "55") {
- // //grd_main.addColumn("ref:t"+ (i - col_todt + 1) +";type:input;text-align:center;_chartype=upper;border-right-color:#ccecff;border-right-width:2px;border-style:solid",false);
- // var ncol= grp_base.grd_main.appendContentsCol();
- // grp_base.grd_main.setCellProperty("body",ncol,"displaytype","text");
- // grp_base.grd_main.setCellProperty("body",ncol,"edittype","text");
- // grp_base.grd_main.setCellProperty("body",ncol,"align","center middle");
- // grp_base.grd_main.setCellProperty("body",ncol,"bind","t"+ (i - col_todt + 1));
- //
- // } else {
- // //grd_main.addColumn("ref:t"+ (i - col_todt + 1) +";type:input;text-align:center;_chartype=upper",false);
- // var ncol= grp_base.grd_main.appendContentsCol();
- // grp_base.grd_main.setCellProperty("body",ncol,"displaytype","text");
- // grp_base.grd_main.setCellProperty("body",ncol,"edittype","text");
- // grp_base.grd_main.setCellProperty("body",ncol,"align","center middle");
- // grp_base.grd_main.setCellProperty("body",ncol,"bind","t"+ (i - col_todt + 1));
- // }
- // }
- //
- // ds_grd_main.setColumn(0,lf_getBindCellName(grp_base.grd_main,i),fromdt.substr(0,8));
- // ds_grd_main.setColumn(1,lf_getBindCellName(grp_base.grd_main,i),fromdt.substr(8,2));
- // ds_grd_main.setColumn(2,lf_getBindCellName(grp_base.grd_main,i),fromdt.substr(10,2));
- //
- // grp_base.grd_main.setRealColSize(i,32);
- //
- // var tmpdt = todt.toDate("YYYYMMDDhhmm");
- // var rtndt = tmpdt.getAddDate(5, "m");
- // todt = rtndt.getDateFormat("YYYYMMDDhhmm");
- // }
- //
- // col_todt = end_col;
- //
- // // 2008.10.09. 마취기록 한번에 처리함..
- // var enddd,endhr,endmin;
- //
- //
- // enddd = grp_base.grd_main.getCellText(0,grp_base.grd_main.getCellCount("Head")-1);
- // endhr = grp_base.grd_main.getCellText(1,grp_base.grd_main.getCellCount("Head")-1);
- // endmin = grp_base.grd_main.getCellText(2,grp_base.grd_main.getCellCount("Head")-1);
- //
- // graph_todt = "" + enddd + endhr + endmin;
- //
- // ds_grd_main.rowposition = -1;
- // fDisplayGrid();
- //
- // }
- /**
- * @desc : V/S 항목 그리드에 추가
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddVS(vsitemnm, vsitemcd)
- {
- ds_grd_main.enableevent = false;
- var row = ds_grd_main.addRow();
- ds_grd_main.setColumn(row,"type", "V/S");
- ds_grd_main.setColumn(row,"linknm", vsitemnm);
- ds_grd_main.setColumn(row,"linkcd", vsitemcd);
- ds_grd_main.setColumn(row,"linktype","V");
- ds_grd_main.setColumn(row,"sorttype",sorttype_vs);
- ds_grd_main.setColumn(row,"sortno", row - row_startend);
- ds_grd_main.setColumn(row,"linkseqno","0");
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : V/S 데이타 셋하기
- * @
- * @param :
- * @---------------------------------------------------
- */
- function fSetVS(indxRow, indxCol)
- {
- //var dataPath = "/root/main/vs/item"
- var dataCnt = ds_vs.rowcount;
- var colDate = ds_timeheader.getColumn(0,"t"+indxCol) + ds_timeheader.getColumn(1,"t"+ indxCol);
- var colValue = grp_base.grd_main.getCellText(indxRow,indxCol);
- var vsitemnm = grp_base.grd_main.getCellText(indxRow,1);
- var vsitemcd = grp_base.grd_main.getCellText(indxRow,2);
- for (var i = 0 ; i < dataCnt ; i++) {
-
- var vs = ds_vs.getColumn(i,"vsitemcd");
- var fromdt = ds_vs.getColumn(i,"recfromdt");
- if (vs == vsitemcd) {
- if ( utlf_isNull(fromdt) || fromdt == colDate) {
- break;
- }
- }
- }
- if (i > dataCnt) {
- i = ds_vs.addRow();
- }
- ds_vs.setColumn(i,"vsitemcd" ,vsitemcd);
- ds_vs.setColumn(i,"vsitemnm" ,vsitemnm);
- ds_vs.setColumn(i,"vsitemrstl",colValue);
- ds_vs.setColumn(i,"recfromdt" ,colDate);
- ds_vs.setColumn(i,"rectodt" ,"");
- }
- function fGetTotalRecVol(prcp, seqno, sub)
- {
- var totalvol:decimal = 0;
- //var totalvol = 0;
- var totvolyn = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", prcp, "totvolyn");
- if (totvolyn == "Y") {
- var refds = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
-
- // var prcpvol:decimal = 0;
- var prcpvol = 0;
- var tmpprcpvol = 0;
- for (var i=0 ; i < refds.rowcount ; i++) {
- // 총용량 계산하여 보여주기
- var prcpcd = refds.getColumn(i,"linkcd");
-
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = refds.getColumn(i,"linkseqno");
- if (prcp == prcpcd && seqno == prcpseqno) {
- if (sub == "sub") {
- prcpvol = refds.getColumn(i,"subrec");
-
- } else {
- prcpvol = refds.getColumn(i,"rec");
-
- }
- if (utlf_isNull(prcpvol)) { prcpvol = 0; }
-
-
- prcpvol = Number(utlf_transNullToEmpty(prcpvol));
-
-
-
- if (utlf_isNum(prcpvol)) {
-
-
- totalvol = Number(totalvol) + Number(prcpvol);
-
-
- }
-
- }
- }
- }
- return totalvol;
- }
- /**
- * @desc : 처방타입에 따른 처방 총용량 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetTotalPrcpVol(prcp, recvol)
- {
- grp_base.sw_left.case_anstmast.iv_anstmast.fPrcpMastLoad();
- if( !utlf_isNull(grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.filterstr.current) ){
- sysf_trace("ds_prcpmast_item.filterstr : " + grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.filterstr.current);
- grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.filter("");
- }
- var totalvol = 0;
- var nFindRow = grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.findRow("prcpcd", prcp);
- if( nFindRow == -1 ){
- sysf_trace(">>>>>>> fGetTotalPrcpVol findRow -1 !!! || ds_prcpmast prcpcd : " + prcp);
- }
-
- var prcptype = grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.getColumn(nFindRow , "prcptype");
- var totvolyn = grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.getColumn(nFindRow , "totvolyn");
- var prcpvolunit = grp_base.sw_left.case_anstmast.iv_anstmast.ds_prcpmast_item.getColumn(nFindRow , "prcpvol");
- if (totvolyn == "Y" && Number(prcpvolunit) > 0 && utlf_isNum(recvol)) {
- // agent, blood 인 경우 시작용량이 정량보다 작은 경우 처방용량에 적용한다.
- // drug 인 경우 정량보다 작은 경우 처방총용량에 적용한다.
- if (prcptype == "A" || prcptype == "H" || prcptype == "D") {
- totalvol = recvol;
- // fulid 인 경우 시작용량이 정량보다 작은 경우 처방총용량에 적용하지 않는다.
- } else if (prcptype == "F" ) {
- if (utlf_isNull(recvol) || recvol == "0" || recvol == 0){
- totalvol = 0;
- } else {
- var share = parseInt(recvol / prcpvolunit);
- totalvol = prcpvolunit * share;
- }
- }
- }
- return totalvol;
- }
- /**
- * @desc : Progress 순번 리스트 보여주기.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fOpenProgNo()
- {
- var gridObj = grp_base.grd_main;
- // progress 순번 리스트 가져오기...
- //var ref = "/root/main/prog";
- var dataCnt = ds_grd_prog.rowcount;
- var newrow = 0;
-
- // 선택 시간
- var colDate = ds_timeheader.getColumn(0,"t"+gridObj.currentcol) + ds_timeheader.getColumn(1,"t"+gridObj.currentcol);
- // 그리드 초기화
- ds_grd_progno.clearData();
-
-
- //2016.10.12 (#739) 마취기록 Progress Note 우클릭 시 선택할 Progress No 표현 오류
- var refds_anstinfo = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- var meetingdt = refds_anstinfo.getColumn(0,"meetingdd") + utlf_transNullToEmpty(refds_anstinfo.getColumn(0,"meetingtm"));
-
- // 그리드에 progress 순번 리스트 보여주기...
- for (var i = 0 ; i < dataCnt ; i++) {
- // progress 기록이 있는 경우만...
- var progrec = ds_grd_prog.getColumn(i,"progrec");
- if (!utlf_isNull(progrec)) {
- var fromdt = ds_grd_prog.getColumn(i,"progfromdt");
- var progno = ds_grd_prog.getColumn(i,"progno");
- // progress 시작시간이 없는 경우 add 해주기
- if (utlf_isNull(fromdt)) {
- newrow = ds_grd_progno.addRow();
- ds_grd_progno.setColumn(newrow,"checked", "false");
- ds_grd_progno.setColumn(newrow,"progno", progno);
- }
- // progress 시작시간이 같은 경우 체크해주기
- if (fromdt == colDate
- || (!utlf_isNull(meetingdt) && meetingdt.length == 12 && colDate < meetingdt && fromdt == meetingdt)) {
- newrow = ds_grd_progno.addRow();
- ds_grd_progno.setColumn(newrow,"checked", "true");
- ds_grd_progno.setColumn(newrow,"progno", progno);
- }
- }
-
- }
-
- if (ds_grd_progno.rowcount > 0) {
- fShowWndIptBox("prog");
- }
- }
- /**
- * @desc :Progress 순번 리스트 팝업 (시간 셋)
- * @ 마취기록 추가기록의 팝업
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fShowWndIptBox(job)
- {
- grup_prog.visible = false;
- grup_startend.visible = false;
- grup_range.visible = false;
- grup_vs.visible = false;
- if (job == "prog") {
- grup_prog.position.left = clientX-20;
- grup_prog.position.top = clientY-10;
- grup_prog.position.width = 90;
- grup_prog.position.height = 180;
- grup_prog.visible = true;
- } else if (job == "startend") {
- grup_startend.position.left = clientX-10;
- grup_startend.position.top = clientY-10;
- grup_startend.position.width = 72;
- grup_startend.position.height = 215;
- grup_startend.visible = true;
- } else if (job == "range") {
- grup_range.position.left = clientX-10;
- grup_range.position.top = grp_base.grd_main.position.top + 130 + "px";
- grup_range.position.width = 75;
- grup_range.position.height = 294;
- grup_range.visible = true;
-
- } else if (job == "vslist") {
- grup_vs.position.left = clientX+20;
- grup_vs.position.top = grp_base.grd_main.position.top + 130 + "px";
- grup_vs.position.width = 105;
- grup_vs.position.height = 215;
- grup_vs.visible = true;
- }
- }
- /**
- * @desc : Progress 순번에 시간을 설정해 준다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetProgress()
- {
- grup_prog.visible = false;
- //var ref = "/root/main/prog/item";
- var dataCnt = ds_grd_prog.rowcount;
- var refds_anstinfo = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- var gridObj = grp_base.grd_main;
- var j = gridObj.currentcol;
- // 선택 시간
- var colDate = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
-
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var meetingdt = refds_anstinfo.getColumn(0,"meetingdd") + utlf_transNullToEmpty(refds_anstinfo.getColumn(0,"meetingtm"));
- if (meetingdt.length != 12) {
- //alert("마취시작시간을 확인하시기 바랍니다.");
- return;
- }
- if (colDate < meetingdt) {
- colDate = meetingdt;
- }
- gridObj = grup_prog.grd_progno;
-
- for (var i = 0 ; i < ds_grd_progno.rowcount ; i++) {
- // 그리드의 선택된 Progress 순번 가져오기...
- var checked = ds_grd_progno.getColumn(i,"checked");
- var no = ds_grd_progno.getColumn(i,"progno");
- if (checked == "true" || checked == "1") {
- // 체킹된 경우 progress 순번의 시작시간 업데이트...
- for (var j = 0 ; j < dataCnt ; j++) {
- var progno = ds_grd_prog.getColumn(j,"progno");
- if (no == progno) {
- ds_grd_prog.setColumn(j,"progfromdt",colDate);
- break;
- }
- }
- } else {
- // 체킹된 안된 경우 progress 순번의 시작시간 초기화...
- for (var j = 0 ; j < dataCnt ; j++) {
- var progno = ds_grd_prog.getColumn(j,"progno");
- if (no == progno) {
- ds_grd_prog.setColumn(j,"progfromdt","");
- break;
- }
- }
- }
- }
-
- fDisplayProgress();
- }
- /**
- * @desc : Progress 번호 그리드에 표기하기..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayProgress()
- {
- ds_grd_main.enableevent = false;
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var refds_anstinfo = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- var obj = grp_base.grd_main;
- var meetingdt = utlf_transNullToEmpty(refds_anstinfo.getColumn(0,"meetingdd")) + utlf_transNullToEmpty(refds_anstinfo.getColumn(0,"meetingtm"));
- if (meetingdt.length != 12) {
- ds_grd_main.enableevent = true;
- return;
- }
-
- // 그리드 초기화
- for (var j = col_fromdt + 1 ; j < parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
- //grd_main.textMatrix(row_progress, j) = "";
-
- ds_grd_main.setColumn(row_progress,lf_getBindCellName(grp_base.grd_main,j),"");
- }
-
- var dataCnt = ds_grd_prog.rowcount;
- // 차트 그리드 에 표시
- for (var i = 0 ; i < dataCnt ; i++) {
-
- var progno = ds_grd_prog.getColumn(i,"progno");
- var fromdt = ds_grd_prog.getColumn(i,"progfromdt");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- if (fromdt == meetingdt) {
- fromdt = graph_fromdt;
- }
- for (var j = col_fromdt + 1 ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
-
- if ( utlf_isNull(fromdt)) {
- break;
- }
- var colDate = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- if ( colDate == fromdt) {
- //grd_main.textMatrix(row_progress, j) = grd_main.textMatrix(row_progress, j) + "," + progno;
- ds_grd_main.setColumn(row_progress,lf_getBindCellName(obj,j),obj.getCellText(row_progress,j)+ "," + progno);
-
- var nolist = obj.getCellText(row_progress,j);
- if (nolist.substring(0,1) == "," ) {
- //grd_main.textMatrix(row_progress, j) = nolist.substring(1, nolist.length);
- ds_grd_main.setColumn(row_progress,lf_getBindCellName(obj,j),nolist.substring(1, nolist.length) );
- }
- break;
- }
- }
- }
- ds_grd_main.enableevent = true;
- }
-
- /**
- * @desc : Progress 순번 리스트 초기화하기.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearProgNo()
- {
- ds_grd_main.enableevent = false;
- grup_prog.visible = false;
-
- var obj = grp_base.grd_main;
- // progress 순번 리스트 가져오기...
- //var ref = "/root/main/prog";
- var dataCnt = ds_grd_prog.rowcount;
-
- // 그리드에 progress 순번 리스트 보여주기...
- for (var i = 0 ; i < dataCnt ; i++) {
-
- ds_grd_prog.setColumn(i,"progfromdt","");
- }
-
- // 그리드 초기화
- for (var i = col_fromdt + 1 ; i <= parseInt(col_todt) + parseInt(col_fromdt) ; i++) {
- ds_grd_main.setColumn(row_progress,lf_getBindCellName(grp_base.grd_main,i),"");
- }
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : Agent, Drug, Fluid 인 경우 전체 시간을 클리어한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearAnstItem()
- {
- var linkcd = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkseqno");
- // 투여일시 인스턴스도 삭제
- //grp_base.sw_left.case_anstprcp.iv_anstprcp.fDestroyAnstItem(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem, linkcd, linkseqno);
- grp_base.sw_left.case_anstprcp.iv_anstprcp.fDestroyAnstItem(linkcd, linkseqno);
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(ds_grd_main.rowposition);
- }
- /**
- * @desc : Agent, Drug, Fluid, Blood - 용량 기록
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemRec(Rowno,Colno)
- {
- var gridObj = grp_base.grd_main;
- if (Colno < 0)
- {
- return;
- }
- var linkcd = ds_grd_main.getColumn(Rowno,"linkcd");
- var linktype = ds_grd_main.getColumn(Rowno,"linktype");
- var rec = ds_grd_main.getColumn(Rowno, lf_getBindCellName(gridObj,Colno));
-
-
-
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno= ds_grd_main.getColumn(Rowno,"linkseqno");
- var refds_anstinfo = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- //gridObj.cellstyle("font-weight", gridObj.row, 1, gridObj.row, 1) = "normal";
- //gridObj.setCellProperty("body",1,"style","font:EXPR(getColumn(currow,'linknm') == '" + ds_grd_main.getColumn(ds_grd_main.rowposition,"linknm") + "?'Dotum,9')");
- // 선택된 시작일시
- var j = Colno;
- var fromdt = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- var todt = Number(fromdt) + 4;
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- // 2008.09.22. time out chrck 확인한다.. time out chrck보다 선택된 시작시간이 작으면 time out chrck으로 저장한다.. (agent,drug,fluid,blood)
- if (linktype == "V") {
- var anstfromdt = refds_anstinfo.getColumn(0,"meetingdd") + refds_anstinfo.getColumn(0,"meetingtm");
- } else {
- var anstfromdt = refds_anstinfo.getColumn(0,"anstfromdd") + refds_anstinfo.getColumn(0,"anstfromtm");
- }
- var anstfromdt = refds_anstinfo.getColumn(0,"meetingdd") + refds_anstinfo.getColumn(0,"meetingtm");
-
- if (anstfromdt.length != 12) {
-
- return;
- }
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- //var ref = "/root/main/anstitem/item";
- var refds_anstitem = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- var dataCnt = refds_anstitem.rowcount;
- // 종료시간이 있는데 업데이트 하면?? 기록에 업데이트 해줘야지~
-
- for (var i=0 ; i < dataCnt ; i++) {
- var tmplinkcd = refds_anstitem.getColumn(i,"linkcd");
- var tmplinkseqno = refds_anstitem.getColumn(i,"linkseqno");
- var tmptodt = refds_anstitem.getColumn(i,"todt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmptodt == todt) {
- refds_anstitem.setColumn(i,"rec", rec);
- if (linktype == "F") {
- var subrec = refds_anstitem.getColumn(i,"subrec");
- rec = Number(subrec) - Number(rec);
- refds_anstitem.setColumn(i,"rec", rec);
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(Rowno);
- return;
- }
- }
- // 시작시간이 있으면 업데이트... 없으면 추가...
-
- for (var i=0 ; i < dataCnt ; i++) {
- var tmplinkcd = refds_anstitem.getColumn(i,"linkcd");
- var tmplinkseqno = refds_anstitem.getColumn(i,"linkseqno");
- var tmpfromdt = refds_anstitem.getColumn(i,"fromdt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmpfromdt == fromdt) {
- refds_anstitem.setColumn(i,"rec" , rec);
- refds_anstitem.setColumn(i,"subrec", rec);
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(Rowno);
- break;
- }
- }
- var newrow = dataCnt;
- if (i >= dataCnt) {
- if (dataCnt > 0) {
- var checkValue = refds_anstitem.getColumn(dataCnt-1, "linktype");
- if (!utlf_isNull(checkValue)) {
- newrow = refds_anstitem.addRow();
- }
- } else {
- newrow = refds_anstitem.addRow();
- }
- refds_anstitem.setColumn(newrow,"linktype" , linktype);
- refds_anstitem.setColumn(newrow,"linkcd" , linkcd);
- refds_anstitem.setColumn(newrow,"linkseqno", linkseqno);
- refds_anstitem.setColumn(newrow,"fromdt" , fromdt);
- refds_anstitem.setColumn(newrow,"todt" , "");
- refds_anstitem.setColumn(newrow,"rec" , rec);
- refds_anstitem.setColumn(newrow,"subrec" , "");
- if (linktype == "F") {
- refds_anstitem.setColumn(newrow,"subrec" , rec);
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(Rowno);
- }
- }
- /**
- * @desc : Agent, Drug, Fluid, Blood, V/S - 시작일시 적용
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemFromDt(Rowno,Colno)
- {
- var gridObj = grp_base.grd_main;
- if(Colno < 0)
- {
- return;
- }
- var linkcd = ds_grd_main.getColumn(Rowno,"linkcd");
- var linktype = ds_grd_main.getColumn(Rowno,"linktype");
- var linkseqno = ds_grd_main.getColumn(Rowno,"linkseqno");
- var rec = ds_grd_main.getColumn(Rowno, lf_getBindCellName(gridObj,Colno));
- var refds_anstinfo = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- //gridObj.cellstyle("font-weight", gridObj.row, 1, gridObj.row, 1) = "normal";
- //gridObj.setCellProperty("body",1,"style","font:EXPR(getColumn(currow,'linknm') == '" + ds_grd_main.getColumn(ds_grd_main.rowposition,"linknm") + "?'Dotum,9')");
- // 선택된 시작일시
- var j = Colno;
- var fromdt = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- if (fromdt.length != 12) { return; }
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- // 2008.09.22. time out chrck 확인한다.. time out chrck보다 선택된 시작시간이 작으면 time out chrck으로 저장한다.. (agent,drug,fluid,blood)
- if (linktype == "V") {
- var anstfromdt = refds_anstinfo.getColumn(0,"meetingdd") + refds_anstinfo.getColumn(0,"meetingtm");
- } else {
- var anstfromdt = refds_anstinfo.getColumn(0,"anstfromdd") + refds_anstinfo.getColumn(0,"anstfromtm");
- }
- var anstfromdt = refds_anstinfo.getColumn(0,"meetingdd") + refds_anstinfo.getColumn(0,"meetingtm");
- if (anstfromdt.length != 12) {
- sysf_messageBox("Meeting Time 시간을 정확히 입력하십시오", "E999", "");
- return;
- }
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- var refds_anstitem = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- var dataCnt = refds_anstitem.rowcount;
- // 추가 또는 업데이트...
- for (var i=0 ; i < dataCnt ; i++) {
- var tmplinkcd = refds_anstitem.getColumn(i,"linkcd");
- var tmplinkseqno = refds_anstitem.getColumn(i,"linkseqno");
- var tmpfromdt = refds_anstitem.getColumn(i,"fromdt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmpfromdt == fromdt) {
- if (utlf_isNull(rec)) {
- refds_anstitem.deleteRow(i);
- } else {
- refds_anstitem.setColumn(i,"linkcd", linkcd);
- refds_anstitem.setColumn(i,"rec", rec);
- }
- break;
- }
- }
- var newrow = dataCnt;
- if (i >= dataCnt) {
- if (dataCnt > 0) {
- var checkValue = refds_anstitem.getColumn(dataCnt-1 ,"linktype");
- if (!utlf_isNull(checkValue)) {
- newrow = refds_anstitem.addRow();
- }
- } else {
- newrow = refds_anstitem.addRow();
- }
- refds_anstitem.setColumn(newrow,"linktype" , linktype);
- refds_anstitem.setColumn(newrow,"linkcd" , linkcd);
- refds_anstitem.setColumn(newrow,"linkseqno", linkseqno);
- refds_anstitem.setColumn(newrow,"fromdt" , fromdt);
- refds_anstitem.setColumn(newrow,"todt" , "");
- refds_anstitem.setColumn(newrow,"rec" , rec);
- refds_anstitem.setColumn(newrow,"subrec" , "");
- if (linktype == "F") {
- refds_anstitem.setColumn(newrow,"subrec" , rec);
- }
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(Rowno);
- }
- /**
- * @desc : Agent, Drug, Fluid, Blood - 종료일시 적용
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemToDt()
- {
- var gridObj = grp_base.grd_main;
- var linkcd = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkcd");
- var linktype = ds_grd_main.getColumn(ds_grd_main.rowposition,"linktype");
- var linkseqno = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkseqno");
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- //gridObj.cellstyle("font-weight", gridObj.row, 1, gridObj.row, 1) = "normal";
- //gridObj.setCellProperty("body",1,"style","font:EXPR(currow == " + gridObj.currentrow + "?Dotum,9");
- // 선택된 시작일시, 종료일시
- var j = gridObj.currentcol;
- var todt = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- todt = Number(todt) + 4;
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- var refds_anstitem = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- var dataCnt = refds_anstitem.rowcount;
- for (var i=0 ; i< dataCnt ; i++) {
- var tmplinkcd = refds_anstitem.getColumn(i,"linkcd");
- var tmplinkseqno = refds_anstitem.getColumn(i,"linkseqno");
- var tmptodt = refds_anstitem.getColumn(i,"todt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && utlf_isNull(tmptodt)) {
- // 종료일시 업데이트 하기...
- refds_anstitem.setColumn(i,"todt", todt);
- }
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(ds_grd_main.rowposition);
- }
- //
- //
- // /**
- // * @desc : Agent, Drug, Fluid, Blood - 시작일시, 종료일시 적용
- // * @
- // * @param :
- // * @return :
- // * @---------------------------------------------------
- // *
- // */
- // function fSetAnstItemFromDtToDt()
- // {
- // var gridObj = grd_main;
- // var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- // var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- // var linkseqno = gridObj.textMatrix(gridObj.row, col_linkseqno);
- // var rec = gridObj.textMatrix(gridObj.row, gridObj.col);
- //
- // // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- // gridObj.cellstyle("font-weight", gridObj.row, 1, gridObj.row, 1) = "normal";
- //
- // // 선택된 시작일시, 종료일시
- // var fromdt = gridObj.valueMatrix(0, gridObj.col) + gridObj.valueMatrix(1, gridObj.col) + gridObj.valueMatrix(2, gridObj.col);
- // if (fromdt.length == 12) { return; }
- //
- // var todt = Number(fromdt) + 4;
- // if (gridObj.selectedCells.length > 1) {
- // var col_todt = gridObj.col + gridObj.selectedCells.length - 1;
- // todt = gridObj.valueMatrix(0, col_todt) + gridObj.valueMatrix(1, col_todt) + gridObj.valueMatrix(2, col_todt);
- // }
- //
- // // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- // // 2008.09.22. time out chrck 확인한다.. time out chrck보다 선택된 시작시간이 작으면 time out chrck으로 저장한다.. (agent,drug,fluid,blood)
- // if (linktype == "V") {
- // var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- // } else {
- // var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromtm");
- // }
- // var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- // if (anstfromdt.length != 12) {
- // return;
- // }
- // if (fromdt < anstfromdt) {
- // fromdt = anstfromdt;
- // }
- //
- // // 처방목록에 시작시간, 종료시간 셋 해주자~
- // var ref = "/root/main/anstitem/item";
- // var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- //
- // // 추가 또는 업데이트...
- // for (var i=1 ; i <= dataCnt ; i++) {
- // var tmplinkcd = iv_anstprcp.model.getValue(ref+"["+ i +"]/linkcd");
- // var tmplinkseqno = iv_anstprcp.model.getValue(ref+"["+ i +"]/linkseqno");
- // var tmpfromdt = iv_anstprcp.model.getValue(ref+"["+ i +"]/fromdt");
- // if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmpfromdt == fromdt) {
- // iv_anstprcp.model.setValue(ref+"["+ i +"]/todt", todt);
- // iv_anstprcp.model.setValue(ref+"["+ i +"]/rec", rec);
- // break;
- // }
- // }
- // if (i > dataCnt) {
- // if (dataCnt > 0) {
- // var checkValue = iv_anstprcp.model.getValue(ref+"["+ dataCnt +"]/linktype");
- // if (checkValue != "") {
- // dataCnt = dataCnt + 1;
- // }
- // } else {
- // dataCnt = dataCnt + 1;
- // }
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/linktype" , linktype);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/linkcd" , linkcd);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/linkseqno", linkseqno);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/fromdt" , fromdt);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/todt" , todt);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/rec" , rec);
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/subrec" , "");
- // if (linktype == "F") {
- // iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/subrec" , rec);
- // }
- // }
- // // 투여용량, 시작시간, 종료시간 표시하기
- // fDisplayAnstItem(gridObj.row);
- // }
- /**
- * @desc : 왼쪽 화면을 보여주기 / 차트 줄이기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fOpenLeft(flag)
- {
-
- grp_base.sw_left.visible =true;
- if (eval(flag) == true) {
- //grd_main.attribute("style") = "left:458px; top:25px; width:540px; height:712px; ";
- grp_base.grd_main.position.left = 460;
- grp_base.grd_main.position.width = 540;
- grp_base.grd_main.position.top = 35;
- grp_base.grd_main.position.height = 704;
-
- } else {
- //grd_main.attribute("style") = "left:0px; top:25px; width:998px; height:712px; ";
- grp_base.grd_main.position.left = 0;
- grp_base.grd_main.position.width = 998;
- grp_base.grd_main.position.top = 35;
- grp_base.grd_main.position.height = 704;
- }
-
- // 2008.10.09. 메인 그리드에 시간 추가하기.. (1시간 단위로)
- grp_base.btn_addcol.visible = false;
- fShowWndIptBox();
- }
- //
- //
- // /**
- // * @desc : 메인 그리드 화면을 보여주기 / 차트 줄이기
- // * @
- // * @param :
- // * @return :
- // * @---------------------------------------------------
- // *
- // */
- // function fOpenTop(flag)
- // {
- // return;
- //
- // if (flag == "true") {
- // btn_small.visible = true;
- // btn_big.visible = false;
- // grd_main.attribute("style") = "left:0px; top:0px; width:998px; height:696px; ";
- // TChart1.height = 0;
- // } else {
- // btn_small.visible = false;
- // btn_big.visible = true;
- // grd_main.attribute("style") = "left:0px; top:350px; width:998px; height:345px; ";
- // TChart1.height = 355;
- // }
- // fShowWndIptBox();
- // }
- //
- /**
- * @group : SET 목록 조회 선택시 SET 아이템 보여주기
- * @ver : 2007-08-24
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fSetItemDisplay()
- {
- var setlist = grp_base.cbo_setlist.value;
- if (setlist != "0") {
- ds_send_setinfo.setColumn(0,"instcd" , sInstcd);
- ds_send_setinfo.setColumn(0,"settype", "V");
- ds_send_setinfo.setColumn(0,"setcd" , setlist);
- // 현재일시
- currentdate = utlf_getCurrentDate() + utlf_getCurrentTime();
- ds_send_setinfo.setColumn(0,"currentdate" , currentdate);
- // 마취 VS SET 아이템 조회하기..
-
- var oParam = {};
- oParam.id = "TRMMR04209";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetVSSetItem";
- oParam.inds = "setinfo=ds_send_setinfo";
- oParam.outds = "ds_vssetitem=item";
- oParam.async = false;
- oParam.callback = "cf_TRMMR04209";
- tranf_submit(oParam);
- // V/S TChart 그려주자..
- fDisplayChart();
- }
- }
- function cf_TRMMR04209(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 메인 그리드의 Agent, Drug, Fluid 선택시 Progress list 에 Copy
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCopyProgList(gridObj:Grid)
- {
- if (gridObj.currentcol == 0) {
- var linktype = ds_grd_main.getColumn(ds_grd_main.rowposition, "linktype");
- if (linktype == "V") {
- if (vslist == "on") { vslist = "off"; } else { vslist = "on"; }
- var firstRow = "";
- for (var i=0 ; i < gridObj.rowcount; i++) {
- var tmplinktype = gridObj.getCellText(i, col_linktype);
- if (tmplinktype == "V" && vslist == "on" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = false;
- gridObj.setRealRowSize(i, 19);
- }
- if (tmplinktype == "V" && vslist == "off" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = true;
- gridObj.setRealRowSize(i, 0);
- }
- if (tmplinktype == "V" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "A") {
- if (agentlist == "on") { agentlist = "off"; } else { agentlist = "on"; }
- var firstRow = "";
- for (var i=0 ; i < gridObj.rowcount; i++) {
- var tmplinktype = gridObj.getCellText(i, col_linktype);
- if (tmplinktype == "A" && agentlist == "on" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 19);
- }
- if (tmplinktype == "A" && agentlist == "off" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 0);
- }
- if (tmplinktype == "A" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "D") {
- if (druglist == "on") { druglist = "off"; } else { druglist = "on"; }
- var firstRow = "";
- for (var i=0 ; i < gridObj.rowcount; i++) {
- var tmplinktype = gridObj.getCellText(i, col_linktype);
- if (tmplinktype == "D" && druglist == "on" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 19);
- }
- if (tmplinktype == "D" && druglist == "off" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 0);
- }
- if (tmplinktype == "D" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "F") {
- if (fluidlist == "on") { fluidlist = "off"; } else { fluidlist = "on"; }
- var firstRow = "";
- for (var i=0 ; i < gridObj.rowcount; i++) {
- var tmplinktype = gridObj.getCellText(i, col_linktype);
- if (tmplinktype == "F" && fluidlist == "on" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 19);
- }
- if (tmplinktype == "F" && fluidlist == "off" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 0);
- }
- if (tmplinktype == "F" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "H") {
- if (blodlist == "on") { blodlist = "off"; } else { blodlist = "on"; }
- var firstRow = "";
- for (var i=0 ; i < gridObj.rowcount; i++) {
- var tmplinktype = gridObj.getCellText(i, col_linktype);
- if (tmplinktype == "H" && blodlist == "on" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 19);
- }
- if (tmplinktype == "H" && blodlist == "off" && !utlf_isNull(firstRow)) {
- gridObj.setRealRowSize(i, 0);
- }
- if (tmplinktype == "H" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- }
- if (gridObj.currentcol == 1) {
- var linktype = gridObj.getCellText(gridObj.currentrow, col_linktype);
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- var prcptiemnm = gridObj.getCellText(gridObj.currentrow, gridObj.currentcol);
- for (var i=0 ; i < ds_grd_prog.rowcount -1 ; i++) {
- var progrec = ds_grd_prog.getColumn(i,lf_getBindCellName(grp_base.swt_right.case_prog.grd_prog, 1));
- if (progrec.length == 0) {
- ds_grd_prog.setColumn(i,lf_getBindCellName(grp_base.swt_right.case_prog.grd_prog, 1), prcptiemnm);
- //grd_prog.autoresize = true;
- grp_base.swt_right.case_prog.grd_prog.autoSizeRow("row",i);
- break;
- }
- }
- }
- }
- utlf_addLog(gridObj.currentcol + " || " + col_fromdt + " || " + col_todt);
- if (gridObj.currentcol >= col_fromdt && gridObj.currentcol <= col_todt) {
- var linktype = gridObj.getCellText(gridObj.currentrow, col_linktype);
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- // 투여용량, 시작시간, 종료시간 표시하기
- fSetAnstItemRec(gridObj.currentrow,gridObj.currentcol);
-
- grp_base.grd_main.showEditor(true);
-
- }
-
- }
- }
- /**
- * @desc : 메인 그리드에서 삭제 메뉴 클릭시 처방목록에서 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelGridPrcp()
- {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpcd = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkcd");
- var prcpseqno = ds_grd_main.getColumn(ds_grd_main.rowposition,"linkseqno");
- var i;
- var gridObj = grp_base.sw_left.case_anstprcp.iv_anstprcp.grd_anstprcp;
- //var ref = "/root/main/anstprcp/item";
- var refds_anstprcp = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item;
- for (i=0 ; i < refds_anstprcp.rowcount ; i++)
- {
- var tmpprcpcd = refds_anstprcp.getColumn(i,"prcpcd");
- var tmpprcpseqno = refds_anstprcp.getColumn(i,"prcpseqno");
- if (tmpprcpcd == prcpcd && tmpprcpseqno == prcpseqno)
- {
- refds_anstprcp.rowposition = i;
- break;
- }
- }
- if (i < refds_anstprcp.rowcount)
- {
- // 전체 처방 목록에 삭제처리함.
- grp_base.sw_left.case_anstprcp.iv_anstprcp.fDelPrcpList();
- }
- }
- /**
- * @desc : 이전 버튼을 클릭하여 그래프를 1시간 간격으로 이전 페이지 이동
- * @ 다음 버튼을 클릭하여 그래프를 1시간 간격으로 다음 페이지 이동
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGraphPageMove(flag)
- {
- var fromdt = graph_fromdt;
- var tmpdt = fromdt.toDate("YYYYMMDDhhmm");
- if (flag == "prev") {
- var rtndt = tmpdt.getAddDate(-1, "h"); // 1시간 빼기
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- } else if (flag == "next") {
- var rtndt = tmpdt.getAddDate(1, "h"); // 1시간 더하기
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- } else if (flag == "prev2") {
- var rtndt = tmpdt.getAddDate(-2, "h"); // 1시간 빼기
- rtndt = tmpdt.getAddDate(5, "m"); // 5분 더하기
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- } else if (flag == "next2") {
- var rtndt = tmpdt.getAddDate(2, "h"); // 1시간 더하기
- rtndt = tmpdt.getAddDate(-5, "m"); // 5분 빼기
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- } else if (flag == "start") {
- var meetingdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdt");
- fromdt = meetingdt.substr(0,12); // 마취시작시간
- } else if (flag == "end") {
- var ansttodt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodt");
- var tmpdt = ansttodt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(-2, "h"); // 마취종료시간에서 - 2시간
- rtndt = tmpdt.getAddDate(5, "m"); // 마취종료시간에서 + 5분
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- }
- // 시작일시를 바꿔주자..
- fSetGraphFormdt(fromdt);
- // 메인 그리드에 그려주자..
- fDisplayGrid();
- // V/S TChart 그려주자..
- fDisplayChart();
- // V/S
- var gridObj = grp_base.grd_main;
- var firstRow = "";
- for (var i=1 ; i < grp_base.grd_main.rowcount ; i++) {
- var tmplinktype = grp_base.grd_main.getCellText(i, col_linktype);
- if (tmplinktype == "V" && vslist == "on" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = false;
- grp_base.grd_main.setFormatRowProperty(i, "size",24);
- }
- if (tmplinktype == "V" && vslist == "off" && !utlf_isNull(firstRow)) {
- //gridObj.rowhidden(i) = true;
- grp_base.grd_main.setFormatRowProperty(i, "size",0);
- }
- if (tmplinktype == "V" && utlf_isNull(firstRow)) {
- firstRow = "ok";
- }
- }
- }
- /**
- * @desc : 우클릭시 바로 팝업처리.. VS Range 표시해주기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fOpenVSRange(e:GridMouseEventInfo)
- {
- ds_hidden.setColumn(0,"vsrec","");
- var gridObj = grp_base.grd_main;
- if (gridObj.currentcol >= col_fromdt && gridObj.currentcol <= col_todt) {
- var linkcd = gridObj.getCellText(gridObj.currentrow, col_linkcd);
- // vs 항목 정보 가져오기...
- //var ref = "/root/main/vslist/item";
- var dataCnt = ds_grd_vslist.rowcount;
- // 그리드 초기화
- ds_grd_range.clearData();
-
- // 그리드에 vs range 리스트 보여주기...
- for (var i = 0 ; i < dataCnt ; i++) {
- var vsitemcd = ds_grd_vslist.getColumn(i,"vsitemcd");
- if (linkcd == vsitemcd) {
- var rangemin = ds_grd_vslist.getColumn(i,"rangemin");
- var rangemax = ds_grd_vslist.getColumn(i,"rangemax");
- var interval = ds_grd_vslist.getColumn(i,"interval");
- for (var j = Number(rangemin) ; j <= Number(rangemax) ; j = Number(j) + Number(interval)) {
- var newrow= ds_grd_range.addRow();
- //grd_range.textMatrix(grd_range.row, 0) = j;
- ds_grd_range.setColumn(newrow,"rec",j);
- }
- break;
- }
- }
-
- if (ds_grd_range.rowcount > 9) {
- ds_grd_range.rowposition = Number(ds_grd_range.rowcount/2)-5;
- }
- fShowWndIptBox("range",e);
- if(vsitemcd == "38")
- {
- ds_grd_range.rowposition = ds_grd_range.rowcount - 1;
- grup_range.grd_range.vscrollbar.pos = ds_grd_range.rowposition;
- }
- else
- {
- ds_grd_range.rowposition = -1;
- grup_range.grd_range.vscrollbar.pos = ds_grd_range.rowposition;
- }
- }
- }
- /**
- * @desc : VS Range 클릭시 메인에 적용해 주고, drag한 컬럼의 시간에 수치 업데이트 또는 추가
- * @
- * @param : flag - 0 : range grid , 1 : main frid , 2 : text
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetVSValue(flag)
- {
- ds_grd_main.enableevent = false;
- var gridObj = grp_base.grd_main;
- var linkcd = gridObj.getCellText(gridObj.currentrow, col_linkcd);
- if (flag == "0") {
- rec = grup_range.grd_range.getCellText(grup_range.grd_range.currentrow, grup_range.grd_range.currentcol);
- } else if (flag == "1") {
- rec = gridObj.getCellText(gridObj.currentrow, gridObj.currentcol);
- } else if (flag == "2") {
- rec = ds_hidden.getColumn(0,"vsrec");
- }
-
- if (!utlf_isNull(flag) || grup_range.grd_range.currentcol == 0) {
- //선택된 셀의 vs의 anstitem 추가
- // var cells = gridObj.selectedCells;
- var SelectedCols = grdf_getSelectedCols(grp_base.grd_main);
- for (var i=0 ; i < SelectedCols.length ; i++)
- {
- var col = SelectedCols[i];
-
- ds_grd_main.setColumn(ds_grd_main.rowposition,lf_getBindCellName(grp_base.grd_main,col), rec);
- // sysf_trace(ds_grd_main.saveXML());
-
- fSetVSAnstItemFromDt(ds_grd_main.rowposition, col);
-
- }
- //fSetChart(TChart1, linkcd);
- grup_range.visible = false;
- }
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : V/S 인 경우 드래그후 우클릭시 처음 선택한 컬럼의 값을 셋한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fVSDragSet()
- {
- ds_grd_main.enableevent = false;
- var gridObj = grp_base.grd_main;
- var linkcd = gridObj.getCellText(gridObj.currentrow, col_linkcd);
- var rec = gridObj.getCellText(gridObj.currentrow, gridObj.selectstartcol);
- //선택된 셀의 vs의 anstitem 추가
-
- var SelectedCols = grdf_getSelectedCols(grp_base.grd_main);
- for (var i=0 ; i < SelectedCols.length ; i++)
- {
- var col = SelectedCols[i];
- ds_grd_main.setColumn(ds_grd_main.rowposition,lf_getBindCellName(grp_base.grd_main,col), rec);
- fSetVSAnstItemFromDt(ds_grd_main.rowposition, col);
-
- }
- ds_grd_main.enableevent = true;
- }
-
- /**
- * @desc : drag한 컬럼의 시간에 수치 업데이트 또는 추가
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetVSAnstItemFromDt(row, col)
- {
- var gridObj = grp_base.grd_main;
- var linkcd = ds_grd_main.getColumn(row,"linkcd");
- var linktype = ds_grd_main.getColumn(row,"linktype");
- var linkseqno = ds_grd_main.getColumn(row,"linkseqno");
- var rec = ds_grd_main.getColumn(row,lf_getBindCellName(grp_base.grd_main,col));
- var i = 0;
- // 선택된 시작일시
- var fromdt = ds_timeheader.getColumn(0,"t"+col) + ds_timeheader.getColumn(1,"t"+col);
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다.. (agent,drug,fluid,blood)
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다.. (v/s)
- // 2008.09.22. time out chrck 확인한다.. time out chrck보다 선택된 시작시간이 작으면 time out chrck으로 저장한다.. (agent,drug,fluid,blood)
- if (linktype == "V") {
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm");
- } else {
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm");
- }
- if (anstfromdt.length != 12) {
- if (linktype == "V") {
- sysf_messageBox("Meeting Time 시간을 정확히 입력하십시오", "E999", "");
- }else{
- sysf_messageBox("마취시작 시간을 정확히 입력하십시오", "E999", "");
- }
- return;
- }
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- var refds = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- var dataCnt = refds.rowcount;
- // 추가 또는 업데이트...
- for (i=0 ; i < dataCnt ; i++) {
- var tmplinkcd = refds.getColumn(i,"linkcd");
- var tmpfromdt = refds.getColumn(i,"fromdt");
- if (tmplinkcd == linkcd && tmpfromdt == fromdt) {
-
- refds.setColumn(i,"rec", rec);
- break;
- }
- }
- var newrow = dataCnt;
- if (i >= dataCnt) {
-
- newrow = refds.addRow();
- refds.setColumn(newrow,"linktype" , linktype);
- refds.setColumn(newrow,"linkcd" , linkcd);
- refds.setColumn(newrow,"linkseqno", linkseqno);
- refds.setColumn(newrow,"fromdt" , fromdt);
- refds.setColumn(newrow,"todt" , "");
- refds.setColumn(newrow,"rec" , rec);
- refds.setColumn(newrow,"subrec" , rec);
- }
- }
- /**
- * @desc : drag한 컬럼의 시간에 데이타 삭제하기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearAnstItemFormDtToDt()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm");
- if (anstfromdt.length != 12) {
- //alert("마취시작시간을 확인하시기 바랍니다.");
- return;
- }
- var gridObj = grp_base.grd_main;
- var linkcd = gridObj.getCellText(gridObj.currentrow, col_linkcd);
- //선택된 셀의 vs의 anstitem 추가
- var cells = grdf_getSelectedCols(gridObj); ;
- for (var i=0 ; i < cells.length ; i++)
- {
- var col = cells[i];
- var fromdt = ds_timeheader.getColumn(0,"t"+col) + ds_timeheader.getColumn(1,"t"+col);
- var linkcd = gridObj.getCellText(gridObj.currentrow, col_linkcd);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = gridObj.getCellValue(gridObj.currentrow, col_linkseqno);
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- fDestroyAnstItemFromDtToDt(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem, linkcd, linkseqno, fromdt);
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.currentrow);
- }
- /**
- * @desc : 그리드 메인 에서 처방항목 클리어 하기.. 전체 처방 목록의 처방코드의 투여일시 인스턴스도 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDestroyAnstItemFromDtToDt(refds, linkcd, linkseqno, fromdt)
- {
- var dataCnt = refds.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var tmplinkcd = refds.getColumn(i,"linkcd");
- var tmplinkseqno = refds.getColumn(i,"linkseqno");
- var tmpfromdt = refds.getColumn(i,"fromdt");
- var tmptodt = refds.getColumn(i,"todt");
- tmpfromdt = tmpfromdt.substr(0,12);
- if (utlf_isNull(tmptodt)) { tmptodt = tmpfromdt };
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- if (tmpfromdt <= fromdt && fromdt <= tmptodt ) {
- // 처방코드가 같은가? del
- refds.deleteRow(i);
- break;
- }
- }
- }
- }
- /**
- * @desc : 마취 기록 & 처방
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstRecMast()
- {
- if (iv_anstmast_load == "N") {
- // 마취 기록 & 처방
- grp_base.sw_left.case_anstmast.iv_anstmast.url = "emr_anstrecxp::SSMMR05800_마취환자기록마스터.xfdl";
- grp_base.sw_left.case_anstmast.iv_anstmast.fFormInit(anstrecno);
- iv_anstmast_load = "Y";
- }
- }
- /**
- * @desc : 마취기록 Reviewe
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstRecReview()
- {
- if (oprsrvno.length == 0) {
- //alert("환자 수술정보가 없습니다.");
- //return;
- }
- // iviewer 인스턴스 넘겨주기..
- // 1. info : 마취정보 + remark + 집도의 + 마취의
- // Total I/O : Urine output , Bloodloss, Crystalloid, Colloid
- // 2. opinfo : 진단명 리스트, 수술명(전)- case cart (주+부), 수술명(후)
- // 3. 기록 - 마취방법
- // 4. Progress
- // 5. Agent
- // 6. Drug
- // 7. Fluid
- // 8. Blood
- // 9. Procedure
- // 10. V/S
- // 11. time, vol, value
- // opposturerem
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"opposturerem", "string", ds_anstinfo.getColumn(0,"opposturerem"));
- // remark
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"remark","string" , ds_anstinfo.getColumn(0,"remark"));
- // pca remark
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"pcarem","string" ,ds_anstinfo.getColumn(0,"pcarem"));
- // vs set code (2009.06.22)
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"vssetcd","string" , ds_anstinfo.getColumn(0,"vssetcd"));
- // 2008.09.29. 수술예약정보에서 수술환자구분, 협진여부, 재수술여부 셋해주기...
- var oppatflagcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"oppatflagcd");
- var oppatflagnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0020.lookup("cdid", oppatflagcd, "cdnm");
- var cnstopflag = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"cnstopflag");
- var reopflag = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"reopflag");
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"oppatflagnm","string" , oppatflagnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"cnstopflag","string" , cnstopflag);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"reopflag","string" , reopflag);
- // 마취일반정보에 코드에 따른 라벨(값) 셋해주기...
- var anstmthdcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstmthdcd");
- var anstmthdcdsub = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstmthdcdsub");
- var anstaddcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstaddcd");
- var physstat = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"physstat");
- var opflagcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opflagcd");
- var oproomcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"oproomcd");
- var anstdrid1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid1");
- var anstdrid2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid2");
- var anstdrid3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid3");
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- var anstdrid4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid4");
- //200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- var anstdrid5 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid5");
- var anstdrid6 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid6");
- var anstdrid7 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid7");
- var anstdrid8 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid8");
-
- //2013/09/25 End
- var anstnursid1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstnursid1");
- var anstnursid2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstnursid2");
- //20131104 Start
- var anstnursid3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstnursid3");
- var anstnursid4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstnursid4");
- //20131104 End
- var anstmthdnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0270.lookup("cdid", anstmthdcd, "cdnm");
- var anstmthdnmsub = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0271.lookup("cdid", anstmthdcdsub, "cdnm");
- var anstaddnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0008.lookup("cdid", anstaddcd, "cdnm");
- var physstatnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0269.lookup("cdid", physstat, "cdnm");
- var opflagnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_M0013.lookup("cdid", opflagcd, "cdnm");
- var oproomnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_oproomlist.lookup("oproomcd", oproomcd ,"oproomnm");
- var anstdrnm1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid1, "usernm");
- var anstdrnm2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid2, "usernm");
- var anstdrnm3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid3, "usernm");
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- var anstdrnm4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid4, "usernm");
- //20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- var anstdrnm5 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid5, "usernm");
- var anstdrnm6 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid6, "usernm");
- var anstdrnm7 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid7, "usernm");
- var anstdrnm8 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid8, "usernm");
-
-
- //2013/09/25 End
- var anstnursnm1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstnurslist.lookup("userid", anstnursid1 ,"usernm");
- var anstnursnm2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstnurslist.lookup("userid", anstnursid2 ,"usernm");
- //20131104 Start
- var anstnursnm3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstnurslist.lookup("userid", anstnursid3 ,"usernm");
- var anstnursnm4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstnurslist.lookup("userid", anstnursid4 ,"usernm");
- //20131104 End
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstmthdnm","string" , anstmthdnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstmthdnmsub","string" , anstmthdnmsub);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstaddnm","string" , anstaddnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"physstatnm","string" , physstatnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"opflagnm" ,"string" , opflagnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"oproomnm" ,"string" , oproomnm);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm1","string" , anstdrnm1);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm2","string" , anstdrnm2);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm3","string" , anstdrnm3);
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm4","string" , anstdrnm4);
- //20200319 김현석, 마취기록지 마취의 정보 추가 anstdrid5 ~ 8, 요청번호:20200210033
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm5","string" , anstdrnm5);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm6","string" , anstdrnm6);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm7","string" , anstdrnm7);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstdrnm8","string" , anstdrnm8);
-
- //2013/09/25 end
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstnursnm1","string" , anstnursnm1);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstnursnm2","string" , anstnursnm2);
- //20131104 Start
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstnursnm3","string" , anstnursnm3);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstnursnm4","string" , anstnursnm4);
- //20131104 End
- var perfdeptcd1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdeptcd1");
- var perfdrid1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdrid1");
- var perfdeptcd2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdeptcd2");
- var perfdrid2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdrid2");
- var perfdeptcd3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdeptcd3");
- var perfdrid3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdrid3");
- var perfdeptcd4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdeptcd4");
- var perfdrid4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"perfdrid4");
- var perfdeptnm1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_orddept.lookup("deptcd", perfdeptcd1 ,"depthngnm");
- var perfdrnm1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_userlist1.lookup("userid", perfdrid1 ,"usernm");
- var perfdeptnm2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_orddept.lookup("deptcd", perfdeptcd2 ,"depthngnm");
- var perfdrnm2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_userlist2.lookup("userid", perfdrid2 ,"usernm");
- var perfdeptnm3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_orddept.lookup("deptcd", perfdeptcd3 ,"depthngnm");
- var perfdrnm3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_userlist3.lookup("userid", perfdrid3 ,"usernm");
- var perfdeptnm4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_orddept.lookup("deptcd", perfdeptcd4 ,"depthngnm");
- var perfdrnm4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_userlist4.lookup("userid", perfdrid4 ,"usernm");
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdeptnm1","string" , perfdeptnm1);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdrnm1","string" , perfdrnm1);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdeptnm2" ,"string", perfdeptnm2);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdrnm2" ,"string" , perfdrnm2);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdeptnm3" ,"string", perfdeptnm3);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdrnm3" ,"string" , perfdrnm3);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdeptnm4","string" , perfdeptnm4);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"perfdrnm4" ,"string" , perfdrnm4);
- // 마취, 수술 (시작 날짜+시간, 종료 날짜+시간)
- var meetingdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm"));
- var tmoutchkdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"tmoutchkdd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"tmoutchktm"));
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm"));
- var ansttodt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttotm"));
- var opfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfromdd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfromtm"));
- var optodt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"optodd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"optotm"));
- var opfcsttodt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfcsttodd") + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfcsttotm"));
- // 마취, 수술 (시작일시, 종료일시)
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"meetingdt" ,"string", meetingdt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"tmoutchkdt","string", tmoutchkdt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"anstfromdt","string", anstfromdt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"ansttodt" ,"string", ansttodt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"opfromdt" ,"string", opfromdt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"optodt" ,"string", optodt);
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"opfcsttodt","string", opfcsttodt);
- // 마취 총 시간 (시작~종료)
- var ansttm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata.getColumn(0,"ansttm");
- var anstmnt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata.getColumn(0,"anstmnt");
- dsf_makeValue(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"intervaltm","string", ansttm + " 시간 " + anstmnt + " 분");
- grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata_opinfo.clearData();
- dsf_createDs("ds_temp_opinfo_filter");
- // 진단명, 수술(전)카드명, 수술(후)명...
- grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item.filter("cdflag=='1'");
- ds_temp_opinfo_filter.copyData(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item,true);
- dsf_copyDs(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata_opinfo,ds_temp_opinfo_filter,"after");
- ds_temp_opinfo_filter.clearData();
- grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item.filter("cdflag=='2'");
- ds_temp_opinfo_filter.copyData(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item,true);
- dsf_copyDs(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata_opinfo,ds_temp_opinfo_filter,"after");
- grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item.filter("");
- dsf_copyDs(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata_opinfo,grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo7_item,"after");
- dsf_createDs("ds_info");
- ds_info.copyData(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700);
- dsf_createDs("ds_opinfo");
- ds_opinfo.copyData(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata_opinfo);
- grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item.filter("checked=='true'");
- dsf_createDs("ds_rec");
- ds_rec.copyData(grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item,true);
- grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item.filter("");
-
- dsf_createDs("ds_agent");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("prcptype=='A'");
- ds_agent.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,true);
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- if(ds_agent.rowcount == 0){
- ds_agent.addRow();
- }
- dsf_createDs("ds_drug");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("prcptype=='D'");
- ds_drug.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,"true");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- if(ds_drug.rowcount == 0){
- ds_drug.addRow();
- }
- dsf_createDs("ds_fluid");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("prcptype=='F'");
- ds_fluid.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,"true");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- if(ds_fluid.rowcount == 0){
- ds_fluid.addRow();
- }
- dsf_createDs("ds_blood");
- ds_blood.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,"true");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- if(ds_blood.rowcount == 0){
- ds_blood.addRow();
- }
- dsf_createDs("ds_proc");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("prcptype=='P'");
- ds_proc.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,"true");
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- if(ds_proc.rowcount == 0){
- ds_proc.addRow();
- }
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.filter("");
- dsf_createDs("ds_time");
- ds_time.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem);
- dsf_createDs("ds_vslist");
- ds_vslist.copyData(ds_grd_vslist,true);
-
- // 2008.10.13. 인증저장시 오류에 따른 데
-
- dsf_createDs("ds_savedata",
- [{col:"instcd" , type:"string", size:256},
- {col:"anstrecno" , type:"string", size:256},
- {col:"progno" , type:"string", size:256},
- {col:"progrec" , type:"string", size:256},
- {col:"progfromdt" , type:"string", size:256},
- {col:"progtodt" , type:"string", size:256}
- ]);
- ds_savedata.clearData();
- var dataString = "";
- //var dataRef = "/root/main/prog/item";
- var dataCnt = ds_grd_prog.rowcount;
- for (var i=0 ; i < dataCnt ; i++)
- {
- var progno = ds_grd_prog.getColumn(i,"progno");
- var progrec = ds_grd_prog.getColumn(i,"progrec");
- var progfromdt = ds_grd_prog.getColumn(i,"progfromdt");
- var progtodt = ds_grd_prog.getColumn(i,"progtodt");
- var newrow = ds_savedata.addRow();
- ds_savedata.setColumn(newrow,"instcd",sInstcd);
- ds_savedata.setColumn(newrow,"anstrecno",anstrecno);
- ds_savedata.setColumn(newrow,"progno",progno);
- ds_savedata.setColumn(newrow,"progrec",progrec);
- ds_savedata.setColumn(newrow,"progfromdt",progfromdt);
- ds_savedata.setColumn(newrow,"progtodt",progtodt);
- }
- dsf_createDs("ds_prog");
- ds_prog.copyData(ds_savedata);
- // 2008.02.12. 마취기록화면 네비게이션 때문에 선택시 로딩 되도록..
- //grp_base.sw_left.case_review.iviewer1.url = "emr_anstrecxp::SPMMR05200_마취환자기록Review.xfdl";
- grp_base.sw_left.case_review.iviewer1.visible = true;
- //dsf_makeValue(grp_base.sw_left.case_review.iviewer1.ds_send, "anstrecno","string" ,"");
- grp_base.sw_left.case_review.iviewer1.ds_send.clearData();
- grp_base.sw_left.case_review.iviewer1.ds_send.addRow();
- grp_base.sw_left.case_review.iviewer1.ds_info.copyData(ds_info);
- grp_base.sw_left.case_review.iviewer1.ds_opinfo.copyData(ds_opinfo);
- grp_base.sw_left.case_review.iviewer1.ds_rec.copyData(ds_rec);
- grp_base.sw_left.case_review.iviewer1.ds_prog.copyData(ds_prog);
- grp_base.sw_left.case_review.iviewer1.ds_agent.copyData(ds_agent);
- grp_base.sw_left.case_review.iviewer1.ds_drug.copyData(ds_drug);
- grp_base.sw_left.case_review.iviewer1.ds_fluid.copyData(ds_fluid);
- grp_base.sw_left.case_review.iviewer1.ds_blood.copyData(ds_blood);
- grp_base.sw_left.case_review.iviewer1.ds_proc.copyData(ds_proc);
- grp_base.sw_left.case_review.iviewer1.ds_vslist.copyData(ds_vslist);
- grp_base.sw_left.case_review.iviewer1.ds_time.copyData(ds_time, true);
- grp_base.sw_left.case_review.iviewer1.fFormInit();
- }
- function cf_TRMMR03722(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 마취기록 Review 인스턴스 만들어 주기..
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveAnstEspi(flag) {
- //수술부위 확인 점검표 저장확인(20120425 이윤주 with 손성훈)
-
-
- if (flag == "Y"){
- if( fOppartchk(oprsrvno, formcd) == false ){
- return;
- }
-
- if(lf_ContainsHardCD("485", "Y") == true) { // 칠곡만 적용 수술예방적 항생제 투약시간 알림 적용여부
- var opfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfromdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"opfromtm"); // 수술시작시간
- dsf_makeValue(ds_send_reqdata,"oprsrvno", "string", oprsrvno);
- dsf_makeValue(ds_send_reqdata,"opfromdt", "string", opfromdt);
-
- var oParam = {};
- oParam.id = "TRMMR03722";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetPreAntiCheck";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.outds = "ds_preantimed=preantimed";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03722";
- tranf_submit(oParam);
- var sRtnMsg = ds_preantimed.getColumn(0,"preantimsg");
- if(!utlf_isNull(sRtnMsg)) {
- sysf_messageBox(sRtnMsg, "I999", "");
- }
- }
- }
- if (utlf_isNull(flag)) { flag = "N" };
-
- if (flag == "N" && lastespiyn == "Y") { // 인증저장된 기록을 임시저장 하려고 할때 블러킹 처리 2014.09.04 엄영만
- sysf_messageBox("인증저장 된 기록을 임시저장으로 수정 할수 없습니다.\n\n인증저장 해주십시오.", "I");
- return;
- }
-
- //20131112 추가(이정택)
- var anstdrid1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.cmb_anstdrid1.value;
- if(utlf_isNull(anstdrid1) || anstdrid1=="0" || anstdrid1=="-"){
- sysf_messageBox("첫번째 마취의는 필수 입력입니다.", "E");
- return;
- }
-
- var btn_oproominoutctl_clickyn = grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_oproominoutctl_clickyn;
- if(btn_oproominoutctl_clickyn==true){
- var patoutroomdd=grp_base.sw_left.case_anstinfo.iv_anstinfo.ipt_patoutroomdd.value;
- var patoutroomtm=grp_base.sw_left.case_anstinfo.iv_anstinfo.ipt_patoutroomtm.value;
- if(utlf_isNull(patoutroomdd) || utlf_isNull(patoutroomtm)){
- sysf_messageBox("수술방 퇴실시간이 입력되지 않았습니다. 최종 인증저장이라면\n수술방 퇴실시간을 입력 후 다시 한번 인증저장 해주십시오.", "I");
- }
- }
-
- //2013/12/09 마취기록지 인증저장시 마취일반정보의 마취의사 휴진일정 체크
- var meetingdate=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd"));
- var meetingtime=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm"));
- var chkdrid1=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid1"));
- var chkdrid2=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid2"));
- var chkdrid3=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid3"));
- var chkdrid4=utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid4"));
- var chkdrid="";
- if(chkdrid1!="-" && !utlf_isNull(chkdrid1) && chkdrid1!="0"){
- chkdrid += "'"+chkdrid1+"'";
- }
- if(chkdrid2!="-" && !utlf_isNull(chkdrid2) && chkdrid2!="0"){
- chkdrid += ","+"'"+chkdrid2+"'";
- }
- if(chkdrid3!="-" && !utlf_isNull(chkdrid3) && chkdrid3!="0"){
- chkdrid += ","+"'"+chkdrid3+"'";
- }
- if(chkdrid4!="-" && !utlf_isNull(chkdrid4) && chkdrid4!="0"){
- chkdrid += ","+"'"+chkdrid4+"'";
- }
- if(chkdrid.length!=0){
- dsf_makeValue(ds_send_reqdata,"chkdrid","string", chkdrid);
- }
-
- dsf_makeValue(ds_send_reqdata,"meetingdate","string", meetingdate);
- dsf_makeValue(ds_send_reqdata,"meetingtime","string", meetingtime);
- var oParam = {};
- oParam.id = "TRMMR03721";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqGetHoliCheck";
- oParam.inds = "reqdata=ds_send_reqdata";
- oParam.async = false;
- oParam.callback = "cf_TRMMR03721";
- tranf_submit(oParam);
- if(arErrorCode.pop("TRMMR03721") < 0){
- return;
- }
- //2013/12/09
- // 마취일반정보 저장
- grp_base.sw_left.case_anstinfo.iv_anstinfo.fSaveAnstInfo(flag);
- //공통 기본 정보 셋
- anstrecno = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstrecno");
- // 공통 기본 정보 셋 (마취기록번호)
- dsf_makeValue(ds_send_reqdata,"anstrecno","string", anstrecno);
- if (anstrecno > 0)
- {
- var savedata = "";
- var dataString = "";
- var dataRef = "";
- var dataCnt = 0;
- // iviewer 인스턴스 넘겨주기..
- // 1. 기록 - 마취방법
- // 2. Progress
- // 3. Prcp
- // 4. vs list
- // 5. time, vol, value
- // 6. cert 인증정보
- // 7. send : 기관코드, 마취기록번호, 수술예약번호, 서명번호
- // 1. 기록 - 마취방법
- savedata = "instcd▦anstrecno▦currentdate▦recitem▦rectype▦recnm▦subrec▩";
- dataString = "";
- dataRef = grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item;
- dataCnt = grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item.rowcount;
- for (var i=0 ; i < dataCnt ; i++)
- {
- var checked = dataRef.getColumn(i,"checked");
- if (checked == "true") {
- var recitem = utlf_transNullToEmpty(dataRef.getColumn(i,"recitem"));
- var rectype = utlf_transNullToEmpty(dataRef.getColumn(i,"rectype"));
- var recnm = utlf_transNullToEmpty(dataRef.getColumn(i,"recnm"));
- var subrec = utlf_transNullToEmpty(dataRef.getColumn(i,"subrec"));
- if (rectype == "F") { subrec = ""; }
- dataString = dataString + sInstcd + "▦" + anstrecno + "▦" + currentdate + "▦" + recitem + "▦" + rectype + "▦" + recnm + "▦" + subrec + "▩";
- }
- }
- dataString = dataString.replace("undefined","");
- var reclist = savedata + dataString;
-
- // 2. Progress
- savedata = "instcd▦anstrecno▦progno▦progrec▦progfromdt▦progtodt▩";
- dataString = "";
- //dataRef = "/root/main/prog/item";
- dataCnt = ds_grd_prog.rowcount;
- for (var i=0 ; i < dataCnt ; i++)
- {
- var progno = i+1;
- var progrec = utlf_transNullToEmpty(ds_grd_prog.getColumn(i,"progrec"));
- var progfromdt = utlf_transNullToEmpty(ds_grd_prog.getColumn(i,"progfromdt"));
- var progtodt = utlf_transNullToEmpty(ds_grd_prog.getColumn(i,"progtodt"));
- // 2009.01.07. progress 내용이 없는 경우 no 가 중간에 빠지는 에러가 발생함.
- //if (progrec.replace(" ","").length > 0) {
- dataString = dataString + sInstcd + "▦" + anstrecno + "▦" + progno + "▦" + progrec + "▦" + progfromdt + "▦" + progtodt + "▩";
- dataString = dataString.replace("undefined","");
- //}
- }
- var prog = savedata + dataString;
- // 3. prcp
- savedata = "instcd▦anstrecno▦prcptype▦prcpcd▦prcpseqno▦prcpnm▦prcpvol▦prcpvolunitnm▦drugmthdcd▦recvol▦remark▦pcaflag▦currentdate▩";
- dataString = fGetDataStringAnstPrcp();
- dataString = dataString.replace("undefined","");
- var prcp = savedata + dataString;
- // 4. vs list
- savedata = "instcd▦anstrecno▦currentdate▦vsitemcd▦vsitemnm▩";
- dataString = "";
- //dataRef = "/root/main/vslist/item";
- dataCnt = ds_grd_vslist.rowcount;
- for (var i = 0 ; i < dataCnt ; i++) {
- var vsitemcd = ds_grd_vslist.getColumn(i,"vsitemcd");
- var vsitemnm = ds_grd_vslist.getColumn(i,"vsitemnm");
- dataString = dataString + sInstcd + "▦" + anstrecno + "▦" + currentdate + "▦" + vsitemcd + "▦" + vsitemnm + "▩";
- }
- dataString = dataString.replace("undefined","");
- var vslist = savedata + dataString;
- // 5. 마취 처방 투여일시
- savedata = "instcd▦anstrecno▦linktype▦linkcd▦linkseqno▦fromdt▦todt▦rec▦subrec▩";
- dataString = "";
- dataRef = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- dataRef.filter("");
-
- dataCnt = dataRef.rowcount;
- for (var i = 0 ; i <dataCnt ; i++) {
- var linktype = utlf_transNullToEmpty(dataRef.getColumn(i,"linktype"));
- // 2009.03.02. 시간추가 기록저장하기..
- if (linktype != "S") {
- var linkcd = utlf_transNullToEmpty(dataRef.getColumn(i,"linkcd"));
- var linkseqno = utlf_transNullToEmpty(dataRef.getColumn(i,"linkseqno"));
- if (utlf_isNull(linkseqno)) { linkseqno = "0"; }
- var fromdt = utlf_transNullToEmpty(dataRef.getColumn(i,"fromdt"));
- var todt = utlf_transNullToEmpty(dataRef.getColumn(i,"todt"));
- var rec = utlf_transNullToEmpty(dataRef.getColumn(i,"rec"));
- var subrec = utlf_transNullToEmpty(dataRef.getColumn(i,"subrec"));
-
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + linktype + "▦" + linkcd + "▦" + linkseqno + "▦";
- dataString = dataString + fromdt + "▦" + todt + "▦" + rec + "▦" + subrec + "▩";
- dataString = dataString.replace("undefined","");
- }
- }
-
- // 2009.03.02. 시간추가 기록저장하기..
- //dataRef = "/root/main/grd_timerec/item";
- dataCnt = ds_grd_timerec.rowcount;
- for (var i = 0 ; i < dataCnt ; i++) {
- var linktype = ds_grd_timerec.getColumn(i,"linktype");
- var linkcd = ds_grd_timerec.getColumn(i,"linkcd");
- var linkseqno = ds_grd_timerec.getColumn(i,"linkseqno");
- if (utlf_isNull(linkseqno)) { linkseqno = "0"; }
- var fromdt = ds_grd_timerec.getColumn(i,"fromdt");
- var todt = ds_grd_timerec.getColumn(i,"todt");
- var rec = ds_timerec.lookup("tmreccd", linkcd, "tmrecnm");
- var subrec = utlf_transNullToEmpty(ds_grd_timerec.getColumn(i,"subrec"));
-
- if (!utlf_isNull(linkcd)) {
- dataString = dataString + sInstcd + "▦" + anstrecno + "▦" + linktype + "▦" + linkcd + "▦" + linkseqno + "▦";
- dataString = dataString + fromdt + "▦" + todt + "▦" + rec + "▦" + subrec + "▩";
- }
- }
- dataString = dataString.replace("undefined","");
- var time = savedata + dataString;
-
- dsf_setCSVToDs("ds_send_savedata_prog", prog);
- dsf_setCSVToDs("ds_send_savedata_rec", reclist);
- dsf_setCSVToDs("ds_send_savedata_prcp", prcp);
- dsf_setCSVToDs("ds_send_savedata_vslist", vslist);
- dsf_setCSVToDs("ds_send_savedata_time", time);
-
- // 2016.07.15 V/S 기록 누락에 따른 기록 저장시 제어로직 추가
- var anstInfoDs = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700;
- var nMeetingTime = utlf_transNullToEmpty(anstInfoDs.getColumn(0,"meetingdd")) + utlf_transNullToEmpty(anstInfoDs.getColumn(0,"meetingtm"));
- if( !utlf_isNull(nMeetingTime) && nMeetingTime.length == 12
- && grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.getCaseCount("linktype!='S'") < 1){
- sysf_messageBox("V/S 저장 할 정보가 없습니다. 확인바랍니다.", "E999", "");
- return;
- }
-
- trace(nMeetingTime + " || " +grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.getCaseCount("linktype!='S'") )
- // 2016.07.21 Grid 보여지는 정보와 저장할려는 정보 비교
- dsf_createDs("ds_tmp_main");
- ds_tmp_main.copyData(ds_grd_main);
- var ColId = "";
- var recCnt = 0;
- for( var i=0; i<ds_tmp_main.rowcount; i++ ){
- var nLinkType = ds_tmp_main.getColumn(i, "linktype");
- if( nLinkType != "V" ){
- continue;
- }
- for( var j=9; j<ds_tmp_main.colcount; j++ ){
- ColId = ds_tmp_main.getColID(j);
- if(!utlf_isNull(ColId) && ColId.indexOf("t") > -1
- && !utlf_isNull(ds_tmp_main.getColumn(i, ColId))
- && ds_tmp_main.getColumn(i, ColId) != "·"){
- recCnt++;
- }
- }
- }
- trace(" recCnt : " + recCnt + " || " + grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.getCaseCount("linktype=='V' && !utlf_isNull(rec)"));
- if( lf_getHardCDList("Y", 9965, 3, null) == "Y"
- && grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.getCaseCount("linktype=='V' && !utlf_isNull(rec)") != recCnt ){
- alert ("기록정보가 일치 하지 않습니다. 저장하실 수 없습니다.");
- return;
- }
-
- // 7. send : 기관코드, 마취기록번호, 수술예약번호, 서명번호
- dsf_makeValue(ds_send_savedata,"instcd","string" ,sInstcd);
- dsf_makeValue(ds_send_savedata,"oprsrvno","string" ,oprsrvno);
- dsf_makeValue(ds_send_savedata,"anstrecno","string" ,anstrecno);
- dsf_makeValue(ds_send_savedata,"lastespiyn","string",flag);
- dsf_makeValue(ds_send_savedata,"espideq","string" ,"");
- var oParam = {};
- oParam.id = "TXMMR03711";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqExeAnstInfoAll";
- oParam.inds = "send=ds_send_savedata prog=ds_send_savedata_prog rec=ds_send_savedata_rec prcp=ds_send_savedata_prcp vslist=ds_send_savedata_vslist time=ds_send_savedata_time";
- oParam.outds = "ds_rtn=rtn";
- oParam.async = false;
- oParam.callback = "cf_TXMMR03711";
- tranf_submit(oParam);
- // 2008.10.12. 상단의 환자정보 확인하기..
- var top_pid = appf_getPatientInfo("pid");
- if (top_pid != pid) {
- alert("상단의 환자정보와 기록지의 환자정보가 상이합니다. 확인하세요.");
- return;
- }
- // 6. 인증정보
- if (flag == "Y") {
- // 2008.09.26. *** 마취기록 인증데이타 만들기..
- if (fGetAnstRecCert()) {
- // 2013.10.24 김영기 미비조회(SMMRI01800)에서 화면 호출시 미비 상태값 변경을 위한 함수
- fProcessIncompleteConfirmation();
- };
-
- lastespiyn = "Y"; // 최종인증저장 값 설정. 2014.09.04 엄영만
- ds_hidden.setColumn(0,"savestate", "저장상태: 인증저장");
- }
-
- sysf_messageBox("정상적으로 저장되었습니다","I");
- }
- }
- function cf_TRMMR03721(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- function cf_TXMMR03711(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /**
- * @desc : 마취 처방 데이타 가져오기..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetDataStringAnstPrcp()
- {
- var refds = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item;
- var dataCnt = refds.rowcount;
- var dataString = "";
- var tmpprcpcd = "";
-
- // agent, drug, fluid, blood, prog
- for (var i=0 ; i < dataCnt ; i++) {
- var prcpcd = refds.getColumn(i,"prcpcd");
- var checked = refds.getColumn(i,"checked");
- if (checked == "true" || prcpcd == tmpprcpcd) {
- var prcptype = refds.getColumn(i,"prcptype");
- var prcpcd = refds.getColumn(i,"prcpcd");
- var prcpseqno = refds.getColumn(i,"prcpseqno");
- var prcpnm = refds.getColumn(i,"prcpnm");
- var prcpvol = refds.getColumn(i,"prcpvol");
- var prcpvolunitnm = refds.getColumn(i,"prcpvolunitnm");
- var drugmthdcd = refds.getColumn(i,"drugmthdcd");
- var recvol = refds.getColumn(i,"recvol");
- var remark = refds.getColumn(i,"remark");
- var pcaflag = refds.getColumn(i,"pcaflag");
- // Agent01 인 경우 시작시간, 종료시간 저장하기..
- var clscd = refds.getColumn(i,"clscd");
- if (prcptype == "A" || clscd == "01") {
- var drugfromdd = "";//grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.lookup("prcpcd", prcpcd,"drugfromdd");
- var drugfromtm = "";//grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.lookup("prcpcd", prcpcd,"drugfromtm");
- var drugtodd = "";//grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.lookup("prcpcd", prcpcd,"drugtodd");
- var drugtotm = "";//grp_base.sw_left.case_anstmast.iv_anstmast.ds_agent01_item.lookup("prcpcd", prcpcd,"drugtotm");
- remark = drugfromdd + "." + drugfromtm + "." + drugtodd + "." + drugtotm;
- }
- dataString = dataString + sInstcd + "▦" + anstrecno + "▦" + prcptype + "▦" + prcpcd + "▦" + prcpseqno + "▦" + prcpnm + "▦";
- dataString = dataString + prcpvol + "▦" + prcpvolunitnm + "▦" + drugmthdcd + "▦" + recvol + "▦";
- dataString = dataString + remark + "▦" + pcaflag + "▦" + currentdate + "▩";
- }
- tmpprcpcd = prcpcd;
- }
-
- return dataString;
- }
- /**
- * @desc : 마취기록 Fluid / Blood IO 팝업창을 기록
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstFluidBloodIO()
- {
- // popup form 인스턴스 넘겨주기..
- // window.load("../../../emr/anstrecweb/xrw/SPMMR05300_마취환자기록IO.xrw", "modeless", "", "popup");
- //2012/12/11 Start TOTAL I/O URINE 항목에 마취기록지의 Urine Output의 합계를 셋팅
-
- if(applychk=="Y"){
- var sub_total=0;
- var bldloss=0;
- for(var i=0; i<ds_grd_main.rowcount; i++){
- var linknm=ds_grd_main.getColumn(i,"linknm");
- if(linknm=="Urine Output"){
- for (var j = col_fromdt + 1 ; j <= parseInt(col_todt)+ parseInt(col_fromdt); j++) {
- if(parseInt(ds_grd_main.getColumn(i, j))>=0){
- sub_total+=parseInt(ds_grd_main.getColumn(i, j));
- }
- }
- }
- if(linknm=="Blood Loss" || linknm=="blood loss"){
- for (var j = col_fromdt + 1 ; j <= parseInt(col_todt)+ parseInt(col_fromdt); j++) {
- if(parseInt(ds_grd_main.getColumn(i, j))>=0){
- bldloss+=parseInt(ds_grd_main.getColumn(i, j));
- }
- }
- }
- }
- if(utlf_isNull(sub_total)) sub_total = 0;
- if(utlf_isNull(bldloss)) bldloss = 0;
-
- frmf_setParameter("Urine_total",sub_total);
- frmf_setParameter("Blood_loss_total",bldloss);
- }
- //2012/12/11 End
- frmf_modal("SPMMR05300","SPMMR05300", "","","", "700", "200", "", "", "", "","","M");
-
- //2012/12/11 Start
- if(applychk=="Y"){
- frmf_clearParameter("Urine_total");
- }
- //2012/12/11 End
- }
- /**
- * @desc : 처방이동 버튼 클릭후 처방리스트 팝업 띄우기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- // function fSendPrcpList()
- // {
- // // 수술환자정보
- // operationdata = sysf_getGlobalVariable("operation");
- //
- //
- // // 2008.10.12. 상단의 환자정보 확인하기..
- // var top_pid = appf_getPatientInfo("pid");
- // if (top_pid != pid) {
- // alert("상단의 환자정보와 기록지의 환자정보가 상이합니다. 확인하세요.");
- // return;
- // }
- //
- //
- // var savedata ="prcpcd▦prcpvol▦mthdcd▦abbrnm▩";
- // var dataString = "";
- //
- // var ref = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item;
- // var dataCnt = ref.rowcount;
- // var msg = "";
- //
- // // prcp 총용량이 0보다 작은지 확인하자..
- // for (var i=0 ; i < dataCnt ; i++) {
- // var checked = ref.getColumn(i,"checked");
- // var prcpappyn = ref.getColumn(i,"prcpappyn");
- // var prcptype = ref.getColumn(i,"prcptype");
- // var prcpvol = ref.getColumn(i,"prcpvol");
- // if (checked == "true" && prcpappyn == "Y" && prcptype != "H") {
- // if (Number(prcpvol) <= 0) {
- // var prcpnm = ref.getColumn(i,"prcpnm");
- // msg = msg + "\n" + "-------------------------------------------------"
- // msg = msg + "\n" + prcpnm ;
- // }
- // }
- // }
- //
- // // 2008.01.04. 처방용량이 '0'인 경우.. 수정후 처방이동 할 것인가? 아니면 처방이동으로 바로 처리할 것인가?
- // if (!utlf_isNull(msg))
- // {
- // msg = msg + "\n" + "================================================="
- // msg = msg + "\n"
- // msg = msg + "\n" + "처방용량이 입력되지 않았습니다. 수정하시겠습니까?"
- // msg = msg + "\n"
- // var answer = alert(msg ,"처방이동", 4); // yes : 6, no : 7
- // if (answer == 6) {
- // // [확인] 하면 처방내역을 로드한다.
- // grp_base.sw_left.tabindex = 2;
- //
- // return;
- // }
- // }
- //
- // // 2008.01.08. 처방이동시 임시저장을 한 후 처방이동을 한다. (마취일반 + 마취기록 저장)
- // // 2008.12.23. 처방이동시 임시저장을 안함.
- //
- // // prcp list
- // for (var i=0 ; i < dataCnt ; i++) {
- // var checked = ref.getColumn(i,"checked");
- // var prcpappyn = ref.getColumn(i,"prcpappyn");
- // var prcptype = ref.getColumn(i,"prcptype");
- // if (checked == "true" && prcpappyn == "Y" && prcptype != "H") {
- // var prcpcd = ref.getColumn(i,"prcpcd");
- // var prcpvol = ref.getColumn(i,"prcpvol");
- // var mthdcd = ref.getColumn(i,"drugmthdcd");
- // var abbrnm = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_hidden_tmedmthdlist.lookup("mthdcd", mthdcd , "abbrnm");
- // if (Number(prcpvol) > 0) {
- // dataString = dataString + prcpcd + "▦" + prcpvol + "▦" + mthdcd + "▦" + abbrnm + "▩";
- // }
- // }
- // }
- //
- //
- // // prcp list -> OCS 팝업
- // if (dataString.length > 0) {
- //
- // var paramyn = "Y";
- // var opansflagcd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstaddcd"); // 마취일반정보의 가산여부
- // var ansttm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata.getColumn(0,"ansttm") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_hiddendata.getColumn(0,"anstmnt");
- // var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstfromtm"); // 마취일반정보의 마취시작시간
- // var ansttodt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttodd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"ansttotm"); // 마취일반정보의 마취종료시간
- //
- // if (utlf_isNull(opansflagcd)) { opansflagcd = "0"; }
- // if (utlf_isNull(ansttm)) { ansttm = "0000"; }
- // if (utlf_isNull(anstfromdt)) { anstfromdt = utlf_getCurrentDate() + "0000"; }
- // if (utlf_isNull(ansttodt)) { ansttodt = utlf_getCurrentDate() + "0000"; }
- //
- //
- // // 마취과 의사1
- // var anstdrid1 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid1");
- // var anstdrid = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid1");
- // var anstdrnm = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid,"usernm");
- // var refseq = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid,"refseq");
- //
- // // 2009.07.13. 성가 요청사항..
- // // 마취과 의사 1,2,3 중 선택진료의가 있는 경우 마취의를 선택진료의로 셋되게 보냄..
- //
- // //2013/09/06 Start 마취의 4번째 추가되면서 처방 입력시 선택 진료의 들어가도록 수정
- // var anstdrid4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid4");
- // var refseq4 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid4,"refseq");
- // if (refseq4 == "A") { // A면 선택진료의
- // anstdrid = anstdrid4;
- // refseq = refseq4;
- // }
- // //2013/09/06 End
- //
- // var anstdrid3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid3");
- // var refseq3 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid3,"refseq");
- // if (refseq3 == "A") {
- // anstdrid = anstdrid3;
- // refseq = refseq3;
- // }
- // var anstdrid2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstdrid2");
- // var refseq2 = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_init_anstdrlist.lookup("userid", anstdrid2,"refseq");
- // if (refseq2 == "A") {
- // anstdrid = anstdrid2;
- // refseq = refseq2;
- // }
- // if (refseq == "A") {
- // anstdrid = anstdrid1;
- // }
- //
- // // 처방창 로딩하기..
- // var mainObj = frmf_getMainViewer();
- // // var xpt = window.screenleft + eval(0);
- // // var ypt = window.screenTop + eval(0);
- // // var coord = getRelativeCoordinate ( xpt, ypt );
- // // var mon = coord[0];
- // // xpt = coord[1];
- // // ypt = coord[2];
- //
- // var xpt = this.position.left ;
- // var ypt = this.position.top;
- // var mon = sysf_getCurrentMonitorNumber();
- //
- // var curPrcpObj = mainObj.frmf_findPopup("SMMMO00100"); //활성화된 처방Main 화면 object loading
- //
- // if(!utlf_isNull(curPrcpObj)){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- // curPrcpObj.fPrcpWndClose();
- // }
- //
- // // 마취기록지 refresh 안함..
- // frmf_setParameter("SMMMR03700_refresh" , "false");
- // frmf_setParameter("SMMMR03700_paramyn" , paramyn);
- // frmf_setParameter("SMMMR03700_opansflagcd", opansflagcd);
- // frmf_setParameter("SMMMR03700_ansttm" , ansttm);
- // frmf_setParameter("SMMMR03700_anstfromdt" , anstfromdt);
- // frmf_setParameter("SMMMR03700_ansttodt" , ansttodt);
- // frmf_setParameter("SMMMR03700_anstdrid" , anstdrid);
- // frmf_setParameter("SMMMR03700_refseq" , refseq);
- // //20131107 파라미터 추가(이정택)
- // frmf_setParameter("SMMMR03700_anstdrnm" , anstdrnm);
- // //20131107
- // //2013/09/06 Start 처방 로직 수정에 따른 파라미터 값 추가
- // var anstrecno=grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"anstrecno");
- // if(!utlf_isNull(anstrecno)){
- // frmf_setParameter("SMMMR03700_anstrecno" , anstrecno);
- // }
- // //2013/09/06 End
- // var objArg = {};
- // objArg.plgv_scrnId = "SMMMR03700";
- // //var sysMessageobj = frmf_getViewer("sysMessage");
- // frmf_setParameter("SMMMR03700_prcp" , savedata + dataString);
- // frmf_open("SMMMO00100", "SMMMO00100", objArg, false, 2, null, null, 1195, 784, null, null, null, "M");
- // frmf_clearParameter ( "SMMMR03700_refresh" );
- // frmf_clearParameter ( "SMMMR03700_paramyn" );
- // frmf_clearParameter ( "SMMMR03700_opansflagcd" );
- // frmf_clearParameter ( "SMMMR03700_ansttm" );
- // frmf_clearParameter ( "SMMMR03700_anstfromdt" );
- // frmf_clearParameter ( "SMMMR03700_ansttodt" );
- // frmf_clearParameter ( "SMMMR03700_anstdrid" );
- // frmf_clearParameter ( "SMMMR03700_refseq" );
- // frmf_clearParameter ( "SMMMR03700_prcp" );
- // }
- // }
- /**
- * @desc : 처방Main 화면 Open (혈액처방을 위하여~)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOpenPrcpMainWnd(){
- // 처방창 로딩하기..
- var mainObj = frmf_getMainViewer();
- // var xpt = window.screenleft + eval(0);
- // var ypt = window.screenTop + eval(0);
- // var coord = getRelativeCoordinate ( xpt, ypt );
- // var mon = coord[0];
- // xpt = coord[1];
- // ypt = coord[2];
- var xpt = this.position.left ;
- var ypt = this.position.top;
- var mon = sysf_getCurrentMonitorNumber();
- var curPrcpObj = mainObj.frmf_findPopup("SMMMO00100"); //활성화된 처방Main 화면 object loading
-
- if(!utlf_isNull(curPrcpObj)){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- curPrcpObj.fPrcpWndClose();
- }
- // 마취기록지 refresh 안함..
- frmf_setParameter("SMMMR03700_refresh" , "false");
- frmf_modal("SMMMO00100","SMMMO00100","","","","","","","","","","","M");
- frmf_clearParameter ( "SMMMR03700_refresh" );
- }
- /**
- * @group : 사용자 직종에 따른 권한 버튼 처리.
- * @ver : 2007-12-08
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fUserAuth() {
- var jobkindcd = sysf_getUserInfo("jobkindcd");
- ds_init.setColumn(0,"jobkindcd", jobkindcd); // 사용자 직종에 따른 권한 버튼 처리.
- // 의사 : 0330
- var disabled = false;
- if (sysf_getUserInfo("jobkindcd") == "0330"|| sysf_getUserInfo("jobkindcd") == "0332") {
- disabled = true;
- }
- // 1. 메인 화면
- this.grp_base.swt_right.case_prog.btn_addrow.enable = disabled;
- this.grp_base.swt_right.case_prog.btn_delrow.enable = disabled;
- grp_base.btn_moveocs.enable = disabled;
- grp_base.btn_saveinfo.enable = disabled;
- grp_base.btn_saveespi.enable = disabled;
- grp_base.btn_cdisload.enable = disabled; // KNUH 20110419 최원돈
- grp_base.btn_cdisload.visible = (lf_getHardCDList("Y", "5553", 3) == "Y") ? true : false; // KNUH 20110421 최원돈
-
- grup_prog.btn_progno.enable = disabled;
- grup_range.btn_vsno.enable = disabled;
- grup_vs.btn_vsset.enable = disabled;
- grup_prog.grd_progno.enable = disabled;
- grup_range.grd_range.enable = disabled;
- grup_vs.grd_vs.enable = disabled;
- grup_startend.grd_startend.enable = disabled;
- grup_range.ipt_vsrec.enable = disabled;
- grp_base.swt_right.case_remark.txt_remark.enable = disabled;
- grp_base.grup_pcarem.txt_pcarem.enable = disabled;
- // 2008.02.24. 시간기록 추가..
- grp_base.swt_right.case_timerec.btn_addrowtimerec.enable = disabled;
- grp_base.swt_right.case_timerec.btn_delrowtimerec.enable = disabled;
- // 2. 마취일반정보
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_meetingdt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_tmoutchkdt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_anstfromdt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_opfromdt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_optodt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_ansttodt.enable = disabled;
- grp_base.sw_left.case_anstinfo.iv_anstinfo.btn_saveanst.enable = disabled;
- // 3. 마취마스터
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_set.btn_saveprcpset.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_agent.btn_setenddt.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_agent.btn_addagent02.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_agent.btn_addagent03.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_agent.btn_addagent04.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_drug.btn_adddrug.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_fluid.btn_addfluid.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_fluid.btn_addblod.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_fluid.btn_ocsblod.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_proc.btn_addproc.enable = disabled;
- grp_base.sw_left.case_anstmast.iv_anstmast.sw_left1.case_search.btn_addsearch.enable = disabled;
- }
- /**
- * @desc : 메인 그리드 - 처방목록 그리드에 보여주기... 정렬기준
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGridSort()
- {
- var gridObj = grp_base.grd_main;
- //ds_grd_main.keystring = "G:sorttype,sortno,linknm,linkseqno";
- ds_grd_main.keystring = "";
- ds_grd_main.keystring = "S:+sorttype+sortno+linknm+linkseqno";
-
- // gridObj.colsort(col_sorttype) = "asc";
- // gridObj.colsort(col_sortno) = "asc";
- // gridObj.colsort(col_linknm) = "asc";
- // gridObj.colsort(col_linkseqno)= "asc";
- // gridObj.sort(3, 1, gridObj.rows - 1, gridObj.cols - 1) = "usersort";
- // 2010.02.12 이은영 마취기록 메인 화면에 30분 단위로 굵은 선을 보여줌..
- var fromdt = graph_fromdt; // 일시 : 날짜+시+분
- for (var i = col_fromdt ; i < parseInt(col_todt) + parseInt(col_fromdt) ; i++) {
- if (fromdt.substr(10,2) == "30" || fromdt.substr(10,2) == "00"){
- // grp_base.grd_main.setCellProperty("body",i,"line","1 solid #b1b5b9ff,2 solid #000000ff,1 solid #b1b5b9ff,1 solid #b1b5b9ff");
- }else{
- // grp_base.grd_main.setCellProperty("body",i,"line","1 solid #b1b5b9ff,2 solid #c0c0c0ff,1 solid #b1b5b9ff,1 solid #b1b5b9ff");
- }
- var tmpdt = fromdt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- }
- // 2010.02.12 이은영 마취기록 메인 화면에 30분 단위로 굵은 선을 보여줌..
- }
- /**
- * @desc : PCA 기록 - 팝업
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOpenPCA()
- {
- // popup form 인스턴스 넘겨주기..
- frmf_modal("SPMMR06000_마취환자기록PCA","SPMMR06000_마취환자기록PCA", "","","", "700", "200", "", "", "", "M");
-
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 이경희
- */
- function fPopCommUse()
- {
- frmf_setParameter("comn_chosflag", "C") // C : 상용구
- frmf_setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
- frmf_setParameter("openmode", "select");
-
- //2012/12/18 Start 상용구에서 마취기록지를 구분하기 위해서
- frmf_setParameter("screen_id", "SMMMR03700");
- //2012/12/18 End
- //modal("SPMRF04700");
- frmf_modal("SPMRF04900","SPMRF04900","","","","","","","","","","","M");
- var rtn = utlf_transNullToEmpty(frmf_getParameter("comncnts")); //내용
-
- //2012/12/12 Start Progress 부분 수정(상용구 선택시 하니씩 순서대로 들어갈 수 있도록 수정)
- var result = new Array();
- var cnt = ds_grd_prog.getCaseCount("progrec != null");
-
- var j=cnt;
- result = rtn.split("▦");
-
- for(var i=0; i<=result.length; i++){
- if(!utlf_isNull(result[i])){
- ds_grd_prog.setColumn(j,"progrec", result[i]);
- j++;
- }
- }
- //2012/12/12 End
-
- frmf_setParameter("comncnts", "");
- //2012/12/18 Start
- frmf_clearParameter("setParameter");
- //grd_prog.resizeCells();
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 이경희
- */
- function fPopCommUsePCA()
- {
- frmf_setParameter("comn_chosflag", "C") // C : 상용구
- frmf_setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
- frmf_setParameter("openmode", "select");
- //modal("SPMRF04700");
- frmf_modal("SPMRF04900","SPMRF04900","","","","","","","","","","","M");
- var rtn = frmf_getParameter("comncnts"); //내용
- frmf_setParameter("comncnts", "");
- if (!utlf_isNull(rtn)) {
- ds_anstinfo.setColumn(0,"pcarem", rtn);
- }
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기록 저장
- * @param : pFlag : TempSave : 임시저장, CertSave : 인증저장
- * @return :
- * @---------------------------------------------------
- */
- function fGetAnstRecCert(){
- objDOM = rptf_createDOM();
-
- // *** 마취기록 리뷰를 해서 그 html 파일을 읽어온다.
- fAnstRecReview();
- //model.removeNode("/root/main/signSaveData");
- // model.makeNode(xSignPath);
- dsf_createDs("ds_signSaveData_anstinfo");
- dsf_copyDs(ds_signSaveData_anstinfo,grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700,"replace");
-
- //copyNodeset(xSignPathAnstInfo ,"/root/main/anstinfo", "", model, iv_anstinfo.model);
- // 2008.09.29. format date..
- // 마취, 수술 (시작일시, 종료일시)
- var meetingdt = ds_signSaveData_anstinfo.getColumn(0,"meetingdt");
- var tmoutchkdt = ds_signSaveData_anstinfo.getColumn(0,"tmoutchkdt");
- var anstfromdt = ds_signSaveData_anstinfo.getColumn(0,"anstfromdt");
- var ansttodt = ds_signSaveData_anstinfo.getColumn(0,"ansttodt");
- var opfromdt = ds_signSaveData_anstinfo.getColumn(0,"opfromdt");
- var optodt = ds_signSaveData_anstinfo.getColumn(0,"optodt");
- var opfcsttodt = ds_signSaveData_anstinfo.getColumn(0,"opfcsttodt");
- dsf_makeValue(ds_signSaveData_anstinfo,"meetingdt" , "string", fDateFormat(meetingdt));
- dsf_makeValue(ds_signSaveData_anstinfo,"tmoutchkdt", "string",fDateFormat(tmoutchkdt));
- dsf_makeValue(ds_signSaveData_anstinfo,"anstfromdt", "string",fDateFormat(anstfromdt));
- dsf_makeValue(ds_signSaveData_anstinfo,"ansttodt" , "string",fDateFormat(ansttodt));
- dsf_makeValue(ds_signSaveData_anstinfo,"opfromdt" , "string",fDateFormat(opfromdt));
- dsf_makeValue(ds_signSaveData_anstinfo,"optodt" , "string",fDateFormat(optodt));
- dsf_makeValue(ds_signSaveData_anstinfo,"opfcsttodt", "string",fDateFormat(opfcsttodt));
-
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/anstinfo", ds_signSaveData_anstinfo);
-
- dsf_createDs("ds_signSaveData_opinfo");
- dsf_copyDs(ds_signSaveData_opinfo,grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_opinfo_item,"replace");
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/opinfo", ds_signSaveData_opinfo);
- dsf_createDs("ds_signSaveData_recmast");
- dsf_copyDs(ds_signSaveData_recmast,grp_base.sw_left.case_anstmast.iv_anstmast.ds_recmast_item,"replace");
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/recmast", ds_signSaveData_recmast);
- dsf_createDs("ds_signSaveData_prog");
- dsf_copyDs(ds_signSaveData_prog,ds_grd_prog,"replace");
-
- // 2008.09.29. format date..
- // progress date...
- var dataCnt = ds_grd_prog.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- var progfromdt = ds_signSaveData_prog.getColumn(i,"progfromdt");
- ds_signSaveData_prog.setColumn(i,"progfromdt", fDateFormat(progfromdt));
- ds_signSaveData_prog.setColumn(i,"progno", i);
- }
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/prog", ds_signSaveData_prog);
-
- dsf_createDs("ds_signSaveData_prcp");
- dsf_copyDs(ds_signSaveData_prcp,grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item,"replace");
-
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/prcp", ds_signSaveData_prcp);
-
- dsf_createDs("ds_signSaveData_item");
-
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.filter("linktype!='S'");
- ds_signSaveData_item.copyData(grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem ,true);
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.filter("");
-
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/item/item", ds_signSaveData_item);
-
- dsf_copyDs(ds_signSaveData_item,ds_grd_timerec ,"after");
- dsf_createDs("ds_signSaveData_vslist");
-
- dsf_copyDs(ds_signSaveData_vslist,ds_grd_vslist,"replace");
-
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/vslist", ds_signSaveData_vslist);
-
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.filter("");
- // 2008.09.29. v/s 항목 셋..
- var dataRow = 0;
- var vsCnt = ds_signSaveData_vslist.rowcount;
- dsf_createDs("ds_signSaveData_temp");
- var arrColInfo = [{col: "vsitemcd", type:"string", size:256},
- {col: "vsitemnm", type:"string", size:256},
- {col: "t1", type:"string", size:256},
- {col: "r1", type:"string", size:256},
- {col: "t2", type:"string", size:256},
- {col: "r2", type:"string", size:256},
- {col: "t3", type:"string", size:256},
- {col: "r3", type:"string", size:256},
- {col: "t4", type:"string", size:256},
- {col: "r4", type:"string", size:256},
- {col: "t5", type:"string", size:256},
- {col: "r5", type:"string", size:256},
- {col: "t6", type:"string", size:256},
- {col: "r6", type:"string", size:256}
- ]
- dsf_createDs("ds_signSaveData_time",arrColInfo);
-
- for (var i=0 ; i < vsCnt ; i++)
- {
- var vsitemcd = ds_signSaveData_vslist.getColumn(i,"vsitemcd");
- var vsitemnm = ds_signSaveData_vslist.getColumn(i,"vsitemnm");
-
- var dataCnt = ds_signSaveData_item.getCaseCount("linkcd=='"+ vsitemcd +"'");
-
-
-
- if (dataCnt > 0)
- {
- ds_signSaveData_item.filter("linkcd=='"+ vsitemcd +"'");
- ds_signSaveData_temp.copyData(ds_signSaveData_item,true);
- //copyNodeset(xSignPathTemp+"/item", xSignPathItem+"[linkcd='"+ vsitemcd +"']");
- ds_signSaveData_item.filter("");
- //grd_temp.colsort(grd_temp.colRef("fromdt")) = "asc";
- //grd_temp.sort(1, 0, grd_temp.rows - 1, grd_temp.cols - 1) = "usersort";
- //grd_temp.gridToInstance();
- ds_grd_temp.keystring="S:fromdt";
-
- //20181012 이돈희 : TF->XP 변환 오류, 마취기록지의 Vital Sign이 시간 순으로 정렬이 안됨
- grdf_realSort("asc", "fromdt", ds_signSaveData_temp);
-
- for (var j=0 ; j < dataCnt ; j++)
- {
- var t1 = ds_signSaveData_temp.getColumn((j+0),"fromdt");
- var r1 = ds_signSaveData_temp.getColumn((j+0),"rec");
- var t2 = ds_signSaveData_temp.getColumn((j+1),"fromdt");
- var r2 = ds_signSaveData_temp.getColumn((j+1),"rec");
- var t3 = ds_signSaveData_temp.getColumn((j+2),"fromdt");
- var r3 = ds_signSaveData_temp.getColumn((j+2),"rec");
- var t4 = ds_signSaveData_temp.getColumn((j+3),"fromdt");
- var r4 = ds_signSaveData_temp.getColumn((j+3),"rec");
- var t5 = ds_signSaveData_temp.getColumn((j+4),"fromdt");
- var r5 = ds_signSaveData_temp.getColumn((j+4),"rec");
- var t6 = ds_signSaveData_temp.getColumn((j+5),"fromdt");
- var r6 = ds_signSaveData_temp.getColumn((j+5),"rec");
- dataRow = ds_signSaveData_time.addRow();
- ds_signSaveData_time.setColumn(dataRow,"vsitemcd", vsitemcd);
- ds_signSaveData_time.setColumn(dataRow,"vsitemnm", vsitemnm);
- ds_signSaveData_time.setColumn(dataRow,"t1", fTimeFormat(t1));
- ds_signSaveData_time.setColumn(dataRow,"r1", r1);
- ds_signSaveData_time.setColumn(dataRow,"t2", fTimeFormat(t2));
- ds_signSaveData_time.setColumn(dataRow,"r2", r2);
- ds_signSaveData_time.setColumn(dataRow,"t3", fTimeFormat(t3));
- ds_signSaveData_time.setColumn(dataRow,"r3", r3);
- ds_signSaveData_time.setColumn(dataRow,"t4", fTimeFormat(t4));
- ds_signSaveData_time.setColumn(dataRow,"r4", r4);
- ds_signSaveData_time.setColumn(dataRow,"t5", fTimeFormat(t5));
- ds_signSaveData_time.setColumn(dataRow,"r5", r5);
- ds_signSaveData_time.setColumn(dataRow,"t6", fTimeFormat(t6));
- ds_signSaveData_time.setColumn(dataRow,"r6", r6);
- j=j+5;
- }
- }
- }
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/temp", ds_signSaveData_temp);
- rptf_setNodeListToDOM(objDOM, "/root/main/signSaveData/time", ds_signSaveData_time);
- //인증저장
- if (!fSign()) return false;
- var oParam = {};
- oParam.id = "TXMMR03712";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqExeAnstEspi";
- oParam.inds = "signinfo=ds_send_signdata";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMMR03712";
- tranf_submit(oParam);
- if(arErrorCode.pop("TXMMR03712") > -1){
-
- dsf_deleteDs("ds_signSaveData_anstinfo");
- dsf_deleteDs("ds_signSaveData_opinfo");
- dsf_deleteDs("ds_signSaveData_recmast");
- dsf_deleteDs("ds_signSaveData_prog");
- dsf_deleteDs("ds_signSaveData_prcp");
- dsf_deleteDs("ds_signSaveData_item");
- dsf_deleteDs("ds_signSaveData_vslist");
- dsf_deleteDs("ds_signSaveData_temp");
- dsf_deleteDs("ds_signSaveData_time");
- } else {
- return false;
- }
-
- return true;
- }
- function cf_TXMMR03712(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSign(){
- // 상단정보에서 환자정보 set 하기..
- fPamInfo();
- var ls_emrinptsavetime = lf_getHardCDList("Y", 401, 3, null);
- var ll_emrinptsavetime = ls_emrinptsavetime == "" ? 0 : parseInt(ls_emrinptsavetime) * -1;
- var gs_emrinptsavetime = sysf_getGlobalVariable("emrinptsavetime"); // 이전 인증저장시간
-
- if (ll_emrinptsavetime < 0 && !utlf_isNull(gs_emrinptsavetime) && gs_emrinptsavetime >= utlf_getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss")) {
- Sign.certreload = false ; // 전자서명 호출시 인증서가 팝업 되지 않도록 처리
- } else {
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- }
-
- if(Sign.signprocess() == true){
- // 전자인증 관련 환자 인적 정보를 보내줌.
- dsf_makeValue(ds_send_signdata,"pid", "string", sPid );//등록번호
- if( sIOFlag =="O" ){
- dsf_makeValue(ds_send_signdata,"orddd", "string", sOrddd); //입원일자(입원,응급)/진료일자(외래)
- }else{
- dsf_makeValue(ds_send_signdata,"orddd", "string", sIndd); //입원일자(입원,응급)/진료일자(외래)
- }
- dsf_makeValue(ds_send_signdata,"signno", "string", ""); //서명번호
- dsf_makeValue(ds_send_signdata,"cretno", "string", sCretNo); //생성번호
-
- var sOpCnfmDd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- dsf_makeValue(ds_send_signdata,"recdd", "string", sOpCnfmDd); //실제 기록 일자에서 수술확정일자로 변경 2015.01.16 이윤주 요청 20150108010
- dsf_makeValue(ds_send_signdata,"rectm", "string", utlf_getCurrentTime()); //실제 기록이 이루어진 기록시간
-
- dsf_makeValue(ds_send_signdata,"recsaveflag","string", "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- dsf_makeValue(ds_send_signdata,"signflag", "string", "01" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- dsf_makeValue(ds_send_signdata,"signgenrflag","string", sIOFlag); //외래/입원구분(코드정의서 M0010 참조)
- dsf_makeValue(ds_send_signdata,"formcd", "string", formcd); //각 기록지별 서식코드
- dsf_makeValue(ds_send_signdata,"orddeptcd","string", sOrdDeptCd); //진료부서코드
- dsf_makeValue(ds_send_signdata,"orddrid", "string", sOrdDrId ); //진료의사ID
- dsf_makeValue(ds_send_signdata,"dispyn", "string", "Y"); //기록뷰어에는 조회안되도록
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- dsf_makeValue(ds_send_signdata,"signbfcnts" , "string", Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- dsf_makeValue(ds_send_signdata,"signaftcnts" ,"string", Sign.signedInfos[2]);
- // 마취기록을 위한 추가 컬럼....
- dsf_makeValue(ds_send_signdata,"oprsrvno" , "string",oprsrvno);
- dsf_makeValue(ds_send_signdata,"anstrecno" , "string",anstrecno);
-
-
- }else{
- return false;
- }
- dsf_makeValue(ds_send_signdata,"screenid", "string", frmf_getScreenID());
-
- sysf_setGlobalVariable("emrinptsavetime", utlf_getCurrentDateTime()); // 인증저장시간 설정
- return true;
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단 환자정보 가져오기..
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPamInfo(){
- var node = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_paminfo", node);
- sPid = ds_paminfo.getColumn(0,"pid"); // 환자번호
- sIndd = ds_paminfo.getColumn(0,"indd"); // 입원일자
- sOrddd = ds_paminfo.getColumn(0,"orddd"); // 진료일자
- sCretNo = ds_paminfo.getColumn(0,"cretno"); // 환자 일자별 일련번호
- sInstcd = ds_paminfo.getColumn(0,"instcd"); // 기관코드
- sIOFlag = ds_paminfo.getColumn(0,"ioflag"); // 입원/외래 구분
- sWardCD = ds_paminfo.getColumn(0,"wardcd");
- sRoomCD = ds_paminfo.getColumn(0,"roomcd");
- sOrdDeptCd = ds_paminfo.getColumn(0,"orddeptcd"); // 진료과코드
- sOrdDrId = ds_paminfo.getColumn(0,"medispclid"); // 진료의사ID
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : format date
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDateFormat(date){
- if (utlf_isNull(date)) { return; }
- if (date.length == 0) { return; }
- if (date.length == 8) {
- var yyyy = date.substr(0,4);
- var mm = date.substr(4,2);
- var dd = date.substr(6,2);
- return yyyy+'-'+mm+'-'+dd;
- } else {
- var yyyy = date.substr(0,4);
- var mm = date.substr(4,2);
- var dd = date.substr(6,2);
- var hh = date.substr(8,2);
- var nn = date.substr(10,2);
- return yyyy+'-'+mm+'-'+dd+' '+hh+':'+nn;
- }
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : format date
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fTimeFormat(date){
- if (utlf_isNull(date)) { return; }
- if (date.length == 0) { return; }
- if (date.length > 8) {
- var hh = date.substr(8,2);
- var nn = date.substr(10,2);
- return hh+':'+nn;
- }
- }
- /**
- * @group :
- * @ver : 2008.10.10
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : format date
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- // function fSetColor(gridObj)
- // {
- // for (var i = row_startend+1 ; i <= gridObj.rows; i++) {
- // if (i == gridObj.row) {
- // gridObj.cellstyle("background-color", gridObj.row, col_linknm) = "#ff99ff";
- // } else {
- // gridObj.cellstyle("background-color", gridObj.row, col_linknm) = "#ffffff";
- // }
- // }
- // }
- /**
- * @desc : 시간기록 로우 추가하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fAddRowTimeRec()
- {
- // 시간기록 가져오기..
- //var dataRef = "/root/main/grd_timerec/item";
- var dataCnt = ds_grd_timerec.rowcount;
- var i = ds_grd_timerec.addRow();
- var dt = utlf_getCurrentDate();
- var tm = utlf_getCurrentTime();
- tm = tm.substring(0,4);
- if (graph_fromdt.length > 7) { dt = graph_fromdt.substring(0,8); }
- ds_grd_timerec.enableevent = false;
- ds_grd_timerec.setColumn(i,"linktype" ,"S");
- ds_grd_timerec.setColumn(i,"linkcd" ,"");
- ds_grd_timerec.setColumn(i,"linkseqno" ,"0");
- ds_grd_timerec.setColumn(i,"fromdt" ,dt + tm);
- ds_grd_timerec.setColumn(i,"todt" ,"");
- ds_grd_timerec.setColumn(i,"rec" ,"");
- ds_grd_timerec.setColumn(i,"subrec" ,"");
- ds_grd_timerec.setColumn(i,"date" ,dt);
- ds_grd_timerec.setColumn(i,"time" ,tm);
- ds_grd_timerec.enableevent = true;
-
- fSetTimeRec();
- }
- /**
- * @desc : 시간기록 로우 삭제하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fDelRowTimeRec()
- {
-
- ds_grd_timerec.deleteRow(ds_grd_timerec.rowposition);
- fDisplayTimeRec();
- }
- /**
- * @desc : 시간기록 셋하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fOpenTimeRec()
- {
- ds_grd_timerec.enableevent = false;
- // 시간기록 가져오기..
- var dataRef = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
- //copyNodeset(dataRef, "/root/main/anstitem/item[linktype='S']", "replace", model, iv_anstprcp.model);
-
- dataRef.filter("linktype=='S'");
-
- ds_grd_timerec.copyData(dataRef, true);
- dataRef.filter("");
- var dataCnt = ds_grd_timerec.rowcount; //getNodesetCnt(model, dataRef);
- for (var i = 0 ; i < dataCnt ; i++) {
- var linktype = ds_grd_timerec.getColumn(i,"linktype");
- if (linktype == "S") {
- var linkcd = ds_grd_timerec.getColumn(i,"linkcd");
- var fromdt = ds_grd_timerec.getColumn(i,"fromdt");
-
-
- var dt = fromdt.substring(0,8);
- var tm = fromdt.substring(8,12);
- dsf_makeValue(ds_grd_timerec,"date","string", dt, i);
- dsf_makeValue(ds_grd_timerec,"time","string", tm, i);
- }
- }
- ds_grd_timerec.enableevent = true;
- }
-
- /**
- * @desc : 시간기록 더하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fSetTimeRec()
- {
- // 시간기록 가져오기..
- //var dataRef = "/root/main/grd_timerec/item";
- ds_grd_timerec.enableevent = false;
- var dataCnt = ds_grd_timerec.rowcount; //getNodesetCnt(model, dataRef);
- for (var i = 0 ; i < dataCnt ; i++) {
- var linktype = ds_grd_timerec.getColumn(i,"linktype");
- if (linktype == "S") {
- var linkcd = ds_grd_timerec.getColumn(i,"linkcd");
- if (!utlf_isNull(linkcd)) {
- var rec = ds_timerec.lookup("tmreccd", linkcd ,"tmrecnm");
- var dt = ds_grd_timerec.getColumn(i,"date");
- var tm = ds_grd_timerec.getColumn(i,"time");
- var fromdt = dt + tm;
- //dsf_makeValue(ds_grd_timerec,"fromdt","string", fromdt,i);
- //dsf_makeValue(ds_grd_timerec,"rec", "string",rec,i);
-
- ds_grd_timerec.setColumn(i,"fromdt", fromdt);
- ds_grd_timerec.setColumn(i,"rec" , rec);
- }
- }
- }
- ds_grd_timerec.enableevent = true;
- fDisplayTimeRec();
- }
-
-
- /**
- * @desc : 시작종료 심볼 표시하기
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- *
- */
- function fDisplayTimeRec()
- {
- // 그리드 컬럼 초기화
- ds_grd_main.enableevent = false;
- for (var i = col_fromdt ; i < parseInt(col_todt) + parseInt(col_fromdt) ; i++) {
- ds_grd_main.setColumn(row_startend, lf_getBindCellName(grp_base.grd_main,i), "");
- }
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var anstfromdt = utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd")) + utlf_transNullToEmpty(grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm"));
- if (anstfromdt.length != 12) {
- ds_grd_main.enableevent = true;
- return;
- }
- var gridObj = grp_base.grd_main;
- var linktype = "S";
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- //var ref = "/root/main/grd_timerec/item";
- var dataCnt = ds_grd_timerec.rowcount;
- for (var i=0 ; i < dataCnt ; i++) {
- var tmplinktype = ds_grd_timerec.getColumn(i,"linktype");
- if (tmplinktype == linktype) {
- var fromdt = ds_grd_timerec.getColumn(i,"fromdt");
- var linkcd = ds_grd_timerec.getColumn(i,"linkcd");
- var symbol = ds_timerec.lookup("tmreccd", linkcd, "tmrecnm");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- if (Number(fromdt) < Number(anstfromdt)) {
- // fromdt = graph_fromdt;
- }
- for (var j = col_fromdt + 1 ; j < parseInt(col_todt) + parseInt(col_fromdt) + 1; j++) {
- var colDate1 = ds_timeheader.getColumn(0,"t"+j) + ds_timeheader.getColumn(1,"t"+j);
- var colDate2 = Number(colDate1) + 4;
- if (colDate1 <= fromdt && fromdt <= colDate2) {
- var colString = gridObj.getCellText(row_startend, j);
- if (colString.length > 0) {
- colString = colString + "," + symbol;
- } else {
- colString = symbol;
- }
- ds_grd_main.setColumn(row_startend, lf_getBindCellName(grp_base.grd_main,j), colString);
- }
- }
- }
- }
- var gridObj = grp_base.swt_right.case_timerec.grd_timerec;
- ds_grd_timerec.keystring="S:date+time"
- //gridObj.colsort(gridObj.colref("date")) = "asc";
- //gridObj.colsort(gridObj.colref("time")) = "asc";
- //gridObj.sort(1, 1, gridObj.rows - 1, gridObj.cols - 1) = "usersort";
- //gridObj.refresh();
- //gridObj.gridToInstance();
- //gridObj.refresh();
- ds_grd_main.enableevent = true;
- }
- /**
- * @desc : 시작종료 심볼 표시하기 && 인스턴스 추가 또는 업데이트
- * @ 시작종료 심볼 적용
- * @ - 01 : X
- * @ - 02 : T
- * @ - 03 : ⊙
- * @ - 04 : XT
- * @ - 05 : TX
- * @ - 06 : Ton
- * @ - 07 : Toff
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetGridTimeRec(nCol)
- {
- grup_startend.visible = false;
- var symbol = grup_startend.grd_startend.getCellText(grup_startend.grd_startend.currentrow, grup_startend.grd_startend.currentcol);
- //grup_startend.grd_startend.currentcol = 2;
- grup_startend.grd_startend.setCellPos(2);
- // 2009.02.24. 시간기록 추가..
- var linkcd = ds_timerec.lookup("tmrecnm", symbol,"tmreccd");
- var linktype = "S";
- // 선택된 시작일시
- var gridObj = this.grp_base.grd_main;
- var j = gridObj.currentcol;
- if( utlf_isNull(j) || j == -1 ) j = nCol;
- var fromdt = utlf_transNullToEmpty(ds_timeheader.getColumn(0,"t"+j)) + utlf_transNullToEmpty(ds_timeheader.getColumn(1,"t"+j));
- var todt = Number(fromdt) + 4;
- if (utlf_isNull(linkcd)) {
- linkcd = "00";
- symbol = gridObj.getCellText(gridObj.currentrow, gridObj.currentcol);
- }
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var anstfromdt = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingdd") + grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_anstinfo_5700.getColumn(0,"meetingtm");
-
- if (anstfromdt.length != 12) {
- return;
- }
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- // 선택된 시작일시
- var j = gridObj.currentcol;
- if( utlf_isNull(j) || j == -1 ) j = nCol;
- var fromdt = utlf_transNullToEmpty(ds_timeheader.getColumn(0,"t"+j)) + utlf_transNullToEmpty(ds_timeheader.getColumn(1,"t"+j));
- var todt = Number(fromdt) + 4;
- // 시간기록 가져오기..
- //var ref = "/root/main/grd_timerec/item";
- var dataCnt = ds_grd_timerec.rowcount;
-
- ds_grd_timerec.enableevent = false;
- // 추가 또는 업데이트...
- for (var i=0 ; i <= dataCnt ; i++) {
- var tmplinktype = ds_grd_timerec.getColumn(i,"linktype");
- var tmpfromdt = ds_grd_timerec.getColumn(i,"fromdt");
- if (tmplinktype == linktype && fromdt <= tmpfromdt && tmpfromdt <= todt) {
- if (utlf_isNull(symbol)) {
- ds_grd_timerec.deleteRow(i);
- break;
- } else {
- var tmplinkcd = ds_grd_timerec.getColumn(i,"linkcd");
- if (tmplinkcd == linkcd) {
- ds_grd_timerec.setColumn(i,"linkcd", linkcd);
- ds_grd_timerec.setColumn(i,"rec", symbol);
- break;
- }
- }
- }
- }
-
- if (i > dataCnt) {
- if (dataCnt > 0) {
- var checkValue = ds_grd_timerec.getColumn(dataCnt-1, "linktype");
- if (!utlf_isNull(checkValue)) {
- dataCnt = ds_grd_timerec.addRow();
- }
- } else {
-
- dataCnt = ds_grd_timerec.addRow();
- }
- ds_grd_timerec.setColumn(dataCnt,"linktype" , linktype);
- ds_grd_timerec.setColumn(dataCnt,"linkcd" , linkcd);
- ds_grd_timerec.setColumn(dataCnt,"linkseqno", "");
- ds_grd_timerec.setColumn(dataCnt,"fromdt" , fromdt);
- ds_grd_timerec.setColumn(dataCnt,"todt" , "");
- ds_grd_timerec.setColumn(dataCnt,"rec" , symbol);
- ds_grd_timerec.setColumn(dataCnt,"subrec" , "");
-
- ds_grd_timerec.setColumn(dataCnt,"date" , fromdt.substring(0,8));
- ds_grd_timerec.setColumn(dataCnt,"time" , fromdt.substring(8,12));
-
-
- // var dt = ds_timeheader.getColumn(0,"t"+ gridObj.currentcol).substring(0,8) ;
- // var tm = ds_timeheader.getColumn(0,"t"+ gridObj.currentcol).substring(8,2) + ds_timeheader.getColumn(1,"t"+ gridObj.currentcol);
- // ds_grd_timerec.setColumn(dataCnt,"date" , dt);
- // ds_grd_timerec.setColumn(dataCnt,"time" , tm);
- }
- ds_grd_timerec.enableevent = true;
- fDisplayTimeRec();
- }
- /**
- * @desc : 시작종료 심볼 표시하기 && 인스턴스 추가 또는 업데이트
- * @ 시작종료 심볼 적용
- * @ - 04 : XT (마취시작)
- * @ - 05 : TX (마취종료)
- * @ - 03 : ⊙ (수술시작,수술종료)
- * @ - flag = 1 : 수술시작 , 2 : 수술종료
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetTimeRecAnstInfo(linkcd, fromdt, flag)
- {
- //grup_startend.grd_startend.currentcol = 2;
- var i =0;
-
- ds_timerec.selectRow(ds_timerec.rowposition);
- grup_startend.grd_startend.setCellPos(2);
- var linktype = "S";
- // 2009.02.24. 시간기록 추가..
- var symbol = ds_timerec.lookup("tmreccd", linkcd, "tmrecnm");
- // 시간기록 가져오기..
- var dataCnt = ds_grd_timerec.rowcount;
- var cnt = 0;
- if (utlf_isNull(flag)) { flag = "1"; }
- // 추가 또는 업데이트...
- for (i=0 ; i < dataCnt ; i++)
- {
- var tmplinktype = ds_grd_timerec.getColumn(i,"linktype");
- var tmplinkcd = ds_grd_timerec.getColumn(i,"linkcd");
- if (tmplinktype == linktype && tmplinkcd == linkcd)
- {
- cnt = cnt + 1;
- if (cnt == flag) {
- if (fromdt.length == 8){
- ds_grd_timerec.deleteRow(i);
- break;
- } else {
- ds_grd_timerec.setColumn(i,"linkcd", linkcd);
- ds_grd_timerec.setColumn(i,"fromdt", fromdt);
- ds_grd_timerec.setColumn(i,"todt" , "");
- ds_grd_timerec.setColumn(i,"rec" , symbol);
- ds_grd_timerec.setColumn(i,"subrec", "");
- ds_grd_timerec.setColumn(i,"date" , fromdt.substring(0,8));
- ds_grd_timerec.setColumn(i,"time" , fromdt.substring(8,12));
- break;
- }
- }
- }
- }
- if (i >= dataCnt)
- {
- if (dataCnt > 0)
- {
- var checkValue = ds_grd_timerec.getColumn(dataCnt-1, "linktype");
- if (!utlf_isNull(checkValue)) {
- dataCnt = ds_grd_timerec.addRow();
- }
- } else {
- dataCnt = ds_grd_timerec.addRow();
- }
- ds_grd_timerec.setColumn(dataCnt,"linktype" , linktype);
- ds_grd_timerec.setColumn(dataCnt,"linkcd" , linkcd);
- ds_grd_timerec.setColumn(dataCnt,"linkseqno", "");
- ds_grd_timerec.setColumn(dataCnt,"fromdt" , fromdt);
- ds_grd_timerec.setColumn(dataCnt,"todt" , "");
- ds_grd_timerec.setColumn(dataCnt,"rec" , symbol);
- ds_grd_timerec.setColumn(dataCnt,"subrec" , "");
- ds_grd_timerec.setColumn(dataCnt,"date" , fromdt.substring(0,8));
- ds_grd_timerec.setColumn(dataCnt,"time" , fromdt.substring(8,12));
- }
- fDisplayTimeRec();
- }
- /**
- * 선택한 셀의 행 및 열의 색깔변경
- */
- function fChangeHeader(chk){
- //#ffffff 흰색
- //#ff0000 빨강
- //#4d4d4d 그리드의 글자색깔
- //#ffccff 사용자 요청색깔
-
- if(grp_base.grd_main.getCellText(-1,grp_base.grd_main.currentcol + 30) != ds_timeheader.getColumn(1,"t"+grp_base.grd_main.currentcol))
- {
- for(var i = col_fromdt + 30; i <= col_todt + 30; i++)
-
- {
-
- grp_base.grd_main.setCellProperty("Head", i, "color","#4d4d4d");
- grp_base.grd_main.setCellProperty("Head", i, "font","");
-
- }
-
- grp_base.grd_main.setCellProperty("Head", grp_base.grd_main.currentcol + 29, "color","#ff0000");
- grp_base.grd_main.setCellProperty("Head", grp_base.grd_main.currentcol + 29, "font","bold");
- }
- else
- {
- for(var i = col_fromdt + 31; i <= col_todt + 31; i++)
-
- {
-
- grp_base.grd_main.setCellProperty("Head", i, "color","#4d4d4d");
- grp_base.grd_main.setCellProperty("Head", i, "font","");
-
- }
- grp_base.grd_main.setCellProperty("Head", grp_base.grd_main.currentcol + 30, "color","#ff0000");
- grp_base.grd_main.setCellProperty("Head", grp_base.grd_main.currentcol + 30, "font","bold");
- }
-
- currentCell[0] = grp_base.grd_main.currentrow;
- currentCell[1] = grp_base.grd_main.currentcol;
- }
- /**
- * 초기화 버튼 클릭시 마취기록지의 내용 리셋
- */
- function fReset(){
-
- var ret=sysf_messageBox("초기화 진행시 기록하신 모든 내용이 삭제됩니다.\n그래도 진행", "S001");
- if(ret=="6"){
-
- }else{
- return;
- }
-
- ds_grd_main.enableevent = false;
- var cols=grp_base.grd_main.getCellCount("Body");
- //var rows=ds_grd_main.rowcount;
- var rows = grp_base.grd_main.rowcount;
- for(var i=2; i<rows; i++){
- //if(grp_base.grd_main.getFormatRowSize(i)==0){
- if(grp_base.grd_main.getRealRowSize(i)==0){
- continue;
- }
- for(var j=grp_base.grd_main.getBindCellIndex("body","totalvol"); j<cols; j++){
- if(j==grp_base.grd_main.getBindCellIndex("body","volunit")){
- continue;
- }
- ds_grd_main.setColumn(i,lf_getBindCellName(grp_base.grd_main,j),"");
- //grd_main.cellstyle("background-color", i, j)="#ffffff";
- grp_base.grd_main.setCellProperty("body",j,"background","#ffffff");
- }
- }
-
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem.clearData();
-
- var iv_cols=grp_base.sw_left.case_anstprcp.iv_anstprcp.grd_anstprcp.getCellCount("Head");
- var iv_rows=grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.rowcount;
- for(var m=0; m<=iv_rows; m++){
- for(var n=1; n<=iv_cols; n++){
- if(n!=grp_base.sw_left.case_anstprcp.iv_anstprcp.grd_anstprcp.getBindCellIndex("body","recvol")
- && n!=grp_base.sw_left.case_anstprcp.iv_anstprcp.grd_anstprcp.getBindCellIndex("body","prcpvol")){
- continue;
- }else{
- grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.setColumn(m,lf_getBindCellName(grp_base.sw_left.case_anstprcp.iv_anstprcp.grd_anstprcp,n),"0");
- }
- }
- }
-
- ds_grd_main.enableevent = true;
- }
- /**
- * 서식 미비화면(SMMRI01800)에서 마취전 평가서 Open을 위한 함수
- */
- function fOpenAnstEvaluationSheet(){
- if(!utlf_isNull(frmf_findPopup("SMMRI01800")) || !utlf_isNull(frmf_findPopup("SMMRI01700"))){
- if(!utlf_isNull(frmf_findPopup("SMMRI01800")) || !utlf_isNull(frmf_findPopup("SMMRI01700"))){
- if(sysf_getGlobalVariable("linked_formcd","emr") == "0900005261"){
- this.grp_base.sw_left.case_anstinfo.iv_anstinfo.frmf_setParameter("SSMMR01100_formrecdd",sysf_getGlobalVariable("linked_formrecdd","emr"));
- this.grp_base.sw_left.case_anstinfo.iv_anstinfo.fPreOpAssemRec();
- }
- }
- }
- }
- /**
- * 미비조회(SMMRI01800)에서 화면 호출시 미비 상태값 변경을 위한 함수
- */
- function fProcessIncompleteConfirmation(){
-
- var wndobj = frmf_findPopup("SMMRI01800");
- if(!utlf_isNull(wndobj)){
- var pid = appf_getPatientId()
- var formcd = "0000002022"; // 마취기록지 서식코드
- var formrecdd = sysf_getGlobalVariable("linked_formrecdd","emr");
- var unprepdrid = sysf_getUserId();
- var unprepno = wndobj.frmf_getParameter("SMMMR03700_unprepno");
-
-
- ds_send_incompleterecinfo.clearData();
- ds_send_incompleterecinfo.addRow();
- ds_send_incompleterecinfo.setColumn(0,"pid" , pid);
- ds_send_incompleterecinfo.setColumn(0,"formcd" , formcd);
- ds_send_incompleterecinfo.setColumn(0,"formrecdd" , formrecdd);
- ds_send_incompleterecinfo.setColumn(0,"unprepdrid" , unprepdrid);
- ds_send_incompleterecinfo.setColumn(0,"unprepno" , unprepno);
-
- var oParam = {};
- oParam.id = "TXMMR03714";
- oParam.service = "anstrecapp.AnstRec";
- oParam.method = "reqSetIncompleteConfirmation";
- oParam.inds = "req=ds_send_incompleterecinfo";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMMR03714";
- tranf_submit(oParam);
- }
-
- }
- function cf_TXMMR03714(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- function fSetGrdbackgroundColor(currow,flag){
- var linktype;
- var linkcd;
- var Achk=false;
- var Dchk=false;
- var Fchk=false;
- var Hchk=false;
- var color = "";
-
- linktype= ds_grd_main.getColumn(currow,"linktype");
- linkcd= ds_grd_main.getColumn(currow,"linkcd");
- var totvolyn = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", linkcd, "totvolyn");
- var clscd = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstprcp_item.lookup("prcpcd", linkcd, "clscd");
-
- // 2008.10.20. 마취기록지 컬러 주기..
- /*
- 1. Agent - 구분이 01
- @ Air -> 노란색
- @ N2O -> 하늘색
- @ O2 -> 녹색
- @ 그밖의 마취가스 -> 주황색
- 2. Agent - 그외 02,03,04 (토탈용량 기록여부에 따라)
- @ 용량 -> 회색
- @ 농도 -> 연노란색
- 2. Drug -> 보라색
- 3. Fluid -> 살구색
- 4. Blood -> 연두색
- */
- color = "#ffffff";
- if (linktype == "A" && Achk==false) {
- if (totvolyn == "Y") {
- color = "#c0c0c0";
- } else {
- color = "#ffff99";
- }
- if (clscd == "01") {
- // 2008.10.20. 마취기록지 컬러 주기..
- // 000000000274 Air -> 노란색
- // Y10090001 N2O -> 하늘색
- // Y80000001 O2 -> 녹색
- // 그밖의 마취가스 -> 주황색
- if (linkcd == "000000000274") {
- color = "#ffcc00";
- } else if (linkcd == "Y10090001") {
- color = "#ffcc00";
- } else if (linkcd == "Y80000001") {
- color = "#ffcc00";
- } else {
- color = "#ffcc00";
- }
- }
- Achk = true;
- } else if (linktype == "D" && Dchk == false) {
- color = "#e3c8ff";
- } else if (linktype == "F" && Fchk == false) {
- color = "#ffcc99";
- } else if (linktype == "H" && Hchk == false) {
- color = "#ccffcc";
- }
-
-
- Achk=false;
- Dchk=false;
- Fchk=false;
- Hchk=false;
- if( flag == 0 )
- return color;
- else if (flag == 2)
- return ltype;
- }
- function fMake_SignData(){
- /*
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source;
- Sign.addnode("/root/main/signSaveData",objParam.xml_data_XML1);
- */
- var arrSignPath = new Array();
- arrSignPath[0] = "/signSaveData/anstinfo";
- arrSignPath[1] = "/signSaveData/opinfo/item";
- arrSignPath[2] = "/signSaveData/recmast/item";
- arrSignPath[3] = "/signSaveData/prog/item";
- arrSignPath[4] = "/signSaveData/prcp/item";
- arrSignPath[5] = "/signSaveData/item/item";
- arrSignPath[6] = "/signSaveData/vslist/item";
- arrSignPath[7] = "/signSaveData/temp/item";
- arrSignPath[8] = "/signSaveData/time/item";
-
- var arrSignDs = new Array();
- arrSignDs[0] = ds_signSaveData_anstinfo.saveXML();
- arrSignDs[1] = ds_signSaveData_opinfo.saveXML();
- arrSignDs[2] = ds_signSaveData_recmast.saveXML();
- arrSignDs[3] = ds_signSaveData_prog.saveXML();
- arrSignDs[4] = ds_signSaveData_prcp.saveXML();
- arrSignDs[5] = ds_signSaveData_item.saveXML();
- arrSignDs[6] = ds_signSaveData_vslist.saveXML();
- arrSignDs[7] = ds_signSaveData_temp.saveXML();
- arrSignDs[8] = ds_signSaveData_time.saveXML();
-
-
- Sign.addnodeset(arrSignPath, arrSignDs);
- }
- function fSetGrdColor(){
- var type;
- var agchk=false;
- var drchk=false;
- var vschk=false;
- var prchk=false;
- var stchk=false;
- ds_grd_main.enableevent = false;
- for(var i=ds_grd_main.rowcount-1; i>=0; i--){
- type=ds_grd_main.getColumn(i,"type");
- if(type=="Progress" && prchk==false ){
- ds_grd_main.setColumn(i,"line","Y");
-
- prchk=true;
- }else if(type=="시작종료" && stchk==false ){
- ds_grd_main.setColumn(i,"line","Y");
- stchk=true;
- }else if(type=="V/S" && vschk==false ){
- ds_grd_main.setColumn(i,"line","Y");
- vschk=true;
- }else if(type=="Agent" && agchk==false ){
- ds_grd_main.setColumn(i,"line","Y");
- agchk=true;
- }else if(type=="Drug" && drchk==false ){
- ds_grd_main.setColumn(i,"line","Y");
- drchk=true;
- }else{
- ds_grd_main.setColumn(i,"line","N");
-
- }
- }
- ds_grd_main.enableevent = true;
-
- agchk=false;
- drchk=false;
- vschk=false;
- prchk=false;
- stchk=false;
-
- }
- function setline(currow,col)
- {
- var line = "1 solid #B0B0B0,1 solid #B0B0B0,1 solid #B0B0B0,1 solid #B0B0B0";
- var Hline = ds_grd_main.getColumn(currow,"line");
- var Vline = ds_timeheader.getColumn(1,"t"+col);
-
-
- if(Vline == "25" || Vline == "55")
-
- {
- if (Hline == "Y")
- {
- line = "1 solid #B0B0B0,2 solid #99ccff,2 solid #99ccff,1 solid #B0B0B0";
- }
- else
- {
- line = "1 solid #B0B0B0,2 solid #99ccff,1 solid #B0B0B0,1 solid #B0B0B0";
- }
- }
- else
- {
- if (Hline == "Y")
- {
- line = "1 solid #B0B0B0,1 solid #B0B0B0,2 solid #99ccff,1 solid #B0B0B0";
- }
- }
- return line;
-
- }
- /****************************************************************************************
- * Argument : preMeetingdt - 기입력된 Meeting Time
- * Description : 기입력된 Meeting Time 존재 유무 체크
- * return type : true / flase
- ****************************************************************************************/
- function lf_ChkVsData(postMeetingdt, preMeetingdt){
- // 제어 기록 수
- var recDs = grp_base.sw_left.case_anstprcp.iv_anstprcp.ds_anstitem;
-
- var nRecCnt = 0;
- var nProgCnt = 0;
-
- // Meeting Time 을 기존 입력시간보다 앞시간으로 설정 시 0분 5분을 제외한 수일경우 제어로직 추가
- if( postMeetingdt < preMeetingdt ){
- var chkDt = preMeetingdt.substr(8, 12);
- var val = parseInt(chkDt) % 5;
- if( val != 0 ){
- nRecCnt = recDs.getCaseCount("!utlf_isNull(rec) && fromdt == '" + preMeetingdt + "'");
- nProgCnt = ds_grd_prog.getCaseCount("!utlf_isNull(progrec) && !utlf_isNull(progfromdt) && progfromdt == '" + preMeetingdt + "'");
- }
- }else{
- nRecCnt = recDs.getCaseCount("!utlf_isNull(rec) && fromdt < '" + postMeetingdt + "'");
- nProgCnt = ds_grd_prog.getCaseCount("!utlf_isNull(progrec) && !utlf_isNull(progfromdt) && progfromdt < '" + postMeetingdt + "'");
- }
- // 기록 작성 시점
- var nOpcnfmdd = grp_base.sw_left.case_anstinfo.iv_anstinfo.ds_oprsrvinfo.getColumn(0,"opcnfmdd");
- if( utlf_isNull(nOpcnfmdd) || nOpcnfmdd.length != 8){
- nOpcnfmdd = utlf_getCurrentDate();
- }
- // 공통코드 정보 조회
- var nHardCd = ds_init_hardcd9975.getColumn(0, "hardcd");
- var nHardNm = ds_init_hardcd9975.getColumn(0, "hardcdnm");
- var bChk = false;
- if( !utlf_isNull(nHardCd) && nHardCd == "Y"
- && !utlf_isNull(nHardNm) && nHardNm.length == 8
- && nOpcnfmdd >= nHardNm ){
- bChk = true;
- }
-
- if( bChk == true && (nRecCnt > 0 || nProgCnt > 0) )
- return false;
-
- return true;
- }]]></Script>
|