12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 마취환자기록 ( SMMMR03700_마취환자기록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01 2007-10-18
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var instcd = "012";
- // 마취과 부서코드 (마취통증의학과/통증클리닉)
- var anstdeptcd = "2090000000";
- // 수술환자정보
- var operationdata = "";
- var orddd = "";
- var cretno = "";
- var ordtype = "";
- var ioflag = "";
- var formcd = "0000002022";
- var oprsrvno = "";
- var ophistno = "";
- var pid = "";
- var phngnm = "";
- var anstrecno = "";
- var lastespiyn = ""; // 최종인증저장여부
- var recsetcd = "";
- var anstdd = "";
- var currentdate = "";
- var col_linknm = 1;
- var col_linkcd = 2;
- var col_linktype = 3;
- var col_sorttype = 4;
- var col_sortno = 5;
- var col_linkseqno= 6;
- var col_prcpvol = 7;
- var col_prcpvolunitnm = 8;
- var col_fromdt = 9;
- //2012/06/26 Start
- //var col_todt = 249;
- //var col_todt = 300;
- // 2일
- //var col_todt = 576;
- // 1일
- var col_todt = 288;
- //2012/06/26 End
- var row_progress = 3;
- var row_startend = 4;
- var sorttype_progress = 1;
- var sorttype_startend = 2;
- var sorttype_vs = 3;
- var sorttype_agent = 4;
- var sorttype_drug = 5;
- var sorttype_fluid = 6;
- var sorttype_blood = 7;
- var graph_fromdt;
- var graph_todt;
- var totfluid;
- var totblood;
- var vslist = "on";
- var agentlist = "on";
- var druglist = "on";
- var fluidlist = "on";
- var blodlist = "on";
- var iv_anstinfo_load = "N";
- var iv_anstmast_load = "N";
- var iv_anstprcp_load = "N";
- var anstrecno = "0";
- // 2008.09.25. 인증저장하기.. 고고씽~
- // 1. info : 마취정보 + remark + 집도의 + 마취의, Total I/O : Urine output , Bloodloss, Crystalloid, Colloid
- // 2. opinfo : 진단명 리스트, 수술명(전)- case cart (주+부), 수술명(후)
- // 3. 기록 - 마취방법
- // 4. Progress
- // 5. Agent, Drug, Fluid, Blood, Procedure
- // 6. V/S
- // 7. time, vol, value
- var xSignPath = "/root/main/signSaveData"; //인증저장관련노드
- var xSignPathAnstInfo = "/root/main/signSaveData/anstinfo"; //인증저장관련노드
- var xSignPathOpInfo = "/root/main/signSaveData/opinfo"; //인증저장관련노드
- var xSignPathRec = "/root/main/signSaveData/recmast"; //인증저장관련노드
- var xSignPathProg = "/root/main/signSaveData/prog"; //인증저장관련노드
- var xSignPathPrcp = "/root/main/signSaveData/prcp"; //인증저장관련노드
- var xSignPathVsList = "/root/main/signSaveData/vslist"; //인증저장관련노드
- var xSignPathItem = "/root/main/signSaveData/item/item"; //인증저장관련노드
- var xSignPathTime = "/root/main/signSaveData/time"; //인증저장관련노드
- var xSignPathTemp = "/root/main/signSaveData/temp"; //인증저장관련노드
- var sPid = ""; // 환자번호
- var sIndd = ""; // 입원일자
- var sOrddd = ""; // 진료일자
- var sCretNo = ""; // 환자 일자별 일련번호
- var sInstcd = ""; // 기관코드
- var sIOFlag = ""; // 입원/외래 구분
- var sWardCD = "";
- var sRoomCD = "";
- var sOrdDeptCd = ""; // 진료과코드
- var sOrdDrId = ""; // 진료의사ID
- //2012/12/11 Start
- var applychk =""; // 하드코드 값 체크
- //2012/12/11 End
- /**
- 수술환자 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() {
- // 2009.04.21. 기관코드 셋
- instcd = getUserInfo("dutplceinstcd");
- // 수술환자정보
- operationdata = getGlobalVariable("operation");
- model.makeValue("/root/hidden/operationdata", operationdata);
-
- //2012/12/11 Start 마취기록지 수정사항 적용여부
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/applychk", 5586);
- applychk = model.getValue("/root/init/applychk/hardcd/hardcd");
- //2012/12/11 End
-
- //2013/07/22 Start 마취기록지 초기화 버튼 활성화 여부
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcd5870", 5870);
- var hardcd5870 = model.getValue("/root/init/hardcd5870/hardcd/hardcd");
- if(hardcd5870=="Y" || hardcd5870=="y"){
- button2.visible=true;
- }else{
- button2.visible=false;
- }
- //2013/07/22 End
-
- //2017.02.07 Meeting Time 변경시 기록 제어여부
- mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/hardcd9975", 9975);
- iv_anstinfo_load = "N";
- iv_anstmast_load = "N";
- iv_anstprcp_load = "N";
- if (operationdata.length == 0) {
- alert("환자 수술정보가 없습니다.");
- return;
- }
- var operation = operationdata.split("▩");
- var oprsrvinfo = operation[1].split("▦");
- oprsrvno = oprsrvinfo[0]; // 수술예약번호
-
- if (oprsrvno.length == 0) {
- alert("환자 수술정보가 없습니다..");
- return;
- }
- // 팝업 버튼 활성화..
- btn_pca.disabled = false;
- btn_totalio.disabled = false;
- // 메인 그리드 클리어..
- model.removeNodeset("/root/main/grd_main/item");
- model.removeNodeset("/root/main/vslist/item");
- model.removeNodeset("/root/main/prog/item");
- grd_main.refresh();
- grd_prog.refresh();
- // 마취일반정보
- iv_anstinfo.src = "SSMMR05700_마취환자기록일반정보.xrw";
- iv_anstinfo.window.javascript.fFormInit(oprsrvno);
- //공통 기본 정보 셋
- oprsrvno = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/oprsrvno");
- ophistno = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/ophistno");
- pid = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/pid");
- phngnm = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/phngnm");
- anstrecno = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/anstrecno");
- var wt = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/wt"); // 2009.06.12. 환자 키/몸무게 셋팅해주기..
- var ht = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/ht");
- var ibw = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/ibw");
-
-
- recsetcd = iv_anstinfo.model.getValue("/root/main/anstinfo/recsetcd"); // 마취일반정보 기본셋
- lastespiyn = iv_anstinfo.model.getValue("/root/main/anstinfo/lastespiyn"); // 최종인증저장 여부 값 설정 2014.09.04
-
- // 공통 기본 정보 셋 (마취기록번호)
- model.makeValue("/root/send/reqdata/oprsrvno" , oprsrvno);
- model.makeValue("/root/send/reqdata/ophistno" , ophistno);
- model.makeValue("/root/send/reqdata/pid" , pid);
- model.makeValue("/root/send/reqdata/phngnm" , phngnm);
- model.makeValue("/root/send/reqdata/anstrecno", anstrecno);
- model.refresh();
- var weight = "";
- var height = "";
-
- if (wt != "") { weight = "Wt " + wt + "kg"; }
- if (ht != "") { height = "Ht " + ht + "cm"; }
- if (ht != "") { ibw = "IBW "+ ibw; }
- model.makeValue("/root/hidden/cap_vs", height + " / " + weight+ " / " + ibw);
-
- if( anstrecno == "0") {
- model.makeValue("/root/hidden/savestate", "저장상태: 신규");
- } else {
- if( lastespiyn == "Y") {
- model.makeValue("/root/hidden/savestate", "저장상태: 인증저장");
- } else {
- model.makeValue("/root/hidden/savestate", "저장상태: 임시저장");
- }
- }
-
- // 마취기록정보
- iv_anstmast.src = "SSMMR05800_마취환자기록마스터.xrw";
- iv_anstmast.window.javascript.fFormInit();
- // 마취처방내역조회
- fAnstOrdMast();
- // 사용자 직종 체킹하기..
- fUserAuth();
-
- // 마취일반정보 : default tab 처리
- btn_anstinfo.dispatch("onclick");
- // 그래프 차트 보여주기...
- fOpenTop("true");
- fOpenLeft("true");
- // 현재일시
- currentdate = getCurrentDate() + getCurrentTime();
- model.setValue("/root/send/reqdata/currentdate" , currentdate);
- // 2008.10.13. V/S SET 콤보 초기화...
- model.setValue("/root/send/setinfo/setcd" , "");
- // V/S SET LIST 조회
- submit("TRMMR04204","","/root/send/reqdata","/root/init/setlist/item");
- // V/S마스터 정보 조회
- submit("TRMMR04207","","/root/send/reqdata","/root/main/vslist/item");
- // V/S마스터 정보 조회
- copyNodeset("/root/main/vssetitem/item", "/root/main/vslist/item");
- // 마취환자 Progress 조회
- submit("TRMMR03703");
- // 2009.02.24. 시간기록 추가..
- var nOpcnfmdd = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- if( !isNull(nOpcnfmdd) && nOpcnfmdd.length == 8){
- model.setValue("/root/send/reqdata/currentdate" , nOpcnfmdd + "000000");
- }
- submit("TRMMR04210");
-
- model.setValue("/root/send/reqdata/currentdate" , currentdate);
- // 2009.02.25. 시간기록 가져오기..
- fOpenTimeRec();
- // 2008.01.07. 그래프 시작일시, 종료일시 셋해주기.. Meeting Time ~ (5분간격 컬럼 표시 : 총 2시간)
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdt");
- if (meetingdt.length == 8) {
- meetingdt = meetingdt + "0000";
- }
- fSetGraphFormdt(meetingdt);
- // 메인그리드에 그려주자..
- fDisplayGrid();
- // V/S TChart 그려주자..
- fDisplayChart();
- // V/S Set 하기.. (2009.06.22)
- var vssetcd = iv_anstinfo.model.getValue("/root/main/anstinfo/vssetcd");
- if (vssetcd == "") {
- model.setValue("/root/main/anstinfo/vssetcd", "0");
- } else {
- model.setValue("/root/main/anstinfo/vssetcd", vssetcd);
- }
- // V/S Set 그려주자..
- fSetItemDisplay();
- // 처방 네비게이션을 위한 추가 함수... (2008.07.22)
- var scrnwnd = getOpenWindow("SPMMB08400");
- if(scrnwnd != null){
- scrnwnd.javascript.fCloseOpenEmrWnd();
- }
- // progress 그리드 초기화 해주기 (디폴트로 20개 로우셋 해주기)
- for (var i = grd_prog.rows ; i <= 20 ; i++) {
- grd_prog.addrow(false,false);
- model.makeValue("/root/main/prog/item["+ i +"]/progno", i);
- if (i == 1) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "Anitibiotics : ");
- }
- } else if (i == 2) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "NPO 8시간 : ");
- }
- } else if (i == 3) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "air bagging warmer apply : ");
- }
- } else if (i == 4) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "eye protection");
- }
- }
- }
- }
- /**
- * @---------------------------------------------------
- * @creat : 20110418
- * @author : 최원돈
- * @desc : 마취환자 CDIS처방 투여일시 가져오기
- * @---------------------------------------------------
- */
- function searchAnstCdisItem()
- {
- if (iv_anstprcp_load == "Y")
- {
- iv_anstprcp.window.javascript.searchAnstCdisItem(anstrecno, iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm")) // 마취환자 CDIS처방 투여일시 조회
- // 메인 그리드에 그려주자..
- fDisplayGrid();
- // V/S TChart 그려주자..
- fDisplayChart();
-
- // V/S
- var gridObj = grd_main;
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "V" && vslist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "V" && vslist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "V" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- }
- /**
- * @desc : 처방내역
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstOrdMast()
- {
- if (oprsrvno.length == 0) {
- //alert("환자 수술정보가 없습니다.");
- //return;
- }
- if (iv_anstprcp_load == "N") {
-
- // // 2016.09.30 현재 시점에서 작성 시점으로 변경
- var nOpcnfmdd = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- if( !isNull(nOpcnfmdd) && nOpcnfmdd.length == 8){
- nOpcnfmdd = nOpcnfmdd + "000000";
- }
-
- // 마취 기록 & 처방
- iv_anstprcp.src = "SSMMR05900_마취환자기록처방목록.xrw";
- iv_anstprcp.window.javascript.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 = getNodesetCnt(model, "/root/main/prog/item");
- if (dataCnt == 1) {
- if (model.getValue("/root/main/prog/item[1]/progrec") == "" ) {
- grd_prog.deleteRow(grd_prog.rows-1,true);
- }
- }
- // progress 그리드 초기화 해주기 (디폴트로 20개 로우셋 해주기)
- for (var i = grd_prog.rows ; i <= 20 ; i++) {
- grd_prog.addrow(false,false);
- model.makeValue("/root/main/prog/item["+ i +"]/progno", i);
- if (i == 1) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "Anitibiotics : ");
- }
- } else if (i == 2) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "NPO 8시간 : ");
- }
- } else if (i == 3) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "air bagging warmer apply : ");
- }
- } else if (i == 4) {
- var progrec = model.getValue("/root/main/prog/item["+i+"]/progrec");
- if (progrec.replace(" ", "").length == 0) {
- model.makeValue("/root/main/prog/item["+i+"]/progrec", "eye protection");
- }
- }
- }
- // 메인 그리드 초기화
- fGridLoad("/root/main/anstprcp");
- }
- /**
- * @desc : 그리드 초기화
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGridLoad(ref)
- {
- /* 20131007 이정택 주석처리
- // 그리드 컬럼 초기화
- for (var i = col_fromdt ; i <= col_todt ; i++) {
- grd_main.textmatrix(0,i) = "";
- grd_main.textmatrix(1,i) = "";
- grd_main.colwidth(i) = 32;
- }
- */
- // 컬럼에 날짜, 시간, 분 셋하기... + 총용량 + 단위 (추가)
- fAddColDate();
- // 그리드 로우 초기화 (타이틀 3 row)
- for (var i=row_progress-1 ; row_progress < grd_main.rows ; i++) {
- grd_main.removeRow(false);
- }
- // 1. progress (4번째 row)
- grd_main.addrow(false,false);
- grd_main.rowheight(row_progress) = 20;
- grd_main.textmatrix(row_progress, 0) = "Progress";
- grd_main.textmatrix(row_progress, col_linktype) = "P";
- grd_main.textMatrix(row_progress, col_sorttype) = sorttype_progress;
- grd_main.textMatrix(row_progress, col_sortno) = "1";
-
- fDisplayProgress();
- // *. 시작종료 (5번째 row)
- grd_main.addrow(false,false);
- grd_main.rowheight(row_startend) = 20;
- grd_main.textmatrix(row_startend, 0) = "시작종료";
- grd_main.textmatrix(row_startend, col_linktype) = "S";
- grd_main.textMatrix(row_startend, col_sorttype) = sorttype_startend;
- grd_main.textMatrix(row_startend, col_sortno) = "1";
-
- // fDisplayStartEnd();
- // 2009.02.24. 시작종료 심볼 표시하기...
- fDisplayTimeRec();
- // 2. V/S item display + data display
- var dataCnt = getNodesetCnt(model, "/root/main/vslist/item");
- for (var i = 1 ; i <= dataCnt ; i++) {
- var checked = model.getValue("/root/main/vslist/item["+ i +"]/checked");
- if (checked == "true") {
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- var vsitemcd = model.getValue("/root/main/vslist/item["+ i +"]/vsitemcd");
- fAddVS(grd_main.rows, vsitemnm, vsitemcd);
- fDisplayAnstItem(grd_main.rows-1);
- }
- }
- /*
- 2013/10/07 이정택 주석처리(튜닝 포인트)
- var dataCnt = getNodesetCnt(model, "/root/main/vslist/item");
- var reccnt = getNodesetCnt(iv_anstprcp.model, "/root/main/anstitem/item");
- if(reccnt==0){ // 마취 작성일시에
- for (var i = 1 ; i <= dataCnt ; i++) {
- var checked = model.getValue("/root/main/vslist/item["+ i +"]/checked");
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- if (checked == "true") {
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- var vsitemcd = model.getValue("/root/main/vslist/item["+ i +"]/vsitemcd");
- fAddVS(grd_main.rows, vsitemnm, vsitemcd);
- fDisplayAnstItem(grd_main.rows-1);
- }
- }
- }else{ // 기록이 존재 할 시에
- for (var i = 1 ; i <= dataCnt ; i++) {
- var checked = model.getValue("/root/main/vslist/item["+ i +"]/checked");
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- var recvscnt = getNodesetCnt(iv_anstprcp.model, "/root/main/anstitem/item[vsitemnm='"+vsitemnm+"']");
- cnt = iv_anstprcp.model.getValue("/root/main/anstitem/item[vsitemnm='"+vsitemnm+"']/cnt");
- if (checked == "true" && recvscnt >0) {
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- var vsitemcd = model.getValue("/root/main/vslist/item["+ i +"]/vsitemcd");
- fAddVS(grd_main.rows, vsitemnm, vsitemcd);
- fDisplayAnstItem(grd_main.rows-1);
- }
- }
- }
- */
- // 2008.01.07. 마취시작시간을 입력하기...
- if (graph_fromdt.length != 12) {
- alert("Meeting Time을 입력하시기 바랍니다.");
- fOpenLeft("true");
- return;
- }
- // 3. agent / drug / fluid
- var dataCnt = getNodesetCnt(iv_anstprcp.model, "/root/main/anstprcp/item");
-
- var tmpprcpcd;
-
- // 차트 그리드 에 표시
- for (var i = 1 ; i <= dataCnt ; i++) {
-
- var prcptype = iv_anstprcp.model.getValue(ref+"/item["+ i +"]/prcptype");
- var prcpcd = iv_anstprcp.model.getValue(ref+"/item["+ i +"]/prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno= iv_anstprcp.model.getValue(ref+"/item["+ i +"]/prcpseqno");
- var sortno = iv_anstprcp.model.getValue(ref+"/item["+ i +"]/sortno");
- var checked = iv_anstprcp.model.getValue(ref+"/item["+ i +"]/checked");
- if (prcptype == "A" || prcptype == "D" || prcptype == "F" || prcptype == "H") {
- if (checked == "true") {
- // 로우 추가
- fAddRow(prcptype, prcpcd, sortno, prcpseqno)
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(grd_main.rows-1);
- }
- }
- }
- // 입력 불가 모드 (Progress)
- grd_main.isReadOnly(row_progress , grd_main.fixedcols, row_progress , grd_main.cols - 1) = true;
- /*
- // 입력 불가 모드 (시작종료)
- grd_main.isReadOnly(row_startend , grd_main.fixedcols, row_startend , grd_main.cols - 1) = true;
- // 입력 불가 모드 (Agent, Drug, Fluid)
- var indxRow = 0;
- for (var j = 1 ; j < grd_main.rows ; j++) {
- var prcptype = grd_main.textMatrix(j,0);
- if (prcptype == "Agent" || prcptype == "Drug" || prcptype == "Fluid") {
- indxRow = j;
- break;
- }
- }
- if (indxRow > 0){
- grd_main.isReadOnly(indxRow, grd_main.fixedcols, grd_main.rows - 1, grd_main.cols - 1) = true;
- }
- */
- grd_main.row =0;
- grd_main.refresh();
- // 2008.11.07. 메인 그리드 sort 처리..
- fGridSort();
- }
- /**
- * @desc : 마취기록 메인 그리드에서 항목 로우 추가하기...
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddRow(prcptype, prcpcd, sortno, prcpseqno)
- {
- 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 = grd_main.rows;
- grd_main.addrow(false,false);
- grd_main.rowheight(addrow) = 20;
- grd_main.textMatrix(addrow, col_linkcd) = prcpcd;
- grd_main.textMatrix(addrow, col_linktype) = prcptype;
- grd_main.textMatrix(addrow, col_sorttype) = sorttype;
- grd_main.textMatrix(addrow, col_sortno) = sortno;
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- grd_main.textMatrix(addrow, col_linkseqno)= prcpseqno;
- // 처방 타입을 보여주기
- if (prcptype == "A") {
- grd_main.textmatrix(addrow,0) = "Agent";
- } else if (prcptype == "D") {
- grd_main.textmatrix(addrow,0) = "Drug";
- } else if (prcptype == "F") {
- grd_main.textmatrix(addrow,0) = "Fluid";
- } else if (prcptype == "H") {
- grd_main.textmatrix(addrow,0) = "Blood";
- }
- var ref = "/root/main/anstprcp";
- // 약어명 보여주기
- var abbrnm = iv_anstprcp.model.getValue(ref+"/item[prcpcd = '"+ prcpcd +"']/abbrnm");
- var prcpnm = iv_anstprcp.model.getValue(ref+"/item[prcpcd = '"+ prcpcd +"']/prcpnm");
- if (abbrnm.length > 0 ) {
- grd_main.textmatrix(addrow,1) = abbrnm;
- } else {
- grd_main.textmatrix(addrow,1) = prcpnm;
- }
-
- // 총용량을 계산하나??
- var totvolyn = iv_anstprcp.model.getValue(ref+"/item[prcpcd = '"+ prcpcd +"']/totvolyn");
- if (totvolyn == "Y") {
- // 기록된 용량 다 더해주기.. 총용량 보여주기
- grd_main.textmatrix(addrow,col_prcpvol) = fGetTotalRecVol(prcpcd, prcpseqno);
- var prcpvolunitnm = iv_anstprcp.model.getValue(ref+"/item[prcpcd = '"+ prcpcd +"']/prcpvolunitnm");
- grd_main.textmatrix(addrow,col_prcpvolunitnm) = prcpvolunitnm;
- //alert("d : " + prcpnm + " : " + prcpvolunitnm); // test
- }
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- grd_main.cellstyle("font-weight", addrow, 1, addrow, 1) = "bold";
- }
- }
-
- /**
- * @desc : Agent, Drug, Fluid, Blood 인 경우 투여용량, 시작시간, 종료시간 표시하기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fDisplayAnstItem(row)
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(row, col_linkcd);
- var linktype = gridObj.textMatrix(row, col_linktype);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = gridObj.textMatrix(row, col_linkseqno);
- // 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;
- }
- var totvolyn = iv_anstprcp.model.getValue("/root/main/anstprcp/item[prcpcd = '" + linkcd + "']/totvolyn");
- var clscd = iv_anstprcp.model.getValue("/root/main/anstprcp/item[prcpcd = '" + linkcd + "']/clscd");
- // 2008.10.20. 마취기록지 컬러 주기..
- /*
- 1. Agent - 구분이 01
- @ Air -> 노란색
- @ N2O -> 하늘색
- @ O2 -> 녹색
- @ 그밖의 마취가스 -> 주황색
- 2. Agent - 그외 02,03,04 (토탈용량 기록여부에 따라)
- @ 용량 -> 회색
- @ 농도 -> 연노란색
- 2. Drug -> 보라색
- 3. Fluid -> 살구색
- 4. Blood -> 연두색
- */
- var color = "#ffffff";
- if (linktype == "A") {
- if (totvolyn == "Y") {
- color = "#c0c0c0";
- } else {
- color = "#ffff99";
- }
- if (clscd == "01") {
- // 2008.10.20. 마취기록지 컬러 주기..
- // 000000000274 Air -> 노란색
- // Y10090001 N2O -> 하늘색
- // Y80000001 O2 -> 녹색
- // 그밖의 마취가스 -> 주황색
- if (linkcd == "000000000274") {
- color = "#ffff00";
- } else if (linkcd == "Y10090001") {
- color = "#00ccff";
- } else if (linkcd == "Y80000001") {
- color = "#00ff00";
- } else {
- color = "#ffcc00";
- }
- }
- } else if (linktype == "D") {
- color = "#e3c8ff";
- } else if (linktype == "F") {
- color = "#ffcc99";
- } else if (linktype == "H") {
- color = "#ccffcc";
- }
- if (linktype != "V") {
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- gridObj.cellstyle("font-weight", row, 1, row, 1) = "bold";
- gridObj.cellstyle("background-color", row, col_fromdt, row, col_todt) = "#ffffff";
- }
- for (var j = col_fromdt ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
- gridObj.textMatrix(row, j) = "";
- }
- gridObj.rowstyle(row, "data", "background-color") = "#ffffff";
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- 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");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- var fromdt = iv_anstprcp.model.getValue(ref+"["+ i +"]/fromdt");
- var todt = iv_anstprcp.model.getValue(ref+"["+ i +"]/todt");
- var rec = iv_anstprcp.model.getValue(ref+"["+ 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 (todt.length == 0) { todt = fromdt; }
- fromdt.substr(0,12);
- todt.substr(0,12);
- for (var j = col_fromdt ; j <= parseInt(col_todt)+ parseInt(col_fromdt) ; j++) {
- var graphappyn = model.getValue("/root/main/vslist/item[vsitemcd = '"+ linkcd +"']/graphappyn");
- var colDate = gridObj.textMatrix(0,j) + gridObj.textMatrix(1,j) + gridObj.textMatrix(2,j);
- if (fromdt <= colDate && colDate <= todt) {
- if (linktype != "V") {
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- gridObj.cellstyle("font-weight", row, 1, row, 1) = "normal";
- gridObj.cellStyle("background-color", row,j) = color; // "#ffff00"; #ccffff, #ffff99, #ffff00
- }
- if (rec.length > 0) {
- gridObj.textMatrix(row, j) = rec;
- rec = "";
- } else {
- gridObj.textMatrix(row, 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;
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var ref = "/root/main/anstprcp/item";
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- for (var i=1 ; i <= dataCnt ; i++) {
- // 총용량 계산하여 보여주기
- var prcpcd = iv_anstprcp.model.getValue(ref+"["+ i +"]/prcpcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = iv_anstprcp.model.getValue(ref+"["+ i +"]/prcpseqno");
- if (linkcd == prcpcd && linkseqno == prcpseqno) {
- iv_anstprcp.model.setValue(ref+"["+ i +"]/recvol", recvol);
- if (linktype == "F") {
- recvol = fGetTotalRecVol(linkcd, linkseqno, "sub");
- }
- // 처방 총용량 계산해 보여주기..
- var prcpvol = fGetTotalPrcpVol(linkcd, recvol);
- iv_anstprcp.model.setValue(ref+"["+ i +"]/prcpvol", prcpvol);
- iv_anstprcp.grd_anstprcp.refresh();
- }
- }
- }
- }
- /**
- * @desc : V/S TChart 그리기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayChart()
- {
- // set 을 선택한 경우 모든 V/S item checked = false 하고
- var dataCnt = getNodesetCnt(model, "/root/main/vslist/item");
- for (var i = 1 ; i <= dataCnt ; i++) {
- model.setValue("/root/main/vslist/item["+ i +"]/checked", "false");
- }
- grd_vs.refresh();
- // set item 을 checked = true 한다.
- var dataCnt2 = getNodesetCnt(model, "/root/main/vssetitem/item");
- for (var j = 1 ; j <= dataCnt2 ; j++) {
- var vsitemcd = model.getValue("/root/main/vssetitem/item["+ j +"]/vsitemcd");
- model.setValue("/root/main/vslist/item[vsitemcd = '"+ vsitemcd +"']/checked", "true");
- }
- // V/S 항목 hidden..
- fHiddenVS();
- //2012/12/10 Start
- if(applychk=="Y"){
- fSetGrdColor();
- }
- //2012/12/10 End
-
- return;
- if (graph_fromdt == null) { return; }
- if (graph_todt == null) { return; }
- var fromtm = graph_fromdt.substr(8,4);
- var totm = graph_todt.substr(8,4);
-
- //2012/06/26 Start
- //fInitTChart(TChart1, "", 0, 24, 0, 220);
- fInitTChart(TChart1, "", 0, 24, 0, 300);
- //2012/06/26 End
- // V/S item chart display + data chart display
- var dataCnt = getNodesetCnt(model, "/root/main/vslist/item");
- for (var i = 1 ; i <= dataCnt ; i++) {
- var vsitemnm = model.getValue("/root/main/vslist/item["+ i +"]/vsitemnm");
- var vsitemcd = model.getValue("/root/main/vslist/item["+ i +"]/vsitemcd");
- var point = model.getValue("/root/main/vslist/item["+ i +"]/point");
- var color = model.getValue("/root/main/vslist/item["+ i +"]/color");
- var leftaxis = model.getValue("/root/main/vslist/item["+ i +"]/leftaxis");
- fAddSeries(TChart1, vsitemnm, point, color, leftaxis);
- var checked = model.getValue("/root/main/vslist/item["+ i +"]/checked");
- if (checked == "true") {
- //fSetChart(TChart1, vsitemcd);
- }
- }
- }
- /**
- * @desc : V/S 항목 hidden..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fHiddenVS()
- {
- // V/S 항목 hidden..
- for (var k = row_startend + 1 ; k < grd_main.rows ; k++)
- {
- var linktype = grd_main.textMatrix(k, col_linktype);
- if (linktype == "V") {
- var linkcd = grd_main.textMatrix(k, col_linkcd);
- var checked = model.getValue("/root/main/vslist/item[vsitemcd = '"+ linkcd +"']/checked");
- if (checked == "true") {
- grd_main.rowhidden(k) = false;
- } else {
- grd_main.rowhidden(k) = true;
- }
- } else {
- break;
- }
- }
- //2012/12/26 Start V/S 추가 후 새로 그리드 선 긋기
- fSetGrdColor();
- //2012/12/26 End
- grd_main.refresh();
- }
- /**
- * @group :
- * @ver : 2007-06-25
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 그래프 초기화
- * - clear (remove : series, custom)
- * - Panel (margin : top, left, right, bottom)
- * - axis (setMinMax : top, left, right, bottom)
- * - Text
- * - Aspect
- * - Zoom
- * - Legend
- * - Environment
- * @---------------------------------------------------
- */
- function fInitTChart(tChartObj, title, xMin, xMax, yMin, yMax)
- {
- // margin 값 정하기 (컨트롤 디자인 모드에서..)
- tChartObj.Panel.MarginTop = 1;
- tChartObj.Panel.MarginLeft = 15.5;
- tChartObj.Panel.MarginRight = 7;
- tChartObj.Panel.MarginBottom = -6.8;
- // 초기화
- tChartObj.RemoveAllSeries();
- tChartObj.Axis.RemoveAllCustom();
- // x축, y축 좌표값 표시
- tChartObj.Axis.Bottom.SetMinMax(xMin, xMax);
- tChartObj.Axis.Bottom.Increment = 1;
- //tChartObj.Axis.Left.SetMinMax(yMin, yMax);
- //tChartObj.Axis.Left.Increment = 10;
- //tChartObj.Axis.Bottom.MinorTickCount = 2;
-
- //tChartObj.Axis.Bottom.AxisPen.Color = 0xDCDCDC; // 하단 축 color
- //tChartObj.Axis.Bottom.Labels.Font.Color = 0xDCDCDC; // 하단 축 눈금 명칭 color
- if (title == "") {
- tChartObj.Header.Visible = false;
- } else {
- tChartObj.Header.Visible = true;
- }
- tChartObj.Header.Text(0) = title; // 헤더제목넣기
- tChartObj.Header.Font.Bold = true; // 헤더 굵게
- tChartObj.Panel.Color = 0xffffff; // background color : white
-
- tChartObj.Header.Font.Size = 15; // 헤더 사이즈
- tChartObj.Aspect.View3D = 0; // 2d 로 표현하기
- tChartObj.Zoom.Enable = false; // zoom 사용하지 않기
- tChartObj.Scroll.Enable = false; // scroll 사용하지 않기
- tChartObj.Legend.Visible = true; // 그래프 참조 박스 띄우지 않기
- tChartObj.Legend.Alignment = 0; // Legend 위치 설정 :: 0 - left | 1 - right | 2 - top| 3 - bottom
- tChartObj.Legend.Left = 30;
- tChartObj.Legend.Top = 30;
- tChartObj.Legend.CustomPosition = true;
- tChartObj.Environment.MouseWheelScroll = true;
- leftaxis1 = tChartObj.Axis.AddCustom(false); // 체온
- tChartObj.Axis.Custom(0).AxisPen.Color = 0x0000ff;
- tChartObj.Axis.Custom(0).Ticks.Color = 0x0000ff;
- tChartObj.Axis.Custom(0).Title.Caption = "";
- tChartObj.Axis.Custom(0).Title.Font.Bold = true;
- tChartObj.Axis.Custom(0).Title.Angle = 90;
- tChartObj.Axis.Custom(0).StartPosition = 0;
- tChartObj.Axis.Custom(0).Automatic = false;
- tChartObj.Axis.Custom(0).Maximum = 220;
- tChartObj.Axis.Custom(0).Minimum = 0;
- tChartObj.Axis.Custom(0).Increment = 20;
- /*
- leftaxis2 = tChartObj.Axis.AddCustom(false); // 호흡/CVP/기타
- tChartObj.Axis.Custom(1).AxisPen.Color = 0x00ff00;
- tChartObj.Axis.Custom(1).Ticks.Color = 0x00ff00;
- tChartObj.Axis.Custom(1).Title.Caption = "";
- tChartObj.Axis.Custom(1).Title.Font.Bold = true;
- tChartObj.Axis.Custom(1).Title.Angle = 90;
- tChartObj.Axis.Custom(1).PositionPercent = -5;
- tChartObj.Axis.Custom(1).Automatic = false;
- tChartObj.Axis.Custom(1).Maximum = 50;
- tChartObj.Axis.Custom(1).Minimum = 0;
- tChartObj.Axis.Custom(1).Increment = 10;
- leftaxis3 = tChartObj.Axis.AddCustom(false); // 혈압/맥박/BIS/CbO2
- tChartObj.Axis.Custom(0).AxisPen.Color = 0xff0000;
- tChartObj.Axis.Custom(0).Ticks.Color = 0xff0000;
- tChartObj.Axis.Custom(0).Title.Caption = "";
- tChartObj.Axis.Custom(0).Title.Font.Bold = true;
- tChartObj.Axis.Custom(0).Title.Angle = 90;
- tChartObj.Axis.Custom(0).PositionPercent = -10;
- tChartObj.Axis.Custom(0).EndPosition = 100;
- tChartObj.Axis.Custom(0).Automatic = false;
- tChartObj.Axis.Custom(0).Maximum = 45;
- tChartObj.Axis.Custom(0).Minimum = 25;
- tChartObj.Axis.Custom(0).Increment = 5;
- */
- }
- /**
- * @group :
- * @ver : 2007-06-25
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * # addSeries
- * - scPoint
- * - scLine
- * - scBar
- * - scCandle
- * # custom
- * - AxisPen.Color
- * - Title.Caption
- * - Title.Font.Bold
- * - Title.Angle
- * - PositionPercent
- * - EndPosition
- * - Maximum
- * - Minimum
- * - Increment
- * @---------------------------------------------------
- */
- function fAddSeries(tChartObj, leftTitle, point, color, leftaxis)
- {
- var curSeriesID = tChartObj.AddSeries(0); //Line 으로 표기
- tChartObj.Series(curSeriesID).Title = leftTitle;
- tChartObj.Series(curSeriesID).Color = Number(color); //color
- tChartObj.Series(curSeriesID).LegendItemColor(Number(color));
- tChartObj.Series(curSeriesID).asLine.Pointer.Visible = true;
- tChartObj.Series(curSeriesID).asLine.Pointer.Style = Number(point); //PointStyle 설정 :: 0 - 8
- tChartObj.Series(curSeriesID).VerticalAxisCustom = Number(leftaxis);
- //tChartObj.Series(curSeriesID).XValues.DateTime = true;
- /*
- tChartObj.Axis.Custom(leftaxis).AxisPen.Color = Number(color);
- tChartObj.Axis.Custom(leftaxis).Title.Caption = leftTitle;
- tChartObj.Axis.Custom(leftaxis).Title.Font.Bold = true;
- tChartObj.Axis.Custom(leftaxis).Title.Angle = 90;
- tChartObj.Axis.Custom(leftaxis).PositionPercent = -1;
- tChartObj.Axis.Custom(leftaxis).EndPosition = 100;
- tChartObj.Axis.Custom(leftaxis).Automatic = true;
- tChartObj.Axis.Custom(leftaxis).Increment = 10;
- */
- }
- /**
- * @group :
- * @ver : 2007-06-25
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fSetChart(tChartObj, vsitemcd)
- {
- return;
- var dataPath = "/root/main/anstitem/item"
- var dataCnt = getNodesetCnt(iv_anstprcp.model, dataPath);
- var gridObj = grd_main;
- var indxSeries = -1;
- for (var j = 1 ; j < gridObj.rows ; j++) {
- var linktype = gridObj.textMatrix(j, col_linktype);
- if (linktype == "V") {
- indxSeries = indxSeries + 1;
- var linkcd = gridObj.textMatrix(j, col_linkcd);
- if (linkcd == vsitemcd) {
- break;
- }
- }
- }
-
- if (indxSeries > -1) {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- if (meetingdt.length != 12) {
- return;
- }
- // data clear...
- tChartObj.Series(indxSeries).Clear();
- // data display...
- for (var i = 1 ; i <= dataCnt ; i++) {
- var linkcd = iv_anstprcp.model.getValue(dataPath + "["+ i +"]/linkcd");
- var fromdt = iv_anstprcp.model.getValue(dataPath + "["+ i +"]/fromdt");
- var value = iv_anstprcp.model.getValue(dataPath + "["+ i +"]/rec");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- if (fromdt == meetingdt) {
- fromdt = graph_fromdt;
- }
- var graphappyn = model.getValue("/root/main/vslist/item[vsitemcd = '"+ linkcd +"']/graphappyn");
-
- if (linkcd == vsitemcd && graphappyn == "Y") {
- value = value.replace(" ","");
- if (value.length > 0) {
- if (value.isNumber()== true) {
- var col_time = -1;
- for (var j = col_fromdt ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++)
- {
- var colDate = gridObj.textMatrix(0,j) + gridObj.textMatrix(1,j) + gridObj.textMatrix(2,j);
- if (colDate == fromdt) {
- col_time = j - col_fromdt;
- break;
- }
- }
- if (col_time >= 0) {
- tChartObj.Series(indxSeries).AddXY (col_time, value, "", tChartObj.Series(indxSeries).Color);
- }
- }
- }
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2007-06-25
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fSetCandle(tChartObj, indx, dataPath) {
- tChartObj.Series(indx).Clear();
- tChartObj.Series(indx).asCandle.Pointer.Brush.Color = 0x00FFFF;
- tChartObj.Series(indx).asCandle.HighLowPen.Width = 2;
- tChartObj.Series(indx).asCandle.CandleWidth = 10;
- var dataCnt = getNodesetCnt(model, dataPath);
- // data display...
- for (var i = 1 ; i <= dataCnt ; i++) {
- var xValue = model.getValue(dataPath + "["+ i +"]/xValue");
- var lowValue = model.getValue(dataPath + "["+ i +"]/lowValue");
- var highValue = model.getValue(dataPath + "["+ i +"]/highValue");
- if (lowValue == "")
- {
- lowValue = highValue;
- }
- if (highValue == "")
- {
- highValue = lowValue;
- }
- tChartObj.Series(indx).asCandle.AddCandle (xValue, lowValue, 0, 0, highValue);
- }
- }
- /**
- * @desc : 시간을 컬럼에 보여주기
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddColDate()
- {
- // 일시 : 날짜+시+분
- var fromdt = graph_fromdt;
- for (var i = col_fromdt ; i <= parseInt(col_todt)+parseInt(col_fromdt) ; i++) {
- /* 20131007 이정택 주석처리
- if (i >= grd_main.cols) {
- // 2010.02.12 이은영 마취기록 메인 화면에 30분 단위로 굵은 선을 보여줌..
- if (fromdt.substr(10,2) == "25" || fromdt.substr(10,2) == "55") {
- grd_main.addColumn("ref:t"+ (i - col_fromdt + 1) +";type:input;text-align:center;_chartype=upper;border-right-color:#ccecff;border-right-width:2px;border-style:solid",false);
- } else {
- grd_main.addColumn("ref:t"+ (i - col_fromdt + 1) +";type:input;text-align:center;_chartype=upper",false);
- }
- }
- */
- grd_main.textmatrix(0,i) = fromdt.substr(0,8);
- grd_main.textmatrix(1,i) = fromdt.substr(8,2);
- grd_main.textmatrix(2,i) = fromdt.substr(10,2);
- grd_main.colwidth(i) = 32;
- var tmpdt = fromdt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- }
- grd_main.refresh();
- // 2008.10.09. 마취기록 한번에 처리함..
- var enddd,endhr,endmin;
- enddd = grd_main.textmatrix(0,grd_main.cols-1);
- endhr = grd_main.textmatrix(1,grd_main.cols-1);
- endmin = grd_main.textmatrix(2,grd_main.cols-1);
- 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 >= grd_main.cols) {
- // 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);
- } else {
- grd_main.addColumn("ref:t"+ (i - col_todt + 1) +";type:input;text-align:center;_chartype=upper",false);
- }
- }
- grd_main.textmatrix(0,i) = todt.substr(0,8);
- grd_main.textmatrix(1,i) = todt.substr(8,2);
- grd_main.textmatrix(2,i) = todt.substr(10,2);
- grd_main.colwidth(i) = 32;
- var tmpdt = todt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- todt = rtndt.getDateFormat("YYYYMMDDhhmm");
- }
- grd_main.refresh();
- col_todt = end_col;
- // 2008.10.09. 마취기록 한번에 처리함..
- var enddd,endhr,endmin;
- enddd = grd_main.textmatrix(0,grd_main.cols-1);
- endhr = grd_main.textmatrix(1,grd_main.cols-1);
- endmin = grd_main.textmatrix(2,grd_main.cols-1);
- graph_todt = "" + enddd + endhr + endmin;
- grd_main.row =0;
- grd_main.refresh();
- // 메인그리드에 그려주자..
- fDisplayGrid();
- }
- /**
- * @desc : V/S 항목 그리드에 추가
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fAddVS(row, vsitemnm, vsitemcd)
- {
- grd_main.addrow(false,false);
- grd_main.rowheight(row) = 20;
- grd_main.textmatrix(row,0) = "V/S";
- grd_main.textmatrix(row,1) = vsitemnm;
- grd_main.textmatrix(row,col_linkcd) = vsitemcd;
- grd_main.textmatrix(row,col_linktype) = "V";
- grd_main.textmatrix(row,col_sorttype) = sorttype_vs;
- grd_main.textmatrix(row,col_sortno) = row - row_startend;
- grd_main.textmatrix(row,col_linkseqno) = "0";
- }
- /**
- * @desc : 그리드 데이타 변경시 데이타 셋하기
- * @
- * @param :
- * @return :
- * @author : 2007-06-27 이은영
- * @---------------------------------------------------
- */
- function fValueChanged(gridObj)
- {
- var text = gridObj.textMatrix(gridObj.row, gridObj.col);
- gridObj.textMatrix(gridObj.row, gridObj.col) = text.toUpperCase();
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if( linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H" ) {
- // 투여용량, 시작시간, 종료시간 표시하기
- fSetAnstItemRec();
- }
- if( linktype == "S" ) {
- // 2009.03.02. 시작종료 - 심볼 표시하기 (기록 시간 적용)
- fSetGridTimeRec();
- }
- if( linktype == "V" ) {
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- fSetAnstItemFromDt();
- //fSetChart(TChart1, linkcd);
- }
- }
- /**
- * @desc : V/S 데이타 셋하기
- * @
- * @param :
- * @return :
- * @author : 2007-06-27 이은영
- * @---------------------------------------------------
- */
- function fSetVS(indxRow, indxCol)
- {
- var dataPath = "/root/main/vs/item"
- var dataCnt = getNodesetCnt(model, dataPath);
- var colDate = grd_main.textMatrix(0,indxCol) + grd_main.textMatrix(1,indxCol) + grd_main.textMatrix(2,indxCol);
- var colValue = grd_main.textMatrix(indxRow,indxCol);
- var vsitemnm = grd_main.textMatrix(indxRow,1);
- var vsitemcd = grd_main.textMatrix(indxRow,2);
- for (var i = 1 ; i <= dataCnt ; i++) {
-
- var vs = model.getValue(dataPath + "["+ i +"]/vsitemcd");
- var fromdt = model.getValue(dataPath + "["+ i + "]/recfromdt");
- if (vs == vsitemcd) {
- if ( fromdt == "" || fromdt == colDate) {
- break;
- }
- }
- }
- if (i > dataCnt) {
- i = getNodesetCnt(model, dataPath) + 1;
- }
- model.makeValue(dataPath + "["+ i +"]/vsitemcd" ,vsitemcd);
- model.makeValue(dataPath + "["+ i +"]/vsitemnm" ,vsitemnm);
- model.makeValue(dataPath + "["+ i +"]/vsitemrstl",colValue);
- model.makeValue(dataPath + "["+ i +"]/recfromdt" ,colDate);
- model.makeValue(dataPath + "["+ i +"]/rectodt" ,"");
- }
- /**
- * @desc : 처방타입에 따른 기록 총용량 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetTotalRecVol(prcp, seqno, sub)
- {
- var totalvol = 0;
- var totvolyn = iv_anstprcp.model.getValue("/root/main/anstprcp/item[prcpcd = '" + prcp + "']/totvolyn");
-
- if (totvolyn == "Y") {
- var ref = "/root/main/anstitem/item";
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- var prcpvol = 0;
- var tmpprcpvol = 0;
- for (var i=1 ; i <= dataCnt ; i++) {
- // 총용량 계산하여 보여주기
- var prcpcd = iv_anstprcp.model.getValue(ref+"["+ i +"]/linkcd");
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpseqno = iv_anstprcp.model.getValue(ref+"["+ i +"]/linkseqno");
- if (prcp == prcpcd && seqno == prcpseqno) {
- if (sub == "sub") {
- prcpvol = iv_anstprcp.model.getValue(ref+"["+ i +"]/subrec");
- } else {
- prcpvol = iv_anstprcp.model.getValue(ref+"["+ i +"]/rec");
- }
- prcpvol = prcpvol.replace(" ", "");
- if (prcpvol == "") { prcpvol = 0; }
- if (isNumber(prcpvol)) {
- totalvol = Number(totalvol) + Number(prcpvol);
- }
- }
- }
- }
- return totalvol;
- }
- /**
- * @desc : 처방타입에 따른 처방 총용량 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetTotalPrcpVol(prcp, recvol)
- {
- iv_anstmast.window.javascript.fPrcpMastLoad();
- var totalvol = 0;
- var prcptype = iv_anstmast.model.getValue("/root/main/prcpmast/item[prcpcd = '" + prcp + "']/prcptype");
- var totvolyn = iv_anstmast.model.getValue("/root/main/prcpmast/item[prcpcd = '" + prcp + "']/totvolyn");
- var prcpvolunit = iv_anstmast.model.getValue("/root/main/prcpmast/item[prcpcd = '" + prcp + "']/prcpvol");
- if (totvolyn == "Y" && isNumber(prcpvolunit) > 0 && isNumber(recvol)) {
- // agent, blood 인 경우 시작용량이 정량보다 작은 경우 처방용량에 적용한다.
- if (prcptype == "A" || prcptype == "H" ) {
- /** 2008.01.07. 기록용량을 처방용량으로 적용한다. - agent, drug, blood
- var share = parseInt(recvol / prcpvolunit);
- var remain = recvol % prcpvolunit;
- if (remain > 0) { share = share + 1 };
- totalvol = prcpvolunit * share;
- */
- totalvol = recvol;
- // drug 인 경우 정량보다 작은 경우 처방총용량에 적용한다.
- } else if (prcptype == "D" ) {
- /** 2008.09.22. 정량보다 작은 경우 처방총용량에 적용한다.
- var share = parseInt(recvol / prcpvolunit);
- var remain = recvol % prcpvolunit;
- if (remain > 0) { share = share + 1 };
- totalvol = prcpvolunit * share;
- */
- totalvol = recvol;
- // fulid 인 경우 시작용량이 정량보다 작은 경우 처방총용량에 적용하지 않는다.
- } else if (prcptype == "F" ) {
- if (recvol == null || recvol == "" || recvol == "0"){
- totalvol = 0;
- } else {
- var share = parseInt(recvol / prcpvolunit);
- totalvol = prcpvolunit * share;
- }
- }
- }
- // alert(prcp + " : " + recvol + " / " + prcpvolunit + " * " + share + " = " + totalvol);
- return totalvol;
- }
- /**
- * @desc : 노드셋 갯수 구하기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function getNodeList(strPath) {
- var node = instance1.selectNodes(strPath);
- if(node == null)
- return 0;
- return node;
- }
- /**
- * @desc : 마우스 오른쪽 버튼 팝업창
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fMouseRghtBtnPopup(gridObj, job)
- {
- if (event.button == 3) {
- if (gridObj.isCell(event.target)) {
- if (job == "prog") {
- if (gridObj.col >= col_fromdt && gridObj.col <= col_todt) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- var graphappyn = model.getValue("/root/main/vslist/item[vsitemcd = '"+ linkcd +"']/graphappyn");
- if (linktype == "P") {
- window.setPopupMenu(true, "/root/hidden/menu1/menu", "label", "func", false);
- } else if (linktype == "S") {
- // 시작,종료 심볼 리스트 (공통코드:M0480)
- fShowWndIptBox("startend");
- event.propagate = "stop";
- } else if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- window.setPopupMenu(true, "/root/hidden/menu/menu", "label", "func", false);
- } else if (linktype == "V" && graphappyn == "N") {
- window.setPopupMenu(true, "/root/hidden/menu3/menu", "label", "func", false);
- } else if (linktype == "V" && graphappyn == "Y") {
- // V/S 범위 최소값/최대값 (간격에 따라 보여주장)
- fOpenVSRange();
- event.propagate = "stop";
- } else {
- window.setPopupMenu(false);
- }
- } else if (gridObj.col == 1) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- // agent, drug, fluid, blood 일 경우 전체 Clear, 항목삭제 메뉴 팝업..
- window.setPopupMenu(true, "/root/hidden/menu0/menu", "label", "func", false);
- } else {
- window.setPopupMenu(false);
- }
- } else if (gridObj.col == 0) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if (linktype == "V") {
- // V/S 항목 리스트 보여주기..
- fShowWndIptBox("vslist");
- event.propagate = "stop";
- } else {
- window.setPopupMenu(false);
- }
- } else {
- window.setPopupMenu(false);
- }
- } else if (job == "proglist") {
- if (gridObj.row > 0) {
- window.setPopupMenu(true, "/root/hidden/menu2/menu", "label", "func", false);
- } else {
- window.setPopupMenu(false);
- }
- } else {
- window.setPopupMenu(false);
- }
- } else {
- window.setPopupMenu(false);
- }
- } else {
- window.setPopupMenu(false);
- }
- }
- /**
- * @desc : Progress 순번 리스트 보여주기.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fOpenProgNo()
- {
- var gridObj = grd_main;
- // progress 순번 리스트 가져오기...
- var ref = "/root/main/prog";
- var dataCnt = getNodesetCnt(model, ref+"/item");
-
- // 선택 시간
- var colDate = gridObj.textMatrix(0,gridObj.col) + gridObj.textMatrix(1,gridObj.col) + gridObj.textMatrix(2,gridObj.col);
- // 그리드 초기화
- for (var i = 1 ; 1 < grd_progno.rows ; i++) {
- grd_progno.removeRow(false);
- }
-
- //2016.10.12 (#739) 마취기록 Progress Note 우클릭 시 선택할 Progress No 표현 오류
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
-
-
- // 그리드에 progress 순번 리스트 보여주기...
- for (var i = 1 ; i <= dataCnt ; i++) {
- // progress 기록이 있는 경우만...
- var progrec = model.getValue(ref+"/item["+ i + "]/progrec");
- if (progrec.length > 0) {
- var fromdt = model.getValue(ref+"/item["+ i + "]/progfromdt");
- var progno = model.getValue(ref+"/item["+ i + "]/progno");
- // progress 시작시간이 없는 경우 add 해주기
- if (fromdt == "") {
- grd_progno.addrow(false,false);
- grd_progno.textMatrix(grd_progno.row,0) = "false";
- grd_progno.textMatrix(grd_progno.row,1) = progno;
- }
- // progress 시작시간이 같은 경우 체크해주기
- if (fromdt == colDate
- || (!isNull(meetingdt) && meetingdt.length == 12 && colDate < meetingdt && fromdt == meetingdt) ) {
- grd_progno.addrow(false,false);
- grd_progno.textMatrix(grd_progno.row,0) = "true";
- grd_progno.textMatrix(grd_progno.row,1) = progno;
- }
- }
-
- }
- grd_progno.refresh();
-
- if (grd_progno.rows > 1) {
- 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.attribute("left") = event.clientX-20;
- grup_prog.attribute("top") = event.clientY-10;
- grup_prog.visible = "true";
- } else if (job == "startend") {
- grup_startend.attribute("left") = event.clientX-10;
- grup_startend.attribute("top") = event.clientY-10;
- grup_startend.visible = "true";
- } else if (job == "range") {
- grup_range.attribute("left") = event.clientX-10;
- grup_range.attribute("top") = grd_main.currentStyle.top + 130 + "px";
- grup_range.visible = "true";
- } else if (job == "vslist") {
- grup_vs.attribute("left") = event.clientX+20;
- grup_vs.attribute("top") = grd_main.currentStyle.top + 130 + "px";
- grup_vs.visible = "true";
- }
- }
- /**
- * @desc : Progress 순번에 시간을 설정해 준다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetProgress()
- {
- grup_prog.visible = false;
- var ref = "/root/main/prog/item";
- var dataCnt = getNodesetCnt(model, ref);
-
- var gridObj = grd_main;
- // 선택 시간
- var colDate = gridObj.textMatrix(0,gridObj.col) + gridObj.textMatrix(1,gridObj.col) + gridObj.textMatrix(2,gridObj.col);
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- if (meetingdt.length != 12) {
- //alert("마취시작시간을 확인하시기 바랍니다.");
- return;
- }
- if (colDate < meetingdt) {
- colDate = meetingdt;
- }
- gridObj = grd_progno;
-
- for (var i = 1 ; i < gridObj.rows ; i++) {
- // 그리드의 선택된 Progress 순번 가져오기...
- var checked = gridObj.textMatrix(i,0);
- var no = gridObj.textMatrix(i,1);
- if (checked == "true") {
- // 체킹된 경우 progress 순번의 시작시간 업데이트...
- for (var j = 1 ; j <= dataCnt ; j++) {
- var progno = model.getValue(ref+"["+ j +"]/progno");
- if (no == progno) {
- model.setValue(ref+"["+ j +"]/progfromdt",colDate);
- break;
- }
- }
- } else {
- // 체킹된 안된 경우 progress 순번의 시작시간 초기화...
- for (var j = 1 ; j <= dataCnt ; j++) {
- var progno = model.getValue(ref+"["+ j +"]/progno");
- if (no == progno) {
- model.setValue(ref+"["+ j +"]/progfromdt","");
- break;
- }
- }
- }
- }
-
- fDisplayProgress();
- }
- /**
- * @desc : Progress 번호 그리드에 표기하기..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fDisplayProgress()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.01.07. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- if (meetingdt.length != 12) {
- return;
- }
- // 그리드 초기화
- for (var j = col_fromdt ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
- grd_main.textMatrix(row_progress, j) = "";
- }
-
- var dataCnt = getNodesetCnt(model, "/root/main/prog/item");
- // 차트 그리드 에 표시
- for (var i = 1 ; i <= dataCnt ; i++) {
-
- var progno = model.getValue("/root/main/prog/item["+ i +"]/progno");
- var fromdt = model.getValue("/root/main/prog/item["+ 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 ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
-
- if ( fromdt == "") {
- break;
- }
- var colDate = grd_main.textMatrix(0,j) + grd_main.textMatrix(1,j) + grd_main.textMatrix(2,j);
- if ( colDate == fromdt) {
- grd_main.textMatrix(row_progress, j) = grd_main.textMatrix(row_progress, j) + "," + progno;
- var nolist = grd_main.textMatrix(row_progress, j);
- if (nolist.substring(0,1) == "," ) {
- grd_main.textMatrix(row_progress, j) = nolist.substring(1, nolist.length);
- }
- break;
- }
- }
- }
- }
-
-
- /**
- * @desc : Progress 순번 리스트 초기화하기.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearProgNo()
- {
- grup_prog.visible = false;
-
- var obj = grd_main;
- // progress 순번 리스트 가져오기...
- var ref = "/root/main/prog";
- var dataCnt = getNodesetCnt(model, ref+"/item");
-
- // 그리드에 progress 순번 리스트 보여주기...
- for (var i = 1 ; i <= dataCnt ; i++) {
-
- model.setValue(ref+"/item["+ i + "]/progfromdt","");
- }
-
- // 그리드 초기화
- for (var i = col_fromdt ; i < grd_main.cols ; i++) {
- grd_main.textMatrix(row_progress, i) = "";
- }
- grd_main.refresh();
- }
- /**
- * @desc : Agent, Drug, Fluid 인 경우 전체 시간을 클리어한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearAnstItem()
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = gridObj.textMatrix(gridObj.row, col_linkseqno);
- // 투여일시 인스턴스도 삭제
- iv_anstprcp.window.javascript.fDestroyAnstItem("/root/main/anstitem/item", linkcd, linkseqno);
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- grd_main.refresh();
- }
- /**
- * @desc : Agent, Drug, Fluid, Blood - 용량 기록
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemRec()
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- var rec = gridObj.textMatrix(gridObj.row, gridObj.col);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno= gridObj.textMatrix(gridObj.row, col_linkseqno);
- // 처음은 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);
- 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 = 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 tmptodt = iv_anstprcp.model.getValue(ref+"["+ i +"]/todt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmptodt == todt) {
- iv_anstprcp.model.setValue(ref+"["+ i +"]/rec", rec);
- if (linktype == "F") {
- var subrec = iv_anstprcp.model.getValue(ref+"["+ i +"]/subrec");
- rec = Number(subrec) - Number(rec);
- iv_anstprcp.model.setValue(ref+"["+ i +"]/rec", rec);
- }
- iv_anstprcp.grd_anstprcp.refresh();
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- return;
- }
- }
- // 시작시간이 있으면 업데이트... 없으면 추가...
- 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 +"]/rec" , rec);
- iv_anstprcp.model.setValue(ref+"["+ i +"]/subrec", rec);
- iv_anstprcp.grd_anstprcp.refresh()
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- 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" , "");
- 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);
- }
- iv_anstprcp.grd_anstprcp.refresh()
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- }
- }
-
- /**
- * @desc : Agent, Drug, Fluid, Blood, V/S - 시작일시 적용
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemFromDt()
- {
- 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; }
- // 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) {
- if (rec == "") {
- iv_anstprcp.model.destroy(ref+"["+ i +"]");
- } else {
- iv_anstprcp.model.setValue(ref+"["+ i +"]/linkcd", linkcd);
- 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" , "");
- 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 : Agent, Drug, Fluid, Blood - 종료일시 적용
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetAnstItemToDt()
- {
- 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);
- // 처음은 bold 체로 보여주고 시간이 셋이 되면 normal 처리
- gridObj.cellstyle("font-weight", gridObj.row, 1, gridObj.row, 1) = "normal";
- // 선택된 시작일시, 종료일시
- var todt = gridObj.valueMatrix(0, gridObj.col) + gridObj.valueMatrix(1, gridObj.col) + gridObj.valueMatrix(2, gridObj.col);
- todt = Number(todt) + 4;
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- 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 tmptodt = iv_anstprcp.model.getValue(ref+"["+ i +"]/todt");
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno && tmptodt == "") {
- // 종료일시 업데이트 하기...
- iv_anstprcp.model.setValue(ref+"["+ i +"]/todt", todt);
- iv_anstprcp.grd_anstprcp.refresh()
- }
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- }
- /**
- * @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)
- {
- sw_left.visible = flag;
- btn_openleft.visible = flag;
- if (flag == "true") {
- grd_main.attribute("style") = "left:458px; top:25px; width:540px; height:712px; ";
- } else {
- grd_main.attribute("style") = "left:0px; top:25px; width:998px; height:712px; ";
- }
- /*
- btn_start.visible = true;
- btn_prev.visible = true;
- btn_next.visible = true;
- btn_end.visible = true;
- btn_prev2.visible = true;
- btn_next2.visible = true;
- */
- // 2008.10.09. 메인 그리드에 시간 추가하기.. (1시간 단위로)
- 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 = cbo_setlist.value;
- if (setlist != "0") {
- model.setValue("/root/send/setinfo/instcd" , instcd);
- model.setValue("/root/send/setinfo/settype", "V");
- model.setValue("/root/send/setinfo/setcd" , setlist);
- // 현재일시
- currentdate = getCurrentDate() + getCurrentTime();
- model.setValue("/root/send/setinfo/currentdate" , currentdate);
- // 마취 VS SET 아이템 조회하기..
- submit("TRMMR04209");
- // V/S TChart 그려주자..
- fDisplayChart();
- }
- }
- /**
- * @desc : 메인 그리드의 Agent, Drug, Fluid 선택시 Progress list 에 Copy
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fCopyProgList(gridObj)
- {
- if (gridObj.col == 0) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if (linktype == "V") {
- if (vslist == "on") { vslist = "off"; } else { vslist = "on"; }
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "V" && vslist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "V" && vslist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "V" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "A") {
- if (agentlist == "on") { agentlist = "off"; } else { agentlist = "on"; }
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "A" && agentlist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "A" && agentlist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "A" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "D") {
- if (druglist == "on") { druglist = "off"; } else { druglist = "on"; }
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "D" && druglist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "D" && druglist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "D" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "F") {
- if (fluidlist == "on") { fluidlist = "off"; } else { fluidlist = "on"; }
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "F" && fluidlist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "F" && fluidlist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "F" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- if (linktype == "H") {
- if (blodlist == "on") { blodlist = "off"; } else { blodlist = "on"; }
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "H" && blodlist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "H" && blodlist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "H" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- }
- if (gridObj.col == 1) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- var prcptiemnm = gridObj.textMatrix(gridObj.row, gridObj.col);
- for (var i=1 ; i < grd_prog.rows ; i++) {
- var progrec = grd_prog.textMatrix(i,1);
- if (progrec.length == 0) {
- grd_prog.textMatrix(i, 1) = prcptiemnm;
- grd_prog.autoresize = true;
- break;
- }
- }
- }
- }
-
- if (gridObj.col >= col_fromdt && gridObj.col <= col_todt) {
- var linktype = gridObj.textMatrix(gridObj.row, col_linktype);
- if (linktype == "A" || linktype == "D" || linktype == "F" || linktype == "H") {
- // 투여용량, 시작시간, 종료시간 표시하기
- fSetAnstItemRec();
- /* 더블클릭시 Progress list 에 기록되는거 보류... 중복기록이 되는셈~
- // progress 에 처리해 주기..
- var prcptiemnm = gridObj.textMatrix(gridObj.row, col_linknm);
- for (var i=1 ; i < grd_prog.rows ; i++) {
- var progrec = grd_prog.textMatrix(i,1);
- if (progrec.length == 0) {
- // 선택 항목 적용
- grd_prog.textMatrix(i, 1) = prcptiemnm;
- // 선택 시간 적용
- var colDate = gridObj.textMatrix(0, gridObj.col) + gridObj.textMatrix(1, gridObj.col) + gridObj.textMatrix(2, gridObj.col);
- grd_prog.textMatrix(i, 2) = colDate;
- grd_prog.autoresize = true;
- // progress refresh...
- fDisplayProgress();
- break;
- }
- }
- */
- }
- }
- }
- /**
- * @desc : 메인 그리드에서 삭제 메뉴 클릭시 처방목록에서 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDelGridPrcp()
- {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var prcpcd = grd_main.textMatrix(grd_main.row, col_linkcd);
- var prcpseqno = grd_main.textMatrix(grd_main.row, col_linkseqno);
- var gridObj = iv_anstprcp.window.grd_anstprcp;
- var ref = "/root/main/anstprcp/item";
- for (var i=1 ; i < gridObj.rows ; i++)
- {
- var tmpprcpcd = iv_anstprcp.model.getValue(ref+"["+ i +"]/prcpcd");
- var tmpprcpseqno = iv_anstprcp.model.getValue(ref+"["+ i +"]/prcpseqno");
- if (tmpprcpcd == prcpcd && tmpprcpseqno == prcpseqno)
- {
- gridObj.row = i;
- break;
- }
- }
- if (i < gridObj.rows)
- {
- // 전체 처방 목록에 삭제처리함.
- iv_anstprcp.window.javascript.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 = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdt");
- fromdt = meetingdt.substr(0,12); // 마취시작시간
- } else if (flag == "end") {
- var ansttodt = iv_anstinfo.model.getValue("/root/main/anstinfo/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 = grd_main;
- var firstRow = "";
- for (var i=1 ; i < gridObj.rows ; i++) {
- var tmplinktype = gridObj.textMatrix(i, col_linktype);
- if (tmplinktype == "V" && vslist == "on" && firstRow != "") {
- gridObj.rowhidden(i) = false;
- }
- if (tmplinktype == "V" && vslist == "off" && firstRow != "") {
- gridObj.rowhidden(i) = true;
- }
- if (tmplinktype == "V" && firstRow == "") {
- firstRow = "ok";
- }
- }
- }
- /**
- * @desc : 우클릭시 바로 팝업처리.. VS Range 표시해주기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fOpenVSRange()
- {
- model.setValue("/root/hidden/vsrec","");
- model.refresh();
- var gridObj = grd_main;
- if (gridObj.col >= col_fromdt && gridObj.col <= col_todt) {
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- // vs 항목 정보 가져오기...
- var ref = "/root/main/vslist/item";
- var dataCnt = getNodesetCnt(model, ref);
- // 그리드 초기화
- for (var i = 1 ; 0 < grd_range.rows ; i++) {
- grd_range.removeRow(false);
- }
-
- // 그리드에 vs range 리스트 보여주기...
- for (var i = 1 ; i <= dataCnt ; i++) {
- var vsitemcd = model.getValue(ref+"["+ i +"]/vsitemcd");
- if (linkcd == vsitemcd) {
- var rangemin = model.getValue(ref+"["+ i +"]/rangemin");
- var rangemax = model.getValue(ref+"["+ i +"]/rangemax");
- var interval = model.getValue(ref+"["+ i +"]/interval");
- for (var j = Number(rangemin) ; j <= Number(rangemax) ; j = Number(j) + Number(interval)) {
- grd_range.addrow(false,false);
- grd_range.textMatrix(grd_range.row, 0) = j;
- }
- break;
- }
- }
- grd_range.refresh();
-
- if (grd_range.rows > 10) {
- grd_range.topRow = Number(grd_range.rows/2)-5;
- grd_range.refresh();
- }
- fShowWndIptBox("range");
- grd_range.row = -1;
- }
- }
- /**
- * @desc : VS Range 클릭시 메인에 적용해 주고, drag한 컬럼의 시간에 수치 업데이트 또는 추가
- * @
- * @param : flag - 0 : range grid , 1 : main frid , 2 : text
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetVSValue(flag)
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- if (flag == "0") {
- rec = grd_range.textMatrix(grd_range.row, grd_range.col);
- } else if (flag == "1") {
- rec = gridObj.textMatrix(gridObj.row, gridObj.col);
- } else if (flag == "2") {
- rec = model.getValue("/root/hidden/vsrec");
- }
- if (flag != null || grd_range.col == 0) {
- //선택된 셀의 vs의 anstitem 추가
- var cells = gridObj.selectedCells;
- for (var i=0 ; i < cells.length ; i++)
- {
- var col = cells.item(i).col;
- gridObj.textMatrix(gridObj.row, col) = rec;
- fSetVSAnstItemFromDt(gridObj.row, col);
- }
- //fSetChart(TChart1, linkcd);
- grup_range.visible = "false";
- }
- }
- /**
- * @desc : V/S 인 경우 드래그후 우클릭시 처음 선택한 컬럼의 값을 셋한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fVSDragSet()
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- var rec = gridObj.textMatrix(gridObj.row, gridObj.col);
- //선택된 셀의 vs의 anstitem 추가
- var cells = gridObj.selectedCells;
- for (var i=0 ; i < cells.length ; i++)
- {
- var col = cells.item(i).col;
- gridObj.textMatrix(gridObj.row, col) = rec;
- fSetVSAnstItemFromDt(gridObj.row, col);
- }
- }
-
- /**
- * @desc : drag한 컬럼의 시간에 수치 업데이트 또는 추가
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetVSAnstItemFromDt(row, col)
- {
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(row, col_linkcd);
- var linktype = gridObj.textMatrix(row, col_linktype);
- var linkseqno = gridObj.textMatrix(row, col_linkseqno);
- var rec = gridObj.textMatrix(row, col);
- // 선택된 시작일시
- var fromdt = gridObj.valueMatrix(0, col) + gridObj.valueMatrix(1, col) + gridObj.valueMatrix(2, 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 = 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");
- }
- if (anstfromdt.length != 12) {
- return;
- }
- var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- 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 tmpfromdt = iv_anstprcp.model.getValue(ref+"["+ i +"]/fromdt");
- if (tmplinkcd == linkcd && tmpfromdt == fromdt) {
- 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" , "");
- iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/rec" , rec);
- iv_anstprcp.model.makeValue(ref+"["+ dataCnt +"]/subrec" , rec);
- }
- }
- /**
- * @desc : drag한 컬럼의 시간에 데이타 삭제하기
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fClearAnstItemFormDtToDt()
- {
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- if (anstfromdt.length != 12) {
- //alert("마취시작시간을 확인하시기 바랍니다.");
- return;
- }
- var gridObj = grd_main;
- var linkcd = gridObj.textMatrix(gridObj.row, col_linkcd);
- //선택된 셀의 vs의 anstitem 추가
- var cells = gridObj.selectedCells;
- for (var i=0 ; i < cells.length ; i++)
- {
- var col = cells.item(i).col;
- var fromdt = gridObj.valueMatrix(0, col) + gridObj.valueMatrix(1, col) + gridObj.valueMatrix(2, col);
- var linkcd = gridObj.valueMatrix(gridObj.row, col_linkcd);
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- var linkseqno = gridObj.valueMatrix(gridObj.row, col_linkseqno);
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- if (fromdt < anstfromdt) {
- fromdt = anstfromdt;
- }
- fDestroyAnstItemFromDtToDt("/root/main/anstitem/item", linkcd, linkseqno, fromdt);
- }
- // 투여용량, 시작시간, 종료시간 표시하기
- fDisplayAnstItem(gridObj.row);
- }
- /**
- * @desc : 그리드 메인 에서 처방항목 클리어 하기.. 전체 처방 목록의 처방코드의 투여일시 인스턴스도 삭제한다.
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDestroyAnstItemFromDtToDt(ref, linkcd, linkseqno, fromdt)
- {
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- for (var i=1 ; i <= dataCnt ; i++) {
- // 2008.09.23. 2개이상 처방코드 추가 기록하기.. (fluid일때)
- 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");
- var tmptodt = iv_anstprcp.model.getValue(ref+"["+ i +"]/todt");
- tmpfromdt = tmpfromdt.substr(0,12);
- if (tmptodt == "") { tmptodt = tmpfromdt };
- if (tmplinkcd == linkcd && tmplinkseqno == linkseqno) {
- if (tmpfromdt <= fromdt && fromdt <= tmptodt ) {
- // 처방코드가 같은가? del
- iv_anstprcp.model.destroy(ref+"["+ i +"]");
- break;
- }
- }
- }
- }
- /**
- * @desc : 마취 기록 & 처방
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAnstRecMast()
- {
- if (oprsrvno.length == 0) {
- //alert("환자 수술정보가 없습니다.");
- //return;
- }
- if (iv_anstmast_load == "N") {
- // 마취 기록 & 처방
- iv_anstmast.src = "SSMMR05800_마취환자기록마스터.xrw";
- iv_anstmast.window.javascript.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
- iv_anstinfo.model.makeValue("/root/main/anstinfo/opposturerem", model.getValue("/root/main/anstinfo/opposturerem"));
- // remark
- iv_anstinfo.model.makeValue("/root/main/anstinfo/remark" , model.getValue("/root/main/anstinfo/remark"));
- // pca remark
- iv_anstinfo.model.makeValue("/root/main/anstinfo/pcarem" , model.getValue("/root/main/anstinfo/pcarem"));
- // vs set code (2009.06.22)
- iv_anstinfo.model.makeValue("/root/main/anstinfo/vssetcd" , model.getValue("/root/main/anstinfo/vssetcd"));
- // 2008.09.29. 수술예약정보에서 수술환자구분, 협진여부, 재수술여부 셋해주기...
- var oppatflagcd = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/oppatflagcd");
- var oppatflagnm = iv_anstinfo.model.getValue("/root/init/M0020/M0020[cdid='"+ oppatflagcd +"']/cdnm");
- var cnstopflag = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/cnstopflag");
- var reopflag = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/reopflag");
- iv_anstinfo.model.makeValue("/root/main/anstinfo/oppatflagnm" , oppatflagnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/cnstopflag" , cnstopflag);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/reopflag" , reopflag);
- // 마취일반정보에 코드에 따른 라벨(값) 셋해주기...
- var anstmthdcd = iv_anstinfo.model.getValue("/root/main/anstinfo/anstmthdcd");
- var anstmthdcdsub = iv_anstinfo.model.getValue("/root/main/anstinfo/anstmthdcdsub");
- var anstaddcd = iv_anstinfo.model.getValue("/root/main/anstinfo/anstaddcd");
- var physstat = iv_anstinfo.model.getValue("/root/main/anstinfo/physstat");
- var opflagcd = iv_anstinfo.model.getValue("/root/main/anstinfo/opflagcd");
- var oproomcd = iv_anstinfo.model.getValue("/root/main/anstinfo/oproomcd");
- var anstdrid1 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid1");
- var anstdrid2 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid2");
- var anstdrid3 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid3");
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- var anstdrid4 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid4");
- //2013/09/25 End
- var anstnursid1 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstnursid1");
- var anstnursid2 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstnursid2");
- //20131104 Start
- var anstnursid3 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstnursid3");
- var anstnursid4 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstnursid4");
- //20131104 End
- var anstmthdnm = iv_anstinfo.model.getValue("/root/init/M0270/M0270[cdid='"+ anstmthdcd +"']/cdnm");
- var anstmthdnmsub = iv_anstinfo.model.getValue("/root/init/M0271/M0271[cdid='"+ anstmthdcdsub +"']/cdnm");
- var anstaddnm = iv_anstinfo.model.getValue("/root/init/M0008/M0008[cdid='"+ anstaddcd +"']/cdnm");
- var physstatnm = iv_anstinfo.model.getValue("/root/init/M0269/M0269[cdid='"+ physstat +"']/cdnm");
- var opflagnm = iv_anstinfo.model.getValue("/root/init/M0013/M0013[cdid='"+ opflagcd +"']/cdnm");
- var oproomnm = iv_anstinfo.model.getValue("/root/init/oproomlist/item[oproomcd='"+ oproomcd +"']/oproomnm");
- var anstdrnm1 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid1 +"']/usernm");
- var anstdrnm2 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid2 +"']/usernm");
- var anstdrnm3 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid3 +"']/usernm");
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- var anstdrnm4 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid4 +"']/usernm");
- //2013/09/25 End
- var anstnursnm1 = iv_anstinfo.model.getValue("/root/init/anstnurslist/userlist/usercombo[userid='"+ anstnursid1 +"']/usernm");
- var anstnursnm2 = iv_anstinfo.model.getValue("/root/init/anstnurslist/userlist/usercombo[userid='"+ anstnursid2 +"']/usernm");
- //20131104 Start
- var anstnursnm3 = iv_anstinfo.model.getValue("/root/init/anstnurslist/userlist/usercombo[userid='"+ anstnursid3 +"']/usernm");
- var anstnursnm4 = iv_anstinfo.model.getValue("/root/init/anstnurslist/userlist/usercombo[userid='"+ anstnursid4 +"']/usernm");
- //20131104 End
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstmthdnm" , anstmthdnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstmthdnmsub" , anstmthdnmsub);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstaddnm" , anstaddnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/physstatnm" , physstatnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/opflagnm" , opflagnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/oproomnm" , oproomnm);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstdrnm1" , anstdrnm1);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstdrnm2" , anstdrnm2);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstdrnm3" , anstdrnm3);
- //2013/09/25 Start 이정택(네번째 마취의가 통합기록에 안보이는 현상 수정)
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstdrnm4" , anstdrnm4);
- //2013/09/25 end
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstnursnm1" , anstnursnm1);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstnursnm2" , anstnursnm2);
- //20131104 Start
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstnursnm3" , anstnursnm3);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstnursnm4" , anstnursnm4);
- //20131104 End
- var perfdeptcd1 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdeptcd1");
- var perfdrid1 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdrid1");
- var perfdeptcd2 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdeptcd2");
- var perfdrid2 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdrid2");
- var perfdeptcd3 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdeptcd3");
- var perfdrid3 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdrid3");
- var perfdeptcd4 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdeptcd4");
- var perfdrid4 = iv_anstinfo.model.getValue("/root/main/anstinfo/perfdrid4");
- var perfdeptnm1 = iv_anstinfo.model.getValue("/root/init/orddept/dept[deptcd='"+ perfdeptcd1 +"']/depthngnm");
- var perfdrnm1 = iv_anstinfo.model.getValue("/root/init/userlist1/userlist/usercombo[userid='"+ perfdrid1 +"']/usernm");
- var perfdeptnm2 = iv_anstinfo.model.getValue("/root/init/orddept/dept[deptcd='"+ perfdeptcd2 +"']/depthngnm");
- var perfdrnm2 = iv_anstinfo.model.getValue("/root/init/userlist2/userlist/usercombo[userid='"+ perfdrid2 +"']/usernm");
- var perfdeptnm3 = iv_anstinfo.model.getValue("/root/init/orddept/dept[deptcd='"+ perfdeptcd3 +"']/depthngnm");
- var perfdrnm3 = iv_anstinfo.model.getValue("/root/init/userlist3/userlist/usercombo[userid='"+ perfdrid3 +"']/usernm");
- var perfdeptnm4 = iv_anstinfo.model.getValue("/root/init/orddept/dept[deptcd='"+ perfdeptcd4 +"']/depthngnm");
- var perfdrnm4 = iv_anstinfo.model.getValue("/root/init/userlist4/userlist/usercombo[userid='"+ perfdrid4 +"']/usernm");
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdeptnm1" , perfdeptnm1);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdrnm1" , perfdrnm1);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdeptnm2" , perfdeptnm2);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdrnm2" , perfdrnm2);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdeptnm3" , perfdeptnm3);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdrnm3" , perfdrnm3);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdeptnm4" , perfdeptnm4);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/perfdrnm4" , perfdrnm4);
- // 마취, 수술 (시작 날짜+시간, 종료 날짜+시간)
- var meetingdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- var tmoutchkdt = iv_anstinfo.model.getValue("/root/main/anstinfo/tmoutchkdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/tmoutchktm");
- var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromtm");
- var ansttodt = iv_anstinfo.model.getValue("/root/main/anstinfo/ansttodd") + iv_anstinfo.model.getValue("/root/main/anstinfo/ansttotm");
- var opfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/opfromdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/opfromtm");
- var optodt = iv_anstinfo.model.getValue("/root/main/anstinfo/optodd") + iv_anstinfo.model.getValue("/root/main/anstinfo/optotm");
- var opfcsttodt = iv_anstinfo.model.getValue("/root/main/anstinfo/opfcsttodd") + iv_anstinfo.model.getValue("/root/main/anstinfo/opfcsttotm");
- // 마취, 수술 (시작일시, 종료일시)
- iv_anstinfo.model.makeValue("/root/main/anstinfo/meetingdt" , meetingdt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/tmoutchkdt", tmoutchkdt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/anstfromdt", anstfromdt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/ansttodt" , ansttodt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/opfromdt" , opfromdt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/optodt" , optodt);
- iv_anstinfo.model.makeValue("/root/main/anstinfo/opfcsttodt", opfcsttodt);
- iv_anstinfo.model.refresh();
- // 마취 총 시간 (시작~종료)
- var ansttm = iv_anstinfo.model.getValue("/root/hidden/ansttm");
- var anstmnt = iv_anstinfo.model.getValue("/root/hidden/anstmnt");
- iv_anstinfo.model.makeValue("/root/main/anstinfo/intervaltm", ansttm + " 시간 " + anstmnt + " 분");
- iv_anstinfo.model.refresh();
- // 진단명, 수술(전)카드명, 수술(후)명...
- iv_anstinfo.model.removeNodeset("/root/hidden/opinfo");
- iv_anstinfo.model.refresh();
- copyNodeset("/root/hidden/opinfo/item","/root/main/opinfo/item[cdflag='1']", "add", iv_anstinfo.model, iv_anstinfo.model);
- copyNodeset("/root/hidden/opinfo/item","/root/main/opinfo/item[cdflag='2']", "add", iv_anstinfo.model, iv_anstinfo.model);
- copyNodeset("/root/hidden/opinfo/item","/root/main/opinfo7/item" , "add", iv_anstinfo.model, iv_anstinfo.model);
- iv_anstinfo.model.refresh();
- var info = getNodeListCSV(iv_anstinfo.instance1.selectNodes("/root/main/anstinfo"));
- var opinfo = getNodeListCSV(iv_anstinfo.instance1.selectNodes("/root/hidden/opinfo/item"));
- var rec = getNodeListCSV(iv_anstmast.instance1.selectNodes("/root/main/recmast/item[checked='true']"));
- var agent = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstprcp/item[prcptype='A']"));
- var drug = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstprcp/item[prcptype='D']"));
- var fluid = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstprcp/item[prcptype='F']"));
- var blood = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstprcp/item[prcptype='H']"));
- var proc = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstprcp/item[prcptype='P']"));
- var time = getNodeListCSV(iv_anstprcp.instance1.selectNodes("/root/main/anstitem/item"));
- var vslist = getNodeListCSV(instance1.selectNodes("/root/main/vslist/item"));
- if (opinfo == null) {
- opinfo = "cdflag▦code▦remfact▦engnm▦hngnm▩";
- }
- if (rec == null) {
- rec = "depth▦recitem▦suprecitem▦rectype▦recnm▦rec▦subrec▦sortno▦checked▩";
- }
- var prcpheader = "prcpcd▦prcpseqno▦prcptype▦prcpvol▦prcpvolunitnm▦prcpnm▦abbrnm▦drugmthdcd▦recvol▦remark▦clscd▦prcpappyn▦checked▩";
- if (agent == null) { agent = prcpheader; }
- if (drug == null) { drug = prcpheader; }
- if (fluid == null) { fluid = prcpheader; }
- if (blood == null) { blood = prcpheader; }
- if (proc == null) { proc = prcpheader; }
- if (vslist == null) {
- vslist = "vsitemcd▦vsitemnm▦defaultyn▦style▦point▦color▦leftaxis▦sortno▦graphappyn▦rangemin▦rangemax▦interval▦checked▩";
- }
- if (time == null) {
- time = "linkcd▦linkseqno▦linktype▦fromdt▦todt▦rec▩";
- }
- // 2008.10.13. 인증저장시 오류에 따른 데
- var savedata = "instcd▦anstrecno▦progno▦progrec▦progfromdt▦progtodt▩";
- var dataString = "";
- var dataRef = "/root/main/prog/item";
- var dataCnt = getNodesetCnt(model, dataRef);
- for (var i=1 ; i <= dataCnt ; i++)
- {
- var progno = model.getValue(dataRef + "[" + i + "]/progno");
- var progrec = model.getValue(dataRef + "[" + i + "]/progrec");
- var progfromdt = model.getValue(dataRef + "[" + i + "]/progfromdt");
- var progtodt = model.getValue(dataRef + "[" + i + "]/progtodt");
- // 2009.01.07. progress 내용이 없는 경우 no 가 중간에 빠지는 에러가 발생함.
- //if (progrec.replace(" ","").length > 0) {
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + progno + "▦" + progrec + "▦" + progfromdt + "▦" + progtodt + "▩";
- //}
- }
- var prog = savedata + dataString;
- // 2008.02.12. 마취기록화면 네비게이션 때문에 선택시 로딩 되도록..
- iviewer1.src = "SPMMR05200_마취환자기록Review.xrw";
- iviewer1.model.makeValue("/root/send/anstrecno" ,"");
- iviewer1.model.makeValue("/root/send/info" ,info);
- iviewer1.model.makeValue("/root/send/opinfo" ,opinfo);
- iviewer1.model.makeValue("/root/send/rec" ,rec);
- iviewer1.model.makeValue("/root/send/prog" ,prog);
- iviewer1.model.makeValue("/root/send/agent" ,agent);
- iviewer1.model.makeValue("/root/send/drug" ,drug);
- iviewer1.model.makeValue("/root/send/fluid" ,fluid);
- iviewer1.model.makeValue("/root/send/blood" ,blood);
- iviewer1.model.makeValue("/root/send/proc" ,proc);
- iviewer1.model.makeValue("/root/send/vslist" ,vslist);
- iviewer1.model.makeValue("/root/send/time" ,time);
- iviewer1.model.refresh();
- iviewer1.window.javascript.fFormInit();
- }
- /**
- * @desc : 마취기록 Review 인스턴스 만들어 주기..
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSaveAnstEspi(flag) {
- //수술부위 확인 점검표 저장확인(20120425 이윤주 with 손성훈)
- if (flag == "Y"){
- if( fOppartchk(oprsrvno, formcd) == false ){
- return;
- }
-
- // 수술예방적 항생제 투약 시간 알림 2015.04.16 엄영만
- if(fContainsHardCD("485", "Y") == true) { // 칠곡만 적용 수술예방적 항생제 투약시간 알림 적용여부
- var opfromdt = iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/opfromdd") + iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/opfromtm"); // 수술시작시간
- model.makeValue("/root/send/reqdata/oprsrvno", oprsrvno);
- model.makeValue("/root/send/reqdata/opfromdt", opfromdt);
-
- submit("TRMMR03722");
- var sRtnMsg = model.getValue("/root/preantimed/preantimed/preantimsg");
- if(!isNull(sRtnMsg)) {
- messageBox(sRtnMsg, "I999", "");
- }
- }
- }
- if (flag == null) { flag = "N" };
-
- if (flag == "N" && lastespiyn == "Y") { // 인증저장된 기록을 임시저장 하려고 할때 블러킹 처리 2014.09.04 엄영만
- messageBox("인증저장 된 기록을 임시저장으로 수정 할수 없습니다.\n\n인증저장 해주십시오.", "I");
- return;
- }
-
- //20131112 추가(이정택)
- var anstdrid1 = iv_anstinfo.cmb_anstdrid1.value;
- if(anstdrid1==null || anstdrid1=="" || anstdrid1=="0" || anstdrid1=="-"){
- messageBox("첫번째 마취의는 필수 입력입니다.", "E");
- return;
- }
-
- var btn_oproominoutctl_clickyn = iv_anstinfo.window.javascript.btn_oproominoutctl_clickyn;
- if(btn_oproominoutctl_clickyn==true){
- var patoutroomdd=iv_anstinfo.window.javascript.ipt_patoutroomdd.value;
- var patoutroomtm=iv_anstinfo.window.javascript.ipt_patoutroomtm.value;
- if(patoutroomdd==null || patoutroomdd=="" || patoutroomtm==null || patoutroomtm==""){
- messageBox("수술방 퇴실시간이 입력되지 않았습니다. 최종 인증저장이라면\n수술방 퇴실시간을 입력 후 다시 한번 인증저장 해주십시오.", "I");
- }
- }
-
- //2013/12/09 마취기록지 인증저장시 마취일반정보의 마취의사 휴진일정 체크
- var meetingdate=iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd");
- var meetingtime=iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- var chkdrid1=iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/anstdrid1");
- var chkdrid2=iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/anstdrid2");
- var chkdrid3=iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/anstdrid3");
- var chkdrid4=iv_anstinfo.window.javascript.model.getValue("/root/main/anstinfo/anstdrid4");
- var chkdrid="";
- if(chkdrid1!="-" && chkdrid1!="" && chkdrid1!=null && chkdrid1!="0"){
- chkdrid += "'"+chkdrid1+"'";
- }
- if(chkdrid2!="-" && chkdrid2!="" && chkdrid2!=null && chkdrid2!="0"){
- chkdrid += ","+"'"+chkdrid2+"'";
- }
- if(chkdrid3!="-" && chkdrid3!="" && chkdrid3!=null && chkdrid3!="0"){
- chkdrid += ","+"'"+chkdrid3+"'";
- }
- if(chkdrid4!="-" && chkdrid4!="" && chkdrid4!=null && chkdrid4!="0"){
- chkdrid += ","+"'"+chkdrid4+"'";
- }
-
- if(chkdrid.length!=0){
- model.makeValue("/root/send/reqdata/chkdrid", chkdrid);
- }
-
- model.makeValue("/root/send/reqdata/meetingdate", meetingdate);
- model.makeValue("/root/send/reqdata/meetingtime", meetingtime);
-
- if(!submit("TRMMR03721")){
- return;
- }
- //2013/12/09
-
- // 마취일반정보 저장
- iv_anstinfo.window.javascript.fSaveAnstInfo(flag);
- //공통 기본 정보 셋
- anstrecno = iv_anstinfo.model.getValue("/root/main/anstinfo/anstrecno");
- // 공통 기본 정보 셋 (마취기록번호)
- model.makeValue("/root/send/reqdata/anstrecno", anstrecno);
- model.refresh();
- 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 = "/root/main/recmast/item";
- dataCnt = getNodesetCnt(iv_anstmast.model, dataRef);
- for (var i=1 ; i <= dataCnt ; i++)
- {
- var checked = iv_anstmast.model.getValue(dataRef + "[" + i + "]/checked");
- if (checked == "true") {
- var recitem = iv_anstmast.model.getValue(dataRef + "[" + i + "]/recitem");
- var rectype = iv_anstmast.model.getValue(dataRef + "[" + i + "]/rectype");
- var recnm = iv_anstmast.model.getValue(dataRef + "[" + i + "]/recnm");
- var subrec = iv_anstmast.model.getValue(dataRef + "[" + i + "]/subrec");
- if (rectype == "F") { subrec = ""; }
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + currentdate + "▦" + recitem + "▦" + rectype + "▦" + recnm + "▦" + subrec + "▩";
- }
- }
- var reclist = savedata + dataString;
- // 2. Progress
- savedata = "instcd▦anstrecno▦progno▦progrec▦progfromdt▦progtodt▩";
- dataString = "";
- dataRef = "/root/main/prog/item";
- dataCnt = getNodesetCnt(model, dataRef);
- for (var i=1 ; i <= dataCnt ; i++)
- {
- var progno = i;
- var progrec = model.getValue(dataRef + "[" + i + "]/progrec");
- var progfromdt = model.getValue(dataRef + "[" + i + "]/progfromdt");
- var progtodt = model.getValue(dataRef + "[" + i + "]/progtodt");
- // 2009.01.07. progress 내용이 없는 경우 no 가 중간에 빠지는 에러가 발생함.
- //if (progrec.replace(" ","").length > 0) {
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + progno + "▦" + progrec + "▦" + progfromdt + "▦" + progtodt + "▩";
- //}
- }
- var prog = savedata + dataString;
- // 3. prcp
- savedata = "instcd▦anstrecno▦prcptype▦prcpcd▦prcpseqno▦prcpnm▦prcpvol▦prcpvolunitnm▦drugmthdcd▦recvol▦remark▦pcaflag▦currentdate▩";
- dataString = fGetDataStringAnstPrcp();
- var prcp = savedata + dataString;
- // 4. vs list
- savedata = "instcd▦anstrecno▦currentdate▦vsitemcd▦vsitemnm▩";
- dataString = "";
- dataRef = "/root/main/vslist/item";
- dataCnt = getNodesetCnt(model, dataRef)
- for (var i = 1 ; i <= dataCnt ; i++) {
- var vsitemcd = model.getValue(dataRef + "["+ i +"]/vsitemcd");
- var vsitemnm = model.getValue(dataRef + "["+ i +"]/vsitemnm");
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + currentdate + "▦" + vsitemcd + "▦" + vsitemnm + "▩";
- }
- var vslist = savedata + dataString;
- // 5. 마취 처방 투여일시
- savedata = "instcd▦anstrecno▦linktype▦linkcd▦linkseqno▦fromdt▦todt▦rec▦subrec▩";
- dataString = "";
- dataRef = "/root/main/anstitem/item";
- dataCnt = getNodesetCnt(iv_anstprcp.model, dataRef)
- for (var i = 1 ; i <= dataCnt ; i++) {
- var linktype = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/linktype");
- // 2009.03.02. 시간추가 기록저장하기..
- if (linktype != "S") {
- var linkcd = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/linkcd");
- var linkseqno = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/linkseqno");
- if (linkseqno == "") { linkseqno = "0"; }
- var fromdt = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/fromdt");
- var todt = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/todt");
- var rec = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/rec");
- var subrec = iv_anstprcp.model.getValue(dataRef + "["+ i +"]/subrec");
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + linktype + "▦" + linkcd + "▦" + linkseqno + "▦";
- dataString = dataString + fromdt + "▦" + todt + "▦" + rec + "▦" + subrec + "▩";
- }
- }
- // 2009.03.02. 시간추가 기록저장하기..
- dataRef = "/root/main/grd_timerec/item";
- dataCnt = getNodesetCnt(model, dataRef)
- for (var i = 1 ; i <= dataCnt ; i++) {
- var linktype = model.getValue(dataRef + "["+ i +"]/linktype");
- var linkcd = model.getValue(dataRef + "["+ i +"]/linkcd");
- var linkseqno = model.getValue(dataRef + "["+ i +"]/linkseqno");
- if (linkseqno == "") { linkseqno = "0"; }
- var fromdt = model.getValue(dataRef + "["+ i +"]/fromdt");
- var todt = model.getValue(dataRef + "["+ i +"]/todt");
- var rec = model.getValue("/root/main/timerec/item[tmreccd = '"+ linkcd +"']/tmrecnm");
- var subrec = model.getValue(dataRef + "["+ i +"]/subrec");
- if (linkcd != "") {
- dataString = dataString + instcd + "▦" + anstrecno + "▦" + linktype + "▦" + linkcd + "▦" + linkseqno + "▦";
- dataString = dataString + fromdt + "▦" + todt + "▦" + rec + "▦" + subrec + "▩";
- }
- }
- var time = savedata + dataString;
- model.makeValue("/root/send/savedata/prog" ,prog);
- model.makeValue("/root/send/savedata/rec" ,reclist);
- model.makeValue("/root/send/savedata/prcp" ,prcp);
- model.makeValue("/root/send/savedata/vslist",vslist);
- model.makeValue("/root/send/savedata/time" ,time);
- // 7. send : 기관코드, 마취기록번호, 수술예약번호, 서명번호
- model.makeValue("/root/send/savedata/instcd" ,instcd);
- model.makeValue("/root/send/savedata/oprsrvno" ,oprsrvno);
- model.makeValue("/root/send/savedata/anstrecno" ,anstrecno);
- model.makeValue("/root/send/savedata/lastespiyn",flag);
- model.makeValue("/root/send/savedata/espideq" ,"");
- submit("TXMMR03711");
- if (oprsrvno.length == 0) {
- //alert("환자 수술정보가 없습니다.");
- //return;
- }
- // 2008.10.12. 상단의 환자정보 확인하기..
- var top_pid = getPatientInfo("pid");
- if (top_pid != pid) {
- alert("상단의 환자정보와 기록지의 환자정보가 상이합니다. 확인하세요.");
- return;
- }
- // 6. 인증정보
- if (flag == "Y") {
- // 2008.09.26. *** 마취기록 인증데이타 만들기..
- fGetAnstRecCert();
-
- // 2013.10.24 김영기 미비조회(SMMRI01800)에서 화면 호출시 미비 상태값 변경을 위한 함수
- fProcessIncompleteConfirmation();
-
- lastespiyn = "Y"; // 최종인증저장 값 설정. 2014.09.04 엄영만
- model.setValue("/root/hidden/savestate", "저장상태: 인증저장");
- }
- }
- }
- /**
- * @desc : 마취 처방 데이타 가져오기..
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGetDataStringAnstPrcp()
- {
- var ref = "/root/main/anstprcp/item";
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref)
- var dataString = "";
- var tmpprcpcd = "";
-
- // agent, drug, fluid, blood, prog
- for (var i=1 ; i <= dataCnt ; i++) {
- var prcpcd = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpcd");
- var checked = iv_anstprcp.model.getValue(ref+"[" + i + "]/checked");
- if (checked == "true" || prcpcd == tmpprcpcd) {
- var prcptype = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcptype");
- var prcpcd = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpcd");
- var prcpseqno = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpseqno");
- var prcpnm = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpnm");
- var prcpvol = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpvol");
- var prcpvolunitnm = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpvolunitnm");
- var drugmthdcd = iv_anstprcp.model.getValue(ref+"[" + i + "]/drugmthdcd");
- var recvol = iv_anstprcp.model.getValue(ref+"[" + i + "]/recvol");
- var remark = iv_anstprcp.model.getValue(ref+"[" + i + "]/remark");
- var pcaflag = iv_anstprcp.model.getValue(ref+"[" + i + "]/pcaflag");
- // Agent01 인 경우 시작시간, 종료시간 저장하기..
- var clscd = iv_anstprcp.model.getValue(ref+"[" + i + "]/clscd");
- if (prcptype == "A" || clscd == "01") {
- var drugfromdd = iv_anstmast.model.getValue("/root/main/agent01/item[prcpcd = '"+ prcpcd +"']/drugfromdd");
- var drugfromtm = iv_anstmast.model.getValue("/root/main/agent01/item[prcpcd = '"+ prcpcd +"']/drugfromtm");
- var drugtodd = iv_anstmast.model.getValue("/root/main/agent01/item[prcpcd = '"+ prcpcd +"']/drugtodd");
- var drugtotm = iv_anstmast.model.getValue("/root/main/agent01/item[prcpcd = '"+ prcpcd +"']/drugtotm");
- remark = drugfromdd + "." + drugfromtm + "." + drugtodd + "." + drugtotm;
- }
- dataString = dataString + instcd + "▦" + 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=1; i<=grd_main.rows; i++){
- var linknm=grd_main.valuematrix(i, grd_main.colRef("linknm"));
- if(linknm=="Urine Output"){
- for(var j=grd_main.colRef("t1"); j<=grd_main.cols; j++){
- if(parseInt(grd_main.valuematrix(i, j))>=0){
- sub_total+=parseInt(grd_main.valuematrix(i, j));
- }
- }
- }
- if(linknm=="Blood Loss" || linknm=="blood loss"){
- for(var j=grd_main.colRef("t1"); j<=grd_main.cols; j++){
- if(parseInt(grd_main.valuematrix(i, j))>=0){
- bldloss+=parseInt(grd_main.valuematrix(i, j));
- }
- }
- }
- }
- setParameter("Urine_total",sub_total);
- setParameter("Blood_loss_total",bldloss);
- }
- //2012/12/11 End
- modal("SPMMR05300_마취환자기록IO", "", "700px", "200px", "popup");
-
- //2012/12/11 Start
- if(applychk=="Y"){
- clearParameter("Urine_total");
- }
- //2012/12/11 End
- }
- /**
- * @desc : 처방이동 버튼 클릭후 처방리스트 팝업 띄우기
- * @
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fSendPrcpList()
- {
- // 수술환자정보
- operationdata = getGlobalVariable("operation");
- if (operationdata.length == 0) {
- //alert("환자 수술정보가 없습니다.");
- //return;
- }
- // 2008.10.12. 상단의 환자정보 확인하기..
- var top_pid = getPatientInfo("pid");
- if (top_pid != pid) {
- alert("상단의 환자정보와 기록지의 환자정보가 상이합니다. 확인하세요.");
- return;
- }
- var savedata ="prcpcd▦prcpvol▦mthdcd▦abbrnm▩";
- var dataString = "";
- var ref = "/root/main/anstprcp/item";
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- var msg = "";
- // prcp 총용량이 0보다 작은지 확인하자..
- for (var i=1 ; i <= dataCnt ; i++) {
- var checked = iv_anstprcp.model.getValue(ref+"[" + i + "]/checked");
- var prcpappyn = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpappyn");
- var prcptype = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcptype");
- var prcpvol = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpvol");
- if (checked == "true" && prcpappyn == "Y" && prcptype != "H") {
- if (Number(prcpvol) <= 0) {
- var prcpnm = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpnm");
- msg = msg + "\n" + "-------------------------------------------------"
- msg = msg + "\n" + prcpnm ;
- }
- }
- }
- // 2008.01.04. 처방용량이 '0'인 경우.. 수정후 처방이동 할 것인가? 아니면 처방이동으로 바로 처리할 것인가?
- if (msg != "")
- {
- msg = msg + "\n" + "================================================="
- msg = msg + "\n"
- msg = msg + "\n" + "처방용량이 입력되지 않았습니다. 수정하시겠습니까?"
- msg = msg + "\n"
- var answer = window.alert(msg ,"처방이동", 4); // yes : 6, no : 7
- if (answer == 6) {
- // [확인] 하면 처방내역을 로드한다.
- btn_anstprcp.dispatch("onclick");
- return;
- }
- }
- // 2008.01.08. 처방이동시 임시저장을 한 후 처방이동을 한다. (마취일반 + 마취기록 저장)
- // 2008.12.23. 처방이동시 임시저장을 안함.
- // fSaveAnstEspi("N");
- // prcp list
- for (var i=1 ; i <= dataCnt ; i++) {
- var checked = iv_anstprcp.model.getValue(ref+"[" + i + "]/checked");
- var prcpappyn = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpappyn");
- var prcptype = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcptype");
- if (checked == "true" && prcpappyn == "Y" && prcptype != "H") {
- var prcpcd = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpcd");
- var prcpvol = iv_anstprcp.model.getValue(ref+"[" + i + "]/prcpvol");
- var mthdcd = iv_anstprcp.model.getValue(ref+"[" + i + "]/drugmthdcd");
- var abbrnm = iv_anstprcp.model.getValue("/root/hidden/tmedmthd/tmedmthdlist[mthdcd = '" + mthdcd + "']/abbrnm");
- if (Number(prcpvol) > 0) {
- dataString = dataString + prcpcd + "▦" + prcpvol + "▦" + mthdcd + "▦" + abbrnm + "▩";
- }
- }
- }
-
- // prcp list -> OCS 팝업
- if (dataString.length > 0) {
- // SMMMR03700_opansflagcd, SMMMR03700_ansttm (4자리), SMMMR03700_anstfromdt(12자리), SMMMR03700_ansttodt(12자리), SMMMR03700_paramyn = 'Y'
- var paramyn = "Y";
- var opansflagcd = iv_anstinfo.model.getValue("/root/main/anstinfo/anstaddcd"); // 마취일반정보의 가산여부
- var ansttm = iv_anstinfo.model.getValue("/root/hidden/ansttm") + iv_anstinfo.model.getValue("/root/hidden/anstmnt");
- var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/anstfromtm"); // 마취일반정보의 마취시작시간
- var ansttodt = iv_anstinfo.model.getValue("/root/main/anstinfo/ansttodd") + iv_anstinfo.model.getValue("/root/main/anstinfo/ansttotm"); // 마취일반정보의 마취종료시간
- if (opansflagcd == null) { opansflagcd = "0"; }
- if (ansttm == null) { ansttm = "0000"; }
- if (anstfromdt == null) { anstfromdt = getCurrentDate() + "0000"; }
- if (ansttodt == null) { ansttodt = getCurrentDate() + "0000"; }
- // alert("opansflagcd : " + opansflagcd + " : ansttm :" + ansttm + " : anstfromdt :" + anstfromdt + " : ansttodt :" + ansttodt);
- // alert(savedata + dataString);
- // 마취과 의사1
- var anstdrid1 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid1");
- var anstdrid = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid1");
- var anstdrnm = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid +"']/usernm");
- var refseq = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid +"']/refseq");
- // 2009.07.13. 성가 요청사항..
- // 마취과 의사 1,2,3 중 선택진료의가 있는 경우 마취의를 선택진료의로 셋되게 보냄..
- //2013/09/06 Start 마취의 4번째 추가되면서 처방 입력시 선택 진료의 들어가도록 수정
- var anstdrid4 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid4");
- var refseq4 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid4 +"']/refseq");
- if (refseq4 == "A") { // A면 선택진료의
- anstdrid = anstdrid4;
- refseq = refseq4;
- }
- //2013/09/06 End
-
- var anstdrid3 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid3");
- var refseq3 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid3 +"']/refseq");
- if (refseq3 == "A") {
- anstdrid = anstdrid3;
- refseq = refseq3;
- }
- var anstdrid2 = iv_anstinfo.model.getValue("/root/main/anstinfo/anstdrid2");
- var refseq2 = iv_anstinfo.model.getValue("/root/init/anstdrlist/userlist/usercombo[userid='"+ anstdrid2 +"']/refseq");
- if (refseq2 == "A") {
- anstdrid = anstdrid2;
- refseq = refseq2;
- }
- if (refseq == "A") {
- anstdrid = anstdrid1;
- }
-
- // 처방창 로딩하기..
- var mainObj = 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 curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
-
- if(curPrcpObj != null){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- curPrcpObj.javascript.fPrcpWndClose();
- }
- // 마취기록지 refresh 안함..
- setParameter("SMMMR03700_refresh" , "false");
- setParameter("SMMMR03700_paramyn" , paramyn);
- setParameter("SMMMR03700_opansflagcd", opansflagcd);
- setParameter("SMMMR03700_ansttm" , ansttm);
- setParameter("SMMMR03700_anstfromdt" , anstfromdt);
- setParameter("SMMMR03700_ansttodt" , ansttodt);
- setParameter("SMMMR03700_anstdrid" , anstdrid);
- setParameter("SMMMR03700_refseq" , refseq);
- //20131107 파라미터 추가(이정택)
- setParameter("SMMMR03700_anstdrnm" , anstdrnm);
- //20131107
- //2013/09/06 Start 처방 로직 수정에 따른 파라미터 값 추가
- var anstrecno=iv_anstinfo.model.getValue("/root/main/anstinfo/anstrecno");
- if(anstrecno!="" && anstrecno!=null){
- setParameter("SMMMR03700_anstrecno" , anstrecno);
- }
- //2013/09/06 End
-
- setParameter("SMMMR03700_prcp" , savedata + dataString);
- modal("SMMMO00100");
- clearParameter ( "SMMMR03700_refresh" );
- clearParameter ( "SMMMR03700_paramyn" );
- clearParameter ( "SMMMR03700_opansflagcd" );
- clearParameter ( "SMMMR03700_ansttm" );
- clearParameter ( "SMMMR03700_anstfromdt" );
- clearParameter ( "SMMMR03700_ansttodt" );
- clearParameter ( "SMMMR03700_anstdrid" );
- clearParameter ( "SMMMR03700_refseq" );
- clearParameter ( "SMMMR03700_prcp" );
- }
- }
- /**
- * @desc : 처방Main 화면 Open (혈액처방을 위하여~)
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOpenPrcpMainWnd(){
- // 처방창 로딩하기..
- var mainObj = 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 curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
-
- if(curPrcpObj != null){ //활성화된 처방화면이 있는 경우, 처방창 클로징하기..
- curPrcpObj.javascript.fPrcpWndClose();
- }
- // 마취기록지 refresh 안함..
- setParameter("SMMMR03700_refresh" , "false");
- modal("SMMMO00100");
- clearParameter ( "SMMMR03700_refresh" );
- }
- /**
- * @group : 사용자 직종에 따른 권한 버튼 처리.
- * @ver : 2007-12-08
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @---------------------------------------------------
- */
- function fUserAuth() {
- var jobkindcd = getUserInfo("jobkindcd");
- model.setValue("/root/init/jobkindcd", jobkindcd);
- model.refresh();
- // 사용자 직종에 따른 권한 버튼 처리.
- // 의사 : 0330
- var disabled = true;
- if (getUserInfo("jobkindcd") == "0330"|| getUserInfo("jobkindcd") == "0332") {
- disabled = false;
- }
- // 1. 메인 화면
- btn_addrow.disabled = disabled;
- btn_delrow.disabled = disabled;
- btn_moveocs.disabled = disabled;
- btn_saveinfo.disabled = disabled;
- btn_saveespi.disabled = disabled;
- btn_cdisload.disabled = disabled; // KNUH 20110419 최원돈
- btn_cdisload.attribute("visibility") = (fGetHardCDList("Y", "5553", 3) == "Y") ? "visible" : "hidden"; // KNUH 20110421 최원돈
-
- btn_progno.disabled = disabled;
- btn_vsno.disabled = disabled;
- btn_vsset.disabled = disabled;
- grd_progno.disabled = disabled;
- grd_range.disabled = disabled;
- grd_vs.disabled = disabled;
- grd_startend.disabled = disabled;
- ipt_vsrec.disabled = disabled;
- txt_remark.disabled = disabled;
- txt_pcarem.disabled = disabled;
- // 2008.02.24. 시간기록 추가..
- btn_addrowtimerec.disabled = disabled;
- btn_delrowtimerec.disabled = disabled;
- // 2. 마취일반정보
- iv_anstinfo.window.btn_meetingdt.disabled = disabled;
- iv_anstinfo.window.btn_tmoutchkdt.disabled = disabled;
- iv_anstinfo.window.btn_anstfromdt.disabled = disabled;
- iv_anstinfo.window.btn_opfromdt.disabled = disabled;
- iv_anstinfo.window.btn_optodt.disabled = disabled;
- iv_anstinfo.window.btn_ansttodt.disabled = disabled;
- iv_anstinfo.window.btn_saveanst.disabled = disabled;
- // 3. 마취마스터
- iv_anstmast.window.btn_saveprcpset.disabled = disabled;
- iv_anstmast.window.btn_setenddt.disabled = disabled;
- iv_anstmast.window.btn_addagent02.disabled = disabled;
- iv_anstmast.window.btn_addagent03.disabled = disabled;
- iv_anstmast.window.btn_addagent04.disabled = disabled;
- iv_anstmast.window.btn_adddrug.disabled = disabled;
- iv_anstmast.window.btn_addfluid.disabled = disabled;
- iv_anstmast.window.btn_addblod.disabled = disabled;
- iv_anstmast.window.btn_ocsblod.disabled = disabled;
- iv_anstmast.window.btn_addproc.disabled = disabled;
- iv_anstmast.window.btn_addsearch.disabled = disabled;
- }
- /**
- * @desc : 메인 그리드 - 처방목록 그리드에 보여주기... 정렬기준
- * @param :
- * @
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fGridSort()
- {
- var gridObj = grd_main;
- 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) == "25" || fromdt.substr(10,2) == "55") {
- gridObj.colstyle(i, "all", "border-right-color") = "#99ccff";
- gridObj.colstyle(i, "all", "border-right-width") = "2px";
- }
- var tmpdt = fromdt.toDate("YYYYMMDDhhmm");
- var rtndt = tmpdt.getAddDate(5, "m");
- fromdt = rtndt.getDateFormat("YYYYMMDDhhmm");
- }
- gridObj.refresh();
- gridObj.gridToInstance();
- // 2010.02.12 이은영 마취기록 메인 화면에 30분 단위로 굵은 선을 보여줌..
- }
- /**
- * @desc : PCA 기록 - 팝업
- * @
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fOpenPCA()
- {
- // popup form 인스턴스 넘겨주기..
- modal("SPMMR06000_마취환자기록PCA", "", "700px", "200px", "popup");
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 이경희
- */
- function fPopCommUse()
- {
- setParameter("comn_chosflag", "C") // C : 상용구
- setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
- setParameter("openmode", "select");
-
- //2012/12/18 Start 상용구에서 마취기록지를 구분하기 위해서
- setParameter("screen_id", "SMMMR03700");
- //2012/12/18 End
- //modal("SPMRF04700");
- modal("SPMRF04900");
- var rtn = getParameter("comncnts"); //내용
-
- //2012/12/12 Start Progress 부분 수정(상용구 선택시 하니씩 순서대로 들어갈 수 있도록 수정)
- var result = new Array();
- var cnt = model.instance1.selectNodes("/root/main/prog/item[progrec !='']");
- var j=cnt.length+1;
- result = rtn.split("▦");
-
- for(var i=0; i<=result.length; i++){
- if(result[i]!=""){
- model.setValue("/root/main/prog/item[" + j + "]/progrec", result[i]);
- j++;
- }
- }
- //2012/12/12 End
-
- setParameter("comncnts", "");
- //2012/12/18 Start
- clearParameter("setParameter");
- grd_prog.resizeCells();
- //2012/12/18 End
- /* 2012/12/12 Start 주석처리
- if (rtn != "") {
- model.setValue("/root/main/prog/item[" + grd_prog.row + "]/progrec", rtn);
- grd_prog.refresh();
- grd_prog.rebuild();
- }
- 2012/12/12 End */
- }
- /**
- * @desc : 상용구 팝업
- * @id :
- * @event : DOMActivate
- * @return : void
- * @authur : 이경희
- */
- function fPopCommUsePCA()
- {
- setParameter("comn_chosflag", "C") // C : 상용구
- setParameter("comn_formprogflag", "B") // A: Summary, B : 주호소
- setParameter("openmode", "select");
- //modal("SPMRF04700");
- modal("SPMRF04900");
- var rtn = getParameter("comncnts"); //내용
- setParameter("comncnts", "");
- if (rtn != "") {
- model.setValue("/root/main/anstinfo/pcarem", rtn);
- txt_pcarem.refresh();
- }
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기록 저장
- * @param : pFlag : TempSave : 임시저장, CertSave : 인증저장
- * @return :
- * @---------------------------------------------------
- */
- function fGetAnstRecCert(){
- // *** 마취기록 리뷰를 해서 그 html 파일을 읽어온다.
- fAnstRecReview();
- model.removeNode("/root/main/signSaveData");
- model.makeNode(xSignPath);
- copyNodeset(xSignPathAnstInfo ,"/root/main/anstinfo", "", model, iv_anstinfo.model);
- // 2008.09.29. format date..
- // 마취, 수술 (시작일시, 종료일시)
- var meetingdt = model.getValue(xSignPathAnstInfo+"/meetingdt");
- var tmoutchkdt = model.getValue(xSignPathAnstInfo+"/tmoutchkdt");
- var anstfromdt = model.getValue(xSignPathAnstInfo+"/anstfromdt");
- var ansttodt = model.getValue(xSignPathAnstInfo+"/ansttodt");
- var opfromdt = model.getValue(xSignPathAnstInfo+"/opfromdt");
- var optodt = model.getValue(xSignPathAnstInfo+"/optodt");
- var opfcsttodt = model.getValue(xSignPathAnstInfo+"/opfcsttodt");
- model.makeValue(xSignPathAnstInfo+"/meetingdt" , fDateFormat(meetingdt));
- model.makeValue(xSignPathAnstInfo+"/tmoutchkdt", fDateFormat(tmoutchkdt));
- model.makeValue(xSignPathAnstInfo+"/anstfromdt", fDateFormat(anstfromdt));
- model.makeValue(xSignPathAnstInfo+"/ansttodt" , fDateFormat(ansttodt));
- model.makeValue(xSignPathAnstInfo+"/opfromdt" , fDateFormat(opfromdt));
- model.makeValue(xSignPathAnstInfo+"/optodt" , fDateFormat(optodt));
- model.makeValue(xSignPathAnstInfo+"/opfcsttodt", fDateFormat(opfcsttodt));
- copyNodeset(xSignPathOpInfo, "/root/main/opinfo" , "", model, iv_anstinfo.model);
- copyNodeset(xSignPathRec , "/root/main/recmast", "", model, iv_anstmast.model);
- copyNodeset(xSignPathProg , "/root/main/prog" , "", model, model);
- // 2008.09.29. format date..
- // progress date...
- var dataCnt = getNodesetCnt(model, xSignPathProg+"/item");
- for (var i=1 ; i <= dataCnt ; i++) {
- var progfromdt = model.getValue(xSignPathProg+"/item["+ i +"]/progfromdt");
- model.makeValue(xSignPathProg+"/item["+ i +"]/progfromdt", fDateFormat(progfromdt));
- model.makeValue(xSignPathProg+"/item["+ i +"]/progno", i);
- }
- copyNodeset(xSignPathPrcp ,"/root/main/anstprcp", "", model, iv_anstprcp.model);
- copyNodeset(xSignPathItem ,"/root/main/anstitem/item[linktype!='S']", "", model, iv_anstprcp.model);
- copyNodeset(xSignPathItem ,"/root/main/grd_timerec/item", "add", model, model);
- copyNodeset(xSignPathVsList ,"/root/main/vslist" , "", model, model);
-
- // 2008.09.29. v/s 항목 셋..
- var dataRow = 0;
- var vsCnt = getNodesetCnt(model, xSignPathVsList+"/item");
- for (var i=1 ; i <= vsCnt ; i++)
- {
- var vsitemcd = model.getValue(xSignPathVsList+"/item["+ i +"]/vsitemcd");
- var vsitemnm = model.getValue(xSignPathVsList+"/item["+ i +"]/vsitemnm");
- var dataCnt = getNodesetCnt(model, xSignPathItem+"[linkcd='"+ vsitemcd +"']");
- if (dataCnt > 0)
- {
- copyNodeset(xSignPathTemp+"/item", xSignPathItem+"[linkcd='"+ vsitemcd +"']");
- grd_temp.refresh();
- 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();
- for (var j=1 ; j <= dataCnt ; j++)
- {
- var t1 = model.getValue(xSignPathTemp+"/item["+ (j+0) +"]/fromdt");
- var r1 = model.getValue(xSignPathTemp+"/item["+ (j+0) +"]/rec");
- var t2 = model.getValue(xSignPathTemp+"/item["+ (j+1) +"]/fromdt");
- var r2 = model.getValue(xSignPathTemp+"/item["+ (j+1) +"]/rec");
- var t3 = model.getValue(xSignPathTemp+"/item["+ (j+2) +"]/fromdt");
- var r3 = model.getValue(xSignPathTemp+"/item["+ (j+2) +"]/rec");
- var t4 = model.getValue(xSignPathTemp+"/item["+ (j+3) +"]/fromdt");
- var r4 = model.getValue(xSignPathTemp+"/item["+ (j+3) +"]/rec");
- var t5 = model.getValue(xSignPathTemp+"/item["+ (j+4) +"]/fromdt");
- var r5 = model.getValue(xSignPathTemp+"/item["+ (j+4) +"]/rec");
- var t6 = model.getValue(xSignPathTemp+"/item["+ (j+5) +"]/fromdt");
- var r6 = model.getValue(xSignPathTemp+"/item["+ (j+5) +"]/rec");
- dataRow = dataRow + 1;
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/vsitemcd", vsitemcd);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/vsitemnm", vsitemnm);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t1", fTimeFormat(t1));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r1", r1);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t2", fTimeFormat(t2));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r2", r2);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t3", fTimeFormat(t3));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r3", r3);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t4", fTimeFormat(t4));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r4", r4);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t5", fTimeFormat(t5));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r5", r5);
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/t6", fTimeFormat(t6));
- model.makeValue(xSignPathTime+"/item["+ dataRow +"]/r6", r6);
- j=j+5;
- }
- }
- }
-
- //인증저장
- if (!fSign()) return;
-
- if(submit("TXMMR03712")){
- model.removenodeset(xSignPath);
- alert("기록지가 저장되었습니다.");
- } else {
- alert("기록지가 저장되지 않았습니다.");
- }
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증로직
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSign(){
- // 상단정보에서 환자정보 set 하기..
- fPamInfo();
- var ls_emrinptsavetime = fGetHardCDList("Y", 401, 3);
- var ll_emrinptsavetime = ls_emrinptsavetime == "" ? 0 : parseInt(ls_emrinptsavetime) * -1;
- var gs_emrinptsavetime = getGlobalVariable("emrinptsavetime"); // 이전 인증저장시간
-
- if (ll_emrinptsavetime < 0 && !isNull(gs_emrinptsavetime) && gs_emrinptsavetime >= getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss")) {
- Sign.certreload = false ; // 전자서명 호출시 인증서가 팝업 되지 않도록 처리
- } else {
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- }
-
- if(Sign.signprocess() == true){
- // 전자인증 관련 환자 인적 정보를 보내줌.
- model.makeValue("/root/send/signdata/pid", sPid );//등록번호
- if( sIOFlag =="O" ){
- model.makeValue("/root/send/signdata/orddd", sOrddd); //입원일자(입원,응급)/진료일자(외래)
- }else{
- model.makeValue("/root/send/signdata/orddd", sIndd); //입원일자(입원,응급)/진료일자(외래)
- }
- model.makeValue("/root/send/signdata/signno", ""); //서명번호
- model.makeValue("/root/send/signdata/cretno", sCretNo); //생성번호
-
- var sOpCnfmDd = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- model.makeValue("/root/send/signdata/recdd", sOpCnfmDd); //실제 기록 일자에서 수술확정일자로 변경 2015.01.16 이윤주 요청 20150108010
- model.makeValue("/root/send/signdata/rectm", getCurrentTime()); //실제 기록이 이루어진 기록시간
-
- model.makeValue("/root/send/signdata/recsaveflag", "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
- model.makeValue("/root/send/signdata/signflag", "01" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
- model.makeValue("/root/send/signdata/signgenrflag", sIOFlag); //외래/입원구분(코드정의서 M0010 참조)
- model.makeValue("/root/send/signdata/formcd", formcd); //각 기록지별 서식코드
- model.makeValue("/root/send/signdata/orddeptcd", sOrdDeptCd); //진료부서코드
- model.makeValue("/root/send/signdata/orddrid", sOrdDrId ); //진료의사ID
- model.makeValue("/root/send/signdata/dispyn", "Y"); //기록뷰어에는 조회안되도록
- // 인증할 데이터 정보(미기록 노드 제거된 정보)
- // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
- model.makeValue("/root/send/signdata/signbfcnts" , Sign.signedInfos[1]);
- // 공인인증 처리후 데이터
- model.makeValue("/root/send/signdata/signaftcnts" , Sign.signedInfos[2]);
- // 마취기록을 위한 추가 컬럼....
- model.makeValue("/root/send/signdata/oprsrvno" , oprsrvno);
- model.makeValue("/root/send/signdata/anstrecno" , anstrecno);
- }else{
- return false;
- }
- model.makeValue("/root/send/signdata/screenid", getScreenID());
-
- setGlobalVariable("emrinptsavetime", getCurrentDateTime()); // 인증저장시간 설정
- return true;
- }
- /**
- * @group :
- * @ver : 2008.09.25.
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단 환자정보 가져오기..
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPamInfo(){
- var node = getGlobalVariable("paminfo");
- model.removeNodeset("/root/main/paminfo/list");
- setCSVToNode("/root/main/paminfo", node);
- sPid = model.getValue("/root/main/paminfo/list/pid"); // 환자번호
- sIndd = model.getValue("/root/main/paminfo/list/indd"); // 입원일자
- sOrddd = model.getValue("/root/main/paminfo/list/orddd"); // 진료일자
- sCretNo = model.getValue("/root/main/paminfo/list/cretno"); // 환자 일자별 일련번호
- sInstcd = model.getValue("/root/main/paminfo/list/instcd"); // 기관코드
- sIOFlag = model.getValue("/root/main/paminfo/list/ioflag"); // 입원/외래 구분
- sWardCD = model.getValue("/root/main/paminfo/list/wardcd");
- sRoomCD = model.getValue("/root/main/paminfo/list/roomcd");
- sOrdDeptCd = model.getValue("/root/main/paminfo/list/orddeptcd"); // 진료과코드
- sOrdDrId = model.getValue("/root/main/paminfo/list/medispclid"); // 진료의사ID
- // ============================ 테스트 정보
- /*
- sPid = "15789807";
- sIndd = "20080128";
- sOrddd = "";
- sCretNo = "800343699";
- sInstcd = "012";
- sIOFlag = "I";
- sWardCD = "";
- sRoomCD = "";
- sOrdDeptCd = "2080000000";
- sOrdDrId = "84015015";
- //*/
- // ============================ 테스트 정보
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 인증데이터 생성함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMake_SignData(){
- Sign.addnode("/root/main/signSaveData");
- }
- /**
- * @group :
- * @ver : 2007.06.15
- * @by : 이은영
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : format date
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDateFormat(date){
- if (date == null) { 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 (date == null) { 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 = getNodesetCnt(model, dataRef);
- var i = dataCnt + 1;
- var dt = getCurrentDate();
- var tm = getCurrentTime();
- tm = tm.substring(0,4);
- if (graph_fromdt.length > 7) { dt = graph_fromdt.substring(0,8); }
- model.makeValue(dataRef + "["+ i +"]/linktype" ,"S");
- model.makeValue(dataRef + "["+ i +"]/linkcd" ,"");
- model.makeValue(dataRef + "["+ i +"]/linkseqno" ,"0");
- model.makeValue(dataRef + "["+ i +"]/fromdt" ,dt + tm);
- model.makeValue(dataRef + "["+ i +"]/todt" ,"");
- model.makeValue(dataRef + "["+ i +"]/rec" ,"");
- model.makeValue(dataRef + "["+ i +"]/subrec" ,"");
- model.makeValue(dataRef + "["+ i +"]/date" ,dt);
- model.makeValue(dataRef + "["+ i +"]/time" ,tm);
- grd_timerec.refresh();
- }
- /**
- * @desc : 시간기록 로우 삭제하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fDelRowTimeRec()
- {
- grd_timerec.deleteRow(grd_timerec.row, true);
- grd_timerec.refresh();
- fDisplayTimeRec();
- }
- /**
- * @desc : 시간기록 셋하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fOpenTimeRec()
- {
- // 시간기록 가져오기..
- var dataRef = "/root/main/grd_timerec/item";
- copyNodeset(dataRef, "/root/main/anstitem/item[linktype='S']", "replace", model, iv_anstprcp.model);
- var dataCnt = getNodesetCnt(model, dataRef);
- for (var i = 1 ; i <= dataCnt ; i++) {
- var linktype = model.getValue(dataRef + "["+ i +"]/linktype");
- if (linktype == "S") {
- var linkcd = model.getValue(dataRef + "["+ i +"]/linkcd");
- var fromdt = model.getValue(dataRef + "["+ i +"]/fromdt");
- var dt = fromdt.substring(0,8);
- var tm = fromdt.substring(8,12);
- model.makeValue(dataRef + "["+ i +"]/date", dt);
- model.makeValue(dataRef + "["+ i +"]/time", tm);
- }
- }
- grd_timerec.refresh();
- }
-
- /**
- * @desc : 시간기록 더하기..
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- */
- function fSetTimeRec()
- {
- // 시간기록 가져오기..
- var dataRef = "/root/main/grd_timerec/item";
- var dataCnt = getNodesetCnt(model, dataRef);
- for (var i = 1 ; i <= dataCnt ; i++) {
- var linktype = model.getValue(dataRef + "["+ i +"]/linktype");
- if (linktype == "S") {
- var linkcd = model.getValue(dataRef + "["+ i +"]/linkcd");
- if (linkcd != "") {
- var rec = model.getValue("/root/main/timerec/item[tmreccd ='"+ linkcd +"']/tmrecnm");
- var dt = model.getValue(dataRef + "["+ i +"]/date");
- var tm = model.getValue(dataRef + "["+ i +"]/time");
- var fromdt = dt + tm;
- model.makeValue(dataRef + "["+ i +"]/fromdt", fromdt);
- model.makeValue(dataRef + "["+ i +"]/rec" , rec);
- }
- }
- }
- fDisplayTimeRec();
- }
-
- /**
- * @desc : 시작종료 심볼 표시하기
- * @
- * @param :
- * @return :
- * @author : 2009.02.25. 이은영
- * @---------------------------------------------------
- *
- */
- function fDisplayTimeRec()
- {
- // 그리드 컬럼 초기화
- for (var i = col_fromdt ; i <= parseInt(col_todt) + parseInt(col_fromdt) ; i++) {
- grd_main.textMatrix(row_startend,i) = "";
- }
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- var anstfromdt = iv_anstinfo.model.getValue("/root/main/anstinfo/meetingdd") + iv_anstinfo.model.getValue("/root/main/anstinfo/meetingtm");
- if (anstfromdt.length != 12) {
- return;
- }
- var gridObj = grd_main;
- var linktype = "S";
- // 처방목록에 시작시간, 종료시간 셋 해주자~
- var ref = "/root/main/grd_timerec/item";
- var dataCnt = getNodesetCnt(model, ref);
- for (var i=1 ; i <= dataCnt ; i++) {
- var tmplinktype = model.getValue(ref+"["+ i +"]/linktype");
- if (tmplinktype == linktype) {
- var fromdt = model.getValue(ref+"["+ i +"]/fromdt");
- var linkcd = model.getValue(ref+"["+ i +"]/linkcd");
- var symbol = model.getValue("/root/main/timerec/item[tmreccd ='"+ linkcd +"']/tmrecnm");
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간이랑 선택할 시작시간이 같으면 선택시간 변경한다..
- if (Number(fromdt) < Number(anstfromdt)) {
- // fromdt = graph_fromdt;
- }
- for (var j = col_fromdt ; j <= parseInt(col_todt) + parseInt(col_fromdt) ; j++) {
- var colDate1 = gridObj.textMatrix(0,j) + gridObj.textMatrix(1,j) + gridObj.textMatrix(2,j);
- var colDate2 = Number(colDate1) + 4;
- if (colDate1 <= fromdt && fromdt <= colDate2) {
- var colString = gridObj.textMatrix(row_startend, j);
- if (colString.length > 0) {
- colString = colString + "," + symbol;
- } else {
- colString = symbol;
- }
- gridObj.textMatrix(row_startend, j) = colString;
- }
- }
- }
- }
- var gridObj = grd_timerec;
- 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();
- }
- /**
- * @desc : 시작종료 심볼 표시하기 && 인스턴스 추가 또는 업데이트
- * @ 시작종료 심볼 적용
- * @ - 01 : X
- * @ - 02 : T
- * @ - 03 : ⊙
- * @ - 04 : XT
- * @ - 05 : TX
- * @ - 06 : Ton
- * @ - 07 : Toff
- * @param :
- * @return :
- * @author : 2009.03.02. 이은영
- * @---------------------------------------------------
- *
- */
- function fSetGridTimeRec()
- {
- grup_startend.visible = false;
- var symbol = grd_startend.textMatrix(grd_startend.row, grd_startend.col);
- grd_startend.col = 2;
- grd_startend.refresh();
- // 2009.02.24. 시간기록 추가..
- var linkcd = model.getValue("/root/main/timerec/item[tmrecnm = '"+ symbol +"']/tmreccd");
- var linktype = "S";
- // 선택된 시작일시
- var gridObj = grd_main;
- var fromdt = gridObj.valueMatrix(0, gridObj.col) + gridObj.valueMatrix(1, gridObj.col) + gridObj.valueMatrix(2, gridObj.col);
- var todt = Number(fromdt) + 4;
- if (linkcd == "") {
- linkcd = "00";
- symbol = gridObj.textMatrix(gridObj.row, gridObj.col);
- }
- // 2007.12.13. 마취시작시간을 확인한다.. 마취시작시간보다 선택된 시작시간이 작으면 마취시작시간으로 저장한다..
- // 2008.10.04. meeting time을 확인한다.. meeting time보다 선택된 시작시간이 작으면 meeting time으로 저장한다..
- 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 fromdt = gridObj.valueMatrix(0, gridObj.col) + gridObj.valueMatrix(1, gridObj.col) + gridObj.valueMatrix(2, gridObj.col);
- var todt = Number(fromdt) + 4;
- // 시간기록 가져오기..
- var ref = "/root/main/grd_timerec/item";
- var dataCnt = getNodesetCnt(model, ref);
- // 추가 또는 업데이트...
- for (var i=1 ; i <= dataCnt ; i++) {
- var tmplinktype = model.getValue(ref+"["+ i +"]/linktype");
- var tmpfromdt = model.getValue(ref+"["+ i +"]/fromdt");
- if (tmplinktype == linktype && fromdt <= tmpfromdt && tmpfromdt <= todt) {
- if (symbol == "") {
- model.destroy(ref+"["+ i +"]");
- break;
- } else {
- var tmplinkcd = model.getValue(ref+"["+ i +"]/linkcd");
- if (tmplinkcd == linkcd) {
- model.setValue(ref+"["+ i +"]/linkcd", linkcd);
- model.setValue(ref+"["+ i +"]/rec", symbol);
- break;
- }
- }
- }
- }
- if (i > dataCnt) {
- if (dataCnt > 0) {
- var checkValue = model.getValue(ref+"["+ dataCnt +"]/linktype");
- if (checkValue != "") {
- dataCnt = dataCnt + 1;
- }
- } else {
- dataCnt = dataCnt + 1;
- }
- model.makeValue(ref+"["+ dataCnt +"]/linktype" , linktype);
- model.makeValue(ref+"["+ dataCnt +"]/linkcd" , linkcd);
- model.makeValue(ref+"["+ dataCnt +"]/linkseqno", "");
- model.makeValue(ref+"["+ dataCnt +"]/fromdt" , fromdt);
- model.makeValue(ref+"["+ dataCnt +"]/todt" , "");
- model.makeValue(ref+"["+ dataCnt +"]/rec" , symbol);
- model.makeValue(ref+"["+ dataCnt +"]/subrec" , "");
- var dt = gridObj.valueMatrix(0, gridObj.col);
- var tm = gridObj.valueMatrix(1, gridObj.col) + gridObj.valueMatrix(2, gridObj.col);
- model.makeValue(ref+"["+ dataCnt +"]/date" , dt);
- model.makeValue(ref+"["+ dataCnt +"]/time" , tm);
- }
- grd_timerec.refresh();
- fDisplayTimeRec();
- }
- /**
- * @desc : 시작종료 심볼 표시하기 && 인스턴스 추가 또는 업데이트
- * @ 시작종료 심볼 적용
- * @ - 04 : XT (마취시작)
- * @ - 05 : TX (마취종료)
- * @ - 03 : ⊙ (수술시작,수술종료)
- * @ - flag = 1 : 수술시작 , 2 : 수술종료
- * @param :
- * @return :
- * @---------------------------------------------------
- *
- */
- function fSetTimeRecAnstInfo(linkcd, fromdt, flag)
- {
- grd_startend.col = 2;
- var linktype = "S";
- // 2009.02.24. 시간기록 추가..
- var symbol = model.getValue("/root/main/timerec/item[tmreccd = '"+ linkcd +"']/tmrecnm");
- // 시간기록 가져오기..
- var ref = "/root/main/grd_timerec/item";
- var dataCnt = getNodesetCnt(model, ref);
- var cnt = 0;
- if (flag == null) { flag = "1"; }
- // 추가 또는 업데이트...
- for (var i=1 ; i <= dataCnt ; i++) {
- var tmplinktype = model.getValue(ref+"["+ i +"]/linktype");
- var tmplinkcd = model.getValue(ref+"["+ i +"]/linkcd");
- if (tmplinktype == linktype && tmplinkcd == linkcd) {
- cnt = cnt + 1;
- if (cnt == flag) {
- if (fromdt.length == 8){
- model.destroy(ref+"["+ i +"]");
- break;
- } else {
- model.setValue(ref+"["+ i +"]/linkcd", linkcd);
- model.setValue(ref+"["+ i +"]/fromdt", fromdt);
- model.setValue(ref+"["+ i +"]/todt" , "");
- model.setValue(ref+"["+ i +"]/rec" , symbol);
- model.setValue(ref+"["+ i +"]/subrec", "");
- model.setValue(ref+"["+ i +"]/date" , fromdt.substring(0,8));
- model.setValue(ref+"["+ i +"]/time" , fromdt.substring(8,12));
- break;
- }
- }
- }
- }
- if (i > dataCnt) {
- if (dataCnt > 0) {
- var checkValue = model.getValue(ref+"["+ dataCnt +"]/linktype");
- if (checkValue != "") {
- dataCnt = dataCnt + 1;
- }
- } else {
- dataCnt = dataCnt + 1;
- }
- model.makeValue(ref+"["+ dataCnt +"]/linktype" , linktype);
- model.makeValue(ref+"["+ dataCnt +"]/linkcd" , linkcd);
- model.makeValue(ref+"["+ dataCnt +"]/linkseqno", "");
- model.makeValue(ref+"["+ dataCnt +"]/fromdt" , fromdt);
- model.makeValue(ref+"["+ dataCnt +"]/todt" , "");
- model.makeValue(ref+"["+ dataCnt +"]/rec" , symbol);
- model.makeValue(ref+"["+ dataCnt +"]/subrec" , "");
- model.makeValue(ref+"["+ dataCnt +"]/date" , fromdt.substring(0,8));
- model.makeValue(ref+"["+ dataCnt +"]/time" , fromdt.substring(8,12));
- }
- grd_timerec.refresh();
- fDisplayTimeRec();
- }
- /**
- * 기록지에서 항목명(Progress, 시작종료, V/S, AGENT, DRUG, FLUID)의 행 밑에 색깔 넣기
- */
- function fSetGrdColor(){
- var type;
- var agchk=false;
- var drchk=false;
- var vschk=false;
- var prchk=false;
- var stchk=false;
-
- for(var i=grd_main.rows; i>=1; i--){
- type=grd_main.valuematrix(i, grd_main.colRef("type"));
- if(type=="Progress" && prchk==false && grd_main.rowhidden(i)==false){
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#99ccff";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "2px";
- prchk=true;
- }else if(type=="시작종료" && stchk==false && grd_main.rowhidden(i)==false){
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#99ccff";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "2px";
- stchk=true;
- }else if(type=="V/S" && vschk==false && grd_main.rowhidden(i)==false){
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#99ccff";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "2px";
- vschk=true;
- }else if(type=="Agent" && agchk==false && grd_main.rowhidden(i)==false){
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#99ccff";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "2px";
- agchk=true;
- }else if(type=="Drug" && drchk==false && grd_main.rowhidden(i)==false){
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#99ccff";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "2px";
- drchk=true;
- }else{
- grd_main.rowstyle(i, "data", "border-bottom-color") = "#B0B0B0";
- grd_main.rowstyle(i, "data", "border-bottom-width") = "1px";
- }
- }
-
- agchk=false;
- drchk=false;
- vschk=false;
- prchk=false;
- stchk=false;
- fChangeHeader(false);
- model.refresh();
- }
- /**
- * 선택한 셀의 행 및 열의 색깔변경
- */
- function fChangeHeader(chk){
- //#ffffff 흰색
- //#ff0000 빨강
- //#4d4d4d 그리드의 글자색깔
- //#ffccff 사용자 요청색깔
- for(var i=grd_main.rows; i>=1; i--){ //행에 대해서 셀 스타일 초기화
- grd_main.cellstyle("background-color", i, 1)="#ffffff";
- }
-
- for(var j=1; j<=grd_main.cols; j++){ //열에 대해서 셀 스타일 초기화
- grd_main.cellstyle("color", 2, j)="#4d4d4d";
- grd_main.cellstyle("font-weight", 2, j)="0";
- }
-
- if(chk!=false){
- grd_main.cellstyle("background-color", grd_main.row, 1)="#ffccff";
- grd_main.cellstyle("color", 2, grd_main.col)="#ff0000";
- grd_main.cellstyle("font-weight", 2, grd_main.col)="bold";
- }
- /*
- for(var i=grd_main.rows; i>=1; i--){ //행에 대해서 셀 스타일 초기화
- grd_main.cellstyle("background-color", i, 1)="#ffffff";
- grd_main.cellstyle("color", i,1 )="#4d4d4d";
- grd_main.cellstyle("font-weight", i, 1)="0";
- }
-
- for(var j=1; j<=grd_main.cols; j++){ //열에 대해서 셀 스타일 초기화
- grd_main.cellstyle("color", 2, j)="#4d4d4d";
- grd_main.cellstyle("font-weight", 2, j)="0";
- }
-
- if(chk!=false){
- //grd_main.cellstyle("background-color", grd_main.row, 1)="#ff0000";
- grd_main.cellstyle("color", grd_main.row, 1)="#ff0000";
- grd_main.cellstyle("color", 2, grd_main.col)="#ff0000";
- grd_main.cellstyle("font-weight", grd_main.row, 1)="bold";
- grd_main.cellstyle("font-weight", 2, grd_main.col)="bold";
- }
- */
- model.refresh();
- }
- /**
- * 기록지에서 엔터키 쳤을시에 아래로 이동하는 이벤트
- */
- function fMoveFocus(){
- var col=grd_main.col;
- var row=grd_main.row;
-
- for(var i=grd_main.row; i<=grd_main.rows; i++){
- if(grd_main.rowhidden(i+1)==false){
- grd_main.row=i+1;
- fChangeHeader(); // 포커스 이동한 셀의 색깔 바꾸기
- break;
- }
- }
- model.refresh();
- }
- /**
- * 초기화 버튼 클릭시 마취기록지의 내용 리셋
- */
- function fReset(){
- var ret=messageBox("초기화 진행시 기록하신 모든 내용이 삭제됩니다.\n그래도 진행", "S001");
- if(ret=="6"){
-
- }else{
- return;
- }
- var cols=grd_main.cols;
- var rows=grd_main.rows;
- for(var i=5; i<=rows; i++){
- if(grd_main.rowhidden(i)==true){
- continue;
- }
- for(var j=grd_main.colRef("totalvol"); j<=cols; j++){
- if(j==grd_main.colRef("volunit")){
- continue;
- }
- grd_main.valuematrix(i, j)="";
- grd_main.cellstyle("background-color", i, j)="#ffffff";
- }
- }
-
- iv_anstprcp.model.removeNodeset("/root/main/anstitem");
- /*
- var ref = "/root/main/anstitem/item";
- var datacnt = getNodesetCnt(iv_anstprcp.model, ref);
- for(var i=0; i<=datacnt; i++){
- type=iv_anstprcp.model.getValue("/root/main/anstitem/item["+i+"]/linktype");
- if(type!="V" && type!="A" && type!="D" && type!="F" && type!="H" && type!="P"){
- continue;
- }
- if(type=="V" || type=="A" || type=="D" || type=="F"|| type=="H" || type=="P"){
- iv_anstprcp.model.setValue("/root/main/anstitem/item["+i+"]/rec", "");
- iv_anstprcp.model.setValue("/root/main/anstitem/item["+i+"]/subrec", "");
- iv_anstprcp.model.setValue("/root/main/anstitem/item["+i+"]/fromdt", "");
- iv_anstprcp.model.setValue("/root/main/anstitem/item["+i+"]/todt", "");
- }
- }*/
- var iv_cols=iv_anstprcp.grd_anstprcp.cols;
- var iv_rows=iv_anstprcp.grd_anstprcp.rows;
- for(var m=1; m<=iv_anstprcp.grd_anstprcp.rows - iv_anstprcp.grd_anstprcp.fixedrows; m++){
- for(var n=1; n<=iv_cols; n++){
- if(n!=iv_anstprcp.grd_anstprcp.colRef("recvol") && n!=iv_anstprcp.grd_anstprcp.colRef("prcpvol")){
- continue;
- }else{
- iv_anstprcp.grd_anstprcp.valuematrix(m,n)="0";
- }
- }
- }
- iv_anstprcp.model.refresh();
- model.refresh();
- }
- /**
- * 서식 미비화면(SMMRI01800)에서 마취전 평가서 Open을 위한 함수
- */
- function fOpenAnstEvaluationSheet(){
- if(findChildWindowByScreenID("SMMRI01800") != null || getOpenWindow("SMMRI01700") != null){
- if(getOpenWindow("SMMRI01800") != null || getOpenWindow("SMMRI01700") != null){
- if(getGlobalVariable("linked_formcd","emr") == "0900005261"){
- iv_anstinfo.window.javascript.setParameter("SSMMR01100_formrecdd",getGlobalVariable("linked_formrecdd","emr"));
- iv_anstinfo.window.javascript.fPreOpAssemRec();
- }
- }
- }
- }
- /**
- * 미비조회(SMMRI01800)에서 화면 호출시 미비 상태값 변경을 위한 함수
- */
- function fProcessIncompleteConfirmation(){
-
- var wndobj = getOpenWindow("SMMRI01800");
- if(wndobj != null){
- var pid = getPatientId()
- var formcd = "0000002022"; // 마취기록지 서식코드
- var formrecdd = getGlobalVariable("linked_formrecdd","emr");
- var unprepdrid = getUserId();
- var unprepstat = "1"; // 미비상태->0:배치미비,1:미비확인,2:의사확인,3:재미비,4:완료,8:기록삭제
- var unprepitemcd = "000000002"; //인증미비 코드
- var unprepno = wndobj.window.javascript.getParameter("SMMMR03700_unprepno");
-
- model.resetInstanceNode("/root/send/incompleterecinfo");
- model.setValue("/root/send/incompleterecinfo/pid" , pid);
- model.setValue("/root/send/incompleterecinfo/formcd" , formcd);
- model.setValue("/root/send/incompleterecinfo/formrecdd" , formrecdd);
- model.setValue("/root/send/incompleterecinfo/unprepdrid" , unprepdrid);
- model.setValue("/root/send/incompleterecinfo/unprepstat" , unprepstat);
- model.setValue("/root/send/incompleterecinfo/unprepitemcd" , unprepitemcd);
- model.setValue("/root/send/incompleterecinfo/unprepno" , unprepno);
-
- submit("TXMMR03714");
- }
-
- }
- /****************************************************************************************
- * Argument : preMeetingdt - 기입력된 Meeting Time
- * Description : 기입력된 Meeting Time 존재 유무 체크
- * return type : true / flase
- ****************************************************************************************/
- function lf_ChkVsData(preMeetingdt){
- // 제어 기록 수
- /*
- var ref = "count(/root/main/anstitem/item[rec != '' and fromdt < '"+ preMeetingdt+"'])";
- var nCnt = getNodesetCnt(iv_anstprcp.model, ref);
- var nCnt = iv_anstprcp.model.getXPathValue(ref);
- */
- var ref = "/root/main/anstitem/item";
- var dataCnt = getNodesetCnt(iv_anstprcp.model, ref);
- var nCnt = 0;
- for (var i=1 ; i <= dataCnt ; i++) {
- var tmpfromdt = iv_anstprcp.model.getValue(ref+"["+ i +"]/fromdt");
- var tmprec = iv_anstprcp.model.getValue(ref+"["+ i +"]/rec");
- if (tmprec != '' && tmpfromdt < preMeetingdt) {
- nCnt++;
- }
- }
-
- // 기록 작성 시점
- var nOpcnfmdd = iv_anstinfo.model.getValue("/root/main/oprsrvinfo/opcnfmdd");
- if( isNull(nOpcnfmdd) || nOpcnfmdd.length != 8){
- nOpcnfmdd = getCurrentDate();
- }
-
- // 공통코드 정보 조회
- var nHardCd = model.getValue("/root/init/hardcd9975/hardcd/hardcd");
- var nHardNm = model.getValue("/root/init/hardcd9975/hardcd/hardcdnm");
- var bChk = false;
- if( !isNull(nHardCd) && nHardCd == "Y"
- && !isNull(nHardNm) && nHardNm.length == 8
- && nOpcnfmdd >= nHardNm ){
- bChk = true;
- }
- if( bChk == true && nCnt > 0 )
- return false;
-
- return true;
- }
|