SMMNR00900.js 336 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847
  1. /*
  2. 임상관찰기록(SMMNR00900.xfm - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var sCondPath = "/root/main/cond";
  7. var xChartHeaderListPath = "/root/main/chartheaderlist";
  8. var xStnddayClincObsRecListPath = "/root/main/clincobsrecinfo/stnddayclincobsrecinfo/stnddayclincobsreclist";
  9. var xFormerdayClincObsRecListPath = "/root/main/clincobsrecinfo/formerclincobsrecinfo/formerclincobsreclist";
  10. var xHoursClincObsRecList = "/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist";
  11. var xDaysClincObsRecList = "/root/main/clincobsrecinfo/daysclincobsrecinfo/daysclincobsreclist";
  12. var xIntervalRecYNListPath = "/root/temp/clincobsrecinfo/intervalrecynlist";
  13. var xClincObsRecListPath = "/root/temp/clincobsrecinfo/clincobsreclist";
  14. var sAttrListPath = "/root/temp/clincobsrecinfo/attrlist";
  15. var sAttrListPath1 = "/root/temp/clincobsrecinfo/attrlist1";
  16. var xRecUserListPath = "/root/temp/clincobsrecinfo/recuserlist";
  17. var xTMSettingListPath = "/root/temp/clincobsrecinfo/tmsettinglist";
  18. var sAttrListTempPath = "/root/temp/attrinfo/attrlist";
  19. var sAttrListInitPath = "/root/temp/initcmblnfo/initcmblist";
  20. var xFormerIntervalRecYNListPath = "/root/temp/formerclincobsrecinfo/intervalrecynlist";
  21. var xFormerClincObsRecListPath = "/root/temp/formerclincobsrecinfo/clincobsreclist";
  22. var xFormerAttrListPath = "/root/temp/formerclincobsrecinfo/attrlist";
  23. var xFormerAttrListPath1 = "/root/temp/formerclincobsrecinfo/attrlist1";
  24. var xFormerRecUserListPath = "/root/temp/formerclincobsrecinfo/recuserlist";
  25. var xPamInfoPath = "/root/main/paminfo/pamlist"; // 환자정보
  26. var xDayCountListPath = "/root/main/daycountinfo/daycountlist";
  27. var xFormerDayCountListPath = "/root/main/formerdaycountinfo/daycountlist";
  28. var xResultPath = "/root/certtemp/recinfo";
  29. var xResultAttrPath = "/root/certattrtemp/recattrinfo";
  30. var xPathViewData = "/root/temp/clincobsrecinfo/rtnsigndata";
  31. var xFormerRecPath = "/root/temp/formerclincobsrecinfo";
  32. var sHeader = new Array();
  33. var sFormerHeader = new Array();
  34. var sPid = ""; // 환자번호
  35. var sIndd = ""; // 입원일자
  36. var sCretNo = ""; // 환자 일자별 일련번호
  37. var sInstcd = ""; // 기관코드
  38. var sIOFlag = ""; // 입원/외래 구분
  39. var sWardCD = ""; // 병동코드
  40. var sRoomCD = ""; // 병실코드
  41. var sJobKindCD = ""; // 직급코드
  42. var sIndschacptstat = "";
  43. var sDschdd = "";
  44. var sChartItem = new Array();
  45. var sDayCountFlag = "";
  46. var sPopUpMenuFlag = "";
  47. var s4DateSrch = "";
  48. var sViewerRecDD = "";
  49. var sViewerFunc = "sign";
  50. var sMakeChartInfo = new Array();
  51. var sImageRecDD = "";
  52. var sPatNm = "";
  53. var sSexAge = "";
  54. var sDutplcecd = "";
  55. var sOrdDeptcd = "";
  56. var sMedispclid = "";
  57. var sUserFlag = "";
  58. var sUserDeptCd = "";
  59. var sUserId = "";
  60. var sSpParamInfo = "";
  61. var sParamInfo = "";
  62. //var sChartNum = 1;
  63. /**
  64. * @group :
  65. * @ver : 2007.06.27
  66. * @by : 이은영
  67. * @---------------------------------------------------
  68. * @type : function
  69. * @access : public
  70. * @desc : 화면 초기화
  71. * @param :
  72. * @return :
  73. * @---------------------------------------------------
  74. */
  75. function fInitialize(pFlag){
  76. //alert(pFlag);
  77. var sPamInfo = "";
  78. //var sParamInfo = "";
  79. //var sSpParamInfo = "";
  80. if(pFlag == "init" || pFlag == "reset"){
  81. fMakeChart("init24hours");
  82. fMakeChart("init4days");
  83. }
  84. if(pFlag == "init"){
  85. sParamInfo = "";
  86. sSpParamInfo = "";
  87. //24시간 그리드 콤보 노드 세팅
  88. for(var i=0; i< 24; i++){
  89. model.makeNode("/root/init/hourlist/item["+(i+1)+"]");
  90. if(i <10){
  91. model.makeValue("/root/init/hourlist/item["+(i+1)+"]/cd","0"+i);
  92. }else{
  93. model.makeValue("/root/init/hourlist/item["+(i+1)+"]/cd",i);
  94. }
  95. model.makeValue("/root/init/hourlist/item["+(i+1)+"]/nm",i);
  96. }
  97. //사용자 직급구분에 따른 화면 제어 플래그 설정
  98. sJobKindCD = getUserInfo("jobkindcd"); // 직급코드
  99. sUserDeptCd = getUserInfo("dutplcecd");
  100. sUserId = getUserInfo("userid");
  101. //---------(20101204) 경북대
  102. //추가
  103. var ssflag = "";
  104. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  105. //경북대가 아니면
  106. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  107. ssflag = "Y";
  108. }else{
  109. ssflag = "N";
  110. }
  111. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  112. //경북대이면 03%로 체크한다.
  113. if( sJobKindCD.substring(0, 2) == "03"){
  114. ssflag = "Y";
  115. }else{
  116. ssflag = "N";
  117. }
  118. }
  119. //원본
  120. //if(sJobKindCD == "0330" || sJobKindCD == "0310"){
  121. if(ssflag=="Y") {
  122. sUserFlag = "2";
  123. }else{
  124. sUserFlag = "1";
  125. }
  126. //---------(20101204) 경북대
  127. model.setValue(sCondPath+"/srchflag", sUserFlag);
  128. //Parameter 정보 체크
  129. if(checkOpener()){
  130. /**
  131. SMMNR00900_Param
  132. pid▦indd▦cretno▦instcd▩ ==> 등록번호▦입원일자▦생성번호▦기관코드▩
  133. SMMNR00900_SpParam
  134. pid▦indd▦cretno▦instcd▦inrmdt▦dutplcecd▩ ==> 등록번호▦입원일자▦생성번호▦기관코드▦근무지코드▩
  135. **/
  136. //sSpParamInfo = "pid▦indd▦cretno▦instcd▦inrmdt▩18907181▦20080102▦800340650▦012▦20080930120300▦3073300000▩";
  137. //sParamInfo = "pid▦indd▦cretno▦instcd▩19466116▦20080913▦800511468▦012▩";
  138. sSpParamInfo = opener.javascript.getParameter("SMMNR00900_SpParam");
  139. if(sSpParamInfo == ""){
  140. sParamInfo = opener.javascript.getParameter("SMMNR00900_Param");
  141. setParameter("SMMNR00900_Param","");
  142. }else{
  143. sParamInfo = sSpParamInfo;
  144. sDutplcecd = getArrayDataTPR(sSpParamInfo,1,5);
  145. }
  146. }
  147. }else{
  148. sParamInfo = "";
  149. }
  150. //화면 기본 정보 세팅(회복실, 마취과 별도 Action 추가)
  151. if(sSpParamInfo != "" && sDutplcecd != ""){
  152. model.setValue(sCondPath+"/timeflag", "5");
  153. btn_tempsave.disabled = false;
  154. chk_bizlnkflag.visible = true;
  155. chk_bizlnkflag.value = "Y";
  156. }else{
  157. model.setValue(sCondPath+"/timeflag", "60");
  158. }
  159. model.setValue(sCondPath+"/cmbstatusx", "0");
  160. model.setValue(sCondPath+"/cmbstatusy", "0");
  161. model.setValue(sCondPath+"/rectm","070000");
  162. if(model.getValue(sCondPath+"/vwctrl_4days") == ""){ // (A : 펼치기, I : 접기)
  163. model.setValue(sCondPath+"/vwctrl_4days", "A");
  164. }else{
  165. model.setValue(sCondPath+"/vwctrl_4days", model.getValue(sCondPath+"/vwctrl_4days"));
  166. }
  167. if(model.getValue(sCondPath+"/vwctrl_24hours") == ""){ // (A : 펼치기, I : 접기)
  168. model.setValue(sCondPath+"/vwctrl_24hours", "A");
  169. }else{
  170. model.setValue(sCondPath+"/vwctrl_24hours", model.getValue(sCondPath+"/vwctrl_24hours"));
  171. }
  172. model.setValue(sCondPath+"/vwctrl_button","24hours");
  173. model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
  174. model.setValue(sCondPath+"/formerdaycountinfo", "1 2 3 4 5 6");
  175. grp_daycountmenu.visible = false;
  176. grp_formerdaycountmenu.visible = false;
  177. //alert(sParamInfo);
  178. //상단정보 존재 여부 체크
  179. if(sParamInfo == ""){
  180. // 환자정보 조회
  181. sPamInfo = getGlobalVariable("paminfo");
  182. model.removenodeset("/root/main/paminfo/pamlist");
  183. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist");
  184. if(sPamInfo == ""){
  185. //2008-05-14
  186. fChkTgtPatInfo("disable");
  187. model.toggle("case_24hoursstnd");
  188. fSettingPamInfo(sUserFlag);
  189. model.refresh();
  190. //messageBox("환자를 선택하십시요","I");
  191. return;
  192. }else{
  193. fChkTgtPatInfo("able");
  194. fSettingViewCtrl();
  195. }
  196. //alert(sPamInfo);
  197. //alert(model.getValue(xPamInfoPath+"/pid"));
  198. sPid = model.getValue(xPamInfoPath+"/pid"); // 환자번호
  199. sCretNo = model.getValue(xPamInfoPath+"/cretno"); // 환자 일자별 일련번호
  200. sInstcd = model.getValue(xPamInfoPath+"/instcd"); // 기관코드
  201. sIOFlag = model.getValue(xPamInfoPath+"/ioflag"); // 입원/외래 구분
  202. sWardCD = model.getValue(xPamInfoPath+"/wardcd"); // 병동코드
  203. sRoomCD = model.getValue(xPamInfoPath+"/roomcd"); // 병실코드
  204. sIndschacptstat = model.getValue(xPamInfoPath+"/indschacptstat"); //입퇴원구분코드
  205. sDschdd = model.getValue(xPamInfoPath+"/dschdd"); // 퇴원일자
  206. sPatNm = model.getValue(xPamInfoPath+"/hngnm"); // 환자명
  207. sSexAge = model.getValue(xPamInfoPath+"/sex") +"/"+ model.getValue(xPamInfoPath+"/age"); // 성별
  208. sOrdDeptcd = model.getValue(xPamInfoPath+"/orddeptcd");
  209. sMedispclid = model.getValue(xPamInfoPath+"/medispclid");
  210. if(sIOFlag == "O"){
  211. sIndd = model.getValue(xPamInfoPath+"/orddd"); // 진료일자
  212. }else{
  213. sIndd = model.getValue(xPamInfoPath+"/indd"); // 입원일자
  214. }
  215. model.setValue(sCondPath+"/pid", sPid);
  216. model.setValue("/root/main/patinfo/pid", sPid);
  217. model.setValue("/root/main/patinfo/indd", sIndd);
  218. model.setValue("/root/main/patinfo/cretno", sCretNo);
  219. model.setValue("/root/main/patinfo/ordtype", sIOFlag);
  220. model.setValue("/root/main/patinfo/indschacptstat", sIndschacptstat);
  221. model.setValue("/root/main/patinfo/dschdd", sDschdd);
  222. model.setValue("/root/main/patinfo/wardcd", sWardCD);
  223. model.setValue("/root/main/patinfo/roomcd", sRoomCD);
  224. model.setValue("/root/main/patinfo/patnm", sPatNm);
  225. model.setValue("/root/main/patinfo/sexage", sSexAge);
  226. model.setValue("/root/main/patinfo/orddeptcd", sOrdDeptcd);
  227. model.setValue("/root/main/patinfo/medispclid", sMedispclid);
  228. //2008-04-28 삭제
  229. //var patinfo = "등록번호: "+sPid+", 환자명: "+model.getValue(xPamInfoPath+"/hngnm")+", 성별/나이: "+
  230. //model.getValue(xPamInfoPath+"/sex")+"/"+model.getValue(xPamInfoPath+"/age")+", 병실:"+model.getValue(xPamInfoPath+"/roomcd");
  231. //model.setValue(sCondPath+"/patinfo",patinfo);
  232. }else{
  233. sPid = getArrayDataTPR(sParamInfo,1,0); // 등록번호
  234. sIndd = getArrayDataTPR(sParamInfo,1,1); // 입원일자
  235. sCretNo = getArrayDataTPR(sParamInfo,1,2); // 생성번호
  236. sInstcd = getArrayDataTPR(sParamInfo,1,3); // 기관코드
  237. //sJobKindCD = getArrayDataTPR(sParamInfo,1,4); // 직급코드
  238. model.makeValue("/root/send/pid", sPid);
  239. model.makeValue("/root/send/indd", sIndd);
  240. model.makeValue("/root/send/cretno", sCretNo);
  241. model.makeValue("/root/send/instcd", sInstcd);
  242. submit("TRMNR00910", false);
  243. if(getNodesetCount("/root/main/patinfo") < 1){
  244. fChkTgtPatInfo("disable");
  245. fSettingPamInfo(sUserFlag);
  246. //messageBox("환자를 선택하십시요","I");
  247. model.toggle("case_24hoursstnd");
  248. model.refresh();
  249. return;
  250. }else{
  251. fChkTgtPatInfo("able");
  252. fSettingViewCtrl();
  253. }
  254. sIOFlag = model.getValue("/root/main/patinfo/ordtype"); // 입원/외래 구분
  255. sWardCD = model.getValue("/root/main/patinfo/wardcd"); // 병동코드
  256. sRoomCD = model.getValue("/root/main/patinfo/roomcd"); // 병실코드
  257. sIndschacptstat = model.getValue("/root/main/patinfo/indschacptstat"); //입퇴원구분코드
  258. sDschdd = model.getValue("/root/main/patinfo/dschdd"); // 퇴원일자
  259. sOrdDeptcd = model.getValue("/root/main/patinfo/orddeptcd"); // 퇴원일자
  260. sMedispclid = model.getValue("/root/main/patinfo/medispclid"); // 퇴원일자
  261. model.setValue(sCondPath+"/pid", sPid);
  262. }
  263. //외래 환자 임상관찰기록 화면 컨트롤 제어
  264. if(sIOFlag == "O"){
  265. fChkTgtPatInfo("disable");
  266. messageBox("외래 환자는 임상관찰기록이 ","I004");
  267. model.toggle("case_24hoursstnd");
  268. model.refresh();
  269. return;
  270. }
  271. //퇴원/입원 환자 구분에 따른 화면 제어
  272. if(sIndschacptstat == "D"){
  273. rdo_srchflag.visible = false; //퇴원환자 조회구분 숨기기
  274. grp_oderinpatinfo.visible = false;
  275. grp_inpatinfo.visible = false;
  276. grp_outpatinfo.visible = true;
  277. model.setValue(sCondPath+"/recdd",sDschdd);
  278. model.setValue(sCondPath+"/formerrecdd", getDateCalc(sDschdd,1));
  279. }else{
  280. if(pFlag == "init" || pFlag == "reset"){
  281. fSettingUserTypeSrch(sUserFlag);
  282. }
  283. var sRecdate = "";
  284. var sRectime = "";
  285. if(sSpParamInfo == ""){
  286. if(getCurrentTime().substr(0,4) < "0700"){
  287. sRecdate = getDateCalc(getCurrentDate(),1,"-");
  288. }else{
  289. sRecdate = getCurrentDate();
  290. }
  291. }else{
  292. sRecdate = getArrayDataTPR(sSpParamInfo,1,4).substr(0,8);
  293. sRectime = getArrayDataTPR(sSpParamInfo,1,4).substr(8,6);
  294. model.setValue(sCondPath+"/rectm",sRectime);
  295. }
  296. model.setValue(sCondPath+"/recdd",sRecdate);
  297. model.setValue(sCondPath+"/formerrecdd", getDateCalc(model.getValue(sCondPath+"/recdd"),1));
  298. if(pFlag == "init"){
  299. //병동코드 조회
  300. fGetCareComWardList("false");
  301. //진료과 정보 조회(진료 제공 인터페이스)
  302. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/temp/cond/deptgrup/deptgruplist" , "D"); //부서코드 콤보
  303. //내환자 조회
  304. fGetSettingPatientList("false");
  305. }
  306. if(pFlag == "reset" || pFlag == "init"){
  307. if(sUserFlag == "2"){
  308. mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/medispcl" , sOrdDeptcd, "0330", "", "M");
  309. mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/atdoct", sOrdDeptcd, "0330", "", "A");
  310. addComboInstance("/root/temp/cond/doctlist/medispcl", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  311. addComboInstance("/root/temp/cond/doctlist/atdoct", "userid^usernm", "-^전체", "usercombo");//의사콤보 전체항목 추가
  312. //model.setValue("/root/temp/cond/doctlist/atdoct", "-");
  313. fGetCareComDeptPatList(sOrdDeptcd, sMedispclid , '-', model.getValue("/root/init/mypatsrchflag"));
  314. cmb_deptlist.value = sOrdDeptcd;
  315. cmb_medispcllist.value = sMedispclid;
  316. cmb_atdoctlist.value = "-";
  317. cmb_oderpatlist.value = sPid;
  318. ipt_orderpid.value = sPid;
  319. //model.setValue("/root/temp/cond/deptgrup/deptgruplist/dept", sOrdDeptcd);
  320. //model.setValue("/root/temp/cond/doctlist/medispcl/usercombo", sMedispclid);
  321. //model.setValue("/root/temp/cond/doctlist/atdoct/usercombo", "-");
  322. //model.setValue("/root/temp/cond/patientgrup/patientgruplist", sPid);
  323. //model.setValue("/root/main/cond/pid", sPid);
  324. }else{
  325. fGetCareComRoomList(sWardCD);
  326. fGetCareComPatList(sWardCD, sRoomCD);
  327. cmb_wardlist.value = sWardCD;
  328. cmb_roomlist.value = sRoomCD;
  329. cmb_patlist.value = sPid;
  330. ipt_pid.value = sPid;
  331. cmb_mypatlist.value = sPid;
  332. //model.setValue("/root/temp/cond/wardcdgrup/wardcdgruplist", sWardCD);
  333. //model.setValue("/root/temp/cond/roomcdgrup/roomcdgruplist", sRoomCD);
  334. //model.setValue("/root/temp/cond/patientgrup/patientgruplist", sPid);
  335. //model.setValue("/root/main/cond/pid", sPid);
  336. //model.setValue("/root/temp/cond/settingpatient/settingpatientlist", sPid);
  337. }
  338. }else if(pFlag == "patinit"){
  339. cmb_mypatlist.value = sPid;
  340. }
  341. }
  342. //활력징후 대상 환자 환자 V/S 세팅
  343. var vsinfo = "";
  344. if(model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/unstableyn") == "Y"){
  345. vsinfo = model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosdt").substr(0, 4) + "-"
  346. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosdt").substr(4, 2) + "-"
  347. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosdt").substr(6, 2) + " "
  348. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosdt").substr(8, 2) + ":"
  349. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosdt").substr(10, 2) + "\n"
  350. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/highbp" ) + "/"
  351. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/lowbp" ) + "-"
  352. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/mntpulsecnt" ) + "-"
  353. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/mntbrethcnt" ) + "-"
  354. + model.getValue("/root/temp/cond/patientgrup/patientgruplist[pid = "+ sPid +"]/chosbdtp" ) ;
  355. }
  356. model.setValue("/root/temp/vsinfo", vsinfo);
  357. var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
  358. // 2008/04/21 추가
  359. //model.copyNode("/root/send", xPamInfoPath);
  360. model.copyNode("/root/send", "/root/main/patinfo");
  361. chk_24hoursclslist.attribute("cols")= 0;
  362. if(sBizLnkFlag == "Y"){
  363. model.makeValue("/root/send/bizdeptcd", sDutplcecd);
  364. }
  365. if(submit("TRMNR00901", false)){
  366. chk_24hoursclslist.attribute("cols") = getNodesetCnt(model, "/root/init/clsinfo/clslist");
  367. chk_24hoursclslist.refresh();
  368. }
  369. fChageView("24hours");
  370. //fSettingViewCtrl();
  371. }
  372. /**
  373. * @group :
  374. * @ver : 2008.10.14
  375. * @by : 양천덕
  376. * @---------------------------------------------------
  377. * @type : function
  378. * @access : public
  379. * @desc : 사용자별 조회 조건 변경
  380. * @param :
  381. * @return :
  382. * @---------------------------------------------------
  383. */
  384. function fSettingUserTypeSrch(pFlag){
  385. if( pFlag == "1"){
  386. grp_outpatinfo.visible = false;
  387. grp_oderinpatinfo.visible = false;
  388. grp_inpatinfo.visible = true;
  389. }else{
  390. grp_outpatinfo.visible = false;
  391. grp_inpatinfo.visible = false;
  392. grp_oderinpatinfo.visible = true;
  393. }
  394. }
  395. /**
  396. * @group :
  397. * @ver : 2008.10.14
  398. * @by : 양천덕
  399. * @---------------------------------------------------
  400. * @type : function
  401. * @access : public
  402. * @desc : 사용자별 조회 조건 변경
  403. * @param :
  404. * @return :
  405. * @---------------------------------------------------
  406. */
  407. function fChangUserTypeSrch(pFlag){
  408. fTPRviewInit();
  409. fSettingUserTypeSrch(pFlag);
  410. var sSettingId1 = "-";
  411. var sSettingId2 = "-";
  412. if( pFlag == "1"){
  413. fGetCareComRoomList(sUserDeptCd);
  414. model.setValue("/root/temp/cond/wardcdgrup/wardcdgruplist", sUserDeptCd);
  415. cmb_wardlist.refresh();
  416. }else{
  417. //---------(20101204) 경북대
  418. //추가
  419. var ssflag = "";
  420. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  421. //경북대가 아니면
  422. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  423. ssflag = "Y";
  424. }else{
  425. ssflag = "N";
  426. }
  427. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  428. //경북대이면 03%로 체크한다.
  429. if( sJobKindCD.substring(0, 2) == "03"){
  430. ssflag = "Y";
  431. }else{
  432. ssflag = "N";
  433. }
  434. }
  435. //의사의 경우만
  436. //if(sJobKindCD == "0330" || sJobKindCD == "0310"){
  437. if(ssflag=="Y") {
  438. //---------(20101204) 경북대
  439. mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/medispcl" , sUserDeptCd, "0330", "", "M");
  440. mmbfGetUserComboList("/root/send/reqdata", "/root/temp/cond/doctlist/atdoct", sUserDeptCd, "0330", "", "A");
  441. addComboInstance("/root/temp/cond/doctlist/medispcl", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
  442. addComboInstance("/root/temp/cond/doctlist/atdoct", "userid^usernm", "-^전체", "usercombo");//의사콤보 전체항목 추가
  443. if(model.getValue("/root/temp/cond/doctlist/medispcl/usercombo[ userid='"+ sUserId+"']/userid") != ""){
  444. sSettingId1 = sUserId
  445. }
  446. if(model.getValue("/root/temp/cond/doctlist/atdoct/usercombo[ userid='"+ sUserId+"']/userid") != ""){
  447. sSettingId2 = sUserId
  448. }
  449. fGetCareComDeptPatList(sUserDeptCd, sSettingId1 , sSettingId2, model.getValue("/root/init/mypatsrchflag"));
  450. model.setValue("/root/temp/cond/deptgrup/deptgruplist/dept", sUserDeptCd);
  451. model.setValue("/root/temp/cond/doctlist/medispcl/usercombo", sSettingId1);
  452. model.setValue("/root/temp/cond/doctlist/atdoct/usercombo", sSettingId2);
  453. cmb_deptlist.refresh();
  454. cmb_medispcllist.refresh();
  455. cmb_atdoctlist.refresh();
  456. }else{
  457. model.setValue("/root/temp/cond/deptgrup/deptgruplist/dept", "-");
  458. model.removenodeset("/root/temp/cond/doctlist/medispcl/usercombo");
  459. model.removenodeset("/root/temp/cond/doctlist/atdoct/usercombo");
  460. }
  461. }
  462. }
  463. /**
  464. * @group :
  465. * @ver : 2008.09.01
  466. * @by : 양천덕
  467. * @---------------------------------------------------
  468. * @type : function
  469. * @access : public
  470. * @desc : 초기 param 존재 하지 않을 경우 환자 선택화면 설정
  471. * @param :
  472. * @return :
  473. * @---------------------------------------------------
  474. */
  475. function fSettingPamInfo(pFlag){
  476. model.setValue(sCondPath+"/recdd",getCurrentDate());
  477. model.setValue(sCondPath+"/formerrecdd", getDateCalc(model.getValue(sCondPath+"/recdd"),1));
  478. //병동코드 조회
  479. fGetCareComWardList("flase");
  480. //내환자 조회
  481. fGetSettingPatientList("flase");
  482. //진료과 정보 조회
  483. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/temp/cond/deptgrup/deptgruplist" , "D"); //부서코드 콤보
  484. fChangUserTypeSrch(pFlag);
  485. //cmb_wardlist.value = sWardCD;
  486. //cmb_roomlist.value = sRoomCD;
  487. //cmb_patlist.value = sPid;
  488. //ipt_pid.value = sPid;
  489. //cmb_mypatlist.value = sPid;
  490. }
  491. /**
  492. * @group :
  493. * @ver : 2007.07.11
  494. * @by : 이은영
  495. * @---------------------------------------------------
  496. * @type : function
  497. * @access : public
  498. * @desc : 화면 버튼 설정
  499. * @param :
  500. * @return :
  501. * @---------------------------------------------------
  502. */
  503. function fSettingViewCtrl(){
  504. //---------(20101204) 경북대
  505. //추가
  506. var ssflag = "";
  507. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  508. //경북대가 아니면
  509. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  510. ssflag = "Y";
  511. }else{
  512. ssflag = "N";
  513. }
  514. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  515. //경북대이면 03%로 체크한다.
  516. if( sJobKindCD.substring(0, 2) == "03"){
  517. ssflag = "Y";
  518. }else{
  519. ssflag = "N";
  520. }
  521. }
  522. //의사의 경우만
  523. //if(sJobKindCD == "0330" || sJobKindCD == "0310"){
  524. if(ssflag=="Y") {
  525. //---------(20101204) 경북대
  526. btn_24hourscertsave.disabled = true;
  527. btn_24hoursnursitem.disabled = true;
  528. btn_EtrlInpt.disabled = true;
  529. btn_cdisopen.disabled = true;
  530. //btn_4daysnursitem.disabled = true;
  531. //btn_formerdaynursitem.disabled = true;
  532. }else{
  533. btn_24hourscertsave.disabled = false;
  534. btn_24hoursnursitem.disabled = false;
  535. btn_EtrlInpt.disabled = false;
  536. }
  537. }
  538. /**
  539. * @group :
  540. * @ver : 2007.07.11
  541. * @by : 이은영
  542. * @---------------------------------------------------
  543. * @type : function
  544. * @access : public
  545. * @desc : 이전/이후 날짜 Setting
  546. * @param :
  547. * @return :
  548. * @---------------------------------------------------
  549. */
  550. function fDateCalc(pFlag, pVWFlag, pTerm){
  551. var sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
  552. switch(pVWFlag){
  553. case "24hours" :
  554. var sTime = eval(model.getValue(sCondPath+"/timeflag")) * pTerm;
  555. sRecDT = sRecDT.toDate("YYYYMMDDhhmmss");
  556. if(pFlag == "-"){
  557. sRecDT.setMinutes(sRecDT.getMinutes() - sTime);
  558. }else{
  559. sRecDT.getAddDate(sTime, "m");
  560. }
  561. model.setValue(sCondPath+"/recdd",getDateTime(sRecDT,'기본').substr(0,8));
  562. model.setValue(sCondPath+"/rectm",getDateTime(sRecDT,'기본').substr(8,6));
  563. break;
  564. case "4days" :
  565. model.setValue(sCondPath+"/recdd",getDateCalc(model.getValue(sCondPath+"/recdd"),4,pFlag));
  566. break;
  567. }
  568. fSearchClincObsRec(pVWFlag);
  569. }
  570. /**
  571. * @group :
  572. * @ver : 2007.07.11
  573. * @by : 이은영
  574. * @---------------------------------------------------
  575. * @type : function
  576. * @access : public
  577. * @desc : 화면 전환
  578. * @param :
  579. * @return :
  580. * @---------------------------------------------------
  581. */
  582. function fChageView(pFlag){
  583. model.setValue(sCondPath+"/vwctrl_button", pFlag);
  584. switch(pFlag){
  585. case "24hours" :
  586. model.toggle("case_24hoursstnd");
  587. chk_24hoursclslist.visible = true;
  588. chk_supitemcd.visible = false;
  589. //그래프 체크박스 숨김,보임 설정
  590. if(model.getValue(sCondPath+"/vwctrl_24hours") == "A"){
  591. grp_chkbox.visible = true;
  592. }else{
  593. grp_chkbox.visible = false;
  594. }
  595. chk_hourschartinfo.visible = true;
  596. chk_dayschartinfo.visible = false;
  597. model.setValue(sCondPath+"/hourschartinfo","1 2 3 4");
  598. model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
  599. break;
  600. case "4days" :
  601. model.toggle("case_4daysstnd");
  602. chk_24hoursclslist.visible = true;
  603. chk_supitemcd.visible = false;
  604. //그래프 체크박스 숨김,보임 설정
  605. if(model.getValue(sCondPath+"/vwctrl_4days") == "A"){
  606. grp_chkbox.visible = true;
  607. }else{
  608. grp_chkbox.visible = false;
  609. }
  610. chk_hourschartinfo.visible = false;
  611. chk_dayschartinfo.visible = true;
  612. model.setValue(sCondPath+"/dayschartinfo","1 2 3 4");
  613. model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
  614. break;
  615. case "formerday" :
  616. model.toggle("case_formerdaysearch");
  617. chk_24hoursclslist.visible = false;
  618. chk_supitemcd.visible = true;
  619. grp_chkbox.visible = false;
  620. model.setValue(sCondPath+"/formerrecdd", getDateCalc(model.getValue(sCondPath+"/recdd"),1,"-"));
  621. model.setValue(sCondPath+"/hourflag", model.getValue(sCondPath+"/rectm").substr(0,2));
  622. model.setValue(sCondPath+"/formerhourflag",model.getValue(sCondPath+"/rectm").substr(0,2));
  623. model.setValue(sCondPath+"/daycountinfo", "1 2 3 4 5 6");
  624. model.setValue(sCondPath+"/formerclsinfo", "1 2 3 4 5 6");
  625. break;
  626. }
  627. //fSearchClincObsRec(pFlag);
  628. fSearchClincObsRec();
  629. }
  630. /**
  631. * @group :
  632. * @ver : 2007.07.11
  633. * @by : 이은영
  634. * @---------------------------------------------------
  635. * @type : function
  636. * @access : public
  637. * @desc : 시작일자 계산
  638. * @param :
  639. * @return :
  640. * @---------------------------------------------------
  641. */
  642. function fCalStartDate(pDate, pTimeFlag){
  643. var sStartDT = pDate.toDate("YYYYMMDDhhmmss");
  644. var sTime = "";
  645. var sRemainder = 0;
  646. if(pTimeFlag != 1 ){
  647. sRemainder = eval(pDate.substr(10,2))%pTimeFlag;
  648. }
  649. sStartDT.setMinutes(sStartDT.getMinutes()-sRemainder);
  650. return sStartDT;
  651. }
  652. /**
  653. * @group :
  654. * @ver : 2007.07.11
  655. * @by : 이은영
  656. * @---------------------------------------------------
  657. * @type : function
  658. * @access : public
  659. * @desc : 그리드 크기 조절(펼치기/ 접기)
  660. * @param :
  661. * @return :
  662. * @---------------------------------------------------
  663. */
  664. function fControlGridSize(pFlag){
  665. switch(pFlag){
  666. case "24hours" : // 24시간 화면
  667. if(model.getValue(sCondPath+"/vwctrl_24hours") == "A"){ // 펼치기
  668. btn_24hoursvwctrl.value = "접기";
  669. model.setValue(sCondPath+"/vwctrl_24hours","I");
  670. document.all.item("obj_24hourschart").visible = false;
  671. document.all.item("obj_24hourschart").refresh();
  672. //grd_24hoursheader.visible = false;
  673. btn_24hoursup.visible = false;
  674. btn_24hoursdown.visible = false;
  675. grp_chkbox.visible = false;
  676. chk_hourschartinfo.visible = false;
  677. chk_dayschartinfo.visible = false;
  678. grd_24hoursclincobsreclist.attribute("top") = 23;
  679. grd_24hoursclincobsreclist.attribute("height") = 642;
  680. }else{
  681. btn_24hoursvwctrl.value = "펼치기";
  682. model.setValue(sCondPath+"/vwctrl_24hours","A");
  683. document.all.item("obj_24hourschart").visible = true;
  684. document.all.item("obj_24hourschart").refresh();
  685. //grd_24hoursheader.visible = true;
  686. btn_24hoursup.visible = true;
  687. btn_24hoursdown.visible = true;
  688. chk_hourschartinfo.visible = true;
  689. grp_chkbox.visible = true;
  690. chk_hourschartinfo.visible = true;
  691. chk_dayschartinfo.visible = false;
  692. grd_24hoursclincobsreclist.attribute("top") = 282;
  693. grd_24hoursclincobsreclist.attribute("height") = 383;
  694. }
  695. btn_24hoursvwctrl.refresh();
  696. //fCreateHeader(pFlag);
  697. setTree(grd_24hoursclincobsreclist,31,0,false);
  698. break;
  699. case "4days" : // 4일기준 화면
  700. if(model.getValue(sCondPath+"/vwctrl_4days") == "A"){ // 펼치기
  701. btn_4daysvwctrl.value = "접기";
  702. model.setValue(sCondPath+"/vwctrl_4days","I");
  703. document.all.item("obj_4dayschart").visible = false;
  704. document.all.item("obj_4dayschart").refresh(); his
  705. //grd_4dayschartheader.visible = false;
  706. btn_4daysup.visible = false;
  707. btn_4daysdown.visible=false;
  708. grp_chkbox.visible = false;
  709. chk_hourschartinfo.visible = false;
  710. chk_dayschartinfo.visible = false;
  711. grd_4daysclincobsreclist.attribute("top") = 23;
  712. grd_4daysclincobsreclist.attribute("height") = 661;
  713. }else{
  714. btn_4daysvwctrl.value = "펼치기";
  715. model.setValue(sCondPath+"/vwctrl_4days","A");
  716. document.all.item("obj_4dayschart").visible = true;
  717. document.all.item("obj_4dayschart").refresh();
  718. //grd_4dayschartheader.visible = true;
  719. btn_4daysup.visible = true;
  720. btn_4daysdown.visible=true;
  721. chk_dayschartinfo.visible = true;
  722. grp_chkbox.visible = true;
  723. chk_hourschartinfo.visible = false;
  724. chk_dayschartinfo.visible = true;
  725. grd_4daysclincobsreclist.attribute("top") = 282;
  726. grd_4daysclincobsreclist.attribute("height") = 402;
  727. }
  728. btn_4daysvwctrl.refresh();
  729. //fCreateHeader(pFlag);
  730. setTree(grd_4daysclincobsreclist,23,0,false);
  731. break;
  732. }
  733. }
  734. /**
  735. * @group :
  736. * @ver : 2007.08.14
  737. * @by : 이은영
  738. * @---------------------------------------------------
  739. * @type : function
  740. * @access : public
  741. * @desc : 차트 생성
  742. * @param :
  743. * @return :
  744. * @---------------------------------------------------
  745. */
  746. function fMakeChart(pFlag){
  747. var Obj_Chart;
  748. var sColCnt = 0;
  749. var sRecRslt = "";
  750. var sRecRslt1 = "";
  751. var sChartInfo = "";
  752. var sRecDD = "";
  753. var sRecTM = "";
  754. var sRecRsltArr = new Array();
  755. var sRecRslt1Arr = new Array();
  756. var iArrSize = 0;
  757. var iChartPos = 0;
  758. var idx=0;
  759. if(pFlag == "24hours" || pFlag == "4days"){
  760. //2008-05-19 추가
  761. for(var i = 1 ; i <= getNodesetCount(xClincObsRecListPath) ; i++){
  762. if(model.getValue(xClincObsRecListPath +"["+ i +"]/leftaxis") == "1" ){
  763. sChartItem[0] = model.getValue(xClincObsRecListPath +"["+ i +"]/itemcd");
  764. }else if(model.getValue(xClincObsRecListPath +"["+ i +"]/leftaxis") == "2"){
  765. sChartItem[1] = model.getValue(xClincObsRecListPath +"["+ i +"]/itemcd");
  766. }else if(model.getValue(xClincObsRecListPath +"["+ i +"]/leftaxis") == "3" && model.getValue(xClincObsRecListPath +"["+ i +"]/graphappyn")=="Y" ){
  767. sChartItem[2] = model.getValue(xClincObsRecListPath +"["+ i +"]/itemcd");
  768. }else if(model.getValue(xClincObsRecListPath +"["+ i +"]/leftaxis") == "4" && model.getValue(xClincObsRecListPath +"["+ i +"]/graphappyn")=="Y" ){
  769. sChartItem[3] = model.getValue(xClincObsRecListPath +"["+ i +"]/itemcd");
  770. }else if(model.getValue(xClincObsRecListPath +"["+ i +"]/leftaxis") == "5" && model.getValue(xClincObsRecListPath +"["+ i +"]/graphappyn")=="Y" ){
  771. sChartItem[4] = model.getValue(xClincObsRecListPath +"["+ i +"]/itemcd");
  772. }
  773. }
  774. } else {
  775. sChartItem[0] = "99999999"; // 혈압(low)
  776. sChartItem[1] = "99999999"; // 혈압(high)
  777. sChartItem[2] = "99999999"; // 맥박
  778. sChartItem[3] = "99999999"; // 호흡
  779. sChartItem[4] = "99999999"; // 체온
  780. }
  781. switch(pFlag){
  782. case "24hours" :
  783. obj_24hourschart.ClearChart();
  784. sChartInfo = model.getValue(sCondPath+"/hourschartinfo").split(" ");
  785. //obj_24hourschart.RemoveAllSeries();
  786. //obj_24hourschart.Axis.RemoveAllCustom();
  787. //margin 값 정하기
  788. //obj_24hourschart.Panel.MarginTop = 1;
  789. obj_24hourschart.Panel.MarginTop = 2;
  790. obj_24hourschart.Panel.MarginLeft = 12;
  791. obj_24hourschart.Panel.MarginRight = 0;
  792. obj_24hourschart.Panel.MarginBottom = -6;
  793. //obj_24hourschart.Axis.Bottom.TickLength = -5;
  794. //하단축 칸 수 정하기와 눈금 없애기
  795. obj_24hourschart.Axis.Bottom.SetMinMax (0, 24); //하루 동안 좌표를 표현
  796. obj_24hourschart.Axis.Bottom.Increment = 1;
  797. obj_24hourschart.Axis.Bottom.MinorTickCount = 1;
  798. Obj_Chart = obj_24hourschart;
  799. sColCnt = 24;
  800. break;
  801. case "4days" :
  802. obj_4dayschart.ClearChart();
  803. sChartInfo = model.getValue(sCondPath+"/dayschartinfo").split(" ");
  804. //obj_4dayschart.RemoveAllSeries();
  805. //obj_4dayschart.Axis.RemoveAllCustom();
  806. //margin 값 정하기
  807. obj_4dayschart.Panel.MarginTop = 2;
  808. obj_4dayschart.Panel.MarginLeft = 12;
  809. obj_4dayschart.Panel.MarginRight = 0;
  810. obj_4dayschart.Panel.MarginBottom = -6;
  811. //obj_4dayschart.Axis.Bottom.TickLength = 0;
  812. //하단축 칸 수 정하기와 눈금 없애기
  813. obj_4dayschart.Axis.Bottom.SetMinMax (0, 4); //4일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
  814. obj_4dayschart.Axis.Bottom.Increment = 1;
  815. obj_4dayschart.Axis.Bottom.MinorTickCount = 3;
  816. Obj_Chart = obj_4dayschart;
  817. sColCnt = 16;
  818. break;
  819. case "init24hours" :
  820. sChartInfo = model.getValue(sCondPath+"/hourschartinfo").split(" ");
  821. obj_24hourschart.RemoveAllSeries();
  822. obj_24hourschart.Axis.RemoveAllCustom();
  823. //margin 값 정하기
  824. //obj_24hourschart.Panel.MarginTop = 1;
  825. obj_24hourschart.Panel.MarginTop = 2;
  826. obj_24hourschart.Panel.MarginLeft = 12;
  827. obj_24hourschart.Panel.MarginRight = 0;
  828. obj_24hourschart.Panel.MarginBottom = -6;
  829. //obj_24hourschart.Axis.Bottom.TickLength = -5;
  830. //하단축 칸 수 정하기와 눈금 없애기
  831. obj_24hourschart.Axis.Bottom.SetMinMax (0, 12); //하루 동안 좌표를 표현
  832. obj_24hourschart.Axis.Bottom.Increment = 1;
  833. obj_24hourschart.Axis.Bottom.MinorTickCount = 1;
  834. Obj_Chart = obj_24hourschart;
  835. sColCnt = 24;
  836. break;
  837. case "init4days" :
  838. sChartInfo = model.getValue(sCondPath+"/dayschartinfo").split(" ");
  839. obj_4dayschart.RemoveAllSeries();
  840. obj_4dayschart.Axis.RemoveAllCustom();
  841. //margin 값 정하기
  842. obj_4dayschart.Panel.MarginTop = 2;
  843. obj_4dayschart.Panel.MarginLeft = 12;
  844. obj_4dayschart.Panel.MarginRight = 0;
  845. obj_4dayschart.Panel.MarginBottom = -6;
  846. //obj_4dayschart.Axis.Bottom.TickLength = 0;
  847. //하단축 칸 수 정하기와 눈금 없애기
  848. obj_4dayschart.Axis.Bottom.SetMinMax (0, 4); //4일 동안 좌표를 표현 (하루는 DivPerDay만큼 나눠짐)
  849. obj_4dayschart.Axis.Bottom.Increment = 1;
  850. obj_4dayschart.Axis.Bottom.MinorTickCount = 3;
  851. Obj_Chart = obj_4dayschart;
  852. sColCnt = 16;
  853. break;
  854. }
  855. Obj_Chart.Axis.Bottom.AxisPen.Color = 0x000000;
  856. Obj_Chart.Axis.Bottom.Labels.Font.Color = 0xffffff; //Obj_Chart.Panel.Color; //하단 축 눈금 명칭 색을 바탕색으로 하여 보이지 않게 처리
  857. //Obj_Chart.Axis.Bottom.Labels.Font.Color = 0x000000
  858. Obj_Chart.Header.Visible = false;
  859. Obj_Chart.Aspect.View3D = 0; //2d 로 표현하기
  860. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  861. Obj_Chart.Scroll.Enable = true; // scroll 사용하지 않기
  862. Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  863. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  864. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  865. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  866. Obj_Chart.Environment.MouseWheelScroll = true;
  867. // 혈압을 나타내는 막대그래프를 먼저 그려야 맥박, 체온,호흡 점이 막대 그래프에 가려지지 않는다.
  868. var cus_axis1 = Obj_Chart.Axis.AddCustom(false); // 혈압축
  869. Obj_Chart.Axis.Custom(0).AxisPen.Color = 0x0000ff;
  870. //Obj_Chart.Axis.Custom(0).Title.Caption = "혈압/맥박"
  871. Obj_Chart.Axis.Custom(0).Title.Font.Size = 8;
  872. Obj_Chart.Axis.Custom(0).Title.Font.Bold = true;
  873. Obj_Chart.Axis.Custom(0).Title.Angle = 90;
  874. Obj_Chart.Axis.Custom(0).PositionPercent = 0;
  875. Obj_Chart.Axis.Custom(0).StartPosition = 0;
  876. Obj_Chart.Axis.Custom(0).EndPosition = 100;
  877. Obj_Chart.Axis.Custom(0).Automatic = false;
  878. Obj_Chart.Axis.Custom(0).Maximum = 190;
  879. Obj_Chart.Axis.Custom(0).Minimum = 10;
  880. Obj_Chart.Axis.Custom(0).Increment = 20;
  881. var cus_axis2 = Obj_Chart.Axis.AddCustom(false); // 호흡축
  882. Obj_Chart.Axis.Custom(1).AxisPen.Color = 0x00ff00;
  883. //Obj_Chart.Axis.Custom(1).Title.Caption = "호흡";
  884. Obj_Chart.Axis.Custom(1).Title.Font.Size = 8;
  885. Obj_Chart.Axis.Custom(1).Title.Font.Bold = true;
  886. Obj_Chart.Axis.Custom(1).Title.Angle = 90;
  887. Obj_Chart.Axis.Custom(1).PositionPercent = -8;
  888. Obj_Chart.Axis.Custom(1).Automatic = false;
  889. Obj_Chart.Axis.Custom(1).Maximum = 90;
  890. Obj_Chart.Axis.Custom(1).Minimum = 0;
  891. Obj_Chart.Axis.Custom(1).Increment = 10;
  892. var cus_axis3 = Obj_Chart.Axis.AddCustom(false); // 체온축
  893. Obj_Chart.Axis.Custom(2).AxisPen.Color = 0xff0000;
  894. //Obj_Chart.Axis.Custom(2).Title.Caption = "체온";
  895. Obj_Chart.Axis.Custom(2).Title.Font.Size = 8;
  896. Obj_Chart.Axis.Custom(2).Title.Font.Bold = true;
  897. Obj_Chart.Axis.Custom(2).Title.Angle = 90;
  898. Obj_Chart.Axis.Custom(2).PositionPercent = -4;
  899. Obj_Chart.Axis.Custom(2).Automatic = false;
  900. Obj_Chart.Axis.Custom(2).Maximum = 43;
  901. Obj_Chart.Axis.Custom(2).Minimum = 34;
  902. Obj_Chart.Axis.Custom(2).Increment = 1;
  903. Obj_Chart.AddSeries (11); // 혈압
  904. Obj_Chart.AddSeries (0); // 맥박
  905. Obj_Chart.AddSeries (0); // 호흡
  906. Obj_Chart.AddSeries (0); // 체온
  907. Obj_Chart.AddSeries (0); // 38선
  908. Obj_Chart.AddSeries (11); // OP
  909. Obj_Chart.Series(0).VerticalAxisCustom = cus_axis1; // 혈압
  910. Obj_Chart.Series(1).VerticalAxisCustom = cus_axis1; // 맥박
  911. Obj_Chart.Series(2).VerticalAxisCustom = cus_axis2; // 호흡
  912. Obj_Chart.Series(3).VerticalAxisCustom = cus_axis3; // 체온
  913. Obj_Chart.Series(4).VerticalAxisCustom = cus_axis3; // 38선
  914. Obj_Chart.Series(5).VerticalAxisCustom = cus_axis1; // OP
  915. //라인의 굵기를 정해준다.
  916. Obj_Chart.Series(0).asCandle.CandleStyle = 2;
  917. Obj_Chart.Series(0).asCandle.CandleWidth = 4;
  918. Obj_Chart.Series(1).asLine.LinePen.Width = 2;
  919. Obj_Chart.Series(2).asLine.LinePen.Width = 2;
  920. Obj_Chart.Series(3).asLine.LinePen.Width = 2;
  921. Obj_Chart.Series(4).asLine.LinePen.Width = 2;
  922. Obj_Chart.Series(5).asCandle.CandleStyle = 2;
  923. Obj_Chart.Series(5).asCandle.CandleWidth = 4;
  924. Obj_Chart.Series(0).Color = 0x000000; //black 혈압
  925. Obj_Chart.Series(1).Color = 0x0000ff; //red 맥박
  926. Obj_Chart.Series(2).Color = 0x00ff00; //green 호흡
  927. Obj_Chart.Series(3).Color = 0xff0000; //blue 체온
  928. Obj_Chart.Series(4).Color = 0x000000; //black 38선
  929. Obj_Chart.Series(5).Color = 0x000000; //black OP
  930. Obj_Chart.Series(1).asLine.Pointer.Visible = true;
  931. Obj_Chart.Series(1).asLine.Pointer.Style = 1;
  932. Obj_Chart.Series(1).asLine.Pointer.VerticalSize = 3;
  933. Obj_Chart.Series(1).asLine.Pointer.HorizontalSize = 3;
  934. Obj_Chart.Series(2).asLine.Pointer.Visible = true;
  935. Obj_Chart.Series(2).asLine.Pointer.Style = 1;
  936. Obj_Chart.Series(2).asLine.Pointer.VerticalSize = 3;
  937. Obj_Chart.Series(2).asLine.Pointer.HorizontalSize = 3;
  938. Obj_Chart.Series(3).asLine.Pointer.Visible = true;
  939. Obj_Chart.Series(3).asLine.Pointer.Style = 1;
  940. Obj_Chart.Series(3).asLine.Pointer.VerticalSize = 3;
  941. Obj_Chart.Series(3).asLine.Pointer.HorizontalSize = 3;
  942. //depth 정하기
  943. Obj_Chart.Series(1).Depth = 1;
  944. Obj_Chart.Series(2).Depth = 2;
  945. Obj_Chart.Series(3).Depth = 3;
  946. Obj_Chart.Series(4).Depth = 4;
  947. Obj_Chart.Series(5).Depth = 5;
  948. Obj_Chart.Series(5).Depth = 5;
  949. //Obj_Chart.Series(6).Depth = 6;
  950. //38선 그리기
  951. Obj_Chart.Series(4).AddXY (-5, 38.5, "", Obj_Chart.Series(4).Color );
  952. Obj_Chart.Series(4).AddXY (70, 38.5, "", Obj_Chart.Series(4).Color );
  953. /*
  954. 20090715 김홍점 그래프 interval값도 timeflag가 30, 60 일때 10분 단위로 표시
  955. intervalrecynlist 의 substring(recrsltitvl+iCol,14) 값을 세팅한다.
  956. */
  957. if(pFlag == "24hours" || pFlag == "4days"){
  958. var sTime = model.getValue("/root/main/cond/timeflag");
  959. iArrSize = model.getValue("/root/init/minlist/item[cd='"+sTime+"']/gap");
  960. // 그래프 표시
  961. for(var i=0; i<sChartInfo.length; i++){
  962. if( sChartInfo[i] == "") continue;
  963. sChartInfo[i] = eval(sChartInfo[i]);
  964. for(var iCol=1; iCol<=sColCnt; iCol++){
  965. if(sChartInfo[i] == 1){ //막대그래프
  966. Obj_Chart.Series(sChartInfo[i]-1).asCandle.UpCloseColor = 0xffffff;
  967. Obj_Chart.Series(sChartInfo[i]-1).asCandle.DownCloseColor = 0x0000ff;
  968. if(pFlag == "24hours"){
  969. sRecRslt1 = model.getValue(xHoursClincObsRecList+"[itemcd='"+sChartItem[(sChartInfo[i]-1)]+"']/recrslt"+iCol);
  970. sRecRslt = model.getValue(xHoursClincObsRecList+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrslt"+iCol);
  971. if(sRecRslt != "" && sRecRslt1 != "" && fIsNumber(sRecRslt) == true && fIsNumber(sRecRslt1) == true){
  972. //Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle (iCol/2-0.25, eval(sRecRslt1), 0, 0, eval(sRecRslt));
  973. //Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle (iCol/2-0.25, eval(sRecRslt), 0, 0, eval(sRecRslt1));
  974. Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle (iCol-1, eval(sRecRslt), 0, 0, eval(sRecRslt1));
  975. }
  976. if ( sTime == "30" || sTime == "60" ){
  977. sRecRslt1 = model.getValue(xIntervalRecYNListPath+"[itemcd='"+sChartItem[(sChartInfo[i]-1)]+"']/recrsltitvl"+iCol);
  978. sRecRslt = model.getValue(xIntervalRecYNListPath+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrsltitvl"+iCol);
  979. sRecRslt1Arr = sRecRslt1.split(" ");
  980. sRecRsltArr = sRecRslt.split(" ");
  981. idx = 0;
  982. for( var arr = (sHeader[4][iCol]=="00" ? 0 : 3) ; arr < sRecRslt1Arr.length && arr < sRecRsltArr.length ; arr++ ){
  983. iChartPos = (iCol-1) + ( (1/iArrSize)*(idx+1) );
  984. idx++;
  985. if(sRecRslt1Arr[arr] != "0" && sRecRsltArr[arr] != "0" && fIsNumber(sRecRslt1Arr[arr].substr(14)) == true && fIsNumber(sRecRslt1Arr[arr].substr(14)) == true){
  986. Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle (iChartPos, eval(sRecRsltArr[arr].substr(14)), 0, 0, eval(sRecRslt1Arr[arr].substr(14)));
  987. }
  988. }
  989. }
  990. }else{
  991. sRecRslt1 = model.getValue(xDaysClincObsRecList+"[itemcd='"+sChartItem[(sChartInfo[i]-1)]+"']/recrslt"+iCol);
  992. sRecRslt = model.getValue(xDaysClincObsRecList+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrslt"+iCol);
  993. if(sRecRslt != "" && sRecRslt1 != "" && fIsNumber(sRecRslt) == true && fIsNumber(sRecRslt1) == true){
  994. //Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle ((iCol/4)-0.1, eval(sRecRslt1), 0, 0, eval(sRecRslt));
  995. //Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle ((iCol/4)-0.1, eval(sRecRslt), 0, 0, eval(sRecRslt1));
  996. Obj_Chart.Series(sChartInfo[i]-1).asCandle.AddCandle ((iCol/4)-0.25, eval(sRecRslt), 0, 0, eval(sRecRslt1));
  997. }
  998. }
  999. }else{
  1000. if(pFlag == "24hours"){
  1001. sRecRslt = model.getValue(xHoursClincObsRecList+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrslt"+iCol);
  1002. if(sRecRslt != "" && fIsNumber(sRecRslt) == true){
  1003. Obj_Chart.Series(sChartInfo[i]-1).AddXY (iCol-1, eval(sRecRslt), "", Obj_Chart.Series(sChartInfo[i]-1).Color);
  1004. }
  1005. if ( sTime == "30" || sTime == "60" ){
  1006. sRecRslt = model.getValue(xIntervalRecYNListPath+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrsltitvl"+iCol);
  1007. sRecRsltArr = sRecRslt.split(" ");
  1008. idx = 0;
  1009. for( var arr = (sHeader[4][iCol]=="00" ? 0 : 3) ; arr < sRecRsltArr.length ; arr++ ){
  1010. iChartPos = (iCol-1) + ( (1/iArrSize)*(idx+1) );
  1011. idx++;
  1012. if(sRecRsltArr[arr] != "0" && fIsNumber(sRecRsltArr[arr].substr(14)) == true){
  1013. Obj_Chart.Series(sChartInfo[i]-1).AddXY (iChartPos, eval(sRecRsltArr[arr].substr(14)), "", Obj_Chart.Series(sChartInfo[i]-1).Color);
  1014. }
  1015. }
  1016. }
  1017. }else{
  1018. sRecRslt = model.getValue(xDaysClincObsRecList+"[itemcd='"+sChartItem[sChartInfo[i]]+"']/recrslt"+iCol);
  1019. if(sRecRslt != "" && fIsNumber(sRecRslt) == true){
  1020. Obj_Chart.Series(sChartInfo[i]-1).AddXY ((iCol/4)-0.25, eval(sRecRslt), "", Obj_Chart.Series(sChartInfo[i]-1).Color);
  1021. }
  1022. }
  1023. }
  1024. }
  1025. }
  1026. // 수술시간 표시
  1027. Obj_Chart.Series(5).asCandle.UpCloseColor = 0x0000ff;
  1028. Obj_Chart.Series(5).asCandle.DownCloseColor = 0x0000ff;
  1029. Obj_Chart.Series(5).Marks.visible = false;
  1030. var sX = 0;
  1031. var OPChartRow = 0; // 수술
  1032. var sOPX = 0;
  1033. for(var i=1; i<=sColCnt+1; i++){
  1034. if(i == 1 || sRecDD != sHeader[1][i]){
  1035. sRecDD = sHeader[1][i];
  1036. sRecTM = model.getValue(xDayCountListPath+"[recdd ='"+sRecDD+"']/optm");
  1037. //TEST 수술일자
  1038. //sRecDD = "20081011";
  1039. //sRecTM = "1400";
  1040. if(sRecTM == "") continue;
  1041. for(var iCol=1; iCol<=sColCnt+1; iCol++){
  1042. if((sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]) >= (sRecDD+sRecTM) &&
  1043. (sHeader[1][1]+sHeader[3][1]+sHeader[4][1]) <= (sRecDD+sRecTM)){
  1044. sOpPnt = "";
  1045. sOpPnt1 = 0;
  1046. if(model.getValue("/root/main/cond/vwctrl_button") == "24hours"){
  1047. sTimeFlag = model.getValue("/root/main/cond/timeflag");
  1048. if(sRecTM.substr(2,1) == "0"){
  1049. sOpPnt = eval(sRecTM.substr(3,1)) % eval(sTimeFlag) /eval(sTimeFlag);
  1050. }else{
  1051. sOpPnt = eval(sRecTM.substr(2,2)) % eval(sTimeFlag) /eval(sTimeFlag);
  1052. }
  1053. //나머지값이 1일 경우 +1을 해줌
  1054. if(eval(sRecTM.substr(2,2)) % eval(sTimeFlag) == 0){
  1055. sOpPnt = sOpPnt+1;
  1056. }
  1057. }else{
  1058. if(sRecTM.substr(2,1) == "0"){
  1059. sOpPnt1 = eval(sRecTM.substr(3,1));
  1060. }else{
  1061. sOpPnt1 = eval(sRecTM.substr(2,2));
  1062. }
  1063. if(iCol == 2 || iCol == 6 || iCol == 10 || iCol == 14 ){
  1064. if(sRecTM.substr(0,2) == "06"){
  1065. sOpPnt = (iCol - 2);
  1066. }else if(sRecTM.substr(0,2) == "07"){
  1067. sOpPnt = (iCol - 2) + 1 / 8 + sOpPnt1/60/8;
  1068. }else if(sRecTM.substr(0,2) == "08"){
  1069. sOpPnt = (iCol - 2) + 2 / 8 + sOpPnt1/60/8;
  1070. }else if(sRecTM.substr(0,2) == "09"){
  1071. sOpPnt = (iCol - 2) + 3 / 8 + sOpPnt1/60/8;
  1072. }else if(sRecTM.substr(0,2) == "10"){
  1073. sOpPnt = (iCol - 2) + 4 / 8 + sOpPnt1/60/8;
  1074. }else if(sRecTM.substr(0,2) == "11"){
  1075. sOpPnt = (iCol - 2) + 5 / 8 + sOpPnt1/60/8;
  1076. }else if(sRecTM.substr(0,2) == "12"){
  1077. sOpPnt = (iCol - 2) + 6 / 8 + sOpPnt1/60/8;
  1078. }else if(sRecTM.substr(0,2) == "13"){
  1079. sOpPnt = (iCol - 2) + 7 / 8 + sOpPnt1/60/8;
  1080. }else if(sRecTM.substr(0,2) == "14"){
  1081. sOpPnt = (iCol - 1);
  1082. }
  1083. }else if(iCol == 3 || iCol == 7 || iCol == 11 || iCol == 15 ){
  1084. if(sRecTM.substr(0,2) == "14"){
  1085. sOpPnt = (iCol - 2);
  1086. }else if(sRecTM.substr(0,2) == "15"){
  1087. sOpPnt = (iCol - 2) + 1/4 + sOpPnt1/60/4;
  1088. }else if(sRecTM.substr(0,2) == "16"){
  1089. sOpPnt = (iCol - 2) + 2/4 + sOpPnt1/60/4;
  1090. }else if(sRecTM.substr(0,2) == "17"){
  1091. sOpPnt = (iCol - 2) + 3/4 + sOpPnt1/60/4;
  1092. }else if(sRecTM.substr(0,2) == "18"){
  1093. sOpPnt = (iCol - 1);
  1094. }
  1095. }else if(iCol == 4 || iCol == 8 || iCol == 12 || iCol == 16 ){
  1096. if(sRecTM.substr(0,2) == "18"){
  1097. sOpPnt = (iCol - 2);
  1098. }else if(sRecTM.substr(0,2) == "19"){
  1099. sOpPnt = (iCol - 2) + 1/4 + sOpPnt1/60/4;
  1100. }else if(sRecTM.substr(0,2) == "20"){
  1101. sOpPnt = (iCol - 2) + 2/4 + sOpPnt1/60/4;
  1102. }else if(sRecTM.substr(0,2) == "21"){
  1103. sOpPnt = (iCol - 2) + 3/4 + sOpPnt1/60/4;
  1104. }else if(sRecTM.substr(0,2) == "22"){
  1105. sOpPnt = (iCol - 1);
  1106. }
  1107. }else if(iCol == 5 || iCol == 9 || iCol == 13 || iCol == 17 ){
  1108. if(sRecTM.substr(0,2) == "22"){
  1109. sOpPnt = (iCol - 2);
  1110. }else if(sRecTM.substr(0,2) == "23"){
  1111. sOpPnt = (iCol - 2) + 1 / 8 + sOpPnt1/60/8;
  1112. }else if(sRecTM.substr(0,2) == "00"){
  1113. sOpPnt = (iCol - 2) + 2 / 8 + sOpPnt1/60/8;
  1114. }else if(sRecTM.substr(0,2) == "01"){
  1115. sOpPnt = (iCol - 2) + 3 / 8 + sOpPnt1/60/8;
  1116. }else if(sRecTM.substr(0,2) == "02"){
  1117. sOpPnt = (iCol - 2) + 4 / 8 + sOpPnt1/60/8;
  1118. }else if(sRecTM.substr(0,2) == "03"){
  1119. sOpPnt = (iCol - 2) + 5 / 8 + sOpPnt1/60/8;
  1120. }else if(sRecTM.substr(0,2) == "04"){
  1121. sOpPnt = (iCol - 2) + 6 / 8 + sOpPnt1/60/8;
  1122. }else if(sRecTM.substr(0,2) == "05"){
  1123. sOpPnt = (iCol - 2) + 7 / 8 + sOpPnt1/60/8;
  1124. }else if(sRecTM.substr(0,2) == "06"){
  1125. sOpPnt = (iCol - 1);
  1126. }
  1127. }else{
  1128. sOpPnt = (iCol - 1);
  1129. }
  1130. }
  1131. if(pFlag == "24hours"){
  1132. sX = iCol-2+sOpPnt;
  1133. if(iCol < 2){
  1134. sOPX = 110 + (iCol * 41.3) // max = 950;
  1135. }else{
  1136. sOPX = 110 + ((iCol-2) * 41.3) + 24/iCol * 5 // max = 950;
  1137. }
  1138. }else{
  1139. //sX = iCol/4-0.50;
  1140. sX = eval(sOpPnt)/4;
  1141. if(iCol < 2){
  1142. sOPX = 110 + ((iCol -1) * 63.2) // max = 950;
  1143. }else{
  1144. if(iCol == 17){
  1145. sOPX = 110 + ((iCol-2) * 63.2);// max = 950;
  1146. }else{
  1147. sOPX = 110 + ((iCol-2) * 63.2) + 16/iCol * 10 // max = 950;
  1148. }
  1149. }
  1150. }
  1151. Obj_Chart.Series(5).asCandle.AddCandle (sX, 0, 0, 0, 170);
  1152. Obj_Chart.Tools.Add(10);
  1153. Obj_Chart.Tools.Items(OPChartRow).asAnnotation.Text = "OP "+ sRecTM.substr(0,2)+":"+sRecTM.substr(2,2);
  1154. Obj_Chart.Tools.Items(OPChartRow).asAnnotation.Shape.Top= 10;
  1155. Obj_Chart.Tools.Items(OPChartRow).asAnnotation.Shape.Left= sOPX;
  1156. OPChartRow++;
  1157. break;
  1158. }
  1159. }
  1160. }
  1161. }
  1162. }
  1163. }
  1164. /**
  1165. * @group :
  1166. * @ver : 2007.08.16
  1167. * @by : 이은영
  1168. * @---------------------------------------------------
  1169. * @type : function
  1170. * @access : public
  1171. * @desc : 그리드 Header 생성
  1172. * @param :
  1173. * @return :
  1174. * @---------------------------------------------------
  1175. */
  1176. function fCreateHeader(pFlag){
  1177. var sRecDT = "";
  1178. //var sChartCapNm = "";
  1179. var sGridCapNm = "";
  1180. var sTimeFlag = 0;
  1181. var sCDay = new Array();
  1182. var sDayInfo = "";
  1183. var iDayRow = 0;
  1184. var sDayCountInfo = "";
  1185. var sDateList = "";
  1186. sHeader[1] = new Array();
  1187. sHeader[2] = new Array();
  1188. sHeader[3] = new Array();
  1189. sHeader[4] = new Array();
  1190. sHeader[1][0] = "날 짜";
  1191. sHeader[2][0] = "Day count";
  1192. sHeader[3][0] = "시 간";
  1193. sHeader[4][0] = "분";
  1194. model.removenode("/root/send");
  1195. model.makeValue("/root/send/pid", sPid);
  1196. model.makeValue("/root/send/indd", sIndd);
  1197. model.makeValue("/root/send/cretno", sCretNo);
  1198. model.makeValue("/root/send/instcd", sInstcd);
  1199. model.makeValue("/root/send/ioflag", sIOFlag);
  1200. switch(pFlag){
  1201. case "24hours" :
  1202. sTimeFlag = eval(model.getValue(sCondPath+"/timeflag"));
  1203. sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/rectm");
  1204. var sStartDT = fCalStartDate(sRecDT,sTimeFlag);
  1205. var sTime = 0;
  1206. for(var i=1; i<=25; i++){
  1207. if(i>1){
  1208. sStartDT = sStartDT.getAddDate(sTimeFlag,"m");
  1209. }
  1210. sHeader[1][i] = getDateTime(sStartDT,'기본').substr(0,8);
  1211. if(iDayRow == 0 || sCDay[iDayRow-1] != sHeader[1][i]){
  1212. sCDay[iDayRow] = sHeader[1][i];
  1213. iDayRow++;
  1214. }
  1215. sHeader[3][i] = getDateTime(sStartDT,'기본').substr(8,2);
  1216. sHeader[4][i] = getDateTime(sStartDT,'기본').substr(10,2);
  1217. }
  1218. for(var i=0; i<sCDay.length;i++){
  1219. sDayInfo += sCDay[i];
  1220. if(i != sCDay.length-1){
  1221. sDayInfo += ",";
  1222. }
  1223. }
  1224. model.makeValue("/root/send/dayinfo",sDayInfo);
  1225. if(submit("TRMNR00903", false)){ // 2008-07-09
  1226. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  1227. for(var i=1; i<=24; i++){
  1228. sHeader[2][i] = "";
  1229. for(var j=0; j<sDayCountInfo.length; j++){
  1230. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  1231. if(sDayCountInfo[j] == "1"){
  1232. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  1233. }else if(sDayCountInfo[j] == "2"){
  1234. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  1235. }else if(sDayCountInfo[j] == "3"){
  1236. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  1237. }else if(sDayCountInfo[j] == "4"){
  1238. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  1239. }else if(sDayCountInfo[j] == "5"){
  1240. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  1241. }else if(sDayCountInfo[j] == "6"){
  1242. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  1243. }
  1244. }
  1245. }
  1246. }
  1247. for(var iRow=1; iRow<=4; iRow++){
  1248. // if(iRow == 2 && model.getValue(sCondPath+"/vwctrl_24hours") == "A") continue;
  1249. for(var iCol=0; iCol<=24; iCol++){
  1250. if(iRow == 1){
  1251. // sChartCapNm += sHeader[iRow+1][iCol]; // day count
  1252. if(iCol == 0){
  1253. sGridCapNm += sHeader[iRow][iCol]; // 년월일
  1254. }else{
  1255. sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  1256. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  1257. }
  1258. }else if(iRow == 2){ // day count
  1259. sGridCapNm += sHeader[iRow][iCol];
  1260. }else if(iRow == 3){ // 시
  1261. // sChartCapNm += sHeader[iRow][iCol];
  1262. sGridCapNm += sHeader[iRow][iCol];
  1263. if(iCol != 0){
  1264. sGridCapNm += "시";
  1265. // sChartCapNm += "시";
  1266. }
  1267. }else if(iRow == 4){ // 분
  1268. // sChartCapNm += sHeader[iRow][iCol];
  1269. sGridCapNm += sHeader[iRow][iCol];
  1270. if(iCol != 0){
  1271. // sChartCapNm += "분";
  1272. sGridCapNm += "분";
  1273. }
  1274. }
  1275. if(iCol != 24){
  1276. // if(iRow != 2) sChartCapNm += "^";
  1277. sGridCapNm += "^";
  1278. }
  1279. }
  1280. if(iRow != 4){
  1281. // if((iRow%2)== 1) sChartCapNm += "|";
  1282. sGridCapNm += "|";
  1283. }
  1284. }
  1285. // grd_24hoursheader.caption = sChartCapNm;
  1286. grd_24hoursclincobsreclist.caption = sGridCapNm;
  1287. break;
  1288. case "4days" :
  1289. var sStartDD = getDateCalc(model.getValue(sCondPath+"/recdd"),2,"-");
  1290. var sRemainder = 0;
  1291. var i=1;
  1292. for(var iDay=0; iDay<=3; iDay++){
  1293. sRecDD = getDateCalc(sStartDD,iDay,"+");
  1294. sDayInfo += sRecDD;
  1295. if(iDay != 3){
  1296. sDayInfo += ",";
  1297. }
  1298. for(var iTime=1;iTime<= 4; iTime++){
  1299. sHeader[1][i] = sRecDD;
  1300. sHeader[2][i] = "";
  1301. sRemainder = iTime % 4;
  1302. if(sRemainder == 1){
  1303. sHeader[3][i] = "06";
  1304. }else if(sRemainder == 2){
  1305. sHeader[3][i] = "14";
  1306. }else if(sRemainder == 3){
  1307. sHeader[3][i] = "18";
  1308. }else if(sRemainder == 0){
  1309. sHeader[3][i] = "22";
  1310. }
  1311. sHeader[4][i] = "00";
  1312. i++;
  1313. }
  1314. }
  1315. sHeader[1][i] = getDateCalc(sRecDD,1,"+");
  1316. sHeader[2][i] = "";
  1317. sHeader[3][i] = "06";
  1318. sHeader[4][i] = "00";
  1319. model.makeValue("/root/send/dayinfo",sDayInfo);
  1320. if(submit("TRMNR00903", false)){ // 2008-07-09
  1321. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  1322. for(var i=1; i<=16; i++){
  1323. sHeader[2][i] = "";
  1324. for(var j=0; j<sDayCountInfo.length; j++){
  1325. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  1326. if(sDayCountInfo[j] == "1"){
  1327. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  1328. }else if(sDayCountInfo[j] == "2"){
  1329. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  1330. }else if(sDayCountInfo[j] == "3"){
  1331. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  1332. }else if(sDayCountInfo[j] == "4"){
  1333. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  1334. }else if(sDayCountInfo[j] == "5"){
  1335. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  1336. }else if(sDayCountInfo[j] == "6"){
  1337. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  1338. }
  1339. }
  1340. }
  1341. }
  1342. for(var iRow=1; iRow<=3; iRow++){
  1343. // if(iRow == 2 && model.getValue(sCondPath+"/vwctrl_4days") == "A") continue;
  1344. for(var iCol=0; iCol<= 16; iCol++){
  1345. if(iRow == 1){
  1346. // sChartCapNm += sHeader[iRow+1][iCol]; // day count
  1347. if(iCol == 0){
  1348. sGridCapNm += sHeader[iRow][iCol]; // 년월일
  1349. }else{
  1350. sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  1351. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  1352. }
  1353. }else if(iRow == 2){ // day count
  1354. sGridCapNm += sHeader[iRow][iCol];
  1355. }else if(iRow == 3){ // 시
  1356. // sChartCapNm += sHeader[iRow][iCol];
  1357. sGridCapNm += sHeader[iRow][iCol];
  1358. if(iCol != 0){
  1359. sGridCapNm += ":"+sHeader[4][iCol];
  1360. // sChartCapNm += ":"+sHeader[4][iCol];
  1361. }
  1362. }
  1363. if(iCol != 16){
  1364. // if(iRow != 2) sChartCapNm += "^";
  1365. sGridCapNm += "^";
  1366. }
  1367. }
  1368. if(iRow != 3){
  1369. // if(iRow == 1) sChartCapNm += "|";
  1370. sGridCapNm += "|";
  1371. }
  1372. }
  1373. // grd_4dayschartheader.caption = sChartCapNm;
  1374. grd_4daysclincobsreclist.caption = sGridCapNm;
  1375. break;
  1376. case "formerday" :
  1377. sFormerHeader[1] = new Array();
  1378. sFormerHeader[2] = new Array();
  1379. sFormerHeader[3] = new Array();
  1380. sFormerHeader[4] = new Array();
  1381. sFormerHeader[1][0] = "날 짜";
  1382. sFormerHeader[2][0] = "Day count";
  1383. sFormerHeader[3][0] = "시 간";
  1384. sFormerHeader[4][0] = "분";
  1385. var sVWCtrl_Formerday = model.getValue(sCondPath+"/vwctrl_formerday");
  1386. sTimeFlag = 60;
  1387. var sTime = 0;
  1388. var sFormerGridCapNm = "";
  1389. if(sVWCtrl_Formerday == "former" || sVWCtrl_Formerday == "all"){
  1390. var sFormerRecDT = model.getValue(sCondPath+"/formerrecdd")+model.getValue(sCondPath+"/formerhourflag")+"0000";
  1391. var sFormerStartDT = fCalStartDate(sFormerRecDT,sTimeFlag);
  1392. iDayRow = 0;
  1393. for(var i=1; i<=7; i++){
  1394. if(i>1){
  1395. sFormerStartDT = sFormerStartDT.getAddDate(sTimeFlag,"m");
  1396. }
  1397. sFormerHeader[1][i] = getDateTime(sFormerStartDT,'기본').substr(0,8);
  1398. if(iDayRow == 0 || sCDay[iDayRow-1] != sFormerHeader[1][i]){
  1399. sCDay[iDayRow] = sFormerHeader[1][i];
  1400. iDayRow++;
  1401. }
  1402. sFormerHeader[3][i] = getDateTime(sFormerStartDT,'기본').substr(8,2);
  1403. sFormerHeader[4][i] = getDateTime(sFormerStartDT,'기본').substr(10,2);
  1404. }
  1405. sDayInfo = "";
  1406. for(var i=0; i<sCDay.length;i++){
  1407. sDayInfo += sCDay[i];
  1408. if(i != sCDay.length-1){
  1409. sDayInfo += ",";
  1410. }
  1411. }
  1412. model.makeValue("/root/send/dayinfo",sDayInfo);
  1413. if(submit("TRMNR00907", false)){ // 2008-07-09
  1414. sDayCountInfo = model.getValue(sCondPath+"/formerdaycountinfo").split(" ");
  1415. for(var i=1; i<=6; i++){
  1416. sFormerHeader[2][i] = "";
  1417. for(var j=0; j<sDayCountInfo.length; j++){
  1418. if(sFormerHeader[2][i] != "") sFormerHeader[2][i] += ", ";
  1419. if(sDayCountInfo[j] == "1"){
  1420. sFormerHeader[2][i] += "HD:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/hd");
  1421. }else if(sDayCountInfo[j] == "2"){
  1422. sFormerHeader[2][i] +="POD:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/pod");
  1423. }else if(sDayCountInfo[j] == "3"){
  1424. sFormerHeader[2][i] += "ICU:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/icu");
  1425. }else if(sDayCountInfo[j] == "4"){
  1426. sFormerHeader[2][i] += "D:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/d");
  1427. }else if(sDayCountInfo[j] == "5"){
  1428. sFormerHeader[2][i] += "BMT:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/bmt");
  1429. }else if(sDayCountInfo[j] == "6"){
  1430. sFormerHeader[2][i] += "CP:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/cp");
  1431. }
  1432. }
  1433. }
  1434. }
  1435. for(var iRow=1; iRow<=4; iRow++){
  1436. for(var iCol=0; iCol<=6; iCol++){
  1437. if(iRow == 1){
  1438. if(iCol == 0){
  1439. sFormerGridCapNm += sFormerHeader[iRow][iCol];
  1440. }else{
  1441. sFormerGridCapNm += sFormerHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  1442. " ("+sFormerHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  1443. }
  1444. }else if(iRow == 2){ // day count
  1445. sFormerGridCapNm += sFormerHeader[iRow][iCol];
  1446. }else if(iRow == 3){ // 시
  1447. sFormerGridCapNm += sFormerHeader[iRow][iCol];
  1448. if(iCol != 0){
  1449. sFormerGridCapNm += "시";
  1450. }
  1451. }else if(iRow == 4){ // 분
  1452. sFormerGridCapNm += sFormerHeader[iRow][iCol];
  1453. if(iCol != 0){
  1454. sFormerGridCapNm += "분";
  1455. }
  1456. }
  1457. if(iCol != 6){
  1458. sFormerGridCapNm += "^";
  1459. }
  1460. }
  1461. if(iRow != 4){
  1462. sFormerGridCapNm += "|";
  1463. }
  1464. }
  1465. grd_formersclincobsreclist.caption = sFormerGridCapNm;
  1466. }
  1467. iDayRow = 0;
  1468. if(sVWCtrl_Formerday == "stnd" || sVWCtrl_Formerday == "all"){
  1469. sRecDT = model.getValue(sCondPath+"/recdd")+model.getValue(sCondPath+"/hourflag")+"0000";
  1470. var sStartDT = fCalStartDate(sRecDT,sTimeFlag);
  1471. for(var i=1; i<=15; i++){
  1472. if(i>1){
  1473. sStartDT = sStartDT.getAddDate(sTimeFlag,"m");
  1474. }
  1475. sHeader[1][i] = getDateTime(sStartDT,'기본').substr(0,8);
  1476. if(iDayRow == 0 || sCDay[iDayRow-1] != sHeader[1][i]){
  1477. sCDay[iDayRow] = sHeader[1][i];
  1478. iDayRow++;
  1479. }
  1480. sHeader[3][i] = getDateTime(sStartDT,'기본').substr(8,2);
  1481. sHeader[4][i] = getDateTime(sStartDT,'기본').substr(10,2);
  1482. }
  1483. sDayInfo = "";
  1484. for(var i=0; i<sCDay.length;i++){
  1485. sDayInfo += sCDay[i];
  1486. if(i != sCDay.length-1){
  1487. sDayInfo += ",";
  1488. }
  1489. }
  1490. model.makeValue("/root/send/dayinfo",sDayInfo);
  1491. if(submit("TRMNR00903", false)){ // 2008-07-09
  1492. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  1493. for(var i=1; i<=14; i++){
  1494. sHeader[2][i] = "";
  1495. for(var j=0; j<sDayCountInfo.length; j++){
  1496. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  1497. if(sDayCountInfo[j] == "1"){
  1498. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  1499. }else if(sDayCountInfo[j] == "2"){
  1500. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  1501. }else if(sDayCountInfo[j] == "3"){
  1502. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  1503. }else if(sDayCountInfo[j] == "4"){
  1504. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  1505. }else if(sDayCountInfo[j] == "5"){
  1506. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  1507. }else if(sDayCountInfo[j] == "6"){
  1508. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  1509. }
  1510. }
  1511. }
  1512. }
  1513. for(var iRow=1; iRow<=4; iRow++){
  1514. for(var iCol=0; iCol<=14; iCol++){
  1515. if(iRow == 1){
  1516. if(iCol == 0){
  1517. sGridCapNm += sHeader[iRow][iCol]; // 년월일
  1518. }else{
  1519. sGridCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  1520. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  1521. }
  1522. }else if(iRow == 2){ // day count
  1523. sGridCapNm += sHeader[iRow][iCol];
  1524. }else if(iRow == 3){ // 시
  1525. sGridCapNm += sHeader[iRow][iCol];
  1526. if(iCol != 0){
  1527. sGridCapNm += "시";
  1528. }
  1529. }else if(iRow == 4){ // 분
  1530. sGridCapNm += sHeader[iRow][iCol];
  1531. if(iCol != 0){
  1532. sGridCapNm += "분";
  1533. }
  1534. }
  1535. if(iCol != 14){
  1536. sGridCapNm += "^";
  1537. }
  1538. }
  1539. if(iRow != 4){
  1540. sGridCapNm += "|";
  1541. }
  1542. }
  1543. grd_stndclincobsreclist.caption = sGridCapNm;
  1544. }
  1545. break;
  1546. }
  1547. }
  1548. /**
  1549. * @group :
  1550. * @ver : 2007.08.14
  1551. * @by : 이은영
  1552. * @---------------------------------------------------
  1553. * @type : function
  1554. * @access : public
  1555. * @desc : 차트 Down
  1556. * @param :
  1557. * @return :
  1558. * @---------------------------------------------------
  1559. */
  1560. function fDownChart(pFlag){
  1561. var sObj_Chart;
  1562. switch(pFlag){
  1563. case "24hours" :
  1564. sObj_Chart = obj_24hourschart;
  1565. break;
  1566. case "4days" :
  1567. sObj_Chart = obj_4dayschart;
  1568. break;
  1569. }
  1570. sObj_Chart.Axis.Custom(0).Maximum = sObj_Chart.Axis.Custom(0).Maximum-20;
  1571. sObj_Chart.Axis.Custom(0).Minimum = sObj_Chart.Axis.Custom(0).Minimum-20;
  1572. sObj_Chart.Axis.Custom(1).Maximum = sObj_Chart.Axis.Custom(1).Maximum-10;
  1573. sObj_Chart.Axis.Custom(1).Minimum = sObj_Chart.Axis.Custom(1).Minimum-10;
  1574. sObj_Chart.Axis.Custom(2).Maximum = sObj_Chart.Axis.Custom(2).Maximum-1;
  1575. sObj_Chart.Axis.Custom(2).Minimum = sObj_Chart.Axis.Custom(2).Minimum-1;
  1576. for(var i=0; i<sObj_Chart.Tools.Count; i++){
  1577. sObj_Chart.Tools.Items(i).asAnnotation.Shape.Top= sObj_Chart.Tools.Items(i).asAnnotation.Shape.Top - 25;
  1578. }
  1579. }
  1580. /**
  1581. * @group :
  1582. * @ver : 2007.08.14
  1583. * @by : 이은영
  1584. * @---------------------------------------------------
  1585. * @type : function
  1586. * @access : public
  1587. * @desc : 차트 Up
  1588. * @param :
  1589. * @return :
  1590. * @---------------------------------------------------
  1591. */
  1592. function fUpChart(pFlag){
  1593. var sObj_Chart;
  1594. switch(pFlag){
  1595. case "24hours" :
  1596. sObj_Chart = obj_24hourschart;
  1597. break;
  1598. case "4days" :
  1599. sObj_Chart = obj_4dayschart;
  1600. break;
  1601. }
  1602. sObj_Chart.Axis.Custom(0).Maximum = sObj_Chart.Axis.Custom(0).Maximum+20; // 맥박
  1603. sObj_Chart.Axis.Custom(0).Minimum = sObj_Chart.Axis.Custom(0).Minimum+20;
  1604. sObj_Chart.Axis.Custom(1).Maximum = sObj_Chart.Axis.Custom(1).Maximum+10;
  1605. sObj_Chart.Axis.Custom(1).Minimum = sObj_Chart.Axis.Custom(1).Minimum+10;
  1606. sObj_Chart.Axis.Custom(2).Maximum = sObj_Chart.Axis.Custom(2).Maximum+1;
  1607. sObj_Chart.Axis.Custom(2).Minimum = sObj_Chart.Axis.Custom(2).Minimum+1;
  1608. for(var i=0; i<sObj_Chart.Tools.Count; i++){
  1609. sObj_Chart.Tools.Items(i).asAnnotation.Shape.Top= sObj_Chart.Tools.Items(i).asAnnotation.Shape.Top + 25;
  1610. }
  1611. }
  1612. /**
  1613. * @group :
  1614. * @ver : 2007.08.16
  1615. * @by : 이은영
  1616. * @---------------------------------------------------
  1617. * @type : function
  1618. * @access : public
  1619. * @desc : 임상관찰 기록 조회
  1620. * @param :
  1621. * @return :
  1622. * @---------------------------------------------------
  1623. */
  1624. function fSearchClincObsRec(pClsFlag){
  1625. if(model.getValue("/root/main/patinfo/pid") == ""){
  1626. messageBox("환자를 선택하십시요","I");
  1627. return;
  1628. }
  1629. var sStrTime = "";
  1630. var sRecCnt = 0;
  1631. var sItemCD = "";
  1632. var sItemSeqNo = "";
  1633. var pFlag = model.getValue(sCondPath+"/vwctrl_button");
  1634. var sTimeFlag = model.getValue(sCondPath+"/timeflag");
  1635. var sRecDd = model.getValue(sCondPath+"/recdd");
  1636. fCreateHeader(pFlag);
  1637. model.removenode("/root/send");
  1638. model.makeValue("/root/send/pid", sPid);
  1639. model.makeValue("/root/send/indd", sIndd);
  1640. model.makeValue("/root/send/cretno", sCretNo);
  1641. model.makeValue("/root/send/instcd", sInstcd);
  1642. model.makeValue("/root/send/timeflag", sTimeFlag);
  1643. model.makeValue("/root/send/srchdd",sRecDd );//20090730 김홍점 [임상관찰기록] 삽관, 기구 관련 그룹정보 연동 시 삽입(적용)일 및 적용일수 정보 조회를 위한 기준일자
  1644. //model.makeValue("/root/send/ioflag", sIOFlag);
  1645. model.makeValue("/root/send/fromdt",sHeader[1][1]+sHeader[3][1]+sHeader[4][1]+"00");
  1646. model.removenodeset(xHoursClincObsRecList);
  1647. model.removenodeset(xDaysClincObsRecList);
  1648. model.removenodeSet(xClincObsRecListPath);
  1649. model.removenodeset(xFormerRecPath);
  1650. switch(pFlag){
  1651. case "24hours" :
  1652. var iHoursRecRow = 0;
  1653. var iHoursDataRow = 0;
  1654. var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
  1655. model.makeValue("/root/send/todt",sHeader[1][25]+sHeader[3][25]+sHeader[4][25]+"00");
  1656. model.makeValue("/root/send/recflag", "24hours");
  1657. for(var i=1; i <= 25; i++){
  1658. if(sStrTime == ""){
  1659. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1660. }else{
  1661. sStrTime += ","+sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1662. }
  1663. }
  1664. model.makeValue("/root/send/strtime", sStrTime);
  1665. if(sBizLnkFlag == "Y"){
  1666. model.makeValue("/root/send/bizdeptcd", sDutplcecd);
  1667. }
  1668. if(pClsFlag == "selectedcls"){
  1669. model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/hoursclsinfo"));
  1670. }else{
  1671. model.setValue(sCondPath+"/hoursclsinfo","");
  1672. }
  1673. grd_24hoursclincobsreclist.rebuild();
  1674. submit("TRMNR00901", false); // 2008-07-09 20090715 김홍점 timeflag가 30, 60인경우 사이시간들에 대한 그래프값 조회
  1675. submit("TRMNR00902", false); // 2008-07-09
  1676. chk_24hoursclslist.attribute("cols") = getNodesetCnt(model, "/root/init/clsinfo/clslist");
  1677. chk_24hoursclslist.refresh();
  1678. break;
  1679. case "4days" :
  1680. var iDaysRecRow = 0;
  1681. var iDaysDataRow = 0;
  1682. model.makeValue("/root/send/todt",sHeader[1][17]+sHeader[3][17]+sHeader[4][17]+"00");
  1683. if(pClsFlag == "selectedcls"){
  1684. model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/hoursclsinfo"));
  1685. }else{
  1686. model.setValue(sCondPath+"/hoursclsinfo","");
  1687. }
  1688. for(var i=1;i<= 17; i++){
  1689. if(sStrTime == ""){
  1690. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1691. }else{
  1692. sStrTime += ","+sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1693. }
  1694. }
  1695. //sStrTime += "," + getDateCalc(sHeader[1][1],4,"+") + "060000";
  1696. model.makeValue("/root/send/strtime", sStrTime);
  1697. model.makeValue("/root/send/recflag", "4days");
  1698. grd_4daysclincobsreclist.rebuild();
  1699. submit("TRMNR00904", false); // 2008-07-09
  1700. break;
  1701. case "formerday":
  1702. var sVWCtrl_Formerday = model.getValue(sCondPath+"/vwctrl_formerday");
  1703. if(sVWCtrl_Formerday == "stnd" || sVWCtrl_Formerday == "all"){
  1704. model.removenodeset(xStnddayClincObsRecListPath);
  1705. model.makeValue("/root/send/todt",sHeader[1][15]+sHeader[3][15]+sHeader[4][15]+"00");
  1706. if(pClsFlag == "selectedcls"){
  1707. model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/formerclsinfo"));
  1708. }else{
  1709. model.setValue(sCondPath+"/formerclsinfo","");
  1710. }
  1711. sStrTime == ""
  1712. for(var i=1; i <= 14 ; i++){
  1713. if(sStrTime == ""){
  1714. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1715. }else{
  1716. sStrTime += ","+sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  1717. }
  1718. }
  1719. model.makeValue("/root/send/strtime", sStrTime);
  1720. model.makeValue("/root/send/recflag", "formerday");
  1721. model.makeValue("/root/send/srchdd",sRecDd );//20090730 김홍점 [임상관찰기록] 삽관, 기구 관련 그룹정보 연동 시 삽입(적용)일 및 적용일수 정보 조회를 위한 기준일자
  1722. grd_stndclincobsreclist.rebuild();
  1723. submit("TRMNR00905", false); // 2008-07-09
  1724. }
  1725. if(sVWCtrl_Formerday == "former" || sVWCtrl_Formerday == "all"){
  1726. model.removenodeset(xFormerdayClincObsRecListPath);
  1727. sStrTime = "";
  1728. model.makeValue("/root/send/fromdt",sFormerHeader[1][1]+sFormerHeader[3][1]+sFormerHeader[4][1]+"00");
  1729. model.makeValue("/root/send/todt",sFormerHeader[1][7]+sFormerHeader[3][7]+sFormerHeader[4][7]+"00");
  1730. if(pClsFlag == "selectedcls"){
  1731. model.makeValue("/root/send/clsinfo", model.getValue(sCondPath+"/formerclsinfo"));
  1732. }else{
  1733. model.setValue(sCondPath+"/formerclsinfo","");
  1734. }
  1735. sStrTime == ""
  1736. for(var i=1;i<= 7; i++){
  1737. if(sStrTime == ""){
  1738. sStrTime += sFormerHeader[1][i]+sFormerHeader[3][i]+sFormerHeader[4][i]+"00";
  1739. }else{
  1740. sStrTime += ","+sFormerHeader[1][i]+sFormerHeader[3][i]+sFormerHeader[4][i]+"00";
  1741. }
  1742. }
  1743. model.makeValue("/root/send/strtime", sStrTime);
  1744. model.makeValue("/root/send/recflag", "formerday");
  1745. model.makeValue("/root/send/srchdd",model.getValue(sCondPath+"/formerrecdd") );//20090730 김홍점 [임상관찰기록] 삽관, 기구 관련 그룹정보 연동 시 삽입(적용)일 및 적용일수 정보 조회를 위한 기준일자
  1746. grd_formersclincobsreclist.rebuild();
  1747. submit("TRMNR00906", false); // 2008-07-09
  1748. }
  1749. break;
  1750. }
  1751. fSettingClincObsRec(pFlag);
  1752. }
  1753. /**
  1754. * @group :
  1755. * @ver : 2007.08.21
  1756. * @by : 이은영
  1757. * @---------------------------------------------------
  1758. * @type : function
  1759. * @access : public
  1760. * @desc : 셀이 포커스를 얻을 때 발생
  1761. * @param :
  1762. * @return :
  1763. * @---------------------------------------------------
  1764. */
  1765. function fEnterGridCell(pFlag){
  1766. var iRow = 0;
  1767. var iCol = 0;
  1768. var iRecRow = 0;
  1769. var sRecFromDT = "";
  1770. var sRecToDT = "";
  1771. var sRecDT = "";
  1772. var sAttrCD = "";
  1773. var insComboNode = 0;
  1774. switch(pFlag){
  1775. case "24hours" :
  1776. iRecRow = grd_24hoursclincobsreclist.row - grd_24hoursclincobsreclist.fixedrows+1;
  1777. iRow = grd_24hoursclincobsreclist.row;
  1778. iCol = grd_24hoursclincobsreclist.col;
  1779. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  1780. sRecFromDT = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("recfromdt"));
  1781. sRecToDT = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("rectodt"));
  1782. sAttrCD = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("attrcd"));
  1783. sReChartFlag = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("reccharflag"));
  1784. //추가
  1785. if(model.getValue("/root/main/cond/cmbstatusx") != "0" && model.getValue("/root/main/cond/cmbstatusy") != "0"){
  1786. if(sReChartFlag == "A"){
  1787. var cmbstatusx = model.getValue("/root/main/cond/cmbstatusx");
  1788. var cmbstatusy = model.getValue("/root/main/cond/cmbstatusy");
  1789. var cmbRecRow = cmbstatusx - grd_24hoursclincobsreclist.fixedrows+1;
  1790. var cmbAttrCD = model.getValue(xHoursClincObsRecList+"["+cmbRecRow+"]/attrcd");
  1791. grd_24hoursclincobsreclist.cellComboNodeset(cmbstatusx,cmbstatusy) = sAttrListPath1+"[supcd='"+cmbAttrCD+"']";
  1792. cmbstatusx = "0";
  1793. cmbstatusy = "0";
  1794. }else{
  1795. cmbstatusx = "0";
  1796. cmbstatusy = "0";
  1797. }
  1798. }
  1799. // 의사의 경우
  1800. //---------(20101204) 경북대
  1801. //추가
  1802. var ssflag = "";
  1803. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  1804. //경북대가 아니면
  1805. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  1806. ssflag = "Y";
  1807. }else{
  1808. ssflag = "N";
  1809. }
  1810. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  1811. //경북대이면 03%로 체크한다.
  1812. if( sJobKindCD.substring(0, 2) == "03"){
  1813. ssflag = "Y";
  1814. }else{
  1815. ssflag = "N";
  1816. }
  1817. }
  1818. //의사의 경우만
  1819. //if(sJobKindCD == "30" ){
  1820. if(ssflag=="Y") {
  1821. //---------(20101204) 경북대
  1822. grd_24hoursclincobsreclist.combo.button.visible = false;
  1823. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols,iRow, grd_24hoursclincobsreclist.cols-1) = true;
  1824. return;
  1825. }
  1826. if(sReChartFlag =="A" && sAttrCD != ""){
  1827. model.removenodeSet(sAttrListPath);
  1828. insComboNode = 1;
  1829. for(var i = 1 ; i <= getNodesetCount(sAttrListPath1) ; i ++){
  1830. if(sAttrCD == model.getValue(sAttrListPath1+"["+i+"]/supcd") ){
  1831. // if(insComboNode == 1){
  1832. // model.makeNode(sAttrListPath);
  1833. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  1834. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  1835. // }
  1836. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", model.getValue(sAttrListPath1+"["+i+"]/attrdesc"));
  1837. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", model.getValue(sAttrListPath1+"["+i+"]/attrcd"));
  1838. insComboNode++;
  1839. }
  1840. }
  1841. if ( insComboNode > 1 ){
  1842. model.makeNode(sAttrListPath);
  1843. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  1844. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  1845. }
  1846. model.setValue("/root/main/cond/cmbstatusx",iRow );
  1847. model.setValue("/root/main/cond/cmbstatusy",iCol );
  1848. grd_24hoursclincobsreclist.combo.button.visible = true;
  1849. grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath;
  1850. grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col)-20;
  1851. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  1852. model.setFocus("body");
  1853. grd_24hoursclincobsreclist.row = iRow;
  1854. grd_24hoursclincobsreclist.col = iCol;
  1855. //model.setFocus("grd_24hoursclincobsreclist");
  1856. }else{
  1857. //grd_24hoursclincobsreclist.colAttribute(iCol, "type") = "input";
  1858. grd_24hoursclincobsreclist.combo.button.visible = false;
  1859. //grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListInitPath;
  1860. grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col);
  1861. //model.setFocus("body");
  1862. //model.setFocus("grd_24hoursclincobsreclist");
  1863. }
  1864. //2008-05-21 멀티 선택이 되지 않아 삭제(콤보 변경이 안됌)
  1865. //model.setFocus("body");
  1866. //model.setFocus("grd_24hoursclincobsreclist");
  1867. break;
  1868. case "4days" :
  1869. iRecRow = grd_4daysclincobsreclist.row - grd_4daysclincobsreclist.fixedrows+1;
  1870. iRow = grd_4daysclincobsreclist.row;
  1871. iCol = grd_4daysclincobsreclist.col;
  1872. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  1873. sRecFromDT = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("recfromdt"));
  1874. sRecToDT = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("rectodt"));
  1875. sAttrCD = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("attrcd"));
  1876. sReChartFlag = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("reccharflag"));
  1877. //추가
  1878. if(model.getValue("/root/main/cond/cmbstatusx") != "0" && model.getValue("/root/main/cond/cmbstatusy") != "0"){
  1879. if(sReChartFlag == "A"){
  1880. var cmbstatusx = model.getValue("/root/main/cond/cmbstatusx");
  1881. var cmbstatusy = model.getValue("/root/main/cond/cmbstatusy");
  1882. var cmbRecRow = cmbstatusx - grd_4daysclincobsreclist.fixedrows+1;
  1883. var cmbAttrCD = model.getValue(xDaysClincObsRecList+"["+cmbRecRow+"]/attrcd");
  1884. grd_4daysclincobsreclist.cellComboNodeset(cmbstatusx,cmbstatusy) = sAttrListPath1+"[supcd='"+cmbAttrCD+"']";
  1885. cmbstatusx = "0";
  1886. cmbstatusy = "0";
  1887. }else{
  1888. cmbstatusx = "0";
  1889. cmbstatusy = "0";
  1890. }
  1891. }
  1892. //---------(20101204) 경북대
  1893. //추가
  1894. var ssflag = "";
  1895. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  1896. //경북대가 아니면
  1897. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  1898. ssflag = "Y";
  1899. }else{
  1900. ssflag = "N";
  1901. }
  1902. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  1903. //경북대이면 03%로 체크한다.
  1904. if( sJobKindCD.substring(0, 2) == "03"){
  1905. ssflag = "Y";
  1906. }else{
  1907. ssflag = "N";
  1908. }
  1909. }
  1910. // 의사의 경우
  1911. //if(sJobKindCD == "30"){
  1912. if(ssflag=="Y") {
  1913. //---------(20101204) 경북대
  1914. grd_4daysclincobsreclist.combo.button.visible = false;
  1915. grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  1916. return;
  1917. }
  1918. if(sReChartFlag =="A" && sAttrCD != ""){
  1919. model.removenodeSet(sAttrListPath);
  1920. insComboNode = 1;
  1921. for(var i = 1 ; i <= getNodesetCount(sAttrListPath1) ; i ++){
  1922. if(sAttrCD == model.getValue(sAttrListPath1+"["+i+"]/supcd") ){
  1923. // var insComboNode = eval(getNodesetCount(sAttrListPath)) + 1 ;
  1924. // if(insComboNode == 1){
  1925. // model.makeNode(sAttrListPath);
  1926. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  1927. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  1928. // insComboNode++;
  1929. // }
  1930. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", model.getValue(sAttrListPath1+"["+i+"]/attrdesc"));
  1931. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", model.getValue(sAttrListPath1+"["+i+"]/attrcd"));
  1932. insComboNode++;
  1933. }
  1934. }
  1935. if ( insComboNode > 1 ){
  1936. model.makeNode(sAttrListPath);
  1937. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  1938. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  1939. }
  1940. model.setValue("/root/main/cond/cmbstatusx",iRow );
  1941. model.setValue("/root/main/cond/cmbstatusy",iCol );
  1942. grd_4daysclincobsreclist.combo.button.visible = true;
  1943. grd_4daysclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath;
  1944. grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col)-20;
  1945. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  1946. model.setFocus("body");
  1947. grd_4daysclincobsreclist.row = iRow;
  1948. grd_4daysclincobsreclist.col = iCol;
  1949. }else{
  1950. grd_4daysclincobsreclist.combo.button.visible = false;
  1951. grd_4daysclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col);
  1952. }
  1953. // if(eval(model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/depth")) == 1){
  1954. // grd_4daysclincobsreclist.combo.button.visible = false;
  1955. // grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  1956. // }else{
  1957. // //2008-05-21 변경
  1958. // //if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  1959. // if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/reccharflag") == "C" ){
  1960. // if(model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/attrcd") == ""){
  1961. // grd_4daysclincobsreclist.combo.button.visible = false;
  1962. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col);
  1963. // }
  1964. // grd_4daysclincobsreclist.isReadOnly(iRow,iCol) = true;
  1965. // }else{
  1966. //
  1967. //
  1968. // if(sReChartFlag =="A" && sAttrCD != ""){ //속성이 존재하는 경우, 기록구분이 주체인 항목
  1969. // model.setValue("/root/main/cond/cmbstatusx",iRow );
  1970. // model.setValue("/root/main/cond/cmbstatusy",iCol );
  1971. //
  1972. // grd_4daysclincobsreclist.combo.button.visible = true;
  1973. // grd_4daysclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  1974. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col)-20;
  1975. //
  1976. // //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  1977. // model.setFocus("body");
  1978. // model.setFocus("grd_4daysclincobsreclist");
  1979. // }else{
  1980. // grd_4daysclincobsreclist.combo.button.visible = false;
  1981. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col);
  1982. // }
  1983. // }
  1984. // }
  1985. //2008-05-21 멀티 선택이 되지 않아 삭제(콤보 변경이 안됌)
  1986. //model.setFocus("body");
  1987. //model.setFocus("grd_4daysclincobsreclist");
  1988. break;
  1989. case "stnd":
  1990. iRecRow = grd_stndclincobsreclist.row - grd_stndclincobsreclist.fixedrows+1;
  1991. iRow = grd_stndclincobsreclist.row;
  1992. iCol = grd_stndclincobsreclist.col;
  1993. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  1994. sRecFromDT = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("recfromdt"));
  1995. sRecToDT = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("rectodt"));
  1996. sAttrCD = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("attrcd"));
  1997. sReChartFlag = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("reccharflag"));
  1998. if(model.getValue("/root/main/cond/cmbstatusx") != "0" && model.getValue("/root/main/cond/cmbstatusy") != "0"){
  1999. if(sReChartFlag == "A"){
  2000. var cmbstatusx = model.getValue("/root/main/cond/cmbstatusx");
  2001. var cmbstatusy = model.getValue("/root/main/cond/cmbstatusy");
  2002. var cmbRecRow = cmbstatusx - grd_stndclincobsreclist.fixedrows+1;
  2003. var cmbAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+cmbRecRow+"]/attrcd");
  2004. grd_stndclincobsreclist.cellComboNodeset(cmbstatusx,cmbstatusy) = sAttrListPath1+"[supcd='"+cmbAttrCD+"']";
  2005. cmbstatusx = "0";
  2006. cmbstatusy = "0";
  2007. }else{
  2008. cmbstatusx = "0";
  2009. cmbstatusy = "0";
  2010. }
  2011. }
  2012. //---------(20101204) 경북대
  2013. //추가
  2014. var ssflag = "";
  2015. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  2016. //경북대가 아니면
  2017. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  2018. ssflag = "Y";
  2019. }else{
  2020. ssflag = "N";
  2021. }
  2022. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  2023. //경북대이면 03%로 체크한다.
  2024. if( sJobKindCD.substring(0, 2) == "03"){
  2025. ssflag = "Y";
  2026. }else{
  2027. ssflag = "N";
  2028. }
  2029. }
  2030. //원본:의사의 경우만
  2031. //if(sJobKindCD == "30"){
  2032. if(ssflag=="Y") {
  2033. //---------(20101204) 경북대
  2034. grd_stndclincobsreclist.combo.button.visible = false;
  2035. grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols,iRow, grd_stndclincobsreclist.cols-1) = true;
  2036. return;
  2037. }
  2038. if(sReChartFlag =="A" && sAttrCD != ""){
  2039. model.removenodeSet(sAttrListPath);
  2040. insComboNode = 1;
  2041. for(var i = 1 ; i <= getNodesetCount(sAttrListPath1) ; i ++){
  2042. if(sAttrCD == model.getValue(sAttrListPath1+"["+i+"]/supcd") ){
  2043. // var insComboNode = eval(getNodesetCount(sAttrListPath)) + 1 ;
  2044. // if(insComboNode == 1){
  2045. // model.makeNode(sAttrListPath);
  2046. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  2047. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  2048. // insComboNode++;
  2049. // }
  2050. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", model.getValue(sAttrListPath1+"["+i+"]/attrdesc"));
  2051. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", model.getValue(sAttrListPath1+"["+i+"]/attrcd"));
  2052. insComboNode++;
  2053. }
  2054. }
  2055. if ( insComboNode > 1 ){
  2056. model.makeNode(sAttrListPath);
  2057. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  2058. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  2059. }
  2060. model.setValue("/root/main/cond/cmbstatusx",iRow );
  2061. model.setValue("/root/main/cond/cmbstatusy",iCol );
  2062. grd_stndclincobsreclist.combo.button.visible = true;
  2063. grd_stndclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath;
  2064. grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col)-20;
  2065. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  2066. model.setFocus("body");
  2067. grd_stndclincobsreclist.row = iRow;
  2068. grd_stndclincobsreclist.col = iCol;
  2069. }else{
  2070. grd_stndclincobsreclist.combo.button.visible = false;
  2071. grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  2072. }
  2073. // if(eval(model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/depth")) == 1){
  2074. // grd_stndclincobsreclist.combo.button.visible = false;
  2075. // grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols,iRow, grd_stndclincobsreclist.cols-1) = true;
  2076. // }else{
  2077. // //2008-05-21 변경
  2078. // //if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/recyn") == "N"){
  2079. // if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/reccharflag") == "C"){
  2080. // if(model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/attrcd") == ""){
  2081. // grd_stndclincobsreclist.combo.button.visible = false;
  2082. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  2083. // }
  2084. // grd_stndclincobsreclist.isReadOnly(iRow,iCol) = true;
  2085. // }else{
  2086. //
  2087. // if(sReChartFlag =="A" && sAttrCD != ""){ //속성이 존재하는 경우, 기록구분이 주체인 항목
  2088. // model.setValue("/root/main/cond/cmbstatusx",iRow );
  2089. // model.setValue("/root/main/cond/cmbstatusy",iCol );
  2090. //
  2091. // grd_stndclincobsreclist.combo.button.visible = true;
  2092. // grd_stndclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  2093. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col)-20;
  2094. //
  2095. // //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  2096. // model.setFocus("body");
  2097. // model.setFocus("grd_stndclincobsreclist");
  2098. // }else{
  2099. // grd_stndclincobsreclist.combo.button.visible = false;
  2100. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  2101. // }
  2102. // }
  2103. // }
  2104. //2008-05-21 멀티 선택이 되지 않아 삭제(콤보 변경이 안됌)
  2105. //model.setFocus("body");
  2106. //model.setFocus("grd_stndclincobsreclist");
  2107. break;
  2108. case "former":
  2109. iRecRow = grd_formersclincobsreclist.row - grd_formersclincobsreclist.fixedrows+1;
  2110. iRow = grd_formersclincobsreclist.row;
  2111. iCol = grd_formersclincobsreclist.col;
  2112. sRecDT = sFormerHeader[1][iCol]+sFormerHeader[3][iCol]+sFormerHeader[4][iCol]+"59";
  2113. sRecFromDT = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("recfromdt"));
  2114. sRecToDT = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("rectodt"));
  2115. sAttrCD = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("attrcd"));
  2116. sReChartFlag = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("reccharflag"));
  2117. if(model.getValue("/root/main/cond/cmbstatusx") != "0" && model.getValue("/root/main/cond/cmbstatusy") != "0"){
  2118. if(sReChartFlag == "A"){
  2119. var cmbstatusx = model.getValue("/root/main/cond/cmbstatusx");
  2120. var cmbstatusy = model.getValue("/root/main/cond/cmbstatusy");
  2121. var cmbRecRow = cmbstatusx - grd_formersclincobsreclist.fixedrows+1;
  2122. var cmbAttrCD = model.getValue(xFormerdayClincObsRecListPath+"["+cmbRecRow+"]/attrcd");
  2123. grd_formersclincobsreclist.cellComboNodeset(cmbstatusx,cmbstatusy) = xFormerAttrListPath1+"[supcd='"+cmbAttrCD+"']";
  2124. cmbstatusx = "0";
  2125. cmbstatusy = "0";
  2126. }else{
  2127. cmbstatusx = "0";
  2128. cmbstatusy = "0";
  2129. }
  2130. }
  2131. //---------(20101204) 경북대
  2132. //추가
  2133. var ssflag = "";
  2134. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  2135. //경북대가 아니면
  2136. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  2137. ssflag = "Y";
  2138. }else{
  2139. ssflag = "N";
  2140. }
  2141. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  2142. //경북대이면 03%로 체크한다.
  2143. if( sJobKindCD.substring(0, 2) == "03"){
  2144. ssflag = "Y";
  2145. }else{
  2146. ssflag = "N";
  2147. }
  2148. }
  2149. //원본:의사의 경우만
  2150. //if(sJobKindCD == "30"){
  2151. if(ssflag=="Y") {
  2152. //---------(20101204) 경북대
  2153. grd_formersclincobsreclist.combo.button.visible = false;
  2154. grd_formersclincobsreclist.isReadOnly(iRow,grd_formersclincobsreclist.fixedCols,iRow, grd_formersclincobsreclist.cols-1) = true;
  2155. return;
  2156. }
  2157. if(sReChartFlag =="A" && sAttrCD != ""){
  2158. model.removenodeSet(sAttrListPath);
  2159. insComboNode = 1;
  2160. for(var i = 1 ; i <= getNodesetCount(sAttrListPath1) ; i ++){
  2161. if(sAttrCD == model.getValue(sAttrListPath1+"["+i+"]/supcd") ){
  2162. // var insComboNode = eval(getNodesetCount(sAttrListPath)) + 1 ;
  2163. // if(insComboNode == 1){
  2164. // model.makeNode(sAttrListPath);
  2165. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  2166. // model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  2167. // insComboNode++;
  2168. // }
  2169. //
  2170. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", model.getValue(xFormerAttrListPath1+"["+i+"]/attrdesc"));
  2171. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", model.getValue(xFormerAttrListPath1+"["+i+"]/attrcd"));
  2172. insComboNode++;
  2173. }
  2174. }
  2175. if ( insComboNode > 1 ){
  2176. model.makeNode(sAttrListPath);
  2177. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrnm", "");
  2178. model.makeValue(sAttrListPath+"["+insComboNode+"]/attrcd", "");
  2179. }
  2180. model.setValue("/root/main/cond/cmbstatusx",iRow );
  2181. model.setValue("/root/main/cond/cmbstatusy",iCol );
  2182. grd_formersclincobsreclist.combo.button.visible = true;
  2183. grd_formersclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath;
  2184. grd_formersclincobsreclist.combo.input.attribute("width") = grd_formersclincobsreclist.colWidth(grd_formersclincobsreclist.col)-20;
  2185. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  2186. model.setFocus("body");
  2187. grd_formersclincobsreclist.row = iRow;
  2188. grd_formersclincobsreclist.col = iCol;
  2189. }else{
  2190. grd_formersclincobsreclist.combo.button.visible = false;
  2191. grd_formersclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  2192. }
  2193. break;
  2194. }
  2195. }
  2196. /**
  2197. * @group :
  2198. * @ver : 2007.08.21
  2199. * @by : 이은영
  2200. * @---------------------------------------------------
  2201. * @type : function
  2202. * @access : public
  2203. * @desc : 셀의 서브컨트롤이 “input” 또는 “inputbutton”일 때 edit 상태로 들어가서 키보드 이벤트가 발생하기 시작하는 시점에서 발생
  2204. * @param :
  2205. * @return :
  2206. * @---------------------------------------------------
  2207. */
  2208. function fStartGridEdit(pFlag){
  2209. var iRow = 0;
  2210. switch(pFlag){
  2211. case "24hours" :
  2212. iRow = grd_24hoursclincobsreclist.row - grd_24hoursclincobsreclist.fixedrows+1;
  2213. if(eval(model.getValue(xHoursClincObsRecList+"["+iRow+"]/depth")) == 2 && model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") != "" && model.getValue(xHoursClincObsRecList+"["+iRow+"]/reccharflag") == "A"){
  2214. event.preventDefault();
  2215. }
  2216. break;
  2217. case "4days" :
  2218. iRow = grd_4daysclincobsreclist.row - grd_4daysclincobsreclist.fixedrows+1;
  2219. if(eval(model.getValue(xDaysClincObsRecList+"["+iRow+"]/depth")) == 2 && model.getValue(xDaysClincObsRecList+"["+iRow+"]/attrcd") != ""){
  2220. event.preventDefault();
  2221. }
  2222. break;
  2223. case "formerday":
  2224. iRow = grd_stndclincobsreclist.row - grd_stndclincobsreclist.fixedrows+1;
  2225. if(eval(model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/depth")) == 2 && model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/attrcd") != ""){
  2226. event.preventDefault();
  2227. }
  2228. break;
  2229. }
  2230. }
  2231. /**
  2232. * @group :
  2233. * @ver : 2007.08.22
  2234. * @by : 이은영
  2235. * @---------------------------------------------------
  2236. * @type : function
  2237. * @access : public
  2238. * @desc : 상세값과 사용자 정보를 보여줌.
  2239. * @param :
  2240. * @return :
  2241. * @---------------------------------------------------
  2242. */
  2243. function fSearchDetlRecInfo(pFlag){
  2244. var iRow = 0;
  2245. var iCol = 0;
  2246. var sItemCD = "";
  2247. var sItemSeqNo = "";
  2248. var sRecDD = "";
  2249. var sRecTM = "";
  2250. var sAttrCD = "";
  2251. var sAttrNM = "";
  2252. var sRecFlag = "";
  2253. var sTimeFlag = "";
  2254. var sRecRslt = "";
  2255. var sSubTotal = 0;
  2256. var sFromDT = "";
  2257. var sToDT = "";
  2258. var sStndDT = "";
  2259. switch(pFlag){
  2260. case "24hours" :
  2261. iRow = grd_24hoursclincobsreclist.mouseRow - grd_24hoursclincobsreclist.fixedrows+1;
  2262. iCol = grd_24hoursclincobsreclist.mouseCol;
  2263. if(iRow < 1 || iCol < 0 ){
  2264. model.setValue(sCondPath+"/detlrecinfo/detlval" , "");
  2265. model.setValue(sCondPath+"/detlrecinfo/usernm" , "");
  2266. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2267. }else{
  2268. if(iCol == 0){
  2269. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemnm"));
  2270. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2271. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2272. }else{
  2273. sItemCD = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemcd");
  2274. sItemSeqNo = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemseqno");
  2275. sCareRecSeqNo = model.getValue(xHoursClincObsRecList+"["+iRow+"]/carerecseqno");
  2276. sRecDD = sHeader[1][iCol];
  2277. sRecTM = sHeader[3][iCol]+sHeader[4][iCol]+"00";
  2278. sTimeFlag = model.getValue(sCondPath+"/timeflag");
  2279. sRecFlag = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recflag");
  2280. var sHistRecUserNm = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/usernm").split("^");
  2281. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/recdt").split("^");
  2282. var sSettingUserNm = "";
  2283. if(sHistRecDT.length > 0){
  2284. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  2285. if((sRecDD + sRecTM) == sHistRecDT[histrow]){
  2286. sSettingUserNm = sHistRecUserNm[histrow];
  2287. }
  2288. }
  2289. }
  2290. model.setValue(sCondPath+"/detlrecinfo/usernm", sSettingUserNm);
  2291. //model.setValue(sCondPath+"/detlrecinfo/usernm", model.getValue(xRecUserListPath+"[carerecseqno ='"+sCareRecSeqNo+"' and recdt ='"+sRecDD+sRecTM+"']/usernm"));
  2292. sAttrCD = model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd");
  2293. if( isNull(sAttrCD)){
  2294. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol));
  2295. }else{
  2296. sAttrCD = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrsltattrcd"+iCol).substring(1);
  2297. sAttrNM = model.getValue(sAttrListPath1+"[attrcd ='"+sAttrCD+"']/attrdesc");
  2298. if(isNull(sAttrNM)){
  2299. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrCD);
  2300. }else{
  2301. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrNM);
  2302. }
  2303. }
  2304. // 60분 간격이면서 intake 또는 output 일때 합계 계산
  2305. // if(sRecTM >= "000000" && sRecTM <= "060000"){
  2306. // sFromDT = getDateCalc(sRecDD,1)+"0700";
  2307. // }else{
  2308. // sFromDT = sRecDD+"0700";
  2309. // }
  2310. // sToDT = sRecDD+sRecTM.substr(0,4);
  2311. sFromDT = sHeader[1][1]+sHeader[3][1]+sHeader[4][1];
  2312. sToDT = sRecDD+sRecTM.substr(0,4);
  2313. //if(sTimeFlag == "60" && (sRecFlag == "B" || sRecFlag == "C") && model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol)!= "" ){
  2314. //if(sTimeFlag == "60" && (sRecFlag == "A" || sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") && model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol)!= "" && model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") == "" ){
  2315. if( model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol)!= "" &&
  2316. (model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") == "" || model.getValue(xHoursClincObsRecList+"["+iRow+"]/subtotalyn") == "Y") &&
  2317. (sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") ){
  2318. for(var i=1; i<= iCol; i++){
  2319. sStndDT = sHeader[1][i]+sHeader[3][i]+sHeader[4][i];
  2320. if(sStndDT >= sFromDT && sStndDT <= sToDT){
  2321. sRecRslt = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+i);
  2322. if(sRecRslt != "" && fIsNumber(sRecRslt) == true ){
  2323. sSubTotal += eval(sRecRslt);
  2324. }
  2325. }
  2326. }
  2327. }
  2328. if(sSubTotal == 0) sSubTotal="";
  2329. model.setValue(sCondPath+"/detlrecinfo/subtotal", sSubTotal);
  2330. }
  2331. }
  2332. break;
  2333. case "4days" :
  2334. iRow = grd_4daysclincobsreclist.mouseRow - grd_4daysclincobsreclist.fixedrows+1;
  2335. iCol = grd_4daysclincobsreclist.mouseCol;
  2336. if(iRow < 1 || iCol < 0 ){
  2337. model.setValue(sCondPath+"/detlrecinfo/detlval", "");
  2338. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2339. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2340. }else{
  2341. if(iCol == 0){
  2342. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xDaysClincObsRecList+"["+iRow+"]/itemnm"));
  2343. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2344. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2345. }else{
  2346. sItemCD = model.getValue(xDaysClincObsRecList+"["+iRow+"]/itemcd");
  2347. sItemSeqNo = model.getValue(xDaysClincObsRecList+"["+iRow+"]/itemseqno");
  2348. sCareRecSeqNo = model.getValue(xDaysClincObsRecList+"["+iRow+"]/carerecseqno");
  2349. sRecDD = sHeader[1][iCol];
  2350. sRecTM = sHeader[3][iCol]+sHeader[4][iCol]+"00";
  2351. sRecFlag = model.getValue(xDaysClincObsRecList+"["+iRow+"]/recflag");
  2352. var sHistRecUserNm = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/usernm").split("^");
  2353. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/recdt").split("^");
  2354. var sSettingUserNm = "";
  2355. if(sHistRecDT.length > 0){
  2356. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  2357. if((sRecDD + sRecTM) == sHistRecDT[histrow]){
  2358. sSettingUserNm = sHistRecUserNm[histrow];
  2359. }
  2360. }
  2361. }
  2362. model.setValue(sCondPath+"/detlrecinfo/usernm", sSettingUserNm);
  2363. sAttrCD = model.getValue(xDaysClincObsRecList+"["+iRow+"]/attrcd");
  2364. if(sAttrCD == ""){
  2365. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrslt"+iCol));
  2366. }else{
  2367. sAttrCD = model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrsltattrcd"+iCol).substring(1);
  2368. sAttrNM = model.getValue(sAttrListPath1+"[attrcd='"+sAttrCD+"']/attrdesc");
  2369. if(sAttrNM == ""){
  2370. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrCD);
  2371. }else{
  2372. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrNM);
  2373. }
  2374. }
  2375. // 4일 조회 화면 intake 또는 output 일때 합계 계산
  2376. sFromDT = sHeader[1][1]+sHeader[3][1]+sHeader[4][1];
  2377. sToDT = sRecDD+sRecTM.substr(0,4);
  2378. //if((sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") && model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrslt"+iCol)!= "" && model.getValue(xDaysClincObsRecList+"["+iRow+"]/attrcd") == ""){
  2379. if( model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrslt"+iCol)!= "" &&
  2380. (model.getValue(xDaysClincObsRecList+"["+iRow+"]/attrcd") == "" || model.getValue(xDaysClincObsRecList+"["+iRow+"]/subtotalyn") == "Y") &&
  2381. (sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") ){
  2382. for(var i=1; i<= iCol; i++){
  2383. sStndDT = sHeader[1][i]+sHeader[3][i]+sHeader[4][i];
  2384. if(sStndDT >= sFromDT && sStndDT <= sToDT){
  2385. sRecRslt = model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrslt"+i);
  2386. if(sRecRslt != "" && fIsNumber(sRecRslt) == true){
  2387. sSubTotal += eval(sRecRslt);
  2388. }
  2389. }
  2390. }
  2391. }
  2392. if(sSubTotal == 0) sSubTotal="";
  2393. model.setValue(sCondPath+"/detlrecinfo/subtotal", sSubTotal);
  2394. }
  2395. }
  2396. break;
  2397. case "former": // 이전 기록
  2398. iRow = grd_formersclincobsreclist.mouseRow - grd_formersclincobsreclist.fixedrows+1;
  2399. iCol = grd_formersclincobsreclist.mouseCol;
  2400. if(iRow < 1 || iCol < 0){
  2401. model.setValue(sCondPath+"/detlrecinfo/detlval", "");
  2402. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2403. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2404. }else{
  2405. if(iCol == 0){
  2406. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/itemnm"));
  2407. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2408. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2409. }else{
  2410. sRecDD = sFormerHeader[1][iCol];
  2411. sRecTM = sFormerHeader[3][iCol]+sFormerHeader[4][iCol]+"00";
  2412. sCareRecSeqNo = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/carerecseqno");
  2413. sRecFlag = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recflag");
  2414. var sHistRecUserNm = model.getValue(xFormerRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/usernm").split("^");
  2415. var sHistRecDT = model.getValue(xFormerRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/recdt").split("^");
  2416. var sSettingUserNm = "";
  2417. if(sHistRecDT.length > 0){
  2418. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  2419. if((sRecDD + sRecTM) == sHistRecDT[histrow]){
  2420. sSettingUserNm = sHistRecUserNm[histrow];
  2421. }
  2422. }
  2423. }
  2424. model.setValue(sCondPath+"/detlrecinfo/usernm", sSettingUserNm);
  2425. sAttrCD = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/attrcd");
  2426. if(sAttrCD == ""){
  2427. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol));
  2428. }else{
  2429. sAttrCD = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recrsltattrcd"+iCol).substring(1);
  2430. sAttrNM = model.getValue(xFormerAttrListPath1+"[attrcd ='"+sAttrCD+"']/attrdesc");
  2431. if(sAttrNM == ""){
  2432. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrCD);
  2433. }else{
  2434. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrNM);
  2435. }
  2436. }
  2437. sFromDT = sFormerHeader[1][1]+sFormerHeader[3][1]+sFormerHeader[4][1];
  2438. sToDT = sRecDD+sRecTM.substr(0,4);
  2439. //if((sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") && model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol)!= "" && model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/attrcd") == ""){
  2440. if( model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol)!= "" &&
  2441. (model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/attrcd") == "" || model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/subtotalyn") == "Y") &&
  2442. (sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") ){
  2443. for(var i=1; i<= iCol; i++){
  2444. sStndDT = sFormerHeader[1][i]+sFormerHeader[3][i]+sFormerHeader[4][i];
  2445. if(sStndDT >= sFromDT && sStndDT <= sToDT){
  2446. sRecRslt = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recrslt"+i);
  2447. if(sRecRslt != "" && fIsNumber(sRecRslt) == true){
  2448. sSubTotal += eval(sRecRslt);
  2449. }
  2450. }
  2451. }
  2452. }
  2453. if(sSubTotal == 0) sSubTotal="";
  2454. model.setValue(sCondPath+"/detlrecinfo/subtotal", sSubTotal);
  2455. }
  2456. }
  2457. break;
  2458. case "stnd":
  2459. iRow = grd_stndclincobsreclist.mouseRow - grd_stndclincobsreclist.fixedrows+1;
  2460. iCol = grd_stndclincobsreclist.mouseCol;
  2461. if(iRow < 1 || iCol < 0){
  2462. model.setValue(sCondPath+"/detlrecinfo/detlval", "");
  2463. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2464. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2465. }else{
  2466. if(iCol == 0){
  2467. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/itemnm"));
  2468. model.setValue(sCondPath+"/detlrecinfo/usernm", "");
  2469. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  2470. }else{
  2471. sRecDD = sHeader[1][iCol];
  2472. sRecTM = sHeader[3][iCol]+sHeader[4][iCol]+"00";
  2473. sCareRecSeqNo = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/carerecseqno");
  2474. sRecFlag = model.getValue(xFormerdayClincObsRecListPath+"["+iRow+"]/recflag");
  2475. var sHistRecUserNm = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/usernm").split("^");
  2476. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/recdt").split("^");
  2477. var sSettingUserNm = "";
  2478. if(sHistRecDT.length > 0){
  2479. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  2480. if((sRecDD + sRecTM) == sHistRecDT[histrow]){
  2481. sSettingUserNm = sHistRecUserNm[histrow];
  2482. }
  2483. }
  2484. }
  2485. model.setValue(sCondPath+"/detlrecinfo/usernm", sSettingUserNm);
  2486. sAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/attrcd");
  2487. if(sAttrCD == ""){
  2488. model.setValue(sCondPath+"/detlrecinfo/detlval", model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol));
  2489. }else{
  2490. sAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrsltattrcd"+iCol).substring(1);
  2491. sAttrNM = model.getValue(sAttrListPath1+"[attrcd ='"+sAttrCD+"']/attrdesc");
  2492. if(sAttrNM == ""){
  2493. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrCD);
  2494. }else{
  2495. model.setValue(sCondPath+"/detlrecinfo/detlval", sAttrNM);
  2496. }
  2497. }
  2498. sFromDT = sHeader[1][1]+sHeader[3][1]+sHeader[4][1];
  2499. sToDT = sRecDD+sRecTM.substr(0,4);
  2500. //if((sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") && model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol)!= "" && model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/attrcd") == ""){
  2501. if( model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol)!= "" &&
  2502. (model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/attrcd") == "" || model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/subtotalyn") == "Y") &&
  2503. (sRecFlag == "B" || sRecFlag == "C" || sRecFlag == "T") ){
  2504. for(var i=1; i<= iCol; i++){
  2505. sStndDT = sHeader[1][i]+sHeader[3][i]+sHeader[4][i];
  2506. if(sStndDT >= sFromDT && sStndDT <= sToDT){
  2507. sRecRslt = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrslt"+i);
  2508. if(sRecRslt != "" && fIsNumber(sRecRslt) == true){
  2509. sSubTotal += eval(sRecRslt);
  2510. }
  2511. }
  2512. }
  2513. }
  2514. if(sSubTotal == 0) sSubTotal="";
  2515. model.setValue(sCondPath+"/detlrecinfo/subtotal", sSubTotal);
  2516. }
  2517. }
  2518. break;
  2519. }
  2520. opt_detlval.refresh();
  2521. otp_usernm.refresh();
  2522. opt_subtotal.refresh();
  2523. }
  2524. /**
  2525. * @group :
  2526. * @ver : 2007.08.23
  2527. * @by : 이은영
  2528. * @---------------------------------------------------
  2529. * @type : function
  2530. * @access : public
  2531. * @desc : 임상관찰 기록 저장(임시저장)
  2532. * @param :
  2533. * @return :
  2534. * @---------------------------------------------------
  2535. */
  2536. function fTempSaveClincObsRec(pRecFlag){
  2537. var sSaveDataHeader = "status▦pid▦indd▦cretno▦wardcd▦roomcd▦instcd▦ioflag▦itemcd▦itemseqno▦recflag▦recdt▦recrslt▦certkey▦carerecseqno▩";
  2538. var sSaveData = ""; // 저장데이터
  2539. var sRowCnt = 0; // 전체 row 갯수
  2540. var sItemCD = ""; // 항목코드
  2541. var sItemSeqNO = ""; // 항목일련번호
  2542. var sRecRslt_BK = ""; // 기존 기록결과
  2543. var sRecRslt = ""; // 신규 기록결과
  2544. var sCertKey = ""; // 기존 인증키
  2545. var sStatus = ""; // 상태
  2546. var sStrTime = ""; // 각 컬럼의 시간
  2547. var sRecFlag = ""; // 기록구분
  2548. var sRecCharFlag = ""; // 기록성격구분
  2549. var sChkChngData = false;
  2550. var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
  2551. var sTimeFlag = model.getValue(sCondPath+"/timeflag");
  2552. var sRecDd = model.getValue(sCondPath+"/recdd");
  2553. model.removeNodeSet(xResultPath);
  2554. model.removenode("/root/send");
  2555. if(sPid == ""){
  2556. sPid = model.getValue("/root/main/patinfo/pid");
  2557. sIndd = model.getValue("/root/main/patinfo/indd");
  2558. sCretNo = model.getValue("/root/main/patinfo/cretno");
  2559. sIOFlag = model.getValue("/root/main/patinfo/ordtype");
  2560. }
  2561. model.makeValue("/root/send/pid" , sPid);
  2562. model.makeValue("/root/send/indd" , sIndd);
  2563. model.makeValue("/root/send/cretno" , sCretNo);
  2564. model.makeValue("/root/send/instcd" , sInstcd);
  2565. model.makeValue("/root/send/ioflag" , sIOFlag);
  2566. model.makeValue("/root/send/timeflag" , sTimeFlag);
  2567. model.makeValue("/root/send/srchdd",sRecDd );//20090730 김홍점 [임상관찰기록] 삽관, 기구 관련 그룹정보 연동 시 삽입(적용)일 및 적용일수 정보 조회를 위한 기준일자
  2568. model.makeValue("/root/send/fromdt" ,sHeader[1][1]+sHeader[3][1]+sHeader[4][1]+"00");
  2569. switch(pRecFlag){
  2570. case "24hours" :
  2571. if(sBizLnkFlag == "Y"){
  2572. model.makeValue("/root/send/bizdeptcd", sDutplcecd);
  2573. }
  2574. model.makeValue("/root/send/todt",sHeader[1][24]+sHeader[3][24]+sHeader[4][24]+"00");
  2575. model.makeValue("/root/send/recflag", "24hours");
  2576. for(var i=1; i <= 25; i++){
  2577. if(sStrTime == ""){
  2578. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  2579. }else{
  2580. sStrTime += ","+sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  2581. }
  2582. }
  2583. model.makeValue("/root/send/strtime", sStrTime);
  2584. sRowCnt = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  2585. for(var iRow = 1; iRow<=sRowCnt; iRow++){
  2586. sItemCD = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemcd");
  2587. sItemSeqNO = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemseqno");
  2588. sRecFlag = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recflag");
  2589. sRecCharFlag = model.getValue(xHoursClincObsRecList+"["+iRow+"]/reccharflag");
  2590. sCareRecSeqNo = model.getValue(xHoursClincObsRecList+"["+iRow+"]/carerecseqno");
  2591. sItemNM = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemnm");
  2592. if(sRecCharFlag == "C" || sRecCharFlag == "") continue; // 값조회의 경우는 저장이 필요없음.
  2593. for(var iCol=1; iCol<= 24; iCol++){
  2594. //sRecRslt_BK = model.getValue(xClincObsRecListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+sItemSeqNO+"' and recflag='"+sRecFlag+"']/recrslt"+iCol);
  2595. sRecRslt_BK = model.getValue(xClincObsRecListPath+"[carerecseqno='"+sCareRecSeqNo+"']/recrslt"+iCol);
  2596. sRecRslt = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol);
  2597. sLnkBizCd = model.getValue(xHoursClincObsRecList+"["+iRow+"]/lnkbizcd");
  2598. sStatus = "";
  2599. sResultPath = "";
  2600. //상태값 변경
  2601. if(sLnkBizCd != "-"){ //연계항목, 분류는 제외
  2602. sStatus = "";
  2603. }else if(sRecRslt_BK == "" && sRecRslt != ""){
  2604. sStatus = "U";
  2605. }else if(sRecRslt_BK != "" && sRecRslt == ""){
  2606. //sStatus = "D";
  2607. sStatus = "U";
  2608. }else if(sRecRslt_BK != "" && sRecRslt_BK != sRecRslt){
  2609. sStatus = "U";
  2610. }
  2611. if(sStatus == "") continue;
  2612. //sCertKey = model.getValue(xRecUserListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+ sItemSeqNO+"' and recflag ='"+sRecFlag+"' and recdt = '"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/certkey");
  2613. var sRsltNodeCnt = eval(getNodesetCount(xResultPath)) + 1;
  2614. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2615. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/recdt" , sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" );
  2616. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/attrcd" , model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") );
  2617. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2618. sChkChngData = true;
  2619. //sCertKey = model.getValue(xRecUserListPath+"[carerecseqno='"+sCareRecSeqNo+"' and recdt = '"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/certkey");
  2620. sSaveData += sStatus +"▦"
  2621. + sPid +"▦"
  2622. + sIndd +"▦"
  2623. + sCretNo +"▦"
  2624. + sWardCD +"▦"
  2625. + sRoomCD +"▦"
  2626. + sInstcd +"▦"
  2627. + sIOFlag +"▦"
  2628. + sItemCD +"▦"
  2629. + sItemSeqNO +"▦"
  2630. + sRecFlag +"▦"
  2631. + sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00▦"
  2632. + sRecRslt +"▦"
  2633. + sCertKey +"▦"
  2634. + sCareRecSeqNo +"▩";
  2635. }
  2636. }
  2637. // 변경데이터 유뮤 체크
  2638. if(sChkChngData == false){
  2639. messageBox("저장 할 데이터", "I004");
  2640. model.removeNodeSet("/root/send");
  2641. return;
  2642. }
  2643. //**********************************************************************************************************************
  2644. // 인증 구현 부분 24시 화면
  2645. //**********************************************************************************************************************
  2646. model.makeValue("/root/send/clincobsreclist",sSaveDataHeader+sSaveData);
  2647. //return;
  2648. model.removenodeSet("/root/main/clincobsrecinfo/hoursclincobsrecinfo");
  2649. submit("TXMNR00901", false); //2008-07-09
  2650. //fMakeViewData();
  2651. break;
  2652. }
  2653. fSettingClincObsRec(pRecFlag);
  2654. }
  2655. /**
  2656. * @group :
  2657. * @ver : 2007.08.23
  2658. * @by : 이은영
  2659. * @---------------------------------------------------
  2660. * @type : function
  2661. * @access : public
  2662. * @desc : 임상관찰 기록 저장(인증저장)
  2663. * @param :
  2664. * @return :
  2665. * @---------------------------------------------------
  2666. */
  2667. function fSaveClincObsRec(pRecFlag){
  2668. sViewerFunc = "sign"
  2669. var sSaveDataHeader = "status▦pid▦indd▦cretno▦wardcd▦roomcd▦instcd▦ioflag▦itemcd▦itemseqno▦recflag▦recdt▦recrslt▦certkey▦carerecseqno▩";
  2670. var sSaveData = ""; // 저장데이터
  2671. var sRowCnt = 0; // 전체 row 갯수
  2672. var sItemCD = ""; // 항목코드
  2673. var sItemSeqNO = ""; // 항목일련번호
  2674. var sRecRslt_BK = ""; // 기존 기록결과
  2675. var sRecRslt = ""; // 신규 기록결과
  2676. var sCertKey = ""; // 기존 인증키
  2677. var sStatus = ""; // 상태
  2678. var sStrTime = ""; // 각 컬럼의 시간
  2679. var sRecFlag = ""; // 기록구분
  2680. var sRecCharFlag = ""; // 기록성격구분
  2681. var sChkChngData = false;
  2682. var sBizLnkFlag = model.getValue(sCondPath+"/bizlnkflag");
  2683. var sTimeFlag = model.getValue(sCondPath+"/timeflag");
  2684. var sRecDd = model.getValue(sCondPath+"/recdd");
  2685. model.removeNodeSet(xResultPath);
  2686. model.removenode("/root/send");
  2687. if(sPid == ""){
  2688. sPid = model.getValue("/root/main/patinfo/pid");
  2689. sIndd = model.getValue("/root/main/patinfo/indd");
  2690. sCretNo = model.getValue("/root/main/patinfo/cretno");
  2691. sIOFlag = model.getValue("/root/main/patinfo/ordtype");
  2692. }
  2693. model.makeValue("/root/send/pid", sPid);
  2694. model.makeValue("/root/send/indd", sIndd);
  2695. model.makeValue("/root/send/cretno", sCretNo);
  2696. model.makeValue("/root/send/instcd", sInstcd);
  2697. model.makeValue("/root/send/ioflag", sIOFlag);
  2698. model.makeValue("/root/send/timeflag",sTimeFlag );
  2699. model.makeValue("/root/send/srchdd",sRecDd );//20090730 김홍점 [임상관찰기록] 삽관, 기구 관련 그룹정보 연동 시 삽입(적용)일 및 적용일수 정보 조회를 위한 기준일자
  2700. model.makeValue("/root/send/fromdt",sHeader[1][1]+sHeader[3][1]+sHeader[4][1]+"00");
  2701. switch(pRecFlag){
  2702. case "24hours" :
  2703. //var sImage = obj_24hourschart.Export.asBMP;
  2704. //sImage.SaveToFile("Temp\chart1.jpg");
  2705. // for(var i =1 ; i <= getNodesetCount(xHoursClincObsRecList) ; i++ ){
  2706. // for(var j =1 ; j < 25 ; j++){
  2707. // if(model.getValue(xHoursClincObsRecList+"["+i+"]/recrslt"+j) != model.getValue(xClincObsRecListPath+"["+i+"]/recrslt"+j)){
  2708. // alert(model.getValue(xHoursClincObsRecList+"["+i+"]/recrslt"+j) + " : " + model.getValue(xClincObsRecListPath+"["+i+"]/recrslt"+j));
  2709. // sChkChngData = true;
  2710. // }
  2711. // }
  2712. // }
  2713. //
  2714. // if(sChkChngData == false){
  2715. // messageBox("저장 할 데이터", "I004");
  2716. // model.removeNodeSet("/root/send");
  2717. // return;
  2718. // }
  2719. if(sBizLnkFlag == "Y"){
  2720. model.makeValue("/root/send/bizdeptcd", sDutplcecd);
  2721. }
  2722. model.makeValue("/root/send/todt",sHeader[1][24]+sHeader[3][24]+sHeader[4][24]+"00");
  2723. model.makeValue("/root/send/recflag", "24hours");
  2724. for(var i=1; i <= 25; i++){
  2725. if(sStrTime == ""){
  2726. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  2727. }else{
  2728. sStrTime += ","+sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00";
  2729. }
  2730. }
  2731. model.makeValue("/root/send/strtime", sStrTime);
  2732. sRowCnt = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  2733. for(var iRow = 1; iRow<=sRowCnt; iRow++){
  2734. sItemCD = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemcd");
  2735. sItemSeqNO = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemseqno");
  2736. sRecFlag = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recflag");
  2737. sRecCharFlag = model.getValue(xHoursClincObsRecList+"["+iRow+"]/reccharflag");
  2738. sCareRecSeqNo = model.getValue(xHoursClincObsRecList+"["+iRow+"]/carerecseqno");
  2739. sItemNM = model.getValue(xHoursClincObsRecList+"["+iRow+"]/itemnm");
  2740. if(sRecCharFlag == "C" || sRecCharFlag == "") continue; // 값조회의 경우는 저장이 필요없음.
  2741. //인증키 확인 로직
  2742. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/recdt").split("^");
  2743. var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/certkey").split("^");
  2744. for(var iCol=1; iCol<= 24; iCol++){
  2745. sRecRslt_BK = model.getValue(xClincObsRecListPath+"[carerecseqno='"+sCareRecSeqNo+"']/recrslt"+iCol);
  2746. sRecRslt = model.getValue(xHoursClincObsRecList+"["+iRow+"]/recrslt"+iCol);
  2747. sLnkBizCd = model.getValue(xHoursClincObsRecList+"["+iRow+"]/lnkbizcd");
  2748. //sCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqNo+"']/certkey").split("^");
  2749. sCertKey = "";
  2750. //if(sRecRslt_BK == sRecRslt) continue;
  2751. if(sHistRecDT.length > 0){
  2752. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  2753. if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  2754. sCertKey = sHistCertKey[histrow];
  2755. }
  2756. }
  2757. }
  2758. sStatus = "";
  2759. sResultPath = "";
  2760. //상태값 변경
  2761. if(sLnkBizCd != "-"){ //연계항목, 분류는 제외
  2762. sStatus = "";
  2763. }else if(sRecRslt_BK == "" && sRecRslt == ""){
  2764. sStatus = "";
  2765. }else if(sRecRslt_BK == sRecRslt && sCertKey == ""){
  2766. sStatus = "U";
  2767. }else if(sRecRslt_BK == "" && sRecRslt != ""){
  2768. sStatus = "U";
  2769. }else if(sRecRslt_BK != "" && sRecRslt == ""){
  2770. sStatus = "U";
  2771. }else if(sRecRslt_BK != "" && sRecRslt_BK != sRecRslt){
  2772. sStatus = "U";
  2773. }
  2774. if(sStatus == "") continue;
  2775. //sCertKey = model.getValue(xRecUserListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+ sItemSeqNO+"' and recflag ='"+sRecFlag+"' and recdt = '"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/certkey");
  2776. var sRsltNodeCnt = eval(getNodesetCount(xResultPath)) + 1;
  2777. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2778. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/recdt" , sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" );
  2779. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/attrcd" , model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") );
  2780. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2781. sChkChngData = true;
  2782. sSaveData += sStatus +"▦"
  2783. + sPid +"▦"
  2784. + sIndd +"▦"
  2785. + sCretNo +"▦"
  2786. + sWardCD +"▦"
  2787. + sRoomCD +"▦"
  2788. + sInstcd +"▦"
  2789. + sIOFlag +"▦"
  2790. + sItemCD +"▦"
  2791. + sItemSeqNO +"▦"
  2792. + sRecFlag +"▦"
  2793. + sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00▦"
  2794. + sRecRslt +"▦"
  2795. + sCertKey +"▦"
  2796. + sCareRecSeqNo +"▩";
  2797. }
  2798. }
  2799. // 변경데이터 유뮤 체크
  2800. if(sChkChngData == false){
  2801. messageBox("저장 할 데이터", "I004");
  2802. model.removeNodeSet("/root/send");
  2803. return;
  2804. }
  2805. //**********************************************************************************************************************
  2806. // 인증 구현 부분 24시 화면
  2807. //**********************************************************************************************************************
  2808. if(Sign.signprocess() == true ){
  2809. //var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  2810. model.makeValue("/root/send/signdata/pid", sPid);
  2811. model.makeValue("/root/send/signdata/orddd", sIndd);
  2812. model.makeValue("/root/send/signdata/signno", "" );
  2813. model.makeValue("/root/send/signdata/cretno", sCretNo);
  2814. model.makeValue("/root/send/signdata/recdd", getCurrentDate());
  2815. model.makeValue("/root/send/signdata/rectm", getCurrentTime());
  2816. model.makeValue("/root/send/signdata/recsaveflag", "Y");
  2817. model.makeValue("/root/send/signdata/signflag", "02");
  2818. model.makeValue("/root/send/signdata/signgenrflag", sIOFlag);
  2819. model.makeValue("/root/send/signdata/formcd", "0000002443");
  2820. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  2821. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  2822. model.makeValue("/root/send/signdata/carerecseqno", sCareRecSeqNo);
  2823. model.makeValue("/root/send/signdata/itemseqno", sItemSeqNO);
  2824. model.makeValue("/root/send/signdata/recflag", sRecFlag);
  2825. model.makeValue("/root/send/signdata/lnkrecdt", sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00");
  2826. model.makeValue("/root/send/signdata/dispyn", "N");
  2827. //alert( Sign.signedInfos[1]);
  2828. //alert( Sign.signedInfos[2]);
  2829. //alert( Sign.signedInfos[3]);
  2830. //alert( Sign.signedInfos[4]);
  2831. //alert( Sign.signedInfos[5]);
  2832. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  2833. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  2834. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
  2835. //
  2836. // ▶ 공인인증 처리후 데이터
  2837. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  2838. }else{
  2839. return false;
  2840. }
  2841. //**********************************************************************************************************************
  2842. model.makeValue("/root/send/clincobsreclist",sSaveDataHeader+sSaveData);
  2843. model.removenodeSet("/root/main/clincobsrecinfo/hoursclincobsrecinfo");
  2844. submit("TXMNR00901", false); //2008-07-09
  2845. model.removenodeSet("/root/certtemp");
  2846. model.removenodeSet("/root/certattrtemp");
  2847. fMakeViewData();
  2848. model.removenodeSet("/root/send");
  2849. model.removenodeSet("/root/temp/clincobsrecinfo/rtnsigndata");
  2850. model.removenodeSet("/root/temp/SignData");
  2851. model.refresh();
  2852. break;
  2853. case "4days" :
  2854. model.makeValue("/root/send/todt",sHeader[1][16]+sHeader[3][16]+sHeader[4][16]+"00");
  2855. for(var i=1;i<= 16; i++){
  2856. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00"+",";
  2857. }
  2858. model.makeValue("/root/send/strtime", sStrTime);
  2859. model.makeValue("/root/send/recflag", "4days");
  2860. sRowCnt = grd_4daysclincobsreclist.rows - grd_4daysclincobsreclist.fixedrows;
  2861. for(var iRow = 1; iRow<=sRowCnt; iRow++){
  2862. sItemCD = model.getValue(xDaysClincObsRecList+"["+iRow+"]/itemcd");
  2863. sItemSeqNO = model.getValue(xDaysClincObsRecList+"["+iRow+"]/itemseqno");
  2864. sRecFlag = model.getValue(xDaysClincObsRecList+"["+iRow+"]/recflag");
  2865. sRecCharFlag = model.getValue(xDaysClincObsRecList+"["+iRow+"]/reccharflag");
  2866. sCareRecSeqNo = model.getValue(xDaysClincObsRecList+"["+iRow+"]/carerecseqno");
  2867. if(sRecCharFlag == "C" || sRecCharFlag == "") continue;
  2868. for(var iCol=1; iCol<= 16; iCol++){
  2869. sRecRslt_BK = model.getValue(xClincObsRecListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+sItemSeqNO+"' and recflag='"+sRecFlag+"']/recrslt"+iCol);
  2870. sRecRslt = model.getValue(xDaysClincObsRecList+"["+iRow+"]/recrslt"+iCol);
  2871. sStatus = "";
  2872. if(sRecRslt_BK == "" && sRecRslt != ""){
  2873. sStatus = "I";
  2874. }else if(sRecRslt_BK != "" && sRecRslt == ""){
  2875. //sStatus = "D";
  2876. sStatus = "U";
  2877. }else if(sRecRslt_BK != "" && sRecRslt_BK != sRecRslt){
  2878. sStatus = "U";
  2879. }
  2880. if(sStatus == "") continue;
  2881. var sRsltNodeCnt = eval(getNodesetCount(xResultPath)) + 1;
  2882. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2883. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/recdt" , sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" );
  2884. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/attrcd" , model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") );
  2885. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2886. sCertKey = model.getValue(xRecUserListPath+"[itemcd='"+sItemCD+"' and carerecseqno='"+ sCareRecSeqNo
  2887. +"' and recflag ='"+sRecFlag+"' and recdt = '"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/certkey");
  2888. sSaveData += sStatus +"▦"
  2889. + sPid +"▦"
  2890. + sIndd +"▦"
  2891. + sCretNo +"▦"
  2892. + sWardCD +"▦"
  2893. + sRoomCD +"▦"
  2894. + sInstcd +"▦"
  2895. + sIOFlag +"▦"
  2896. + sItemCD+"▦"
  2897. + sItemSeqNO+"▦"
  2898. + sRecFlag+"▦"
  2899. + sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00▦"
  2900. + sRecRslt+"▦"
  2901. + sCertKey +"▦"
  2902. + sCareRecSeqNo +"▩";
  2903. }
  2904. }
  2905. //**********************************************************************************************************************
  2906. // 인증 구현 부분 4일 화면
  2907. //**********************************************************************************************************************
  2908. if(Sign.signprocess() == true ){
  2909. //var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  2910. model.makeValue("/root/send/signdata/pid", sPid);
  2911. model.makeValue("/root/send/signdata/orddd", sIndd);
  2912. model.makeValue("/root/send/signdata/signno", "" );
  2913. model.makeValue("/root/send/signdata/cretno", sCretNo);
  2914. model.makeValue("/root/send/signdata/recdd", getCurrentDate());
  2915. model.makeValue("/root/send/signdata/rectm", getCurrentTime());
  2916. model.makeValue("/root/send/signdata/recsaveflag", "Y");
  2917. model.makeValue("/root/send/signdata/signflag", "02");
  2918. model.makeValue("/root/send/signdata/signgenrflag", sIOFlag);
  2919. model.makeValue("/root/send/signdata/formcd", "0000002443");
  2920. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  2921. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  2922. model.makeValue("/root/send/signdata/carerecseqno", sCareRecSeqNo);
  2923. model.makeValue("/root/send/signdata/itemseqno", sItemSeqNO);
  2924. model.makeValue("/root/send/signdata/recflag", sRecFlag);
  2925. model.makeValue("/root/send/signdata/lnkrecdt", sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00");
  2926. model.makeValue("/root/send/signdata/dispyn", "N");
  2927. //alert( Sign.signedInfos[1]);
  2928. //alert( Sign.signedInfos[2]);
  2929. //alert( Sign.signedInfos[3]);
  2930. //alert( Sign.signedInfos[4]);
  2931. //alert( Sign.signedInfos[5]);
  2932. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  2933. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  2934. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
  2935. //
  2936. // ▶ 공인인증 처리후 데이터
  2937. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  2938. }else{
  2939. return false;
  2940. }
  2941. //**********************************************************************************************************************
  2942. model.makeValue("/root/send/clincobsreclist",sSaveDataHeader+sSaveData);
  2943. submit("TXMNR00902", false); //2008-07-09
  2944. break;
  2945. case "formerday" :
  2946. model.makeValue("/root/send/todt",sHeader[1][24]+sHeader[3][24]+sHeader[4][24]+"00");
  2947. model.makeValue("/root/send/recflag", "formerday");
  2948. for(var i=1; i<=14; i++){
  2949. sStrTime += sHeader[1][i]+sHeader[3][i]+sHeader[4][i]+"00"+",";
  2950. }
  2951. model.makeValue("/root/send/strtime", sStrTime);
  2952. sRowCnt = grd_stndclincobsreclist.rows - grd_stndclincobsreclist.fixedrows;
  2953. for(var iRow = 1; iRow<=sRowCnt; iRow++){
  2954. sItemCD = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/itemcd");
  2955. sItemSeqNO = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/itemseqno");
  2956. sRecFlag = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recflag");
  2957. sRecCharFlag = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/reccharflag");
  2958. sCareRecSeqNo = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/carerecseqno");
  2959. if(sRecCharFlag == "C" || sRecCharFlag == "") continue;
  2960. for(var iCol=1; iCol<= 14; iCol++){
  2961. sRecRslt_BK = model.getValue(xClincObsRecListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+sItemSeqNO+"' and recflag='"+sRecFlag+"']/recrslt"+iCol);
  2962. sRecRslt = model.getValue(xStnddayClincObsRecListPath+"["+iRow+"]/recrslt"+iCol);
  2963. sStatus = "";
  2964. if(sRecRslt_BK == "" && sRecRslt != ""){
  2965. sStatus = "I";
  2966. }else if(sRecRslt_BK != "" && sRecRslt == ""){
  2967. sStatus = "D";
  2968. }else if(sRecRslt_BK != "" && sRecRslt_BK != sRecRslt){
  2969. sStatus = "U";
  2970. }
  2971. if(sStatus == "") continue;
  2972. var sRsltNodeCnt = eval(getNodesetCount(xResultPath)) + 1;
  2973. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2974. model.makeValue(xResultPath+"["+sRsltNodeCnt+"]/recdt" , sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" );
  2975. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/attrcd" , model.getValue(xHoursClincObsRecList+"["+iRow+"]/attrcd") );
  2976. model.makeValue(xResultAttrPath+"["+sRsltNodeCnt+"]/reclist" , sRecRslt );
  2977. sCertKey = model.getValue(xRecUserListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+ sItemSeqNO
  2978. +"' and recflag ='"+sRecFlag+"' and recdt = '"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/certkey");
  2979. sSaveData += sStatus +"▦"
  2980. + sPid +"▦"
  2981. + sIndd +"▦"
  2982. + sCretNo +"▦"
  2983. + sWardCD +"▦"
  2984. + sRoomCD +"▦"
  2985. + sInstcd +"▦"
  2986. + sIOFlag +"▦"
  2987. + sItemCD +"▦"
  2988. + sItemSeqNO +"▦"
  2989. + sRecFlag +"▦"
  2990. + sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00▦"
  2991. + sRecRslt+"▦"
  2992. + sCertKey +"▦"
  2993. + sCareRecSeqNo +"▩";
  2994. }
  2995. }
  2996. //**********************************************************************************************************************
  2997. // 인증 구현 부분 전일 조회 화면
  2998. //**********************************************************************************************************************
  2999. if(Sign.signprocess() == true ){
  3000. //var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  3001. model.makeValue("/root/send/signdata/pid", sPid);
  3002. model.makeValue("/root/send/signdata/orddd", sIndd);
  3003. model.makeValue("/root/send/signdata/signno", "" );
  3004. model.makeValue("/root/send/signdata/cretno", sCretNo);
  3005. model.makeValue("/root/send/signdata/recdd", getCurrentDate());
  3006. model.makeValue("/root/send/signdata/rectm", getCurrentTime());
  3007. model.makeValue("/root/send/signdata/recsaveflag", "Y");
  3008. model.makeValue("/root/send/signdata/signflag", "02");
  3009. model.makeValue("/root/send/signdata/signgenrflag", sIOFlag);
  3010. model.makeValue("/root/send/signdata/formcd", "0000002443");
  3011. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  3012. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  3013. model.makeValue("/root/send/signdata/carerecseqno", sCareRecSeqNo);
  3014. model.makeValue("/root/send/signdata/itemseqno", sItemSeqNO);
  3015. model.makeValue("/root/send/signdata/recflag", sRecFlag);
  3016. model.makeValue("/root/send/signdata/lnkrecdt", sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00");
  3017. model.makeValue("/root/send/signdata/dispyn", "N");
  3018. //alert( Sign.signedInfos[1]);
  3019. //alert( Sign.signedInfos[2]);
  3020. //alert( Sign.signedInfos[3]);
  3021. //alert( Sign.signedInfos[4]);
  3022. //alert( Sign.signedInfos[5]);
  3023. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  3024. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  3025. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[1]);
  3026. //
  3027. // ▶ 공인인증 처리후 데이터
  3028. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  3029. }else{
  3030. return false;
  3031. }
  3032. //**********************************************************************************************************************
  3033. model.makeValue("/root/send/clincobsreclist",sSaveDataHeader+sSaveData);
  3034. submit("TXMNR00903", false); //2008-07-09
  3035. model.setValue(sCondPath+"/vwctrl_formerday","stnd");
  3036. break;
  3037. }
  3038. fSettingClincObsRec(pRecFlag);
  3039. }
  3040. /**
  3041. * @group :
  3042. * @ver : 2007.08.23
  3043. * @by : 이은영
  3044. * @---------------------------------------------------
  3045. * @type : function
  3046. * @access : public
  3047. * @desc : 임상관찰 기록 Setting
  3048. * @param :
  3049. * @return :
  3050. * @---------------------------------------------------
  3051. */
  3052. function fSettingClincObsRec(pRecFlag){
  3053. var sCurDT = getCurrentDate() + getCurrentTime();
  3054. var sRecDT = ""; // 기록일시
  3055. var sRecFromDT = ""; // 기록시작일시
  3056. var sRecToDT = ""; // 기록종료일시
  3057. var sAttrCD = ""; // 속성코드
  3058. var sUserID = getUserId();
  3059. var sRecRslt = "";
  3060. var sAnptTmSpec = "";
  3061. var sSupCD = "";
  3062. var sRecFlag = ""; // 기록구분
  3063. var sIntakeTmSum = new Array();
  3064. var sOutputTmSum = new Array();
  3065. var sTotalSum = new Array();
  3066. var sIntakeSumLine = ""; // 추가
  3067. var sOutputSumLine = ""; // 추가
  3068. var sIntakeSumRow = 0;
  3069. var sOutputSumRow = 0;
  3070. var sTotalSumRow = 0;
  3071. var sIntakeSum = 0;
  3072. var sOutputSum = 0;
  3073. var sAttrCD = "";
  3074. var sAttrValue = "";
  3075. var sChkSubTotal = "N";
  3076. var sSubTotalNm = "";
  3077. var sStartOutput = "N";
  3078. var sRecAddRow = "";
  3079. var sReChartFlag = "";
  3080. var sRecType = "";//R :임상관찰기록 M : cdis 연동 기록
  3081. sIntakeTmSum[0] = "시간별 intake SUM";
  3082. sOutputTmSum[0] = "시간별 output SUM";
  3083. var sFixRow = 0;
  3084. var sItemColRef = "";
  3085. switch(pRecFlag){
  3086. case "24hours" :
  3087. sCurDT = fCalStartDate(sCurDT, eval(model.getValue(sCondPath+"/timeflag")));
  3088. //grd_24hoursclincobsreclist.rebuild();
  3089. //grd_24hoursclincobsreclist.initStyle("background-color");
  3090. //grd_24hoursclincobsreclist.backcoloralternate = "transparent";
  3091. sRecCnt = getNodesetCnt(model, xClincObsRecListPath);
  3092. sItemColRef = grd_24hoursclincobsreclist.colRef("itemnm");
  3093. sFixRow = grd_24hoursclincobsreclist.fixedrows - 1 ;
  3094. for(var i=1; i<= 24; i++){
  3095. //sIntakeTmSum[i] = 0;
  3096. //sOutputTmSum[i] = 0;
  3097. sTotalSum[i] = null;
  3098. }
  3099. for(var iRow=1; iRow <= sRecCnt; iRow++){
  3100. var addRow = eval(getNodesetCount(xHoursClincObsRecList)) + 1;
  3101. sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  3102. sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  3103. sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  3104. //현재 행 다음의 기록구분을 조회
  3105. if(iRow == sRecCnt){
  3106. sNextRecFlag = "Last";
  3107. }else{
  3108. sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  3109. }
  3110. if(sChkSubTotal == "N" && sSubTotal == "Y"){
  3111. sChkSubTotal = sSubTotal;
  3112. sSubTotalNm = sSetnm;
  3113. }
  3114. if(sChkSubTotal == "Y"){
  3115. if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  3116. model.makeNode(xHoursClincObsRecList+"["+addRow+"]");
  3117. model.copyNode(xHoursClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3118. iHoursRecRow = addRow;
  3119. var addIntakeRow = eval(getNodesetCount(xHoursClincObsRecList)) + 1;
  3120. model.makeNode(xHoursClincObsRecList+"["+addIntakeRow+"]");
  3121. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/itemnm", sSubTotalNm);
  3122. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt1", "");
  3123. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt2", "");
  3124. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt3", "");
  3125. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt4", "");
  3126. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt5", "");
  3127. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt6", "");
  3128. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt7", "");
  3129. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt8", "");
  3130. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt9", "");
  3131. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt10", "");
  3132. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt11", "");
  3133. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt12", "");
  3134. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt13", "");
  3135. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt14", "");
  3136. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt15", "");
  3137. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt16", "");
  3138. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt17", "");
  3139. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt18", "");
  3140. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt19", "");
  3141. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt20", "");
  3142. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt21", "");
  3143. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt22", "");
  3144. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt23", "");
  3145. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recrslt24", "");
  3146. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recflag", "T");
  3147. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/attrcd", "");
  3148. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/itemcd", "");
  3149. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/itemseqno", "");
  3150. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/depth", 2);
  3151. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/recfromdt", "");
  3152. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/reccharflag", "");
  3153. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/rectodt", "");
  3154. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/supcd", "");
  3155. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/carerecseqno", "");
  3156. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/leftaxis", "");
  3157. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/graphappyn", "");
  3158. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/subtotalyn", "");
  3159. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/setnm", "");
  3160. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/lnkbizcd", "");
  3161. model.makeValue(xHoursClincObsRecList+"["+addIntakeRow+"]/rectype", "");
  3162. sIntakeSumLine = eval(addIntakeRow)+3;
  3163. //grd_24hoursclincobsreclist.rowStyle(sIntakeSumLine,"data","background-color") = "#dbb7ff";
  3164. //grd_24hoursclincobsreclist.cellStyle("font-weight", sIntakeSumLine, sItemColRef, sIntakeSumLine, sItemColRef) = "bold";
  3165. //sChkSubTotal = "N";
  3166. }else if(sRecFlag == "C" && sStartOutput == "N"){
  3167. sStartOutput = "Y";
  3168. model.makeNode(xHoursClincObsRecList+"["+addRow+"]");
  3169. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/itemnm", sSubTotalNm);
  3170. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt1", "");
  3171. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt2", "");
  3172. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt3", "");
  3173. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt4", "");
  3174. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt5", "");
  3175. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt6", "");
  3176. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt7", "");
  3177. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt8", "");
  3178. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt9", "");
  3179. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt10", "");
  3180. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt11", "");
  3181. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt12", "");
  3182. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt13", "");
  3183. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt14", "");
  3184. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt15", "");
  3185. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt16", "");
  3186. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt17", "");
  3187. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt18", "");
  3188. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt19", "");
  3189. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt20", "");
  3190. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt21", "");
  3191. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt22", "");
  3192. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt23", "");
  3193. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recrslt24", "");
  3194. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recflag", "T");
  3195. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/attrcd", "");
  3196. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/itemcd", "");
  3197. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/itemseqno", "");
  3198. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/depth", 2);
  3199. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/recfromdt", "");
  3200. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/reccharflag", "");
  3201. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/rectodt", "");
  3202. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/supcd", "");
  3203. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/carerecseqno", "");
  3204. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/leftaxis", "");
  3205. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/graphappyn", "");
  3206. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/subtotalyn", "");
  3207. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/setnm", "out");
  3208. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/lnkbizcd", "");
  3209. model.makeValue(xHoursClincObsRecList+"["+addRow+"]/rectype", "");
  3210. sOutputSumLine = eval(addRow)+3;
  3211. //grd_24hoursclincobsreclist.rowStyle(sOutputSumLine,"data","background-color") = "#dbb7ff";
  3212. //grd_24hoursclincobsreclist.cellStyle("font-weight", sOutputSumLine, sItemColRef, sOutputSumLine, sItemColRef) = "bold";
  3213. //grd_24hoursclincobsreclist.addRow(false);
  3214. //iHoursRecRow = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  3215. var addOutputRow = eval(getNodesetCount(xHoursClincObsRecList)) + 1;
  3216. model.makeNode(xHoursClincObsRecList+"["+addOutputRow+"]");
  3217. model.copyNode(xHoursClincObsRecList+"["+addOutputRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3218. iHoursRecRow = addOutputRow;
  3219. //sChkSubTotal = "N";
  3220. }else{
  3221. model.makeNode(xHoursClincObsRecList+"["+addRow+"]");
  3222. model.copyNode(xHoursClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3223. }
  3224. }else{
  3225. model.makeNode(xHoursClincObsRecList+"["+addRow+"]");
  3226. model.copyNode(xHoursClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3227. iHoursRecRow = addRow;
  3228. }
  3229. // Intake/OutTake 변경시 초기화
  3230. if(sRecFlag != sNextRecFlag){
  3231. sChkSubTotal = "N";
  3232. sStartOutput = "N";
  3233. sIntakeSumLine = "";
  3234. sOutputSumLine = "";
  3235. }
  3236. }
  3237. //grd_24hoursclincobsreclist.refresh();
  3238. grd_24hoursclincobsreclist.refresh();
  3239. //그리드 스타일 설정
  3240. for(var iRow = grd_24hoursclincobsreclist.fixedRows ; iRow < grd_24hoursclincobsreclist.rows ; iRow++){
  3241. sCareRecSeqno = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("carerecseqno"));
  3242. sRecFromDT = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("recfromdt"));
  3243. sRecToDT = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("rectodt"));
  3244. sDepth = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("depth"));
  3245. sAttrCD = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("attrcd"));
  3246. sReChartFlag = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("reccharflag"));
  3247. sLnkBizCd = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("lnkbizcd"));
  3248. sSubTotalYn = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("subtotalyn"));
  3249. sRecFlag = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("recflag"));
  3250. sSupCD = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("supcd"));
  3251. //현재 행 다음의 기록구분을 조회
  3252. if(iRow == grd_24hoursclincobsreclist.rows){
  3253. sNextRecFlag = "Last";
  3254. }else{
  3255. sNextRecFlag = grd_24hoursclincobsreclist.valueMatrix((iRow+1), grd_24hoursclincobsreclist.colRef("recflag"));
  3256. }
  3257. // 분류의 경우
  3258. if(eval(sDepth) == 1){
  3259. grd_24hoursclincobsreclist.mergeByFree(iRow, grd_24hoursclincobsreclist.fixedCols, iRow, grd_24hoursclincobsreclist.cols-1);
  3260. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols, iRow, grd_24hoursclincobsreclist.cols-1) = true;
  3261. grd_24hoursclincobsreclist.rowStyle(iRow,"data","background-color") = "#d0e7ff";
  3262. grd_24hoursclincobsreclist.rowStyle(iRow,"data","font-weight") = "bold";
  3263. }else{ //분류가 아닐 경우
  3264. // SubTotal 항목 표시
  3265. if(sSubTotalYn == "Y"){
  3266. grd_24hoursclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  3267. } else if(sSubTotalYn == "H"){//20090209 khj hierarchies 자동세팅관련 임상관찰기록에서 작성대상이 아닌 상위아이템행은 읽기전용으로 세팅
  3268. grd_24hoursclincobsreclist.mergeByFree(iRow, grd_24hoursclincobsreclist.fixedCols, iRow, grd_24hoursclincobsreclist.cols-1);
  3269. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols, iRow, grd_24hoursclincobsreclist.cols-1) = true;
  3270. }
  3271. // Total Intake, Total Output 색 및 글꼴 변경
  3272. if(sRecFlag == "T"){
  3273. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols,iRow, grd_24hoursclincobsreclist.cols-1) = true;
  3274. grd_24hoursclincobsreclist.rowStyle(iRow,"data","background-color") = "#dbb7ff";
  3275. grd_24hoursclincobsreclist.cellStyle("font-weight", iRow, sItemColRef, iRow, sItemColRef) = "bold";
  3276. sTotalSumRow = iRow;
  3277. }
  3278. for(var iCol=1; iCol<= 24; iCol++){
  3279. sRecRslt = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("recrslt"+iCol));
  3280. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  3281. sRecType = model.getValue(xHoursClincObsRecList+"["+(iRow - grd_24hoursclincobsreclist.fixedRows + 1)+"]/recrsltattrcd"+iCol).substring(0,1);//recrsltattrcd 첫번째에 기록출처구분을 조회해옴.
  3282. //Total Intake, Total Output 제외 대상 색 및 글꼴 변경
  3283. if(sRecFlag != "T"){
  3284. if(model.getValue(xIntervalRecYNListPath+"[carerecseqno ='"+sCareRecSeqno+"']/recyn"+iCol) == "Y" ){
  3285. grd_24hoursclincobsreclist.cellStyle("background-image",iRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  3286. grd_24hoursclincobsreclist.cellStyle("background-position",iRow,iCol) = "right";
  3287. }
  3288. //연계업무항목 설정 추가
  3289. if(sLnkBizCd != "-" && sLnkBizCd != "99" ){
  3290. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols,iRow, grd_24hoursclincobsreclist.cols-1) = true;
  3291. grd_24hoursclincobsreclist.cellStyle("background-color",iRow,iCol)= "#eaeaea"; //추가
  3292. grd_24hoursclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  3293. if ( sLnkBizCd == "08" && sRecDT > sRecToDT ){
  3294. grd_24hoursclincobsreclist.cellStyle("background-color",iRow,iCol,iRow,iCol)= "#999999"; //추가 색깔 진하게
  3295. }
  3296. // }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우
  3297. }else if( sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우(20090512 김홍점 모든 아이템에 대해서 입실체크 이전의 blocking 해제 김영림 05-12 12:55)
  3298. grd_24hoursclincobsreclist.isReadOnly(iRow,iCol) = true;
  3299. grd_24hoursclincobsreclist.cellStyle("background-color",iRow,iCol,iRow,iCol)= "#999999"; //추가 색깔 진하게
  3300. }
  3301. //------khj CDIS입력 컬러 다르게 표시 -----------
  3302. if( sRecType == "M" && sSupCD == "IT000001" ){
  3303. grd_24hoursclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  3304. }
  3305. if(sReChartFlag == "A" && sAttrCD != "") {
  3306. if(sRecRslt != ""){
  3307. grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  3308. }
  3309. }
  3310. // else{
  3311. // grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListInitPath;
  3312. // grd_24hoursclincobsreclist.colAttribute(iCol, "type") = "input";
  3313. // }
  3314. // 다른 사용자의 기록은 수정 불가
  3315. //if(sRecRslt != "" && model.getValue(xRecUserListPath+"[itemcd = '"+sItemCD+"' and itemseqno ='"+sItemSeqNo+"' and recflag ='"+sRecFlag+"' and recdt='"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/userid") != sUserID){
  3316. /* 사용자 입력 제한 삭제
  3317. var sHistRecUserId = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/userid").split("^");
  3318. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  3319. var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  3320. var sSettingUserId = "";
  3321. var sSettingRecDT = "";
  3322. var sSettingCertKey = "";
  3323. if(sHistRecDT.length > 0){
  3324. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  3325. if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  3326. //sSettingUserId = sHistRecUserId[histrow];
  3327. sSettingCertKey = sHistCertKey[histrow];
  3328. }
  3329. }
  3330. if(sRecRslt != "" && sSettingUserId != "" ){
  3331. if(sSettingCertKey != ""){
  3332. if(sSettingUserId != sUserID){
  3333. grd_24hoursclincobsreclist.isReadOnly(iRow,iCol) = true;
  3334. }
  3335. }else{
  3336. grd_24hoursclincobsreclist.cellStyle("color",iRow,iCol) = "#ff9900";
  3337. grd_24hoursclincobsreclist.cellStyle("font-weight", iRow, iCol) = "bold";
  3338. }
  3339. }
  3340. }
  3341. */
  3342. // 회복 임상관찰기록 시 임시저장 기록 표시
  3343. if(sSpParamInfo != ""){
  3344. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  3345. var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  3346. var sSettingRecDT = "";
  3347. var sSettingCertKey = "";
  3348. if(sHistRecDT.length > 0){
  3349. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  3350. if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  3351. sSettingCertKey = sHistCertKey[histrow];
  3352. }
  3353. }
  3354. if(sRecRslt != "" && sSettingCertKey == "" ){
  3355. grd_24hoursclincobsreclist.cellStyle("color",iRow,iCol) = "#ff9900";
  3356. grd_24hoursclincobsreclist.cellStyle("font-weight", iRow, iCol) = "bold";
  3357. }
  3358. }
  3359. }
  3360. //현재시간 색 표시
  3361. if(getDateTime(sCurDT,'기본').substr(0,12) <= (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol])){
  3362. if(iCol == 1){
  3363. grd_24hoursclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3364. }else{
  3365. if(getDateTime(sCurDT,'기본').substr(0,12) > (sHeader[1][iCol-1]+ sHeader[3][iCol-1]+sHeader[4][iCol-1])){
  3366. grd_24hoursclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3367. }
  3368. }
  3369. }
  3370. }
  3371. //**************************** clear ********************************
  3372. // Intake/output 합계 계산
  3373. if(sSubTotalYn == "Y"){
  3374. sChkSubTotal = "Y";
  3375. if(sRecRslt != ""){
  3376. if(sRecFlag == "A"){
  3377. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3378. sTotalSum[iCol] += eval(sRecRslt);
  3379. }else{
  3380. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":");
  3381. // if(sAttrValue[0].getTrim().isNumber()){
  3382. // sTotalSum[iCol] += eval(sAttrValue[0]);
  3383. // }
  3384. if( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc")) && fIsNumber(sRecRslt) == true ){
  3385. sTotalSum[iCol] += eval(sRecRslt);
  3386. }else{
  3387. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  3388. ? sRecRslt.split(":")
  3389. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  3390. );
  3391. if(sAttrValue[0].getTrim().isNumber()){
  3392. sTotalSum[iCol] += eval(sAttrValue[0]);
  3393. }
  3394. }
  3395. }
  3396. }else if (sRecFlag == "B" || sRecFlag == "C"){
  3397. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3398. sTotalSum[iCol] += eval(sRecRslt);
  3399. }else{
  3400. if(fIsNumber(sRecRslt) == true){
  3401. sTotalSum[iCol] += eval(sRecRslt);
  3402. }else{
  3403. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  3404. ? sRecRslt.split(":")
  3405. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  3406. );
  3407. if(sAttrValue[0].getTrim().isNumber()){
  3408. sTotalSum[iCol] += eval(sAttrValue[0]);
  3409. }
  3410. }
  3411. }
  3412. }
  3413. }
  3414. }
  3415. // 합계 계산목록 Intake/OutTake에 세팅
  3416. if( (sRecFlag == "T" || sRecFlag != sNextRecFlag ) && sChkSubTotal == "Y" && sTotalSumRow != "" ){
  3417. if(sTotalSumRow != "" && sTotalSum[iCol] != null ){
  3418. grd_24hoursclincobsreclist.valueMatrix(sTotalSumRow, iCol) = sTotalSum[iCol] ;
  3419. }
  3420. if(iCol == 24){
  3421. sChkSubTotal = "C";
  3422. }
  3423. }
  3424. }
  3425. if(sChkSubTotal == "C"){
  3426. for(var i = 1 ; i <25 ; i ++){
  3427. sTotalSum[i] = null;
  3428. }
  3429. sTotalSumRow = "";
  3430. sChkSubTotal = "N";
  3431. }
  3432. }
  3433. }
  3434. //grd_24hoursclincobsreclist.refresh();
  3435. ////****************************************************************************************************************************
  3436. //// 2008-10-11 그리드 행추가 로직 주석처리
  3437. ////****************************************************************************************************************************
  3438. // for(var iRow=1; iRow <= sRecCnt; iRow++){
  3439. //
  3440. // sRecAddRow = "";
  3441. // grd_24hoursclincobsreclist.addRow(false);
  3442. //
  3443. // var iHoursRecRow = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  3444. //
  3445. // sItemCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemcd");
  3446. // sItemSeqNo = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemseqno");
  3447. // sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  3448. // sSupCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/supcd");
  3449. // sAttrCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/attrcd");
  3450. // sCareRecSeqno = model.getValue(xClincObsRecListPath+"["+iRow+"]/carerecseqno");
  3451. // sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  3452. // sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  3453. // sLnkBizCd = model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd");
  3454. //
  3455. // //현재 행 다음의 기록구분을 조회
  3456. // if(iRow == sRecCnt){
  3457. // sNextRecFlag = "Last";
  3458. // }else{
  3459. // sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  3460. // }
  3461. //
  3462. // if(sChkSubTotal == "N" && sSubTotal == "Y"){
  3463. // sChkSubTotal = sSubTotal;
  3464. // sSubTotalNm = sSetnm;
  3465. // }
  3466. //
  3467. // //임상관찰기록 total intake/total output 항목 로우 추가
  3468. // if(sChkSubTotal == "Y"){
  3469. // if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  3470. // grd_24hoursclincobsreclist.addRow(false);
  3471. // sRecAddRow = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  3472. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  3473. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/depth", 2);
  3474. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/recflag", "T");
  3475. // sIntakeSumLine = eval(sRecAddRow)+eval(sFixRow);
  3476. // grd_24hoursclincobsreclist.rowStyle(sIntakeSumLine,"data","background-color") = "#dbb7ff";
  3477. // grd_24hoursclincobsreclist.cellStyle("font-weight", sIntakeSumLine, sItemColRef, sIntakeSumLine, sItemColRef) = "bold";
  3478. // sChkSubTotal = "N";
  3479. // }else if(sRecFlag == "C" && sStartOutput == "N"){
  3480. // sStartOutput = "Y";
  3481. // sRecAddRow = iHoursRecRow;
  3482. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  3483. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/depth", 2);
  3484. // model.setValue(xHoursClincObsRecList+"["+sRecAddRow+"]/recflag", "T");
  3485. // sOutputSumLine = eval(sRecAddRow)+eval(sFixRow);
  3486. // grd_24hoursclincobsreclist.rowStyle(sOutputSumLine,"data","background-color") = "#dbb7ff";
  3487. // grd_24hoursclincobsreclist.cellStyle("font-weight", sOutputSumLine, sItemColRef, sOutputSumLine, sItemColRef) = "bold";
  3488. // grd_24hoursclincobsreclist.addRow(false);
  3489. // iHoursRecRow = grd_24hoursclincobsreclist.rows - grd_24hoursclincobsreclist.fixedrows;
  3490. // sChkSubTotal = "N";
  3491. // }
  3492. // }
  3493. //
  3494. // // 변경 종료
  3495. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/itemcd" , sItemCD);
  3496. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/itemseqno" , sItemSeqNo);
  3497. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recflag" , sRecFlag);
  3498. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/attrcd" , sAttrCD);
  3499. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/supcd" , sSupCD);
  3500. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/carerecseqno" , sCareRecSeqno);
  3501. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/itemnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/itemnm"));
  3502. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/depth" , model.getValue(xClincObsRecListPath+"["+iRow+"]/depth"));
  3503. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recfromdt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/recfromdt"));
  3504. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/rectodt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/rectodt"));
  3505. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/reccharflag" , model.getValue(xClincObsRecListPath+"["+iRow+"]/reccharflag"));
  3506. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/subtotalyn" , model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn"));
  3507. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/setnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm"));
  3508. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/lnkbizcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd"));
  3509. //
  3510. // var iHoursDataRow = "";
  3511. // if(sIntakeSumLine == ""){
  3512. // iHoursDataRow = grd_24hoursclincobsreclist.rows-1;
  3513. // }else{
  3514. // iHoursDataRow = grd_24hoursclincobsreclist.rows-2;
  3515. // }
  3516. //
  3517. // for(var iCol=1; iCol<= 24; iCol++){
  3518. // //추가
  3519. // if(sIntakeSumLine != ""){
  3520. // grd_24hoursclincobsreclist.isReadOnly(sIntakeSumLine,iCol) = true;
  3521. // }else if(sOutputSumLine != ""){
  3522. // grd_24hoursclincobsreclist.isReadOnly(sOutputSumLine,iCol) = true;
  3523. // }
  3524. //
  3525. // sRecRslt = model.getValue(xClincObsRecListPath+"["+iRow+"]/recrslt"+iCol);
  3526. // model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recrslt"+iCol, sRecRslt);
  3527. //
  3528. // // 기록사이에 기록이 존재하는 여부를 표시
  3529. // if(model.getValue(xIntervalRecYNListPath+"[itemcd ='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and recflag='"+sRecFlag+"']/recyn"+iCol) == "Y" ){
  3530. // grd_24hoursclincobsreclist.cellStyle("background-image",iHoursDataRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  3531. // grd_24hoursclincobsreclist.cellStyle("background-position",iHoursDataRow,iCol) = "right";
  3532. // }
  3533. //
  3534. // // 셀의 컨트롤 타입을 설정함.
  3535. // sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  3536. // sRecFromDT = model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recfromdt");
  3537. // sRecToDT = model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/rectodt");
  3538. //
  3539. // if(eval(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/depth")) == 1){ // 분류의 경우
  3540. // if(iCol == 1 ){
  3541. // grd_24hoursclincobsreclist.mergeByFree(iHoursDataRow, grd_24hoursclincobsreclist.fixedCols, iHoursDataRow, grd_24hoursclincobsreclist.cols-1);
  3542. // grd_24hoursclincobsreclist.isReadOnly(iHoursDataRow,grd_24hoursclincobsreclist.fixedCols,iHoursDataRow, grd_24hoursclincobsreclist.cols-1) = true;
  3543. // grd_24hoursclincobsreclist.rowStyle(iHoursDataRow,"data","background-color") = "#d0e7ff";
  3544. // grd_24hoursclincobsreclist.rowStyle(iHoursDataRow,"data","font-weight") = "bold";
  3545. // }
  3546. // }else{// 기록항목
  3547. //
  3548. // sAttrCD = model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/attrcd");
  3549. // sReChartFlag = model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/reccharflag");
  3550. //
  3551. // //연계업무항목 설정 추가
  3552. // if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/lnkbizcd") != "-" && model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/lnkbizcd") != "99" ){
  3553. // if(iCol == 1 ){
  3554. // grd_24hoursclincobsreclist.isReadOnly(iHoursDataRow,grd_24hoursclincobsreclist.fixedCols,iHoursDataRow, grd_24hoursclincobsreclist.cols-1) = true;
  3555. // }
  3556. // grd_24hoursclincobsreclist.cellStyle("background-color", iHoursDataRow,iCol,iHoursDataRow,iCol)= "#eaeaea"; //추가
  3557. // grd_24hoursclincobsreclist.cellstyle("color", iHoursDataRow,iCol,iHoursDataRow,iCol ) = "#FF0000";
  3558. // }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우
  3559. // grd_24hoursclincobsreclist.isReadOnly(iHoursDataRow,iCol) = true;
  3560. // grd_24hoursclincobsreclist.cellStyle("background-color", iHoursDataRow,iCol,iHoursDataRow,iCol)= "#ffcc99"; //추가
  3561. //
  3562. //
  3563. //// if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/attrcd") == ""){
  3564. //// grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(iCol);
  3565. //// //grd_24hoursclincobsreclist.cellStyle("text-align", iHoursDataRow, iCol) = "left";
  3566. //// }
  3567. //
  3568. //
  3569. //// if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/reccharflag") == "A" && sAttrCD != ""){
  3570. //// grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  3571. //// }
  3572. //
  3573. //// if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/reccharflag") == "C"){
  3574. //// model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recrslt"+iCol, model.getValue(xClincObsRecListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and reccharflag='B']/recrslt"+iCol));
  3575. //// if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recrslt"+iCol) == ""){
  3576. //// model.setValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recrslt"+iCol, model.getValue(xClincObsRecListPath+"[itemcd='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and reccharflag='A']/recrslt"+iCol));
  3577. //// }
  3578. //// //2008-05-18 추가
  3579. //// //grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  3580. //// grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  3581. //// }
  3582. // } // 기록 가능 일시 일때
  3583. //
  3584. // if(sReChartFlag == "A" && sAttrCD != "") {
  3585. // if(sRecRslt != ""){
  3586. // //grd_24hoursclincobsreclist.colAttribute(iCol, "type") = "input";
  3587. // grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  3588. // }
  3589. // }else{
  3590. // grd_24hoursclincobsreclist.colAttribute(iCol, "type") = "input";
  3591. // }
  3592. //
  3593. //// if(sReChartFlag =="A" && sAttrCD != ""){ //속성이 존재하는 경우, 기록구분이 주체인 항목
  3594. //// if(sRecRslt != "" ){
  3595. //// //grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  3596. //// grd_24hoursclincobsreclist.cellComboNodeset(iHoursDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  3597. //// }
  3598. //// }else{
  3599. //// grd_24hoursclincobsreclist.combo.button.visible = false;
  3600. //// grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(iCol);
  3601. //// }
  3602. //
  3603. // // 다른 사용자의 기록은 수정 불가
  3604. // //if(sRecRslt != "" && model.getValue(xRecUserListPath+"[itemcd = '"+sItemCD+"' and itemseqno ='"+sItemSeqNo+"' and recflag ='"+sRecFlag+"' and recdt='"+sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00']/userid") != sUserID){
  3605. //
  3606. // var sHistRecUserId = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/userid").split("^");
  3607. // //var sHistRecUserNm = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/usernm").split("^");
  3608. // var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  3609. // var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  3610. //
  3611. // var sSettingUserId = "";
  3612. // //var sSettingUserNm = "";
  3613. // var sSettingRecDT = "";
  3614. // var sSettingCertKey = "";
  3615. //
  3616. // if(sHistRecDT.length > 0){
  3617. // for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  3618. // if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  3619. // sSettingUserId = sHistRecUserId[histrow];
  3620. // //sSettingUserNm = sHistRecUserNm[histrow];
  3621. // sSettingCertKey = sHistCertKey[histrow];
  3622. // }
  3623. // }
  3624. //
  3625. // if(sRecRslt != "" && sSettingUserId != "" && sSettingUserId != sUserID ){
  3626. // if(sSettingCertKey != ""){
  3627. // grd_24hoursclincobsreclist.isReadOnly(iHoursDataRow,iCol) = true;
  3628. // }
  3629. // }
  3630. // }
  3631. //
  3632. // //현재시간 색 표시
  3633. // if(getDateTime(sCurDT,'기본').substr(0,12) <= (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol])){
  3634. // if(iCol == 1){
  3635. // grd_24hoursclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3636. // }else{
  3637. // if(getDateTime(sCurDT,'기본').substr(0,12) > (sHeader[1][iCol-1]+ sHeader[3][iCol-1]+sHeader[4][iCol-1])){
  3638. // grd_24hoursclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3639. // }
  3640. // }
  3641. // }
  3642. //
  3643. // // Intake/output 합계 계산
  3644. // if(sSubTotal == "Y"){
  3645. // sRecRslt = model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/recrslt"+iCol);
  3646. // if((sRecFlag == "A" || sRecFlag == "B")){ // intake
  3647. // if(sRecRslt != ""){
  3648. // if(sRecFlag == "A"){
  3649. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3650. // sIntakeTmSum[iCol] += eval(sRecRslt);
  3651. // }else{
  3652. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  3653. // if(sAttrValue[0].getTrim().isNumber()){
  3654. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  3655. // }
  3656. // }
  3657. // }else if (sRecFlag == "B"){
  3658. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3659. // sIntakeTmSum[iCol] += eval(sRecRslt);
  3660. // }else{
  3661. // if(fIsNumber(sRecRslt) == true){
  3662. // sIntakeTmSum[iCol] += eval(sRecRslt);
  3663. // }else{
  3664. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  3665. // if(sAttrValue[0].getTrim().isNumber()){
  3666. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  3667. // }
  3668. // }
  3669. // }
  3670. // }
  3671. // }
  3672. // //sIntakeSumRow = iHoursDataRow;
  3673. // }else if(sRecFlag == "C" && sSubTotal == "Y"){ // output
  3674. // if(sRecRslt != ""){
  3675. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3676. // sOutputTmSum[iCol] += eval(sRecRslt);
  3677. // }else{
  3678. // if(fIsNumber(sRecRslt) == true){
  3679. // sOutputTmSum[iCol] += eval(sRecRslt);
  3680. // }else{
  3681. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  3682. // if(sAttrValue[0].getTrim().isNumber()){
  3683. // sOutputTmSum[iCol] += eval(sAttrValue[0]);
  3684. // }
  3685. // }
  3686. // }
  3687. // }
  3688. // }
  3689. // }
  3690. //// // 항목별 시간 Setting
  3691. //// sAnptTmSpec = model.getValue(xTMSettingListPath+"[itemcd='"+sSupCD+"' and prcpdd='"+sHeader[1][iCol]+"']/apnttmspec").split(",");
  3692. //// for(var i=0; i<sAnptTmSpec.length; i++){
  3693. //// if(sAnptTmSpec[i].length == 1){
  3694. //// sAnptTmSpec[i] = "0"+sAnptTmSpec[i];
  3695. //// }
  3696. //// if(sRecDT.substr(8,4) == (sAnptTmSpec[i]+"00")){
  3697. //// grd_24hoursclincobsreclist.cellStyle("background-color",iHoursDataRow,iCol) = "#ffe79d";
  3698. //// }
  3699. //// }
  3700. // }
  3701. // // 합계 계산목록 Intake/OutTake에 세팅
  3702. // if(sRecFlag != sNextRecFlag){
  3703. // if(sIntakeSumLine != "" && sIntakeTmSum[iCol] != 0 ){
  3704. // grd_24hoursclincobsreclist.valueMatrix(sIntakeSumLine, iCol) = sIntakeTmSum[iCol] ;
  3705. // //grd_24hoursclincobsreclist.cellStyle("text-align", sIntakeSumLine, iCol, sIntakeSumLine, iCol) = "right";
  3706. // sIntakeTmSum[iCol] = 0;
  3707. // }else if(sOutputSumLine != "" && sOutputTmSum[iCol] != 0){
  3708. // grd_24hoursclincobsreclist.valueMatrix(sOutputSumLine, iCol) = sOutputTmSum[iCol] ;
  3709. // //grd_24hoursclincobsreclist.cellStyle("text-align", sOutputSumLine, iCol, sOutputSumLine, iCol) = "right";
  3710. // sOutputTmSum[iCol] = 0;
  3711. // }
  3712. // }
  3713. // }
  3714. //// // 분류명 표시 수정 확인
  3715. //// if(eval(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/depth")) == 1){
  3716. //// grd_24hoursclincobsreclist.rowStyle(iHoursDataRow,"data","background-color") = "#d0e7ff";
  3717. //// grd_24hoursclincobsreclist.rowStyle(iHoursDataRow,"data","font-weight") = "bold";
  3718. //// }
  3719. //
  3720. // // SubTotal 항목 표시
  3721. // if(model.getValue(xHoursClincObsRecList+"["+iHoursRecRow+"]/subtotalyn") == "Y"){
  3722. // grd_24hoursclincobsreclist.cellStyle("background-color", iHoursRecRow+sFixRow, sItemColRef, iHoursRecRow+sFixRow, sItemColRef) = "#ffff99";
  3723. // }
  3724. //
  3725. // // Intake/OutTake 변경시 초기화
  3726. // if(sRecFlag != sNextRecFlag){
  3727. // sChkSubTotal = "N";
  3728. // sStartOutput = "N";
  3729. // sIntakeSumLine = "";
  3730. // sOutputSumLine = "";
  3731. // }
  3732. // }
  3733. //
  3734. // //현재 시간 색깔 표시
  3735. //// for(var iCol=1; iCol<=24; iCol++){
  3736. //// if(getDateTime(sCurDT,'기본') == (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol])){
  3737. //// //if(getCurrentDate() + getCurrentTime().substr(0,2) + "00" == (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol])){
  3738. //// grd_24hoursclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3739. //// break;
  3740. //// }
  3741. //// }
  3742. //
  3743. // //grd_24hoursclincobsreclist.subtotalPosition = "below";
  3744. // //grd_24hoursclincobsreclist.multiTotals = true;
  3745. //*******************************************************************************************************************************************
  3746. // 2008-10-12 수정 주석처리
  3747. //*******************************************************************************************************************************************
  3748. setTree(grd_24hoursclincobsreclist,grd_24hoursclincobsreclist.colRef("depth"),0,false); //변경
  3749. // 차트표시
  3750. fMakeChart(pRecFlag);
  3751. model.removenodeSet(xIntervalRecYNListPath);
  3752. break;
  3753. case "4days" :
  3754. //grd_4daysclincobsreclist.refresh();
  3755. //grd_4daysclincobsreclist.initStyle("background-color");
  3756. //grd_4daysclincobsreclist.backcoloralternate = "transparent";
  3757. sRecCnt = getNodesetCnt(model, xClincObsRecListPath);
  3758. sItemColRef = grd_4daysclincobsreclist.colRef("itemnm");
  3759. sFixRow = grd_4daysclincobsreclist.fixedrows - 1 ;
  3760. for(var i=1; i<= 16; i++){
  3761. //sIntakeTmSum[i] = 0;
  3762. //sOutputTmSum[i] = 0;
  3763. sTotalSum[i] = null;
  3764. }
  3765. for(var iRow=1; iRow <= sRecCnt; iRow++){
  3766. var addRow = eval(getNodesetCount(xDaysClincObsRecList)) + 1;
  3767. sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  3768. sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  3769. sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  3770. //현재 행 다음의 기록구분을 조회
  3771. if(iRow == sRecCnt){
  3772. sNextRecFlag = "Last";
  3773. }else{
  3774. sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  3775. }
  3776. if(sChkSubTotal == "N" && sSubTotal == "Y"){
  3777. sChkSubTotal = sSubTotal;
  3778. sSubTotalNm = sSetnm;
  3779. }
  3780. if(sChkSubTotal == "Y"){
  3781. if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  3782. model.makeNode(xDaysClincObsRecList+"["+addRow+"]");
  3783. model.copyNode(xDaysClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3784. iHoursRecRow = addRow;
  3785. var addIntakeRow = eval(getNodesetCount(xDaysClincObsRecList)) + 1;
  3786. model.makeNode(xDaysClincObsRecList+"["+addIntakeRow+"]");
  3787. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/itemnm", sSubTotalNm);
  3788. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt1", "");
  3789. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt2", "");
  3790. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt3", "");
  3791. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt4", "");
  3792. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt5", "");
  3793. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt6", "");
  3794. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt7", "");
  3795. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt8", "");
  3796. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt9", "");
  3797. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt10", "");
  3798. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt11", "");
  3799. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt12", "");
  3800. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt13", "");
  3801. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt14", "");
  3802. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt15", "");
  3803. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recrslt16", "");
  3804. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recflag", "T");
  3805. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/attrcd", "");
  3806. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/itemcd", "");
  3807. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/itemseqno", "");
  3808. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/depth", 2);
  3809. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/recfromdt", "");
  3810. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/reccharflag", "");
  3811. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/rectodt", "");
  3812. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/supcd", "");
  3813. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/carerecseqno", "");
  3814. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/leftaxis", "");
  3815. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/graphappyn", "");
  3816. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/subtotalyn", "");
  3817. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/setnm", "");
  3818. model.makeValue(xDaysClincObsRecList+"["+addIntakeRow+"]/lnkbizcd", "");
  3819. sIntakeSumLine = eval(addIntakeRow)+3;
  3820. }else if(sRecFlag == "C" && sStartOutput == "N"){
  3821. sStartOutput = "Y";
  3822. model.makeNode(xDaysClincObsRecList+"["+addRow+"]");
  3823. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/itemnm", sSubTotalNm);
  3824. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt1", "");
  3825. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt2", "");
  3826. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt3", "");
  3827. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt4", "");
  3828. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt5", "");
  3829. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt6", "");
  3830. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt7", "");
  3831. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt8", "");
  3832. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt9", "");
  3833. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt10", "");
  3834. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt11", "");
  3835. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt12", "");
  3836. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt13", "");
  3837. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt14", "");
  3838. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt15", "");
  3839. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recrslt16", "");
  3840. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recflag", "T");
  3841. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/attrcd", "");
  3842. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/itemcd", "");
  3843. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/itemseqno", "");
  3844. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/depth", 2);
  3845. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/recfromdt", "");
  3846. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/reccharflag", "");
  3847. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/rectodt", "");
  3848. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/supcd", "");
  3849. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/carerecseqno", "");
  3850. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/leftaxis", "");
  3851. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/graphappyn", "");
  3852. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/subtotalyn", "");
  3853. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/setnm", "out");
  3854. model.makeValue(xDaysClincObsRecList+"["+addRow+"]/lnkbizcd", "");
  3855. sOutputSumLine = eval(addRow)+3;
  3856. var addOutputRow = eval(getNodesetCount(xDaysClincObsRecList)) + 1;
  3857. model.makeNode(xDaysClincObsRecList+"["+addOutputRow+"]");
  3858. model.copyNode(xDaysClincObsRecList+"["+addOutputRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3859. iHoursRecRow = addOutputRow;
  3860. //sChkSubTotal = "N";
  3861. }else{
  3862. model.makeNode(xDaysClincObsRecList+"["+addRow+"]");
  3863. model.copyNode(xDaysClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3864. }
  3865. }else{
  3866. model.makeNode(xDaysClincObsRecList+"["+addRow+"]");
  3867. model.copyNode(xDaysClincObsRecList+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  3868. iHoursRecRow = addRow;
  3869. }
  3870. // Intake/OutTake 변경시 초기화
  3871. if(sRecFlag != sNextRecFlag){
  3872. sChkSubTotal = "N";
  3873. sStartOutput = "N";
  3874. sIntakeSumLine = "";
  3875. sOutputSumLine = "";
  3876. }
  3877. }
  3878. grd_4daysclincobsreclist.refresh();
  3879. //그리드 스타일 설정
  3880. for(var iRow = grd_4daysclincobsreclist.fixedRows ; iRow < grd_4daysclincobsreclist.rows ; iRow++){
  3881. sCareRecSeqno = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("carerecseqno"));
  3882. sRecFromDT = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("recfromdt"));
  3883. sRecToDT = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("rectodt"));
  3884. sDepth = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("depth"));
  3885. sAttrCD = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("attrcd"));
  3886. sReChartFlag = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("reccharflag"));
  3887. sLnkBizCd = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("lnkbizcd"));
  3888. sSubTotalYn = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("subtotalyn"));
  3889. sRecFlag = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("recflag"));
  3890. sSupCD = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("supcd"));
  3891. //현재 행 다음의 기록구분을 조회
  3892. if(iRow == grd_4daysclincobsreclist.rows){
  3893. sNextRecFlag = "Last";
  3894. }else{
  3895. sNextRecFlag = grd_4daysclincobsreclist.valueMatrix((iRow+1), grd_4daysclincobsreclist.colRef("recflag"));
  3896. }
  3897. grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols, iRow, grd_4daysclincobsreclist.cols-1) = true;
  3898. // 분류의 경우
  3899. if(eval(sDepth) == 1){
  3900. grd_4daysclincobsreclist.mergeByFree(iRow, grd_4daysclincobsreclist.fixedCols, iRow, grd_4daysclincobsreclist.cols-1);
  3901. grd_4daysclincobsreclist.rowStyle(iRow,"data","background-color") = "#d0e7ff";
  3902. grd_4daysclincobsreclist.rowStyle(iRow,"data","font-weight") = "bold";
  3903. }else{ //분류가 아닐 경우
  3904. // SubTotal 항목 표시
  3905. // if(sSubTotalYn == "Y"){
  3906. // grd_4daysclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  3907. // }
  3908. if(sSubTotalYn == "Y"){
  3909. grd_4daysclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  3910. } else if(sSubTotalYn == "H"){//20090209 khj hierarchies 자동세팅관련 임상관찰기록에서 작성대상이 아닌 상위아이템행은 읽기전용으로 세팅
  3911. grd_4daysclincobsreclist.mergeByFree(iRow, grd_4daysclincobsreclist.fixedCols, iRow, grd_4daysclincobsreclist.cols-1);
  3912. grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols, iRow, grd_4daysclincobsreclist.cols-1) = true;
  3913. }
  3914. // Total Intake, Total Output 색 및 글꼴 변경
  3915. if(sRecFlag == "T"){
  3916. grd_4daysclincobsreclist.rowStyle(iRow,"data","background-color") = "#dbb7ff";
  3917. grd_4daysclincobsreclist.cellStyle("font-weight", iRow, sItemColRef, iRow, sItemColRef) = "bold";
  3918. sTotalSumRow = iRow;
  3919. }
  3920. for(var iCol=1; iCol<= 16; iCol++){
  3921. sRecRslt = grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("recrslt"+iCol));
  3922. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  3923. sRecType = model.getValue(xDaysClincObsRecList+"["+(iRow - grd_4daysclincobsreclist.fixedRows + 1)+"]/recrsltattrcd"+iCol).substring(0,1);//recrsltattrcd 첫번째에 기록출처구분을 조회해옴.
  3924. //Total Intake, Total Output 제외 대상 색 및 글꼴 변경
  3925. if(sRecFlag != "T"){
  3926. if(model.getValue(xIntervalRecYNListPath+"[carerecseqno ='"+sCareRecSeqno+"']/recyn"+iCol) == "Y" ){
  3927. grd_4daysclincobsreclist.cellStyle("background-image",iRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  3928. grd_4daysclincobsreclist.cellStyle("background-position",iRow,iCol) = "right";
  3929. }
  3930. //연계업무항목 설정 추가
  3931. if(sLnkBizCd != "-" && sLnkBizCd != "99" ){
  3932. //grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  3933. grd_4daysclincobsreclist.cellStyle("background-color",iRow,iCol)= "#eaeaea"; //추가
  3934. grd_4daysclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  3935. }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우
  3936. //grd_4daysclincobsreclist.isReadOnly(iRow,iCol) = true;
  3937. grd_4daysclincobsreclist.cellStyle("background-color",iRow,iCol,iRow,iCol)= "#999999"; //추가999999
  3938. }
  3939. //------khj CDIS입력 컬러 다르게 표시 -----------
  3940. if( sRecType == "M" && sSupCD == "IT000001" ){
  3941. grd_4daysclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  3942. }
  3943. // 회복 임상관찰기록 시 임시저장 기록 표시
  3944. if(sSpParamInfo != ""){
  3945. // 다른 사용자의 기록은 수정 불가
  3946. //var sHistRecUserId = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/userid").split("^");
  3947. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  3948. var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  3949. //var sSettingUserId = "";
  3950. var sSettingRecDT = "";
  3951. var sSettingCertKey = "";
  3952. if(sHistRecDT.length > 0){
  3953. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  3954. if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  3955. //sSettingUserId = sHistRecUserId[histrow];
  3956. sSettingCertKey = sHistCertKey[histrow];
  3957. }
  3958. }
  3959. //if(sRecRslt != "" && sSettingUserId != "" && sSettingCertKey == "" ){
  3960. if(sRecRslt != "" && sSettingCertKey == "" ){
  3961. grd_4daysclincobsreclist.cellStyle("color",iRow,iCol) = "#ff9900";
  3962. grd_4daysclincobsreclist.cellStyle("font-weight", iRow, iCol) = "bold";
  3963. }
  3964. }
  3965. }
  3966. //현재시간 색 표시
  3967. if(sCurDT.substr(0,12) <= (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol]) && iRow == sRecCnt ){
  3968. if(iCol == 1){
  3969. grd_4daysclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  3970. }else{
  3971. if(sCurDT.substr(0,12) > (sHeader[1][iCol-1]+ sHeader[3][iCol-1]+sHeader[4][iCol-1])){
  3972. grd_4daysclincobsreclist.colstyle(iCol-1,"all","background-color") = "#ffe1fe";
  3973. }
  3974. }
  3975. }
  3976. }
  3977. //**************************** clear ********************************
  3978. // Intake/output 합계 계산
  3979. if(sSubTotalYn == "Y"){
  3980. sChkSubTotal = "Y";
  3981. if(sRecRslt != ""){
  3982. if(sRecFlag == "A"){
  3983. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  3984. sTotalSum[iCol] += eval(sRecRslt);
  3985. }else{
  3986. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":");
  3987. // if(sAttrValue[0].getTrim().isNumber()){
  3988. // sTotalSum[iCol] += eval(sAttrValue[0]);
  3989. // }
  3990. if( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc")) && fIsNumber(sRecRslt) == true ){
  3991. sTotalSum[iCol] += eval(sRecRslt);
  3992. }else{
  3993. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  3994. ? sRecRslt.split(":")
  3995. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  3996. );
  3997. if(sAttrValue[0].getTrim().isNumber()){
  3998. sTotalSum[iCol] += eval(sAttrValue[0]);
  3999. }
  4000. }
  4001. }
  4002. }else if (sRecFlag == "B" || sRecFlag == "C"){
  4003. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4004. sTotalSum[iCol] += eval(sRecRslt);
  4005. }else{
  4006. if(fIsNumber(sRecRslt) == true){
  4007. sTotalSum[iCol] += eval(sRecRslt);
  4008. }else{
  4009. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  4010. ? sRecRslt.split(":")
  4011. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  4012. );
  4013. if(sAttrValue[0].getTrim().isNumber()){
  4014. sTotalSum[iCol] += eval(sAttrValue[0]);
  4015. }
  4016. }
  4017. }
  4018. }
  4019. }
  4020. }
  4021. // 합계 계산목록 Intake/OutTake에 세팅
  4022. if( (sRecFlag == "T" || sRecFlag != sNextRecFlag ) && sChkSubTotal == "Y" && sTotalSumRow != "" ){
  4023. if(sTotalSumRow != "" && sTotalSum[iCol] != null ){
  4024. grd_4daysclincobsreclist.valueMatrix(sTotalSumRow, iCol) = sTotalSum[iCol] ;
  4025. }
  4026. if(iCol == 16){
  4027. sChkSubTotal = "C";
  4028. }
  4029. }
  4030. }
  4031. if(sChkSubTotal == "C"){
  4032. for(var i = 1 ; i <= 16 ; i ++){
  4033. sTotalSum[i] = null;
  4034. }
  4035. sTotalSumRow = "";
  4036. sChkSubTotal = "N";
  4037. }
  4038. }
  4039. }
  4040. //*******************************************************************************************************************************************
  4041. // 2008-10-12 수정
  4042. //*******************************************************************************************************************************************
  4043. // for(var iRow=1; iRow<=sRecCnt; iRow++){
  4044. // sRecAddRow = "";
  4045. // grd_4daysclincobsreclist.addRow(false);
  4046. //
  4047. // var iDaysRecRow = grd_4daysclincobsreclist.rows - grd_4daysclincobsreclist.fixedrows;
  4048. // sItemCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemcd");
  4049. // sItemSeqNo = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemseqno");
  4050. // sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  4051. // sSupCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/supcd");
  4052. // sAttrCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/attrcd");
  4053. // sCareRecSeqno = model.getValue(xClincObsRecListPath+"["+iRow+"]/carerecseqno");
  4054. // sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  4055. // sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  4056. // sLnkBizCd = model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd");
  4057. //
  4058. // //현재 행 다음의 기록구분을 조회
  4059. // if(iRow == sRecCnt){
  4060. // sNextRecFlag = "Last";
  4061. // }else{
  4062. // sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  4063. // }
  4064. //
  4065. // if(sChkSubTotal == "N" && sSubTotal == "Y"){
  4066. // sChkSubTotal = sSubTotal;
  4067. // sSubTotalNm = sSetnm;
  4068. // }
  4069. //
  4070. // //임상관찰기록 total intake/total output 항목 로우 추가
  4071. // if(sChkSubTotal == "Y"){
  4072. // if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  4073. // grd_4daysclincobsreclist.addRow(false);
  4074. // sRecAddRow = grd_4daysclincobsreclist.rows - grd_4daysclincobsreclist.fixedrows;
  4075. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  4076. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/depth", 2);
  4077. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/recflag", "T");
  4078. // sIntakeSumLine = eval(sRecAddRow)+eval(sFixRow);
  4079. // grd_4daysclincobsreclist.rowStyle(sIntakeSumLine,"data","background-color") = "#dbb7ff";
  4080. // grd_4daysclincobsreclist.cellStyle("font-weight", sIntakeSumLine, sItemColRef, sIntakeSumLine, sItemColRef) = "bold";
  4081. // sChkSubTotal = "N";
  4082. // }else if(sRecFlag == "C" && sStartOutput == "N"){
  4083. // sStartOutput = "Y";
  4084. // sRecAddRow = iDaysRecRow;
  4085. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  4086. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/depth", 2);
  4087. // model.setValue(xDaysClincObsRecList+"["+sRecAddRow+"]/recflag", "T");
  4088. // sOutputSumLine = eval(sRecAddRow)+eval(sFixRow);
  4089. // grd_4daysclincobsreclist.rowStyle(sOutputSumLine,"data","background-color") = "#dbb7ff";
  4090. // grd_4daysclincobsreclist.cellStyle("font-weight", sOutputSumLine, sItemColRef, sOutputSumLine, sItemColRef) = "bold";
  4091. // grd_4daysclincobsreclist.addRow(false);
  4092. // iDaysRecRow = grd_4daysclincobsreclist.rows - grd_4daysclincobsreclist.fixedrows;
  4093. // sChkSubTotal = "N";
  4094. // }
  4095. // }
  4096. //
  4097. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/itemcd" , sItemCD);
  4098. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/itemseqno" , sItemSeqNo);
  4099. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/recflag" , sRecFlag);
  4100. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/attrcd" , sAttrCD);
  4101. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/carerecseqno" , sCareRecSeqno);
  4102. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/itemnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/itemnm"));
  4103. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/wardcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/wardcd"));
  4104. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/roomcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/roomcd"));
  4105. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/depth" , model.getValue(xClincObsRecListPath+"["+iRow+"]/depth"));
  4106. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/recfromdt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/recfromdt"));
  4107. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/rectodt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/rectodt"));
  4108. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/reccharflag" , model.getValue(xClincObsRecListPath+"["+iRow+"]/reccharflag"));
  4109. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/subtotalyn" , model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn"));
  4110. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/setnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm"));
  4111. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/lnkbizcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd"));
  4112. //
  4113. //
  4114. // var iDaysDataRow = "";
  4115. // if(sIntakeSumLine == ""){
  4116. // iDaysDataRow = grd_4daysclincobsreclist.rows-1;
  4117. // }else{
  4118. // iDaysDataRow = grd_4daysclincobsreclist.rows-2;
  4119. // }
  4120. //
  4121. // for(var iCol=1; iCol<= 16; iCol++){
  4122. // //추가
  4123. // if(sIntakeSumLine != ""){
  4124. // grd_4daysclincobsreclist.isReadOnly(sIntakeSumLine,iCol) = true;
  4125. // }else if(sOutputSumLine != ""){
  4126. // grd_4daysclincobsreclist.isReadOnly(sOutputSumLine,iCol) = true;
  4127. // }
  4128. //
  4129. // sRecRslt = model.getValue(xClincObsRecListPath+"["+iRow+"]/recrslt"+iCol);
  4130. // model.setValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/recrslt"+iCol, sRecRslt);
  4131. //
  4132. // // 기록사이에 기록이 존재하는 여부를 표시
  4133. // if(model.getValue(xIntervalRecYNListPath+"[itemcd ='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and recflag='"+sRecFlag+"']/recyn"+iCol) == "Y" ){
  4134. // grd_4daysclincobsreclist.cellStyle("background-image",iDaysDataRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  4135. // grd_4daysclincobsreclist.cellStyle("background-position",iDaysDataRow,iCol) = "right";
  4136. // }
  4137. //
  4138. // // 셀의 컨트롤 타입을 설정함.
  4139. // sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  4140. // sRecFromDT = model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/recfromdt");
  4141. // sRecToDT = model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/rectodt");
  4142. // grd_4daysclincobsreclist.isReadOnly(iDaysDataRow,iCol) = true;
  4143. //
  4144. // if(eval(model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/depth")) == 1){
  4145. // if(iCol == 1 ){
  4146. // grd_4daysclincobsreclist.mergeByFree(iDaysDataRow, grd_4daysclincobsreclist.fixedCols, iDaysDataRow, grd_4daysclincobsreclist.cols-1);
  4147. // grd_4daysclincobsreclist.rowStyle(iDaysDataRow,"data","background-color") = "#d0e7ff";
  4148. // grd_4daysclincobsreclist.rowStyle(iDaysDataRow,"data","font-weight") = "bold";
  4149. // }
  4150. // }else{
  4151. // //연계업무항목 설정 추가
  4152. // if(model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/lnkbizcd") != "-" && model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/lnkbizcd") != "99" ){
  4153. // grd_4daysclincobsreclist.cellStyle("background-color", iDaysDataRow,iCol,iDaysDataRow,iCol)= "#eaeaea"; //추가
  4154. // grd_4daysclincobsreclist.cellstyle("color", iDaysDataRow,iCol,iDaysDataRow,iCol ) = "#FF0000";
  4155. // }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  4156. // grd_4daysclincobsreclist.cellStyle("background-color", iDaysDataRow,iCol,iDaysDataRow,iCol)= "#ffcc99"; //추가
  4157. // }
  4158. //
  4159. // //sAttrCD = model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/attrcd");
  4160. // //sReChartFlag = model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/reccharflag");
  4161. //
  4162. // //if(sReChartFlag =="A" && sAttrCD != "" && sRecRslt != ""){ // 속성이 존재하는 경우, 기록구분이 주체인 항목
  4163. // //grd_4daysclincobsreclist.cellComboNodeset(iDaysDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  4164. // //}
  4165. // }
  4166. //
  4167. // //현재시간 색 표시
  4168. // if(sCurDT.substr(0,12) <= (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol]) && iRow == sRecCnt ){
  4169. // if(iCol == 1){
  4170. // grd_4daysclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  4171. // }else{
  4172. // if(sCurDT.substr(0,12) > (sHeader[1][iCol-1]+ sHeader[3][iCol-1]+sHeader[4][iCol-1])){
  4173. // grd_4daysclincobsreclist.colstyle(iCol-1,"all","background-color") = "#ffe1fe";
  4174. // }
  4175. // }
  4176. // }
  4177. //
  4178. // // Intake/output 합계 계산
  4179. // if(sSubTotal == "Y"){
  4180. // sRecRslt = model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/recrslt"+iCol);
  4181. // if(sRecFlag == "A" || sRecFlag == "B"){ // intake
  4182. // if(sRecRslt != ""){
  4183. // if(sRecFlag == "A"){
  4184. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4185. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4186. // }else{
  4187. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4188. // if(sAttrValue[0].getTrim().isNumber()){
  4189. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  4190. // }
  4191. // }
  4192. // }else if (sRecFlag == "B"){
  4193. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4194. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4195. // }else{
  4196. // if(fIsNumber(sRecRslt) == true){
  4197. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4198. // }else{
  4199. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4200. // if(sAttrValue[0].getTrim().isNumber()){
  4201. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  4202. // }
  4203. // }
  4204. // }
  4205. // }
  4206. // }
  4207. // //sIntakeSumRow = iHoursDataRow;
  4208. // }else if(sRecFlag == "C"){ // output
  4209. // if(sRecRslt != ""){
  4210. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4211. // sOutputTmSum[iCol] += eval(sRecRslt);
  4212. // }else{
  4213. // if(fIsNumber(sRecRslt) == true){
  4214. // sOutputTmSum[iCol] += eval(sRecRslt);
  4215. // }else{
  4216. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4217. // if(sAttrValue[0].getTrim().isNumber()){
  4218. // sOutputTmSum[iCol] += eval(sAttrValue[0]);
  4219. // }
  4220. // }
  4221. // }
  4222. // }
  4223. // }
  4224. // }
  4225. //
  4226. // // 합계 계산목록 Intake/OutTake에 세팅
  4227. // if(sRecFlag != sNextRecFlag){
  4228. // if(sIntakeSumLine != "" && sIntakeTmSum[iCol] != 0 ){
  4229. // grd_4daysclincobsreclist.valueMatrix(sIntakeSumLine, iCol) = sIntakeTmSum[iCol] ;
  4230. // sIntakeTmSum[iCol] = 0;
  4231. // }else if(sOutputSumLine != "" && sOutputTmSum[iCol] != 0){
  4232. // grd_4daysclincobsreclist.valueMatrix(sOutputSumLine, iCol) = sOutputTmSum[iCol] ;
  4233. // sOutputTmSum[iCol] = 0;
  4234. // }
  4235. // }
  4236. // }
  4237. //
  4238. // // SubTotal 항목 표시
  4239. // if(model.getValue(xDaysClincObsRecList+"["+iDaysRecRow+"]/subtotalyn") == "Y"){
  4240. // grd_4daysclincobsreclist.cellStyle("background-color", iDaysRecRow+sFixRow, sItemColRef, iDaysRecRow+sFixRow, sItemColRef) = "#ffff99";
  4241. // }
  4242. //
  4243. // // Intake/OutTake 변경시 초기화
  4244. // if(sRecFlag != sNextRecFlag){
  4245. // sChkSubTotal = "N";
  4246. // sStartOutput = "N";
  4247. // sIntakeSumLine = "";
  4248. // sOutputSumLine = "";
  4249. // }
  4250. // }
  4251. //*******************************************************************************************************************************************
  4252. // 2008-10-12 수정 주석처리
  4253. //*******************************************************************************************************************************************
  4254. setTree(grd_4daysclincobsreclist,grd_4daysclincobsreclist.colRef("depth"),0,false);
  4255. // 차트표시
  4256. fMakeChart(pRecFlag);
  4257. model.removenodeSet(xIntervalRecYNListPath);
  4258. model.removenodeSet(xClincObsRecListPath);
  4259. break;
  4260. case "formerday":
  4261. var sVWCtrl_Formerday = model.getValue(sCondPath+"/vwctrl_formerday");
  4262. sCurDT = sCurDT.substr(0,10) + "00";
  4263. if(sVWCtrl_Formerday == "stnd" || sVWCtrl_Formerday == "all"){
  4264. //grd_stndclincobsreclist.refresh();
  4265. //grd_stndclincobsreclist.initStyle("background-color");
  4266. //grd_stndclincobsreclist.backcoloralternate = "transparent";
  4267. sRecCnt = getNodesetCnt(model, xClincObsRecListPath);
  4268. sItemColRef = grd_stndclincobsreclist.colRef("itemnm");
  4269. sFixRow = grd_stndclincobsreclist.fixedrows - 1 ;
  4270. for(var i=1; i<= 14; i++){
  4271. //sIntakeTmSum[i] = 0;
  4272. //sOutputTmSum[i] = 0;
  4273. sTotalSum[i] = null;
  4274. }
  4275. for(var iRow=1; iRow <= sRecCnt; iRow++){
  4276. var addRow = eval(getNodesetCount(xStnddayClincObsRecListPath)) + 1;
  4277. sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  4278. sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  4279. sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  4280. //현재 행 다음의 기록구분을 조회
  4281. if(iRow == sRecCnt){
  4282. sNextRecFlag = "Last";
  4283. }else{
  4284. sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  4285. }
  4286. if(sChkSubTotal == "N" && sSubTotal == "Y"){
  4287. sChkSubTotal = sSubTotal;
  4288. sSubTotalNm = sSetnm;
  4289. }
  4290. if(sChkSubTotal == "Y"){
  4291. if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  4292. model.makeNode(xStnddayClincObsRecListPath+"["+addRow+"]");
  4293. model.copyNode(xStnddayClincObsRecListPath+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  4294. iHoursRecRow = addRow;
  4295. var addIntakeRow = eval(getNodesetCount(xStnddayClincObsRecListPath)) + 1;
  4296. model.makeNode(xStnddayClincObsRecListPath+"["+addIntakeRow+"]");
  4297. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/itemnm", sSubTotalNm);
  4298. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt1", "");
  4299. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt2", "");
  4300. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt3", "");
  4301. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt4", "");
  4302. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt5", "");
  4303. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt6", "");
  4304. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt7", "");
  4305. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt8", "");
  4306. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt9", "");
  4307. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt10", "");
  4308. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt11", "");
  4309. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt12", "");
  4310. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt13", "");
  4311. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recrslt14", "");
  4312. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recflag", "T");
  4313. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/attrcd", "");
  4314. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/itemcd", "");
  4315. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/itemseqno", "");
  4316. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/depth", 2);
  4317. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/recfromdt", "");
  4318. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/reccharflag", "");
  4319. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/rectodt", "");
  4320. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/supcd", "");
  4321. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/carerecseqno", "");
  4322. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/leftaxis", "");
  4323. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/graphappyn", "");
  4324. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/subtotalyn", "");
  4325. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/setnm", "");
  4326. model.makeValue(xStnddayClincObsRecListPath+"["+addIntakeRow+"]/lnkbizcd", "");
  4327. sIntakeSumLine = eval(addIntakeRow)+3;
  4328. }else if(sRecFlag == "C" && sStartOutput == "N"){
  4329. sStartOutput = "Y";
  4330. model.makeNode(xStnddayClincObsRecListPath+"["+addRow+"]");
  4331. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/itemnm", sSubTotalNm);
  4332. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt1", "");
  4333. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt2", "");
  4334. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt3", "");
  4335. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt4", "");
  4336. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt5", "");
  4337. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt6", "");
  4338. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt7", "");
  4339. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt8", "");
  4340. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt9", "");
  4341. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt10", "");
  4342. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt11", "");
  4343. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt12", "");
  4344. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt13", "");
  4345. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recrslt14", "");
  4346. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recflag", "T");
  4347. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/attrcd", "");
  4348. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/itemcd", "");
  4349. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/itemseqno", "");
  4350. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/depth", 2);
  4351. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/recfromdt", "");
  4352. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/reccharflag", "");
  4353. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/rectodt", "");
  4354. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/supcd", "");
  4355. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/carerecseqno", "");
  4356. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/leftaxis", "");
  4357. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/graphappyn", "");
  4358. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/subtotalyn", "");
  4359. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/setnm", "out");
  4360. model.makeValue(xStnddayClincObsRecListPath+"["+addRow+"]/lnkbizcd", "");
  4361. sOutputSumLine = eval(addRow)+3;
  4362. var addOutputRow = eval(getNodesetCount(xStnddayClincObsRecListPath)) + 1;
  4363. model.makeNode(xStnddayClincObsRecListPath+"["+addOutputRow+"]");
  4364. model.copyNode(xStnddayClincObsRecListPath+"["+addOutputRow+"]", xClincObsRecListPath+"["+iRow+"]");
  4365. iHoursRecRow = addOutputRow;
  4366. //sChkSubTotal = "N";
  4367. }else{
  4368. model.makeNode(xStnddayClincObsRecListPath+"["+addRow+"]");
  4369. model.copyNode(xStnddayClincObsRecListPath+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  4370. }
  4371. }else{
  4372. model.makeNode(xStnddayClincObsRecListPath+"["+addRow+"]");
  4373. model.copyNode(xStnddayClincObsRecListPath+"["+addRow+"]", xClincObsRecListPath+"["+iRow+"]");
  4374. iHoursRecRow = addRow;
  4375. }
  4376. // Intake/OutTake 변경시 초기화
  4377. if(sRecFlag != sNextRecFlag){
  4378. sChkSubTotal = "N";
  4379. sStartOutput = "N";
  4380. sIntakeSumLine = "";
  4381. sOutputSumLine = "";
  4382. }
  4383. }
  4384. //grd_24hoursclincobsreclist.refresh();
  4385. grd_stndclincobsreclist.refresh();
  4386. //그리드 스타일 설정
  4387. for(var iRow = grd_stndclincobsreclist.fixedRows ; iRow < grd_stndclincobsreclist.rows ; iRow++){
  4388. sCareRecSeqno = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("carerecseqno"));
  4389. sRecFromDT = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("recfromdt"));
  4390. sRecToDT = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("rectodt"));
  4391. sDepth = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("depth"));
  4392. sAttrCD = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("attrcd"));
  4393. sReChartFlag = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("reccharflag"));
  4394. sLnkBizCd = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("lnkbizcd"));
  4395. sSubTotalYn = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("subtotalyn"));
  4396. sRecFlag = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("recflag"));
  4397. sSupCD = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("supcd"));
  4398. //현재 행 다음의 기록구분을 조회
  4399. if(iRow == grd_stndclincobsreclist.rows){
  4400. sNextRecFlag = "Last";
  4401. }else{
  4402. sNextRecFlag = grd_stndclincobsreclist.valueMatrix((iRow+1), grd_stndclincobsreclist.colRef("recflag"));
  4403. }
  4404. grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols, iRow, grd_stndclincobsreclist.cols-1) = true;
  4405. // 분류의 경우
  4406. if(eval(sDepth) == 1){
  4407. grd_stndclincobsreclist.mergeByFree(iRow, grd_stndclincobsreclist.fixedCols, iRow, grd_stndclincobsreclist.cols-1);
  4408. grd_stndclincobsreclist.rowStyle(iRow,"data","background-color") = "#d0e7ff";
  4409. grd_stndclincobsreclist.rowStyle(iRow,"data","font-weight") = "bold";
  4410. }else{ //분류가 아닐 경우
  4411. // SubTotal 항목 표시
  4412. // if(sSubTotalYn == "Y"){
  4413. // grd_stndclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  4414. // }
  4415. if(sSubTotalYn == "Y"){
  4416. grd_stndclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  4417. } else if(sSubTotalYn == "H"){//20090209 khj hierarchies 자동세팅관련 임상관찰기록에서 작성대상이 아닌 상위아이템행은 읽기전용으로 세팅
  4418. grd_stndclincobsreclist.mergeByFree(iRow, grd_stndclincobsreclist.fixedCols, iRow, grd_stndclincobsreclist.cols-1);
  4419. grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols, iRow, grd_stndclincobsreclist.cols-1) = true;
  4420. }
  4421. // Total Intake, Total Output 색 및 글꼴 변경
  4422. if(sRecFlag == "T"){
  4423. grd_stndclincobsreclist.rowStyle(iRow,"data","background-color") = "#dbb7ff";
  4424. grd_stndclincobsreclist.cellStyle("font-weight", iRow, sItemColRef, iRow, sItemColRef) = "bold";
  4425. sTotalSumRow = iRow;
  4426. }
  4427. for(var iCol=1; iCol<= 14; iCol++){
  4428. sRecRslt = grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("recrslt"+iCol));
  4429. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  4430. sRecType = model.getValue(xStnddayClincObsRecListPath+"["+(iRow - grd_stndclincobsreclist.fixedRows + 1)+"]/recrsltattrcd"+iCol).substring(0,1);//recrsltattrcd 첫번째에 기록출처구분을 조회해옴.
  4431. //Total Intake, Total Output 제외 대상 색 및 글꼴 변경
  4432. if(sRecFlag != "T"){
  4433. if(model.getValue(xIntervalRecYNListPath+"[carerecseqno ='"+sCareRecSeqno+"']/recyn"+iCol) == "Y" ){
  4434. grd_stndclincobsreclist.cellStyle("background-image",iRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  4435. grd_stndclincobsreclist.cellStyle("background-position",iRow,iCol) = "right";
  4436. }
  4437. //연계업무항목 설정 추가
  4438. if(sLnkBizCd != "-" && sLnkBizCd != "99" ){
  4439. //grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  4440. grd_stndclincobsreclist.cellStyle("background-color",iRow,iCol)= "#eaeaea"; //추가
  4441. grd_stndclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  4442. }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우
  4443. //grd_4daysclincobsreclist.isReadOnly(iRow,iCol) = true;
  4444. grd_stndclincobsreclist.cellStyle("background-color",iRow,iCol,iRow,iCol)= "#999999"; //추가
  4445. }
  4446. //------khj CDIS입력 컬러 다르게 표시 -----------
  4447. if( sRecType == "M" && sSupCD == "IT000001" ){
  4448. grd_stndclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  4449. }
  4450. // 회복 임상관찰기록 시 임시저장 기록 표시
  4451. if(sSpParamInfo != ""){
  4452. // 다른 사용자의 기록은 수정 불가
  4453. //var sHistRecUserId = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/userid").split("^");
  4454. var sHistRecDT = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  4455. var sHistCertKey = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  4456. //var sSettingUserId = "";
  4457. var sSettingRecDT = "";
  4458. var sSettingCertKey = "";
  4459. if(sHistRecDT.length > 0){
  4460. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  4461. if(sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  4462. //sSettingUserId = sHistRecUserId[histrow];
  4463. sSettingCertKey = sHistCertKey[histrow];
  4464. }
  4465. }
  4466. if(sRecRslt != "" && sSettingCertKey == "" ){
  4467. grd_stndclincobsreclist.cellStyle("color",iRow,iCol) = "#ff9900";
  4468. grd_stndclincobsreclist.cellStyle("font-weight", iRow, iCol) = "bold";
  4469. }
  4470. }
  4471. }
  4472. //현재 시간 색 표시
  4473. if(sCurDT == (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol]) && iRow == sRecCnt){
  4474. grd_stndclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  4475. }
  4476. }
  4477. //**************************** clear ********************************
  4478. // Intake/output 합계 계산
  4479. if(sSubTotalYn == "Y"){
  4480. sChkSubTotal = "Y";
  4481. if(sRecRslt != ""){
  4482. if(sRecFlag == "A"){
  4483. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4484. sTotalSum[iCol] += eval(sRecRslt);
  4485. }else{
  4486. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":");
  4487. // if(sAttrValue[0].getTrim().isNumber()){
  4488. // sTotalSum[iCol] += eval(sAttrValue[0]);
  4489. // }
  4490. if( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc")) && fIsNumber(sRecRslt) == true ){
  4491. sTotalSum[iCol] += eval(sRecRslt);
  4492. }else{
  4493. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  4494. ? sRecRslt.split(":")
  4495. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  4496. );
  4497. if(sAttrValue[0].getTrim().isNumber()){
  4498. sTotalSum[iCol] += eval(sAttrValue[0]);
  4499. }
  4500. }
  4501. }
  4502. }else if (sRecFlag == "B" || sRecFlag == "C"){
  4503. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4504. sTotalSum[iCol] += eval(sRecRslt);
  4505. }else{
  4506. if(fIsNumber(sRecRslt) == true){
  4507. sTotalSum[iCol] += eval(sRecRslt);
  4508. }else{
  4509. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  4510. ? sRecRslt.split(":")
  4511. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  4512. );
  4513. if(sAttrValue[0].getTrim().isNumber()){
  4514. sTotalSum[iCol] += eval(sAttrValue[0]);
  4515. }
  4516. }
  4517. }
  4518. }
  4519. }
  4520. }
  4521. // 합계 계산목록 Intake/OutTake에 세팅
  4522. if( (sRecFlag == "T" || sRecFlag != sNextRecFlag ) && sChkSubTotal == "Y" && sTotalSumRow != "" ){
  4523. if(sTotalSumRow != "" && sTotalSum[iCol] != null ){
  4524. grd_stndclincobsreclist.valueMatrix(sTotalSumRow, iCol) = sTotalSum[iCol] ;
  4525. }
  4526. if(iCol == 14){
  4527. sChkSubTotal = "C";
  4528. }
  4529. }
  4530. }
  4531. if(sChkSubTotal == "C"){
  4532. for(var i = 1 ; i <= 14 ; i ++){
  4533. sTotalSum[i] = null;
  4534. }
  4535. sTotalSumRow = "";
  4536. sChkSubTotal = "N";
  4537. }
  4538. }
  4539. }
  4540. //*******************************************************************************************************************************************
  4541. // 2008-10-12 수정
  4542. //*******************************************************************************************************************************************
  4543. // for(var iRow=1; iRow <= sRecCnt; iRow++){
  4544. // sRecAddRow = "";
  4545. // grd_stndclincobsreclist.addRow(false);
  4546. //
  4547. // var iStndRecRow = grd_stndclincobsreclist.rows - grd_stndclincobsreclist.fixedrows;
  4548. // sItemCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemcd");
  4549. // sItemSeqNo = model.getValue(xClincObsRecListPath+"["+iRow+"]/itemseqno");
  4550. // sRecFlag = model.getValue(xClincObsRecListPath+"["+iRow+"]/recflag");
  4551. // sSupCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/supcd");
  4552. // sAttrCD = model.getValue(xClincObsRecListPath+"["+iRow+"]/attrcd");
  4553. // sCareRecSeqno = model.getValue(xClincObsRecListPath+"["+iRow+"]/carerecseqno");
  4554. // sSetnm = model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm");
  4555. // sSubTotal = model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn");
  4556. // sLnkBizCd = model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd");
  4557. //
  4558. // //현재 행 다음의 기록구분을 조회
  4559. // if(iRow == sRecCnt){
  4560. // sNextRecFlag = "Last";
  4561. // }else{
  4562. // sNextRecFlag = model.getValue(xClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  4563. // }
  4564. //
  4565. // if(sChkSubTotal == "N" && sSubTotal == "Y"){
  4566. // sChkSubTotal = sSubTotal;
  4567. // sSubTotalNm = sSetnm;
  4568. // }
  4569. //
  4570. // //임상관찰기록 total intake/total output 항목 로우 추가
  4571. // if(sChkSubTotal == "Y"){
  4572. // if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  4573. // grd_stndclincobsreclist.addRow(false);
  4574. // sRecAddRow = grd_stndclincobsreclist.rows - grd_stndclincobsreclist.fixedrows;
  4575. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  4576. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/depth", 2);
  4577. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/recflag", "T");
  4578. // sIntakeSumLine = eval(sRecAddRow)+eval(sFixRow);
  4579. // grd_stndclincobsreclist.rowStyle(sIntakeSumLine,"data","background-color") = "#dbb7ff";
  4580. // grd_stndclincobsreclist.cellStyle("font-weight", sIntakeSumLine, sItemColRef, sIntakeSumLine, sItemColRef) = "bold";
  4581. // sChkSubTotal = "N";
  4582. // }else if(sRecFlag == "C" && sStartOutput == "N"){
  4583. // sStartOutput = "Y";
  4584. // sRecAddRow = iStndRecRow;
  4585. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  4586. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/depth", 2);
  4587. // model.setValue(xStnddayClincObsRecListPath+"["+sRecAddRow+"]/recflag", "T");
  4588. // sOutputSumLine = eval(sRecAddRow)+eval(sFixRow);
  4589. // grd_stndclincobsreclist.rowStyle(sOutputSumLine,"data","background-color") = "#dbb7ff";
  4590. // grd_stndclincobsreclist.cellStyle("font-weight", sOutputSumLine, sItemColRef, sOutputSumLine, sItemColRef) = "bold";
  4591. // grd_stndclincobsreclist.addRow(false);
  4592. // iStndRecRow = grd_stndclincobsreclist.rows - grd_stndclincobsreclist.fixedrows;
  4593. // sChkSubTotal = "N";
  4594. // }
  4595. // }
  4596. //
  4597. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/itemcd" , sItemCD);
  4598. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/itemseqno" , sItemSeqNo);
  4599. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/recflag" , sRecFlag);
  4600. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/attrcd" , sAttrCD);
  4601. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/supcd" , sSupCD);
  4602. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/carerecseqno" , sCareRecSeqno);
  4603. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/itemnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/itemnm"));
  4604. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/wardcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/wardcd"));
  4605. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/roomcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/roomcd"));
  4606. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/depth" , model.getValue(xClincObsRecListPath+"["+iRow+"]/depth"));
  4607. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/recfromdt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/recfromdt"));
  4608. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/rectodt" , model.getValue(xClincObsRecListPath+"["+iRow+"]/rectodt"));
  4609. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/reccharflag" , model.getValue(xClincObsRecListPath+"["+iRow+"]/reccharflag"));
  4610. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/subtotalyn" , model.getValue(xClincObsRecListPath+"["+iRow+"]/subtotalyn"));
  4611. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/setnm" , model.getValue(xClincObsRecListPath+"["+iRow+"]/setnm"));
  4612. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/lnkbizcd" , model.getValue(xClincObsRecListPath+"["+iRow+"]/lnkbizcd"));
  4613. //
  4614. // var iStndDataRow = "";
  4615. // if(sIntakeSumLine == ""){
  4616. // iStndDataRow = grd_stndclincobsreclist.rows-1;
  4617. // }else{
  4618. // iStndDataRow = grd_stndclincobsreclist.rows-2;
  4619. // }
  4620. //
  4621. // for(var iCol=1; iCol<= 14; iCol++){
  4622. // //추가
  4623. // if(sIntakeSumLine != ""){
  4624. // grd_stndclincobsreclist.isReadOnly(sIntakeSumLine,iCol) = true;
  4625. // }else if(sOutputSumLine != ""){
  4626. // grd_stndclincobsreclist.isReadOnly(sOutputSumLine,iCol) = true;
  4627. // }
  4628. //
  4629. // sRecRslt = model.getValue(xClincObsRecListPath+"["+iRow+"]/recrslt"+iCol);
  4630. // model.setValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/recrslt"+iCol, sRecRslt);
  4631. //
  4632. // // 기록사이에 기록이 존재하는 여부를 표시
  4633. // if(model.getValue(xIntervalRecYNListPath+"[itemcd ='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and recflag='"+sRecFlag+"']/recyn"+iCol) == "Y" ){
  4634. // grd_stndclincobsreclist.cellStyle("background-image",iStndDataRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  4635. // grd_stndclincobsreclist.cellStyle("background-position",iStndDataRow,iCol) = "right";
  4636. // }
  4637. //
  4638. // // 셀의 컨트롤 타입을 설정함.
  4639. // sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  4640. // sRecFromDT = model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/recfromdt");
  4641. // sRecToDT = model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/rectodt");
  4642. // grd_stndclincobsreclist.isReadOnly(iStndDataRow,iCol) = true;
  4643. //
  4644. // if(eval(model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/depth")) == 1){
  4645. // if(iCol == 1){
  4646. // //grd_stndclincobsreclist.isReadOnly(iStndDataRow,grd_stndclincobsreclist.fixedCols,iStndDataRow, grd_stndclincobsreclist.cols-1) = true;
  4647. // grd_stndclincobsreclist.mergeByFree(iStndDataRow, grd_stndclincobsreclist.fixedCols, iStndDataRow, grd_stndclincobsreclist.cols-1);
  4648. // grd_stndclincobsreclist.rowStyle(iStndDataRow,"data","background-color") = "#d0e7ff";
  4649. // grd_stndclincobsreclist.rowStyle(iStndDataRow,"data","font-weight") = "bold";
  4650. // }
  4651. // }else{
  4652. // //연계업무항목 설정 추가
  4653. // if(model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/lnkbizcd") != "-" && model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/lnkbizcd") != "99" ){
  4654. // grd_stndclincobsreclist.cellStyle("background-color", iStndDataRow,iCol,iStndDataRow,iCol)= "#eaeaea"; //추가
  4655. // grd_stndclincobsreclist.cellstyle("color", iStndDataRow,iCol,iStndDataRow,iCol ) = "#FF0000";
  4656. // }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  4657. // grd_stndclincobsreclist.cellStyle("background-color", iStndDataRow,iCol,iStndDataRow,iCol)= "#ffcc99"; //추가
  4658. // }
  4659. //
  4660. //// sAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/attrcd");
  4661. //// sReChartFlag = model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/reccharflag");
  4662. ////
  4663. //// if(sReChartFlag =="A" && sAttrCD != "" && sRecRslt != ""){ // 속성이 존재하는 경우, 기록구분이 주체인 항목
  4664. //// grd_stndclincobsreclist.cellComboNodeset(iStndDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  4665. //// }
  4666. // }
  4667. //
  4668. // //현재 시간 색 표시
  4669. // if(sCurDT == (sHeader[1][iCol]+ sHeader[3][iCol]+sHeader[4][iCol]) && iRow == sRecCnt){
  4670. // grd_stndclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  4671. // }
  4672. //
  4673. // if(sSubTotal == "Y"){
  4674. // // Intake/output 합계 계산
  4675. // sRecRslt = model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/recrslt"+iCol);
  4676. // if((sRecFlag == "A" || sRecFlag == "B")){ // intake
  4677. // if(sRecRslt != ""){
  4678. // if(sRecFlag == "A"){
  4679. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4680. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4681. // }else{
  4682. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4683. // if(sAttrValue[0].getTrim().isNumber()){
  4684. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  4685. // }
  4686. // }
  4687. // }else if (sRecFlag == "B"){
  4688. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4689. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4690. // }else{
  4691. // if(fIsNumber(sRecRslt) == true){
  4692. // sIntakeTmSum[iCol] += eval(sRecRslt);
  4693. // }else{
  4694. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4695. // if(sAttrValue[0].getTrim().isNumber()){
  4696. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  4697. // }
  4698. // }
  4699. // }
  4700. // }
  4701. // }
  4702. // //sIntakeSumRow = iHoursDataRow;
  4703. // }else if(sRecFlag == "C" && sSubTotal == "Y"){ // output
  4704. // if(sRecRslt != ""){
  4705. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4706. // sOutputTmSum[iCol] += eval(sRecRslt);
  4707. // }else{
  4708. // if(fIsNumber(sRecRslt) == true){
  4709. // sOutputTmSum[iCol] += eval(sRecRslt);
  4710. // }else{
  4711. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  4712. // if(sAttrValue[0].getTrim().isNumber()){
  4713. // sOutputTmSum[iCol] += eval(sAttrValue[0]);
  4714. // }
  4715. // }
  4716. // }
  4717. // }
  4718. // }
  4719. // }
  4720. // // 항목별 시간 Setting
  4721. //// sAnptTmSpec = model.getValue(xTMSettingListPath+"[itemcd='"+sSupCD+"' and prcpdd='"+sHeader[1][iCol]+"']/apnttmspec").split(",");
  4722. //// for(var i=0; i<sAnptTmSpec.length; i++){
  4723. //// if(sAnptTmSpec[i].length == 1){
  4724. //// sAnptTmSpec[i] = "0"+sAnptTmSpec[i];
  4725. //// }
  4726. //// if(sRecDT.substr(8,4) == (sAnptTmSpec[i]+"00")){
  4727. //// grd_stndclincobsreclist.cellStyle("background-color",iStndDataRow,iCol) = "#ffe79d";
  4728. //// }
  4729. //// }
  4730. //
  4731. //
  4732. // // 합계 계산목록 Intake/OutTake에 세팅
  4733. // if(sRecFlag != sNextRecFlag){
  4734. // if(sIntakeSumLine != "" && sIntakeTmSum[iCol] != 0 ){
  4735. // grd_stndclincobsreclist.valueMatrix(sIntakeSumLine, iCol) = sIntakeTmSum[iCol] ;
  4736. // //grd_stndclincobsreclist.cellStyle("text-align", sIntakeSumLine, iCol, sIntakeSumLine, iCol) = "right";
  4737. // sIntakeTmSum[iCol] = 0;
  4738. // }else if(sOutputSumLine != "" && sOutputTmSum[iCol] != 0){
  4739. // grd_stndclincobsreclist.valueMatrix(sOutputSumLine, iCol) = sOutputTmSum[iCol] ;
  4740. // //grd_stndclincobsreclist.cellStyle("text-align", sOutputSumLine, iCol, sOutputSumLine, iCol) = "right";
  4741. // sOutputTmSum[iCol] = 0;
  4742. // }
  4743. // }
  4744. // }
  4745. // // 분류명 표시
  4746. //// if(eval(model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/depth")) == 1){
  4747. //// grd_stndclincobsreclist.rowStyle(iStndDataRow,"data","background-color") = "#d0e7ff";
  4748. //// grd_stndclincobsreclist.rowStyle(iStndDataRow,"data","font-weight") = "bold";
  4749. //// }
  4750. //
  4751. // // SubTotal 항목 표시
  4752. // if(model.getValue(xStnddayClincObsRecListPath+"["+iStndRecRow+"]/subtotalyn") == "Y"){
  4753. // grd_stndclincobsreclist.cellStyle("background-color", iStndRecRow+sFixRow, sItemColRef, iStndRecRow+sFixRow, sItemColRef) = "#ffff99";
  4754. // }
  4755. //
  4756. // // Intake/OutTake 변경시 초기화
  4757. // if(sRecFlag != sNextRecFlag){
  4758. // sChkSubTotal = "N";
  4759. // sStartOutput = "N";
  4760. // sIntakeSumLine = "";
  4761. // sOutputSumLine = "";
  4762. // }
  4763. // }
  4764. //*******************************************************************************************************************************************
  4765. // 2008-10-12 삭제 부분 종료
  4766. //*******************************************************************************************************************************************
  4767. setTree(grd_stndclincobsreclist,grd_stndclincobsreclist.colRef("depth"),0,false);
  4768. }
  4769. if(sVWCtrl_Formerday == "former" || sVWCtrl_Formerday == "all"){
  4770. // 전날 리스트 설정
  4771. //grd_formersclincobsreclist.refresh();
  4772. //grd_formersclincobsreclist.initStyle("background-color");
  4773. //grd_formersclincobsreclist.backcoloralternate = "transparent";
  4774. sRecCnt = getNodesetCnt(model, xFormerClincObsRecListPath);
  4775. sItemColRef = grd_formersclincobsreclist.colRef("itemnm");
  4776. sFixRow = grd_formersclincobsreclist.fixedrows - 1 ;
  4777. for(var i=1; i<= 6; i++){
  4778. //sIntakeTmSum[i] = 0;
  4779. //sOutputTmSum[i] = 0;
  4780. sTotalSum[i] = null;
  4781. }
  4782. for(var iRow=1; iRow <= sRecCnt; iRow++){
  4783. var addRow = eval(getNodesetCount(xFormerdayClincObsRecListPath)) + 1;
  4784. sSetnm = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/setnm");
  4785. sSubTotal = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/subtotalyn");
  4786. sRecFlag = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/recflag");
  4787. //현재 행 다음의 기록구분을 조회
  4788. if(iRow == sRecCnt){
  4789. sNextRecFlag = "Last";
  4790. }else{
  4791. sNextRecFlag = model.getValue(xFormerClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  4792. }
  4793. if(sChkSubTotal == "N" && sSubTotal == "Y"){
  4794. sChkSubTotal = sSubTotal;
  4795. sSubTotalNm = sSetnm;
  4796. }
  4797. if(sChkSubTotal == "Y"){
  4798. if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  4799. model.makeNode(xFormerdayClincObsRecListPath+"["+addRow+"]");
  4800. model.copyNode(xFormerdayClincObsRecListPath+"["+addRow+"]", xFormerClincObsRecListPath+"["+iRow+"]");
  4801. iHoursRecRow = addRow;
  4802. var addIntakeRow = eval(getNodesetCount(xFormerdayClincObsRecListPath)) + 1;
  4803. model.makeNode(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]");
  4804. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/itemnm", sSubTotalNm);
  4805. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt1", "");
  4806. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt2", "");
  4807. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt3", "");
  4808. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt4", "");
  4809. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt5", "");
  4810. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recrslt6", "");
  4811. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recflag", "T");
  4812. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/attrcd", "");
  4813. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/itemcd", "");
  4814. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/itemseqno", "");
  4815. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/depth", 2);
  4816. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/recfromdt", "");
  4817. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/reccharflag", "");
  4818. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/rectodt", "");
  4819. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/supcd", "");
  4820. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/carerecseqno", "");
  4821. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/leftaxis", "");
  4822. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/graphappyn", "");
  4823. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/subtotalyn", "");
  4824. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/setnm", "");
  4825. model.makeValue(xFormerdayClincObsRecListPath+"["+addIntakeRow+"]/lnkbizcd", "");
  4826. sIntakeSumLine = eval(addIntakeRow)+3;
  4827. }else if(sRecFlag == "C" && sStartOutput == "N"){
  4828. sStartOutput = "Y";
  4829. model.makeNode(xFormerdayClincObsRecListPath+"["+addRow+"]");
  4830. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/itemnm", sSubTotalNm);
  4831. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt1", "");
  4832. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt2", "");
  4833. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt3", "");
  4834. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt4", "");
  4835. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt5", "");
  4836. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recrslt6", "");
  4837. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recflag", "T");
  4838. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/attrcd", "");
  4839. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/itemcd", "");
  4840. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/itemseqno", "");
  4841. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/depth", 2);
  4842. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/recfromdt", "");
  4843. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/reccharflag", "");
  4844. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/rectodt", "");
  4845. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/supcd", "");
  4846. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/carerecseqno", "");
  4847. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/leftaxis", "");
  4848. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/graphappyn", "");
  4849. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/subtotalyn", "");
  4850. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/setnm", "out");
  4851. model.makeValue(xFormerdayClincObsRecListPath+"["+addRow+"]/lnkbizcd", "");
  4852. sOutputSumLine = eval(addRow)+3;
  4853. var addOutputRow = eval(getNodesetCount(xFormerdayClincObsRecListPath)) + 1;
  4854. model.makeNode(xFormerdayClincObsRecListPath+"["+addOutputRow+"]");
  4855. model.copyNode(xFormerdayClincObsRecListPath+"["+addOutputRow+"]", xFormerClincObsRecListPath+"["+iRow+"]");
  4856. iHoursRecRow = addOutputRow;
  4857. //sChkSubTotal = "N";
  4858. }else{
  4859. model.makeNode(xFormerdayClincObsRecListPath+"["+addRow+"]");
  4860. model.copyNode(xFormerdayClincObsRecListPath+"["+addRow+"]", xFormerClincObsRecListPath+"["+iRow+"]");
  4861. }
  4862. }else{
  4863. model.makeNode(xFormerdayClincObsRecListPath+"["+addRow+"]");
  4864. model.copyNode(xFormerdayClincObsRecListPath+"["+addRow+"]", xFormerClincObsRecListPath+"["+iRow+"]");
  4865. iHoursRecRow = addRow;
  4866. }
  4867. // Intake/OutTake 변경시 초기화
  4868. if(sRecFlag != sNextRecFlag){
  4869. sChkSubTotal = "N";
  4870. sStartOutput = "N";
  4871. sIntakeSumLine = "";
  4872. sOutputSumLine = "";
  4873. }
  4874. }
  4875. grd_formersclincobsreclist.refresh();
  4876. //그리드 스타일 설정
  4877. for(var iRow = grd_formersclincobsreclist.fixedRows ; iRow < grd_formersclincobsreclist.rows ; iRow++){
  4878. sCareRecSeqno = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("carerecseqno"));
  4879. sRecFromDT = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("recfromdt"));
  4880. sRecToDT = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("rectodt"));
  4881. sDepth = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("depth"));
  4882. sAttrCD = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("attrcd"));
  4883. sReChartFlag = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("reccharflag"));
  4884. sLnkBizCd = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("lnkbizcd"));
  4885. sSubTotalYn = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("subtotalyn"));
  4886. sRecFlag = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("recflag"));
  4887. sSupCD = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("supcd"));
  4888. //현재 행 다음의 기록구분을 조회
  4889. if(iRow == grd_formersclincobsreclist.rows){
  4890. sNextRecFlag = "Last";
  4891. }else{
  4892. sNextRecFlag = grd_formersclincobsreclist.valueMatrix((iRow+1), grd_formersclincobsreclist.colRef("recflag"));
  4893. }
  4894. grd_formersclincobsreclist.isReadOnly(iRow,grd_formersclincobsreclist.fixedCols, iRow, grd_formersclincobsreclist.cols-1) = true;
  4895. // 분류의 경우
  4896. if(eval(sDepth) == 1){
  4897. grd_formersclincobsreclist.mergeByFree(iRow, grd_formersclincobsreclist.fixedCols, iRow, grd_formersclincobsreclist.cols-1);
  4898. grd_formersclincobsreclist.rowStyle(iRow,"data","background-color") = "#d0e7ff";
  4899. grd_formersclincobsreclist.rowStyle(iRow,"data","font-weight") = "bold";
  4900. }else{ //분류가 아닐 경우
  4901. // SubTotal 항목 표시
  4902. // if(sSubTotalYn == "Y"){
  4903. // grd_formersclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  4904. // }
  4905. if(sSubTotalYn == "Y"){
  4906. grd_formersclincobsreclist.cellStyle("background-color", iRow, sItemColRef, iRow, sItemColRef) = "#ffff99";
  4907. } else if(sSubTotalYn == "H"){//20090209 khj hierarchies 자동세팅관련 임상관찰기록에서 작성대상이 아닌 상위아이템행은 읽기전용으로 세팅
  4908. grd_formersclincobsreclist.mergeByFree(iRow, grd_formersclincobsreclist.fixedCols, iRow, grd_formersclincobsreclist.cols-1);
  4909. grd_formersclincobsreclist.isReadOnly(iRow,grd_formersclincobsreclist.fixedCols, iRow, grd_formersclincobsreclist.cols-1) = true;
  4910. }
  4911. // Total Intake, Total Output 색 및 글꼴 변경
  4912. if(sRecFlag == "T"){
  4913. grd_formersclincobsreclist.rowStyle(iRow,"data","background-color") = "#dbb7ff";
  4914. grd_formersclincobsreclist.cellStyle("font-weight", iRow, sItemColRef, iRow, sItemColRef) = "bold";
  4915. sTotalSumRow = iRow;
  4916. }
  4917. for(var iCol=1; iCol<= 6; iCol++){
  4918. sRecRslt = grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("recrslt"+iCol));
  4919. sRecDT = sFormerHeader[1][iCol]+sFormerHeader[3][iCol]+sFormerHeader[4][iCol]+"59";
  4920. sRecType = model.getValue(xFormerdayClincObsRecListPath+"["+(iRow - grd_formersclincobsreclist.fixedRows + 1)+"]/recrsltattrcd"+iCol).substring(0,1);//recrsltattrcd 첫번째에 기록출처구분을 조회해옴.
  4921. //Total Intake, Total Output 제외 대상 색 및 글꼴 변경
  4922. if(sRecFlag != "T"){
  4923. if(model.getValue(xIntervalRecYNListPath+"[carerecseqno ='"+sCareRecSeqno+"']/recyn"+iCol) == "Y" ){
  4924. grd_formersclincobsreclist.cellStyle("background-image",iRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  4925. grd_formersclincobsreclist.cellStyle("background-position",iRow,iCol) = "right";
  4926. }
  4927. //연계업무항목 설정 추가
  4928. if(sLnkBizCd != "-" && sLnkBizCd != "99" ){
  4929. grd_formersclincobsreclist.cellStyle("background-color",iRow,iCol)= "#eaeaea"; //추가
  4930. grd_formersclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  4931. }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){ // 기록 가능 일시가 아닌 경우
  4932. grd_formersclincobsreclist.cellStyle("background-color",iRow,iCol,iRow,iCol)= "#999999"; //추가
  4933. }
  4934. //------khj CDIS입력 컬러 다르게 표시 -----------
  4935. if( sRecType == "M" && sSupCD == "IT000001" ){
  4936. grd_formersclincobsreclist.cellStyle("color",iRow,iCol) = "#FF0000";
  4937. }
  4938. // 회복 임상관찰기록 시 임시저장 기록 표시
  4939. if(sSpParamInfo != ""){
  4940. //var sHistRecUserId = model.getValue(xRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/userid").split("^");
  4941. var sHistRecDT = model.getValue(xFormerRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/recdt").split("^");
  4942. var sHistCertKey = model.getValue(xFormerRecUserListPath+"[carerecseqno = '"+sCareRecSeqno+"']/certkey").split("^");
  4943. //var sSettingUserId = "";
  4944. var sSettingRecDT = "";
  4945. var sSettingCertKey = "";
  4946. if(sHistRecDT.length > 0){
  4947. for(var histrow = 0 ; histrow < sHistRecDT.length ; histrow++){
  4948. if(sFormerHeader[1][iCol]+sFormerHeader[3][iCol]+sFormerHeader[4][iCol]+"00" == sHistRecDT[histrow]){
  4949. //sSettingUserId = sHistRecUserId[histrow];
  4950. sSettingCertKey = sHistCertKey[histrow];
  4951. }
  4952. }
  4953. if(sRecRslt != "" && sSettingCertKey == "" ){
  4954. grd_formersclincobsreclist.cellStyle("color",iRow,iCol) = "#ff9900";
  4955. grd_formersclincobsreclist.cellStyle("font-weight", iRow, iCol) = "bold";
  4956. }
  4957. }
  4958. }
  4959. //현재 시간 색 표시
  4960. if(sCurDT == (sFormerHeader[1][iCol]+ sFormerHeader[3][iCol]+sFormerHeader[4][iCol]) && iRow == sRecCnt){
  4961. grd_formersclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  4962. }
  4963. }
  4964. //**************************** clear ********************************
  4965. // Intake/output 합계 계산
  4966. if(sSubTotalYn == "Y"){
  4967. sChkSubTotal = "Y";
  4968. if(sRecRslt != ""){
  4969. if(sRecFlag == "A"){
  4970. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4971. sTotalSum[iCol] += eval(sRecRslt);
  4972. }else{
  4973. // sAttrValue = model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":");
  4974. // if(sAttrValue[0].getTrim().isNumber()){
  4975. // sTotalSum[iCol] += eval(sAttrValue[0]);
  4976. // }
  4977. if( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc")) && fIsNumber(sRecRslt) == true ){
  4978. sTotalSum[iCol] += eval(sRecRslt);
  4979. }else{
  4980. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  4981. ? sRecRslt.split(":")
  4982. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  4983. );
  4984. if(sAttrValue[0].getTrim().isNumber()){
  4985. sTotalSum[iCol] += eval(sAttrValue[0]);
  4986. }
  4987. }
  4988. }
  4989. }else if (sRecFlag == "B" || sRecFlag == "C"){
  4990. if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  4991. sTotalSum[iCol] += eval(sRecRslt);
  4992. }else{
  4993. if(fIsNumber(sRecRslt) == true){
  4994. sTotalSum[iCol] += eval(sRecRslt);
  4995. }else{
  4996. sAttrValue =( isNull(model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc"))
  4997. ? sRecRslt.split(":")
  4998. : model.getValue(sAttrListPath1+"[attrcd ='"+sRecRslt+"']/attrdesc").split(":")
  4999. );
  5000. if(sAttrValue[0].getTrim().isNumber()){
  5001. sTotalSum[iCol] += eval(sAttrValue[0]);
  5002. }
  5003. }
  5004. }
  5005. }
  5006. }
  5007. }
  5008. // 합계 계산목록 Intake/OutTake에 세팅
  5009. if( (sRecFlag == "T" || sRecFlag != sNextRecFlag ) && sChkSubTotal == "Y" && sTotalSumRow != "" ){
  5010. if(sTotalSumRow != "" && sTotalSum[iCol] != null ){
  5011. grd_formersclincobsreclist.valueMatrix(sTotalSumRow, iCol) = sTotalSum[iCol] ;
  5012. }
  5013. if(iCol == 6){
  5014. sChkSubTotal = "C";
  5015. }
  5016. }
  5017. }
  5018. if(sChkSubTotal == "C"){
  5019. for(var i = 1 ; i <= 6 ; i ++){
  5020. sTotalSum[i] = null;
  5021. }
  5022. sTotalSumRow = "";
  5023. sChkSubTotal = "N";
  5024. }
  5025. }
  5026. }
  5027. //*******************************************************************************************************************************************
  5028. // 2008-10-12 수정
  5029. //*******************************************************************************************************************************************
  5030. // for(var iRow=1; iRow <= sRecCnt; iRow++){
  5031. // sRecAddRow = "";
  5032. // grd_formersclincobsreclist.addRow(false);
  5033. //
  5034. // var iFormerRecRow = grd_formersclincobsreclist.rows - grd_formersclincobsreclist.fixedrows;
  5035. // sItemCD = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/itemcd");
  5036. // sItemSeqNo = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/itemseqno");
  5037. // sRecFlag = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/recflag");
  5038. // sSupCD = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/supcd");
  5039. // sAttrCD = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/attrcd");
  5040. // sCareRecSeqno = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/carerecseqno");
  5041. // sSetnm = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/setnm");
  5042. // sSubTotal = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/subtotalyn");
  5043. // sLnkBizCd = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/lnkbizcd");
  5044. //
  5045. // //현재 행 다음의 기록구분을 조회
  5046. // if(iRow == sRecCnt){
  5047. // sNextRecFlag = "Last";
  5048. // }else{
  5049. // sNextRecFlag = model.getValue(xFormerClincObsRecListPath+"["+(iRow+1)+"]/recflag");
  5050. // }
  5051. //
  5052. // if(sChkSubTotal == "N" && sSubTotal == "Y"){
  5053. // sChkSubTotal = sSubTotal;
  5054. // sSubTotalNm = sSetnm;
  5055. // }
  5056. //
  5057. // //임상관찰기록 total intake/total output 항목 로우 추가
  5058. // if(sChkSubTotal == "Y"){
  5059. // if((sRecFlag == "A" || sRecFlag == "B") && sRecFlag != sNextRecFlag){
  5060. // grd_formersclincobsreclist.addRow(false);
  5061. // sRecAddRow = grd_formersclincobsreclist.rows - grd_formersclincobsreclist.fixedrows;
  5062. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  5063. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/depth", 2);
  5064. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/recflag", "T");
  5065. // sIntakeSumLine = eval(sRecAddRow)+eval(sFixRow);
  5066. // grd_formersclincobsreclist.rowStyle(sIntakeSumLine,"data","background-color") = "#dbb7ff";
  5067. // grd_formersclincobsreclist.cellStyle("font-weight", sIntakeSumLine, sItemColRef, sIntakeSumLine, sItemColRef) = "bold";
  5068. // sChkSubTotal = "N";
  5069. // }else if(sRecFlag == "C" && sStartOutput == "N"){
  5070. // sStartOutput = "Y";
  5071. // sRecAddRow = iFormerRecRow;
  5072. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/itemnm", sSubTotalNm);
  5073. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/depth", 2);
  5074. // model.setValue(xFormerdayClincObsRecListPath+"["+sRecAddRow+"]/recflag", "T");
  5075. // sOutputSumLine = eval(sRecAddRow)+eval(sFixRow);
  5076. // grd_formersclincobsreclist.rowStyle(sOutputSumLine,"data","background-color") = "#dbb7ff";
  5077. // grd_formersclincobsreclist.cellStyle("font-weight", sOutputSumLine, sItemColRef, sOutputSumLine, sItemColRef) = "bold";
  5078. // grd_formersclincobsreclist.addRow(false);
  5079. // iFormerRecRow = grd_formersclincobsreclist.rows - grd_formersclincobsreclist.fixedrows;
  5080. // sChkSubTotal = "N";
  5081. // }
  5082. // }
  5083. //
  5084. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/itemcd" , sItemCD);
  5085. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/itemseqno" , sItemSeqNo);
  5086. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/recflag" , sRecFlag);
  5087. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/attrcd" , sAttrCD);
  5088. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/carerecseqno" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/carerecseqno"));
  5089. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/itemnm" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/itemnm"));
  5090. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/depth" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/depth"));
  5091. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/reccharflag" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/reccharflag"));
  5092. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/recfromdt" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/recfromdt"));
  5093. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/rectodt" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/rectodt"));
  5094. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/subtotalyn" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/subtotalyn"));
  5095. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/setnm" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/setnm"));
  5096. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/lnkbizcd" , model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/lnkbizcd"));
  5097. //
  5098. // var iFormerDataRow = "";
  5099. // if(sIntakeSumLine == ""){
  5100. // iFormerDataRow = grd_formersclincobsreclist.rows-1;
  5101. // }else{
  5102. // iFormerDataRow = grd_formersclincobsreclist.rows-2;
  5103. // }
  5104. //
  5105. // for(var iCol=1; iCol<= 6; iCol++){
  5106. // //추가
  5107. // if(sIntakeSumLine != ""){
  5108. // grd_formersclincobsreclist.isReadOnly(sIntakeSumLine,iCol) = true;
  5109. // }else if(sOutputSumLine != ""){
  5110. // grd_formersclincobsreclist.isReadOnly(sOutputSumLine,iCol) = true;
  5111. // }
  5112. //
  5113. // sRecRslt = model.getValue(xFormerClincObsRecListPath+"["+iRow+"]/recrslt"+iCol);
  5114. // model.setValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/recrslt"+iCol, sRecRslt);
  5115. //
  5116. // // 기록사이에 기록이 존재하는 여부를 표시
  5117. // if(model.getValue(xFormerIntervalRecYNListPath+"[itemcd ='"+sItemCD+"' and itemseqno='"+sItemSeqNo+"' and recflag='"+sRecFlag+"']/recyn"+iCol) == "Y" ){
  5118. // grd_formersclincobsreclist.cellStyle("background-image",iFormerDataRow,iCol) = "../../../com/commonweb/images/input_essential.gif";
  5119. // grd_formersclincobsreclist.cellStyle("background-position",iFormerDataRow,iCol) = "right";
  5120. // }
  5121. //
  5122. // // 셀의 컨트롤 타입을 설정함.
  5123. // sRecDT = sFormerHeader[1][iCol]+sFormerHeader[3][iCol]+sFormerHeader[4][iCol]+"59";
  5124. // sRecFromDT = model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/recfromdt");
  5125. // sRecToDT = model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/rectodt");
  5126. // grd_formersclincobsreclist.isReadOnly(iFormerDataRow,iCol) = true;
  5127. //
  5128. // if(eval(model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/depth")) == 1){ // 분류의 경우
  5129. // if(iCol == 1){
  5130. // grd_formersclincobsreclist.mergeByFree(iFormerDataRow, grd_formersclincobsreclist.fixedCols, iFormerDataRow, grd_formersclincobsreclist.cols-1);
  5131. // grd_formersclincobsreclist.rowStyle(iFormerDataRow,"data","background-color") = "#d0e7ff";
  5132. // grd_formersclincobsreclist.rowStyle(iFormerDataRow,"data","font-weight") = "bold";
  5133. // }
  5134. // }else{
  5135. // //연계업무항목 설정 추가
  5136. // if(model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/lnkbizcd") != "-" && model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/lnkbizcd") != "99" ){
  5137. // grd_formersclincobsreclist.cellStyle("background-color", iFormerDataRow,iCol,iFormerDataRow,iCol)= "#eaeaea"; //추가
  5138. // grd_formersclincobsreclist.cellstyle("color", iFormerDataRow,iCol,iFormerDataRow,iCol ) = "#FF0000";
  5139. // }else if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  5140. // grd_formersclincobsreclist.cellStyle("background-color", iFormerDataRow,iCol,iFormerDataRow,iCol)= "#ffcc99"; //추가
  5141. // }
  5142. //
  5143. //// sAttrCD = model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/attrcd");
  5144. //// sReChartFlag = model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/reccharflag");
  5145. ////
  5146. //// if(sReChartFlag =="A" && sAttrCD != "" && sRecRslt != ""){ // 속성이 존재하는 경우, 기록구분이 주체인 항목
  5147. //// grd_formersclincobsreclist.cellComboNodeset(iFormerDataRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  5148. //// }
  5149. // }
  5150. //
  5151. // //현재 시간 색 표시
  5152. // if(sCurDT == (sFormerHeader[1][iCol]+ sFormerHeader[3][iCol]+sFormerHeader[4][iCol]) && iRow == sRecCnt){
  5153. // grd_formersclincobsreclist.colstyle(iCol,"all","background-color") = "#ffe1fe";
  5154. // }
  5155. //
  5156. // // Intake/output 합계 계산
  5157. // if(sSubTotal == "Y"){
  5158. // sRecRslt = model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/recrslt"+iCol);
  5159. // if(sRecFlag == "A" || sRecFlag == "B"){ // intake
  5160. // if(sRecRslt != ""){
  5161. // if(sRecFlag == "A"){
  5162. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  5163. // sIntakeTmSum[iCol] += eval(sRecRslt);
  5164. // }else{
  5165. // sAttrValue = model.getValue(xFormerAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  5166. // if(sAttrValue[0].getTrim().isNumber()){
  5167. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  5168. // }
  5169. // }
  5170. // }else if (sRecFlag == "B"){
  5171. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  5172. // sIntakeTmSum[iCol] += eval(sRecRslt);
  5173. // }else{
  5174. // if(fIsNumber(sRecRslt) == true){
  5175. // sIntakeTmSum[iCol] += eval(sRecRslt);
  5176. // }else{
  5177. // sAttrValue = model.getValue(xFormerAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  5178. // if(sAttrValue[0].getTrim().isNumber()){
  5179. // sIntakeTmSum[iCol] += eval(sAttrValue[0]);
  5180. // }
  5181. // }
  5182. // }
  5183. // }
  5184. // }
  5185. // //sIntakeSumRow = iHoursDataRow;
  5186. // }else if(sRecFlag == "C"){ // output
  5187. // if(sRecRslt != ""){
  5188. // if(sAttrCD == "" && fIsNumber(sRecRslt) == true){
  5189. // sOutputTmSum[iCol] += eval(sRecRslt);
  5190. // }else{
  5191. // if(fIsNumber(sRecRslt) == true){
  5192. // sOutputTmSum[iCol] += eval(sRecRslt);
  5193. // }else{
  5194. // sAttrValue = model.getValue(xFormerAttrListPath1+"[attrcd ='"+ sRecRslt+"']/attrdesc").split(":");
  5195. // if(sAttrValue[0].getTrim().isNumber()){
  5196. // sOutputTmSum[iCol] += eval(sAttrValue[0]);
  5197. // }
  5198. // }
  5199. // }
  5200. // }
  5201. // }
  5202. // }
  5203. // // 합계 계산목록 Intake/OutTake에 세팅
  5204. // if(sRecFlag != sNextRecFlag){
  5205. // if(sIntakeSumLine != "" && sIntakeTmSum[iCol] != 0 ){
  5206. // grd_formersclincobsreclist.valueMatrix(sIntakeSumLine, iCol) = sIntakeTmSum[iCol] ;
  5207. // //grd_formersclincobsreclist.cellStyle("text-align", sIntakeSumLine, iCol, sIntakeSumLine, iCol) = "right";
  5208. // sIntakeTmSum[iCol] = 0;
  5209. // }else if(sOutputSumLine != "" && sOutputTmSum[iCol] != 0){
  5210. // grd_formersclincobsreclist.valueMatrix(sOutputSumLine, iCol) = sOutputTmSum[iCol] ;
  5211. // //grd_formersclincobsreclist.cellStyle("text-align", sOutputSumLine, iCol, sOutputSumLine, iCol) = "right";
  5212. // sOutputTmSum[iCol] = 0;
  5213. // }
  5214. // }
  5215. // }
  5216. // // 분류명 표시 수정 확인
  5217. //// if(eval(model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/depth")) == 1){
  5218. //// grd_formersclincobsreclist.rowStyle(iFormerDataRow,"data","background-color") = "#d0e7ff";
  5219. //// grd_formersclincobsreclist.rowStyle(iFormerDataRow,"data","font-weight") = "bold";
  5220. //// }
  5221. //
  5222. // // SubTotal 항목 표시
  5223. // if(model.getValue(xFormerdayClincObsRecListPath+"["+iFormerRecRow+"]/subtotalyn") == "Y"){
  5224. // grd_formersclincobsreclist.cellStyle("background-color", iFormerRecRow+sFixRow, sItemColRef, iFormerRecRow+sFixRow, sItemColRef) = "#ffff99";
  5225. // }
  5226. //
  5227. // // Intake/OutTake 변경시 초기화
  5228. // if(sRecFlag != sNextRecFlag){
  5229. // sChkSubTotal = "N";
  5230. // sStartOutput = "N";
  5231. // sIntakeSumLine = "";
  5232. // sOutputSumLine = "";
  5233. // }
  5234. // }
  5235. //*******************************************************************************************************************************************
  5236. // 2008-10-12 수정
  5237. //*******************************************************************************************************************************************
  5238. setTree(grd_formersclincobsreclist,grd_formersclincobsreclist.colRef("depth"),0,false);
  5239. }
  5240. model.removenodeSet(xIntervalRecYNListPath);
  5241. model.removenodeSet(xClincObsRecListPath);
  5242. model.removenodeSet(xFormerIntervalRecYNListPath);
  5243. model.removenodeSet(xFormerClincObsRecListPath);
  5244. break;
  5245. }
  5246. //model.refresh();
  5247. }
  5248. /**
  5249. * @group :
  5250. * @ver : 2007.05.14
  5251. * @by : 이은영
  5252. * @---------------------------------------------------
  5253. * @type : function
  5254. * @access : public
  5255. * @desc : 그리드 팝업메뉴 SETTING
  5256. * @param : pFlag
  5257. * @return :
  5258. * @---------------------------------------------------
  5259. */
  5260. function fSettingPopUpMenu(pFlag, pGridFlag){
  5261. var iRow = 0;
  5262. var sX = 0;
  5263. var sY = 0;
  5264. switch(pFlag){
  5265. case "24hours" :
  5266. iRow = grd_24hoursclincobsreclist.mouseRow;
  5267. iCol = grd_24hoursclincobsreclist.mouseCol;
  5268. if(iRow < grd_24hoursclincobsreclist.fixedrows){
  5269. //if(model.getValue(sCondPath+"/vwctrl_24hours") == "I"){
  5270. if(event.button == 3 && iRow == 1) {
  5271. sX = event.clientX;
  5272. sY = event.clientY-50;
  5273. grp_daycountmenu.visible = true;
  5274. grp_daycountmenu.attribute("left") = sX;
  5275. grp_daycountmenu.attribute("top") = sY;
  5276. window.showPopupMenu(false);
  5277. sDayCountFlag = pFlag;
  5278. //}
  5279. }else{
  5280. window.showPopupMenu(true);
  5281. }
  5282. }else{
  5283. sPopUpMenuFlag = pFlag;
  5284. //if(grd_24hoursclincobsreclist.mouseCol < 1){
  5285. //setPopupMenu("grd_24hoursclincobsreclist",false, "/root/init/popmenu/itemmenu", "name", "func");
  5286. //}else{
  5287. if(event.button == 3 && grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("depth")) != "1" ){
  5288. setPopupMenu("grd_24hoursclincobsreclist",false, "/root/init/popmenu/valuemenu", "name", "func");
  5289. }
  5290. }
  5291. //grd_24hoursclincobsreclist.focusColor = "#ffe79d";
  5292. //grd_24hoursclincobsreclist.colStyle(iCol, "data", "background-color") = "#ffe79d";
  5293. break;
  5294. case "4days" :
  5295. iRow = grd_4daysclincobsreclist.mouseRow;
  5296. iCol = grd_4daysclincobsreclist.mouseCol;
  5297. if(iRow < grd_4daysclincobsreclist.fixedrows){
  5298. // if(model.getValue(sCondPath+"/vwctrl_4days") == "I"){
  5299. if(event.button == 3 && iRow == 1) {
  5300. sX = event.clientX;
  5301. sY = event.clientY-50;
  5302. grp_daycountmenu.visible = true;
  5303. grp_daycountmenu.attribute("left") = sX;
  5304. grp_daycountmenu.attribute("top") = sY;
  5305. window.showPopupMenu(false);
  5306. sDayCountFlag = pFlag;
  5307. // }
  5308. }else{
  5309. window.showPopupMenu(true);
  5310. }
  5311. }else{
  5312. sPopUpMenuFlag = pFlag;
  5313. if(event.button == 3 && grd_4daysclincobsreclist.valueMatrix(iRow, grd_4daysclincobsreclist.colRef("depth")) != "1" ){
  5314. setPopupMenu("grd_4daysclincobsreclist",false, "/root/init/popmenu/valuemenu", "name", "func");
  5315. }
  5316. }
  5317. break;
  5318. case "stnd" :
  5319. iRow = grd_stndclincobsreclist.mouseRow;
  5320. iCol = grd_stndclincobsreclist.mouseCol;
  5321. if(iRow < grd_stndclincobsreclist.fixedrows){
  5322. if(event.button == 3 && iRow == 1) {
  5323. sX = event.clientX;
  5324. sY = event.clientY-50;
  5325. grp_daycountmenu.visible = true;
  5326. grp_daycountmenu.attribute("left") = sX;
  5327. grp_daycountmenu.attribute("top") = sY;
  5328. window.showPopupMenu(false);
  5329. sDayCountFlag = pFlag;
  5330. }else{
  5331. window.showPopupMenu(true);
  5332. }
  5333. }else{
  5334. sPopUpMenuFlag = pFlag;
  5335. if(event.button == 3 && grd_stndclincobsreclist.valueMatrix(iRow, grd_stndclincobsreclist.colRef("depth")) != "1" ){
  5336. setPopupMenu("grd_stndclincobsreclist",false, "/root/init/popmenu/valuemenu", "name", "func");
  5337. }
  5338. }
  5339. //grd_stndclincobsreclist.colStyle(iCol, "data", "background-color") = "#ffcc00";
  5340. break;
  5341. case "former" :
  5342. iRow = grd_formersclincobsreclist.mouseRow;
  5343. iCol = grd_formersclincobsreclist.mouseCol;
  5344. if(iRow < grd_formersclincobsreclist.fixedrows){
  5345. if(event.button == 3 && iRow == 1) {
  5346. sX = event.clientX;
  5347. sY = event.clientY-50;
  5348. grp_formerdaycountmenu.visible = true;
  5349. grp_formerdaycountmenu.attribute("left") = sX;
  5350. grp_formerdaycountmenu.attribute("top") = sY;
  5351. window.showPopupMenu(false);
  5352. sDayCountFlag = pFlag;
  5353. }else{
  5354. window.showPopupMenu(true);
  5355. }
  5356. }else{
  5357. sPopUpMenuFlag = pFlag;
  5358. if(event.button == 3 && grd_formersclincobsreclist.valueMatrix(iRow, grd_formersclincobsreclist.colRef("depth")) != "1" ){
  5359. setPopupMenu("grd_formersclincobsreclist",false, "/root/init/popmenu/valuemenu", "name", "func");
  5360. }
  5361. }
  5362. break;
  5363. case "DayCount" :
  5364. if(event.button == 3) {
  5365. switch(pGridFlag){
  5366. case "24HoursHeader" :
  5367. iRow = grd_24hoursheader.mouseRow;
  5368. sY = event.clientY-70;
  5369. break;
  5370. case "4DaysHeader" :
  5371. iRow = grd_4dayschartheader.mouseRow;
  5372. sY = 1;
  5373. break;
  5374. }
  5375. if(iRow == 0){
  5376. sDayCountFlag = pGridFlag;
  5377. sX = event.clientX;
  5378. grp_daycountmenu.visible = true;
  5379. grp_daycountmenu.attribute("left") = sX;
  5380. grp_daycountmenu.attribute("top") = sY;
  5381. window.showPopupMenu(false);
  5382. }
  5383. }else{
  5384. window.showPopupMenu(true);
  5385. }
  5386. break;
  5387. }
  5388. }
  5389. /**
  5390. * @group :
  5391. * @ver : 2007.09.20
  5392. * @by : 이은영
  5393. * @---------------------------------------------------
  5394. * @type : function
  5395. * @access : public
  5396. * @desc : Day Count 설정
  5397. * @param :
  5398. * @return :
  5399. * @---------------------------------------------------
  5400. */
  5401. function fChangedDayCountInfo(){
  5402. var sDayCountInfo = "";
  5403. var sCapNm = "";
  5404. switch(sDayCountFlag){
  5405. case "24HoursHeader" :
  5406. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  5407. for(var i=1; i<=24; i++){
  5408. sHeader[2][i] = "";
  5409. for(var j=0; j<sDayCountInfo.length; j++){
  5410. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  5411. if(sDayCountInfo[j] == "1"){
  5412. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  5413. }else if(sDayCountInfo[j] == "2"){
  5414. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  5415. }else if(sDayCountInfo[j] == "3"){
  5416. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  5417. }else if(sDayCountInfo[j] == "4"){
  5418. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  5419. }else if(sDayCountInfo[j] == "5"){
  5420. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  5421. }else if(sDayCountInfo[j] == "6"){
  5422. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  5423. }
  5424. }
  5425. }
  5426. for(var iRow=1; iRow<=4; iRow++){
  5427. for(var iCol=0; iCol<=24; iCol++){
  5428. if(iRow == 1){
  5429. sCapNm += sHeader[iRow+1][iCol]; // day count
  5430. }else if(iRow == 3){ // 시
  5431. sCapNm += sHeader[iRow][iCol];
  5432. if(iCol != 0){ sCapNm += "시"; }
  5433. }else if(iRow == 4){ // 분
  5434. sCapNm += sHeader[iRow][iCol];
  5435. if(iCol != 0){ sCapNm += "분"; }
  5436. }
  5437. if(iCol != 24){
  5438. if(iRow != 2){ sCapNm += "^"; }
  5439. }
  5440. }
  5441. if(iRow != 4){
  5442. if((iRow%2)== 1){ sCapNm += "|"; }
  5443. }
  5444. }
  5445. grd_24hoursheader.caption = sCapNm;
  5446. break;
  5447. case "4DaysHeader" :
  5448. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  5449. for(var i=1; i<=16; i++){
  5450. sHeader[2][i] = "";
  5451. for(var j=0; j<sDayCountInfo.length; j++){
  5452. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  5453. if(sDayCountInfo[j] == "1"){
  5454. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  5455. }else if(sDayCountInfo[j] == "2"){
  5456. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  5457. }else if(sDayCountInfo[j] == "3"){
  5458. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  5459. }else if(sDayCountInfo[j] == "4"){
  5460. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  5461. }else if(sDayCountInfo[j] == "5"){
  5462. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  5463. }else if(sDayCountInfo[j] == "6"){
  5464. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  5465. }
  5466. }
  5467. }
  5468. for(var iRow=1; iRow<=3; iRow++){
  5469. for(var iCol=0; iCol<= 16; iCol++){
  5470. if(iRow == 1){
  5471. sCapNm += sHeader[iRow+1][iCol]; // day count
  5472. }else if(iRow == 3){ // 시
  5473. sCapNm += sHeader[iRow][iCol];
  5474. if(iCol != 0){ sCapNm += ":"+sHeader[4][iCol]; }
  5475. }
  5476. if(iCol != 16){
  5477. if(iRow != 2){ sCapNm += "^"; }
  5478. }
  5479. }
  5480. if(iRow != 3){
  5481. if(iRow == 1){ sCapNm += "|"; }
  5482. }
  5483. }
  5484. grd_4dayschartheader.caption = sCapNm;
  5485. break;
  5486. case "former" :
  5487. sDayCountInfo = model.getValue(sCondPath+"/formerdaycountinfo").split(" ");
  5488. for(var i=1; i<=6; i++){
  5489. sFormerHeader[2][i] = "";
  5490. for(var j=0; j<sDayCountInfo.length; j++){
  5491. if(sFormerHeader[2][i] != "") sFormerHeader[2][i] += ", ";
  5492. if(sDayCountInfo[j] == "1"){
  5493. sFormerHeader[2][i] += "HD:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/hd");
  5494. }else if(sDayCountInfo[j] == "2"){
  5495. sFormerHeader[2][i] +="POD:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/pod");
  5496. }else if(sDayCountInfo[j] == "3"){
  5497. sFormerHeader[2][i] += "ICU:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/icu");
  5498. }else if(sDayCountInfo[j] == "4"){
  5499. sFormerHeader[2][i] += "D:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/d");
  5500. }else if(sDayCountInfo[j] == "5"){
  5501. sFormerHeader[2][i] += "BMT:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/bmt");
  5502. }else if(sDayCountInfo[j] == "6"){
  5503. sFormerHeader[2][i] += "CP:"+model.getValue(xFormerDayCountListPath+"[recdd='"+sFormerHeader[1][i]+"']/cp");
  5504. }
  5505. }
  5506. }
  5507. for(var iRow=1; iRow<=4; iRow++){
  5508. for(var iCol=0; iCol<=6; iCol++){
  5509. if(iRow == 1){
  5510. if(iCol == 0){
  5511. sCapNm += sFormerHeader[iRow][iCol];
  5512. }else{
  5513. sCapNm += sFormerHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  5514. " ("+sFormerHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  5515. }
  5516. }else if(iRow == 2){ // day count
  5517. sCapNm += sFormerHeader[iRow][iCol];
  5518. }else if(iRow == 3){ // 시
  5519. sCapNm += sFormerHeader[iRow][iCol];
  5520. if(iCol != 0){ sCapNm += "시"; }
  5521. }else if(iRow == 4){ // 분
  5522. sCapNm += sFormerHeader[iRow][iCol];
  5523. if(iCol != 0){ sCapNm += "분"; }
  5524. }
  5525. if(iCol != 6){ sCapNm += "^"; }
  5526. }
  5527. if(iRow != 4){ sCapNm += "|";}
  5528. }
  5529. grd_formersclincobsreclist.caption = sCapNm;
  5530. break;
  5531. case "stnd" :
  5532. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  5533. for(var i=1; i<=14; i++){
  5534. sHeader[2][i] = "";
  5535. for(var j=0; j<sDayCountInfo.length; j++){
  5536. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  5537. if(sDayCountInfo[j] == "1"){
  5538. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  5539. }else if(sDayCountInfo[j] == "2"){
  5540. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  5541. }else if(sDayCountInfo[j] == "3"){
  5542. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  5543. }else if(sDayCountInfo[j] == "4"){
  5544. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  5545. }else if(sDayCountInfo[j] == "5"){
  5546. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  5547. }else if(sDayCountInfo[j] == "6"){
  5548. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  5549. }
  5550. }
  5551. }
  5552. for(var iRow=1; iRow<=4; iRow++){
  5553. for(var iCol=0; iCol<=14; iCol++){
  5554. if(iRow == 1){
  5555. if(iCol == 0){
  5556. sCapNm += sHeader[iRow][iCol]; // 년월일
  5557. }else{
  5558. sCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  5559. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  5560. }
  5561. }else if(iRow == 2){ // day count
  5562. sCapNm += sHeader[iRow][iCol];
  5563. }else if(iRow == 3){ // 시
  5564. sCapNm += sHeader[iRow][iCol];
  5565. if(iCol != 0){ sCapNm += "시"; }
  5566. }else if(iRow == 4){ // 분
  5567. sCapNm += sHeader[iRow][iCol];
  5568. if(iCol != 0){ sCapNm += "분"; }
  5569. }
  5570. if(iCol != 14){ sCapNm += "^"; }
  5571. }
  5572. if(iRow != 4){ sCapNm += "|";}
  5573. }
  5574. grd_stndclincobsreclist.caption = sCapNm;
  5575. break;
  5576. case "24hours" :
  5577. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  5578. for(var i=1; i<=24; i++){
  5579. sHeader[2][i] = "";
  5580. for(var j=0; j<sDayCountInfo.length; j++){
  5581. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  5582. if(sDayCountInfo[j] == "1"){
  5583. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  5584. }else if(sDayCountInfo[j] == "2"){
  5585. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  5586. }else if(sDayCountInfo[j] == "3"){
  5587. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  5588. }else if(sDayCountInfo[j] == "4"){
  5589. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  5590. }else if(sDayCountInfo[j] == "5"){
  5591. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  5592. }else if(sDayCountInfo[j] == "6"){
  5593. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  5594. }
  5595. }
  5596. }
  5597. for(var iRow=1; iRow<=4; iRow++){
  5598. for(var iCol=0; iCol<=24; iCol++){
  5599. if(iRow == 1){
  5600. if(iCol == 0){
  5601. sCapNm += sHeader[iRow][iCol]; // 년월일
  5602. }else{
  5603. sCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  5604. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  5605. }
  5606. }else if(iRow == 2){ // day count
  5607. sCapNm += sHeader[iRow][iCol];
  5608. }else if(iRow == 3){ // 시
  5609. sCapNm += sHeader[iRow][iCol];
  5610. if(iCol != 0){ sCapNm += "시"; }
  5611. }else if(iRow == 4){ // 분
  5612. sCapNm += sHeader[iRow][iCol];
  5613. if(iCol != 0){ sCapNm += "분"; }
  5614. }
  5615. if(iCol != 24){ sCapNm += "^"; }
  5616. }
  5617. if(iRow != 4){ sCapNm += "|"; }
  5618. }
  5619. grd_24hoursclincobsreclist.caption = sCapNm;
  5620. break;
  5621. case "4days" :
  5622. sDayCountInfo = model.getValue(sCondPath+"/daycountinfo").split(" ");
  5623. for(var i=1; i<=16; i++){
  5624. sHeader[2][i] = "";
  5625. for(var j=0; j<sDayCountInfo.length; j++){
  5626. if(sHeader[2][i] != "") sHeader[2][i] += ", ";
  5627. if(sDayCountInfo[j] == "1"){
  5628. sHeader[2][i] += "HD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/hd");
  5629. }else if(sDayCountInfo[j] == "2"){
  5630. sHeader[2][i] +="POD:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/pod");
  5631. }else if(sDayCountInfo[j] == "3"){
  5632. sHeader[2][i] += "ICU:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/icu");
  5633. }else if(sDayCountInfo[j] == "4"){
  5634. sHeader[2][i] += "D:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/d");
  5635. }else if(sDayCountInfo[j] == "5"){
  5636. sHeader[2][i] += "BMT:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/bmt");
  5637. }else if(sDayCountInfo[j] == "6"){
  5638. sHeader[2][i] += "CP:"+model.getValue(xDayCountListPath+"[recdd='"+sHeader[1][i]+"']/cp");
  5639. }
  5640. }
  5641. }
  5642. for(var iRow=1; iRow<=3; iRow++){
  5643. for(var iCol=0; iCol<= 16; iCol++){
  5644. if(iRow == 1){
  5645. if(iCol == 0){
  5646. sCapNm += sHeader[iRow][iCol]; // 년월일
  5647. }else{
  5648. sCapNm += sHeader[iRow][iCol].toDate("YYYYMMDD").getDateFormat("YYYY년 MM월 DD일")+
  5649. " ("+sHeader[iRow][iCol].toDate("YYYYMMDD").getDayOfWeek("k")+")";
  5650. }
  5651. }else if(iRow == 2){ // day count
  5652. sCapNm += sHeader[iRow][iCol];
  5653. }else if(iRow == 3){ // 시
  5654. sCapNm += sHeader[iRow][iCol];
  5655. if(iCol != 0){ sCapNm += ":"+sHeader[4][iCol]; }
  5656. }
  5657. if(iCol != 16){ sCapNm += "^"; }
  5658. }
  5659. if(iRow != 3){ sCapNm += "|"; }
  5660. }
  5661. grd_4daysclincobsreclist.caption = sCapNm;
  5662. break;
  5663. }
  5664. }
  5665. /**
  5666. * @group :
  5667. * @ver : 2007.09.11
  5668. * @by : 이은영
  5669. * @---------------------------------------------------
  5670. * @type : function
  5671. * @access : public
  5672. * @desc : 그리드 항목별 부분 합계 Setting
  5673. * @param :
  5674. * @return :
  5675. * @---------------------------------------------------
  5676. */
  5677. function fAddItemSubTotal(){
  5678. var iSelectedRow = 0;
  5679. switch(sPopUpMenuFlag){
  5680. case "24hours" :
  5681. var iRowCnt = grd_24hoursclincobsreclist.selectedCells.length-1;
  5682. //alert(iRowCnt);
  5683. iSelectedRow = grd_24hoursclincobsreclist.selectedCells.item(iRowCnt).row;
  5684. //alert(grd_24hoursclincobsreclist.selectedCells.length);
  5685. //alert(iSelectedRow);
  5686. // grd_24hoursclincobsreclist.insertRow(++iSelectedRow,"below");
  5687. // var iCol =
  5688. break;
  5689. case "4days" :
  5690. break;
  5691. case "stnd" :
  5692. break;
  5693. }
  5694. }
  5695. /**
  5696. * @group :
  5697. * @ver : 2007.09.11
  5698. * @by : 이은영
  5699. * @---------------------------------------------------
  5700. * @type : function
  5701. * @access : public
  5702. * @desc : 그리드 항목별 부분 합계 삭제
  5703. * @param :
  5704. * @return :
  5705. * @---------------------------------------------------
  5706. */
  5707. function fDelItemSubTotal(){
  5708. // alert(sPopUpMenuFlag+" aa1");
  5709. switch(sPopUpMenuFlag){
  5710. case "24hours" :
  5711. var iRowCnt = grd_24hoursclincobsreclist.selectedCells.length-1;
  5712. //alert(iRowCnt);
  5713. iSelectedRow = grd_24hoursclincobsreclist.selectedCells.item(iRowCnt).row;
  5714. //alert(grd_24hoursclincobsreclist.selectedCells.length);
  5715. //alert(iSelectedRow);
  5716. break;
  5717. case "4days" :
  5718. break;
  5719. case "stnd" :
  5720. break;
  5721. }
  5722. }
  5723. /**
  5724. * @group :
  5725. * @ver : 2007.09.11
  5726. * @by : 이은영
  5727. * @---------------------------------------------------
  5728. * @type : function
  5729. * @access : public
  5730. * @desc : 그리드 값별 부분 합계 계산
  5731. * @param :
  5732. * @return :
  5733. * @---------------------------------------------------
  5734. */
  5735. function fCalcValueSubTotal(){
  5736. //var sPopUpMenuFlag = model.getValue("/root/main/cond/vwctrl_button");
  5737. var sDataSum = 0;
  5738. switch(sPopUpMenuFlag){
  5739. case "24hours" :
  5740. var sCells = grd_24hoursclincobsreclist.selectedCells;
  5741. for(var i = 0 ; i < sCells.length ; i ++){
  5742. var col = sCells.item(i).col;
  5743. var row = sCells.item(i).row;
  5744. var subtotal = 0;
  5745. if(//grd_24hoursclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5746. (grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "B" ||
  5747. grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "C" ||
  5748. grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "T" )&&
  5749. (grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("attrcd")) == "" ||
  5750. grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("subtotalyn"))== "Y")){
  5751. subtotal = grd_24hoursclincobsreclist.valueMatrix( row, col );
  5752. }
  5753. if( subtotal != "" && fIsNumber(subtotal) == true){
  5754. sDataSum += Number(subtotal) ;
  5755. }
  5756. }
  5757. alert("SubTotal : " + sDataSum);
  5758. break;
  5759. case "4days" :
  5760. var sCells = grd_4daysclincobsreclist.selectedCells;
  5761. for(var i = 0 ; i < sCells.length ; i ++){
  5762. var col = sCells.item(i).col;
  5763. var row = sCells.item(i).row;
  5764. var subtotal = 0;
  5765. if(//grd_4daysclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5766. (grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "B" ||
  5767. grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "C" ||
  5768. grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "T" ) &&
  5769. (grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("attrcd")) == "" ||
  5770. grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("subtotalyn"))== "Y")){
  5771. subtotal = grd_4daysclincobsreclist.valueMatrix( row, col );
  5772. }
  5773. if( subtotal != "" && fIsNumber(subtotal) == true){
  5774. sDataSum += Number(subtotal) ;
  5775. }
  5776. }
  5777. alert("SubTotal : " + sDataSum);
  5778. break;
  5779. case "stnd" :
  5780. var sCells = grd_stndclincobsreclist.selectedCells;
  5781. for(var i = 0 ; i < sCells.length ; i ++){
  5782. var col = sCells.item(i).col;
  5783. var row = sCells.item(i).row;
  5784. var subtotal = 0;
  5785. if(//grd_stndclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5786. (grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "B" ||
  5787. grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "C" ||
  5788. grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "T" ) &&
  5789. (grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("attrcd")) == "" ||
  5790. grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("subtotalyn"))== "Y")){
  5791. subtotal = grd_stndclincobsreclist.valueMatrix( row, col );
  5792. }
  5793. if( subtotal != "" && fIsNumber(subtotal) == true){
  5794. sDataSum += Number(subtotal) ;
  5795. }
  5796. }
  5797. alert("SubTotal : " + sDataSum);
  5798. break;
  5799. case "former" :
  5800. var sCells = grd_formersclincobsreclist.selectedCells;
  5801. for(var i = 0 ; i < sCells.length ; i ++){
  5802. var col = sCells.item(i).col;
  5803. var row = sCells.item(i).row;
  5804. var subtotal = 0;
  5805. if(//grd_stndclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5806. (grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "B" ||
  5807. grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "C" ||
  5808. grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "T" ) &&
  5809. (grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("attrcd")) == "" ||
  5810. grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("subtotalyn"))== "Y")){
  5811. subtotal = grd_formersclincobsreclist.valueMatrix( row, col );
  5812. }
  5813. if( subtotal != "" && fIsNumber(subtotal) == true){
  5814. sDataSum += Number(subtotal) ;
  5815. }
  5816. }
  5817. alert("SubTotal : " + sDataSum);
  5818. break;
  5819. }
  5820. sPopUpMenuFlag = "";
  5821. }
  5822. /**
  5823. * @group :
  5824. * @ver : 2008.04.28
  5825. * @by : 양천덕
  5826. * @---------------------------------------------------
  5827. * @type : function
  5828. * @access : public
  5829. * @desc : 환자 선택시 상단정보 변경
  5830. * @param :
  5831. * @return :
  5832. * @---------------------------------------------------
  5833. */
  5834. function fSetParam(pFlag, pIndex){
  5835. if(getNodesetCount("/root/main/paminfo/pamlist") > 0){
  5836. model.removenodeset("root/main/paminfo/pamlist");
  5837. }
  5838. var sOrdtype = "";
  5839. var sPid = "";
  5840. var sIndd = "";
  5841. var sCretno = "";
  5842. var sInstcd = "";
  5843. var param = "";
  5844. if(pFlag == "SrchPat"){
  5845. sOrdtype = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/ordtype" );
  5846. sPid = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/pid" );
  5847. sIndd = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/indd" );
  5848. sCretno = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/cretno" );
  5849. sInstcd = model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ pIndex +"]/instcd" );
  5850. cmb_mypatlist.value = "";
  5851. }else if(pFlag == "SettingPat"){
  5852. sOrdtype = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/ordtype" );
  5853. sPid = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/pid" );
  5854. sIndd = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/indd" );
  5855. sCretno = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/cretno" );
  5856. sInstcd = model.getValue("/root/temp/cond/settingpatient/settingpatientlist["+ pIndex +"]/instcd" );
  5857. }
  5858. param = sOrdtype + "▦"
  5859. + sPid + "▦"
  5860. + sIndd + "▦"
  5861. + sCretno + "▦"
  5862. + sInstcd + "▦"
  5863. + "▦" ;
  5864. setParameter("condparam", param);
  5865. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  5866. if(pFlag == "SrchPat"){
  5867. fInitialize("patinit");
  5868. }else if(pFlag == "SettingPat"){
  5869. fInitialize("reset");
  5870. }
  5871. }
  5872. /**
  5873. * @group :
  5874. * @ver : 2008.05.22
  5875. * @by : 양천덕
  5876. * @---------------------------------------------------
  5877. * @type : function
  5878. * @access : public
  5879. * @desc : 셀 선택시 합계 계산
  5880. * @param :
  5881. * @return :
  5882. * @---------------------------------------------------
  5883. */
  5884. function fDataSmmy(pFlag){
  5885. var sDataSum = 0;
  5886. switch(pFlag){
  5887. case "24hours" :
  5888. var sCells = grd_24hoursclincobsreclist.selectedCells;
  5889. for(var i = 0 ; i < sCells.length ; i ++){
  5890. var col = sCells.item(i).col;
  5891. var row = sCells.item(i).row;
  5892. var subtotal = 0;
  5893. if(//grd_24hoursclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5894. //grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("subtotalyn")) == "Y" &&
  5895. (grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "B" ||
  5896. grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "C" ||
  5897. grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("recflag")) == "T" )){
  5898. subtotal = grd_24hoursclincobsreclist.valueMatrix( row, col );
  5899. }
  5900. if( subtotal != "" && fIsNumber(subtotal) == true){
  5901. sDataSum += Number(subtotal) ;
  5902. }
  5903. }
  5904. if( sDataSum == 0 ){
  5905. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  5906. }else{
  5907. model.setValue(sCondPath+"/detlrecinfo/subtotal", sDataSum);
  5908. }
  5909. opt_subtotal.refresh();
  5910. break;
  5911. case "4days" :
  5912. var sCells = grd_4daysclincobsreclist.selectedCells;
  5913. for(var i = 0 ; i < sCells.length ; i ++){
  5914. var col = sCells.item(i).col;
  5915. var row = sCells.item(i).row;
  5916. var subtotal = 0;
  5917. if(//grd_4daysclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5918. //grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("subtotalyn")) == "Y" &&
  5919. (grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "B" ||
  5920. grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "C" ||
  5921. grd_4daysclincobsreclist.valueMatrix(row, grd_4daysclincobsreclist.colRef("recflag")) == "T" )){
  5922. subtotal = grd_4daysclincobsreclist.valueMatrix( row, col );
  5923. }
  5924. if( subtotal != "" && fIsNumber(subtotal) == true){
  5925. sDataSum += Number(subtotal) ;
  5926. }
  5927. }
  5928. if( sDataSum == 0 ){
  5929. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  5930. }else{
  5931. model.setValue(sCondPath+"/detlrecinfo/subtotal", sDataSum);
  5932. }
  5933. opt_subtotal.refresh();
  5934. break;
  5935. case "stnd" :
  5936. var sCells = grd_stndclincobsreclist.selectedCells;
  5937. for(var i = 0 ; i < sCells.length ; i ++){
  5938. var col = sCells.item(i).col;
  5939. var row = sCells.item(i).row;
  5940. var subtotal = 0;
  5941. if(//grd_stndclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5942. //grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("subtotalyn")) == "Y" &&
  5943. (grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "B" ||
  5944. grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "C" ||
  5945. grd_stndclincobsreclist.valueMatrix(row, grd_stndclincobsreclist.colRef("recflag")) == "T" )){
  5946. subtotal = grd_stndclincobsreclist.valueMatrix( row, col );
  5947. }
  5948. if( subtotal != "" && fIsNumber(subtotal) == true){
  5949. sDataSum += Number(subtotal) ;
  5950. }
  5951. }
  5952. if( sDataSum == 0 ){
  5953. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  5954. }else{
  5955. model.setValue(sCondPath+"/detlrecinfo/subtotal", sDataSum);
  5956. }
  5957. opt_subtotal.refresh();
  5958. break;
  5959. case "former" :
  5960. var sCells = grd_formersclincobsreclist.selectedCells;
  5961. for(var i = 0 ; i < sCells.length ; i ++){
  5962. var col = sCells.item(i).col;
  5963. var row = sCells.item(i).row;
  5964. var subtotal = 0;
  5965. if(//grd_formersclincobsreclist.cellComboNodeset(row, col) == "/root/temp/attrinfo/attrlist" &&
  5966. //grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("subtotalyn")) == "Y" &&
  5967. (grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "B" ||
  5968. grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "C" ||
  5969. grd_formersclincobsreclist.valueMatrix(row, grd_formersclincobsreclist.colRef("recflag")) == "T" )){
  5970. subtotal = grd_formersclincobsreclist.valueMatrix( row, col );
  5971. }
  5972. if( subtotal != "" && fIsNumber(subtotal) == true){
  5973. sDataSum += Number(subtotal) ;
  5974. }
  5975. }
  5976. if( sDataSum == 0 ){
  5977. model.setValue(sCondPath+"/detlrecinfo/subtotal", "");
  5978. }else{
  5979. model.setValue(sCondPath+"/detlrecinfo/subtotal", sDataSum);
  5980. }
  5981. opt_subtotal.refresh();
  5982. break;
  5983. }
  5984. }
  5985. /**
  5986. * @group :
  5987. * @ver : 2008.05.22
  5988. * @by : 양천덕
  5989. * @---------------------------------------------------
  5990. * @type : function
  5991. * @access : public
  5992. * @desc : 그리드 선택시 선택 모드 변경 부분
  5993. * @param :
  5994. * @return :
  5995. * @---------------------------------------------------
  5996. */
  5997. function fDataGridSelectionModeSet(pFlag){
  5998. if( sCells.item(0).col == sCells.item(sCells.length-1).lcol ){
  5999. grd_24hoursclincobsreclist.selectionmode = "bycol";
  6000. }else{
  6001. grd_24hoursclincobsreclist.selectionmode = "free";
  6002. }
  6003. }
  6004. /**
  6005. * @group :
  6006. * @ver : 2008.05.22
  6007. * @by : 양천덕
  6008. * @---------------------------------------------------
  6009. * @type : function
  6010. * @access : public
  6011. * @desc : 셀 입력 완료 후 포커스를 받았을 경우 발생
  6012. * @param :
  6013. * @return :
  6014. * @---------------------------------------------------
  6015. */
  6016. function fEnterKeyGridCell(pFlag){
  6017. var iRow = 0;
  6018. var iCol = 0;
  6019. var iRecRow = 0;
  6020. var sRecFromDT = "";
  6021. var sRecToDT = "";
  6022. var sRecDT = "";
  6023. var sAttrCD = "";
  6024. switch(pFlag){
  6025. case "24hours" :
  6026. iRecRow = grd_24hoursclincobsreclist.row - grd_24hoursclincobsreclist.fixedrows+1;
  6027. iRow = grd_24hoursclincobsreclist.row;
  6028. iCol = grd_24hoursclincobsreclist.col;
  6029. sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  6030. sRecFromDT = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/recfromdt");
  6031. sRecToDT = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/rectodt");
  6032. sAttrCD = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/attrcd");
  6033. sReChartFlag = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/reccharflag");
  6034. sRecType = model.getValue(xHoursClincObsRecList+"["+ iRecRow +"]/recrsltattrcd"+iCol).substring(0,1);//recrsltattrcd 첫번째에 기록출처구분을 조회해옴.
  6035. if ( sRecType == "M"){
  6036. grd_24hoursclincobsreclist.cellStyle("color",iRow,iCol) = "#000000";
  6037. }
  6038. //alert("fEnterKeyGridCell" +" : " + iRow);
  6039. //---------(20101204) 경북대
  6040. //추가
  6041. var ssflag = "";
  6042. if(getUserInfo("dutplceinstcd") != '032' && getUserInfo("dutplceinstcd") != '031') {
  6043. //경북대가 아니면
  6044. if( sJobKindCD == "0330" || sJobKindCD == "0310"){
  6045. ssflag = "Y";
  6046. }else{
  6047. ssflag = "N";
  6048. }
  6049. } else if(getUserInfo("dutplceinstcd") == '032' || getUserInfo("dutplceinstcd") == '031') {
  6050. //경북대이면 03%로 체크한다.
  6051. if( sJobKindCD.substring(0, 2) == "03"){
  6052. ssflag = "Y";
  6053. }else{
  6054. ssflag = "N";
  6055. }
  6056. }
  6057. //원본:의사의 경우만
  6058. //if(sJobKindCD == "30"){
  6059. if(ssflag=="Y") {
  6060. //---------(20101204) 경북대
  6061. grd_24hoursclincobsreclist.combo.button.visible = false;
  6062. grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols,iRow, grd_24hoursclincobsreclist.cols-1) = true;
  6063. return;
  6064. }
  6065. // if(eval(model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/depth")) == 1){
  6066. // grd_24hoursclincobsreclist.combo.button.visible = false;
  6067. // grd_24hoursclincobsreclist.isReadOnly(iRow,grd_24hoursclincobsreclist.fixedCols,iRow, grd_24hoursclincobsreclist.cols-1) = true;
  6068. // }else{
  6069. // //2008-05-21 변경
  6070. // //if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/recyn") == "N"){
  6071. // if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  6072. // if(model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/attrcd") == ""){
  6073. // grd_24hoursclincobsreclist.combo.button.visible = false;
  6074. // grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col);
  6075. // }
  6076. // grd_24hoursclincobsreclist.isReadOnly(iRow,iCol) = true;
  6077. //
  6078. // }else{
  6079. if(sReChartFlag =="A" && sAttrCD != ""){
  6080. grd_24hoursclincobsreclist.combo.button.visible = true;
  6081. grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  6082. grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col)-20;
  6083. //model.setFocus("body");
  6084. //model.setFocus("grd_24hoursclincobsreclist");
  6085. }else{
  6086. grd_24hoursclincobsreclist.combo.button.visible = false;
  6087. grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(grd_24hoursclincobsreclist.col);
  6088. }
  6089. // }
  6090. // }
  6091. break;
  6092. // 2008-10-09 주석 추가
  6093. // case "4days" :
  6094. // iRecRow = grd_4daysclincobsreclist.row - grd_4daysclincobsreclist.fixedrows+1;
  6095. // iRow = grd_4daysclincobsreclist.row;
  6096. // iCol = grd_4daysclincobsreclist.col;
  6097. // sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  6098. // sRecFromDT = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/recfromdt");
  6099. // sRecToDT = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/rectodt");
  6100. // sAttrCD = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/attrcd");
  6101. // sReChartFlag = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/reccharflag");
  6102. //
  6103. // // 의사의 경우
  6104. // if(sJobKindCD == "30"){
  6105. // grd_4daysclincobsreclist.combo.button.visible = false;
  6106. // grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  6107. // return;
  6108. // }
  6109. // if(eval(model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/depth")) == 1){
  6110. // grd_4daysclincobsreclist.combo.button.visible = false;
  6111. // grd_4daysclincobsreclist.isReadOnly(iRow,grd_4daysclincobsreclist.fixedCols,iRow, grd_4daysclincobsreclist.cols-1) = true;
  6112. // }else{
  6113. // //2008-05-21 변경
  6114. // //if(sRecDT < sRecFromDT || sRecDT > sRecToDT ){
  6115. // if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/reccharflag") == "C" ){
  6116. // if(model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/attrcd") == ""){
  6117. // grd_4daysclincobsreclist.combo.button.visible = false;
  6118. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col);
  6119. // }
  6120. // grd_4daysclincobsreclist.isReadOnly(iRow,iCol) = true;
  6121. // }else{
  6122. // if(sReChartFlag =="A" && sAttrCD != ""){
  6123. // grd_4daysclincobsreclist.combo.button.visible = true;
  6124. // grd_4daysclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  6125. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col)-20;
  6126. // }else{
  6127. // grd_4daysclincobsreclist.combo.button.visible = false;
  6128. // grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(grd_4daysclincobsreclist.col);
  6129. // }
  6130. // }
  6131. // }
  6132. // model.setFocus("body");
  6133. // model.setFocus("grd_4daysclincobsreclist");
  6134. // break;
  6135. // case "stnd":
  6136. // iRecRow = grd_stndclincobsreclist.row - grd_stndclincobsreclist.fixedrows+1;
  6137. // iRow = grd_stndclincobsreclist.row;
  6138. // iCol = grd_stndclincobsreclist.col;
  6139. //
  6140. //
  6141. // sRecDT = sHeader[1][iCol]+sHeader[3][iCol]+sHeader[4][iCol]+"59";
  6142. // sRecFromDT = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/recfromdt");
  6143. // sRecToDT = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/rectodt");
  6144. // // 의사의 경우
  6145. // if(sJobKindCD == "30"){
  6146. // grd_stndclincobsreclist.combo.button.visible = false;
  6147. // grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols,iRow, grd_stndclincobsreclist.cols-1) = true;
  6148. // return;
  6149. // }
  6150. // if(eval(model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/depth")) == 1){
  6151. // grd_stndclincobsreclist.combo.button.visible = false;
  6152. // grd_stndclincobsreclist.isReadOnly(iRow,grd_stndclincobsreclist.fixedCols,iRow, grd_stndclincobsreclist.cols-1) = true;
  6153. // }else{
  6154. // //2008-05-21 변경
  6155. // //if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/recyn") == "N"){
  6156. // if(sRecDT < sRecFromDT || sRecDT > sRecToDT || model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/reccharflag") == "C"){
  6157. // if(model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/attrcd") == ""){
  6158. // grd_stndclincobsreclist.combo.button.visible = false;
  6159. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  6160. // }
  6161. // grd_stndclincobsreclist.isReadOnly(iRow,iCol) = true;
  6162. // }else{
  6163. // sAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/attrcd");
  6164. // sReChartFlag = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/reccharflag");
  6165. // if(sReChartFlag =="A" && sAttrCD != ""){
  6166. // grd_stndclincobsreclist.combo.button.visible = true;
  6167. // grd_stndclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath+"[supcd='"+sAttrCD+"']";
  6168. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col)-20;
  6169. // }else{
  6170. // grd_stndclincobsreclist.combo.button.visible = false;
  6171. // grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(grd_stndclincobsreclist.col);
  6172. // }
  6173. // }
  6174. // }
  6175. // model.setFocus("body");
  6176. // model.setFocus("grd_stndclincobsreclist");
  6177. // break;
  6178. }
  6179. }
  6180. function fChageComboSet(pFlag){
  6181. switch(pFlag){
  6182. case "24hours" :
  6183. iRecRow = grd_24hoursclincobsreclist.row - grd_24hoursclincobsreclist.fixedrows+1;
  6184. iRow = grd_24hoursclincobsreclist.row;
  6185. iCol = grd_24hoursclincobsreclist.col;
  6186. //sAttrCD = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/attrcd");
  6187. //sReChartFlag = model.getValue(xHoursClincObsRecList+"["+iRecRow+"]/reccharflag");
  6188. sAttrCD = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("attrcd"));
  6189. sReChartFlag = grd_24hoursclincobsreclist.valueMatrix(iRow, grd_24hoursclincobsreclist.colRef("reccharflag"));
  6190. if(sReChartFlag =="A" && sAttrCD != ""){
  6191. grd_24hoursclincobsreclist.combo.button.visible = true;
  6192. grd_24hoursclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  6193. grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(iCol)-20;
  6194. //grd_24hoursclincobsreclist.select(iRow, iCol) = false;
  6195. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  6196. //model.setFocus("body");
  6197. //model.setFocus("grd_24hoursclincobsreclist");
  6198. var iDataRow = 0;
  6199. var sRecCharFlag = "";
  6200. for(var row = iRow+1; row <= grd_24hoursclincobsreclist.rows;row++){
  6201. iDataRow = row - grd_24hoursclincobsreclist.fixedrows+1;
  6202. sRecCharFlag = grd_24hoursclincobsreclist.valueMatrix(row, grd_24hoursclincobsreclist.colRef("reccharflag"));
  6203. if(sRecCharFlag == "A" || sRecCharFlag == "B"){
  6204. model.setFocus("body");
  6205. row = grd_24hoursclincobsreclist.rows + 1;
  6206. }
  6207. }
  6208. }
  6209. // else{
  6210. // grd_24hoursclincobsreclist.combo.button.visible = false;
  6211. // grd_24hoursclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(iCol);
  6212. // }
  6213. break;
  6214. case "4days" :
  6215. iRecRow = grd_4daysclincobsreclist.row - grd_4daysclincobsreclist.fixedrows+1;
  6216. iRow = grd_4daysclincobsreclist.row;
  6217. iCol = grd_4daysclincobsreclist.col;
  6218. sAttrCD = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/attrcd");
  6219. sReChartFlag = model.getValue(xDaysClincObsRecList+"["+iRecRow+"]/reccharflag");
  6220. if(sReChartFlag =="A" && sAttrCD != ""){
  6221. grd_4daysclincobsreclist.combo.button.visible = true;
  6222. grd_4daysclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  6223. grd_4daysclincobsreclist.combo.input.attribute("width") = grd_4daysclincobsreclist.colWidth(iCol)-20;
  6224. //grd_24hoursclincobsreclist.select(iRow, iCol) = false;
  6225. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  6226. //model.setFocus("body");
  6227. //model.setFocus("grd_24hoursclincobsreclist");
  6228. var iDataRow = 0;
  6229. var sRecCharFlag = "";
  6230. for(var row = iRow+1; row <= grd_4daysclincobsreclist.rows;row++){
  6231. iDataRow = row - grd_4daysclincobsreclist.fixedrows+1;
  6232. sRecCharFlag = model.getValue(xDaysClincObsRecList+"["+iDataRow+"]/reccharflag");
  6233. if(sRecCharFlag == "A" || sRecCharFlag == "B"){
  6234. model.setFocus("body");
  6235. row = grd_4daysclincobsreclist.rows + 1;
  6236. }
  6237. }
  6238. }else{
  6239. grd_4daysclincobsreclist.combo.button.visible = false;
  6240. grd_4daysclincobsreclist.combo.input.attribute("width") = grd_24hoursclincobsreclist.colWidth(iCol);
  6241. }
  6242. break;
  6243. case "stnd":
  6244. iRecRow = grd_stndclincobsreclist.row - grd_stndclincobsreclist.fixedrows+1;
  6245. iRow = grd_stndclincobsreclist.row;
  6246. iCol = grd_stndclincobsreclist.col;
  6247. sAttrCD = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/attrcd");
  6248. sReChartFlag = model.getValue(xStnddayClincObsRecListPath+"["+iRecRow+"]/reccharflag");
  6249. if(sReChartFlag =="A" && sAttrCD != ""){
  6250. grd_stndclincobsreclist.combo.button.visible = true;
  6251. grd_stndclincobsreclist.cellComboNodeset(iRow,iCol) = sAttrListPath1+"[supcd='"+sAttrCD+"']";
  6252. grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(iCol)-20;
  6253. //grd_24hoursclincobsreclist.select(iRow, iCol) = false;
  6254. //2008-05-22 콤보 선택시 콤보노드 변경을 위해 추가
  6255. //model.setFocus("body");
  6256. //model.setFocus("grd_24hoursclincobsreclist");
  6257. var iDataRow = 0;
  6258. var sRecCharFlag = "";
  6259. for(var row = iRow+1; row <= grd_stndclincobsreclist.rows;row++){
  6260. iDataRow = row - grd_stndclincobsreclist.fixedrows+1;
  6261. sRecCharFlag = model.getValue(xStnddayClincObsRecListPath+"["+iDataRow+"]/reccharflag");
  6262. if(sRecCharFlag == "A" || sRecCharFlag == "B"){
  6263. model.setFocus("body");
  6264. row = grd_stndclincobsreclist.rows + 1;
  6265. }
  6266. }
  6267. }else{
  6268. grd_stndclincobsreclist.combo.button.visible = false;
  6269. grd_stndclincobsreclist.combo.input.attribute("width") = grd_stndclincobsreclist.colWidth(iCol);
  6270. }
  6271. break;
  6272. }
  6273. }
  6274. /**
  6275. * @group :
  6276. * @ver : 2008.06.22
  6277. * @by : 양천덕
  6278. * @---------------------------------------------------
  6279. * @type : function
  6280. * @access : public
  6281. * @desc :
  6282. * @param : 경구입력 팝업 제어부분
  6283. * @return :
  6284. * @---------------------------------------------------
  6285. */
  6286. function fOralRecPopup(){
  6287. // var sChkCnt = getNodesetCount("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist");
  6288. // var sOralRow = 0;
  6289. //
  6290. // for(var i = 1 ; i <= sChkCnt ; i++){
  6291. // if(model.getValue("/root/main/clincobsrecinfo/hoursclincobsrecinfo/hoursclincobsreclist["+i+"]/lnkbizcd") == "01"){
  6292. // sOralRow++;
  6293. // }
  6294. // }
  6295. //
  6296. // if(sOralRow == 0){
  6297. // messageBox("경구관련 Item이 환자에 세팅되지 않았습니다.", "I");
  6298. // return;
  6299. // }
  6300. var sIndex = cmb_patlist.focusIndex + 1
  6301. var sParam_Header = "pid▦orddd▦cretno▦wardcd▦recdd▩";
  6302. var pid = model.getValue(sCondPath+"/pid");
  6303. var sParam_Data = model.getValue(sCondPath+"/pid")+"▦"
  6304. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6305. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/indd")
  6306. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd") ) + "▦"
  6307. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6308. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/cretno")
  6309. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/cretno" ) ) + "▦"
  6310. + ( isNull(cmb_wardlist.value) ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/wardcd")
  6311. : cmb_wardlist.value )+ "▦"
  6312. + model.getValue(sCondPath+"/recdd")+"▩";
  6313. setParameter("SPMNR05700_Param",sParam_Header+sParam_Data);
  6314. modal("SPMNR05700");
  6315. fSearchClincObsRec("24hours");
  6316. }
  6317. /**
  6318. * @group :
  6319. * @ver : 2008.06.22
  6320. * @by : 양천덕
  6321. * @---------------------------------------------------
  6322. * @type : function
  6323. * @access : public
  6324. * @desc :
  6325. * @param : CDIS 데이터 연동 팝업 제어부분
  6326. * @return :
  6327. * @---------------------------------------------------
  6328. */
  6329. function fCDISRecPopup(){
  6330. var sIndex = cmb_patlist.focusIndex + 1
  6331. var sParam_Header = "srchdd▦stndtm▦pid▦orddd▦cretno▦starttm▦ordtype▦wardcd▦roomcd▩";
  6332. var pid = model.getValue(sCondPath+"/pid");
  6333. var sParam_Data = model.getValue(sCondPath+"/recdd")+"▦"
  6334. + "01"+"▦"
  6335. + model.getValue(sCondPath+"/pid")+"▦"
  6336. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6337. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/indd")
  6338. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd") ) + "▦"
  6339. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6340. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/cretno")
  6341. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/cretno" ) ) + "▦"
  6342. + getCurrentTime().substr(0,2) + "▦"
  6343. + model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/ordtype" ) + "▦"
  6344. + ( isNull(cmb_wardlist.value) ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/wardcd")
  6345. : cmb_wardlist.value )+ "▦"
  6346. + ( isNull(cmb_roomlist.value) ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/roomcd")
  6347. : cmb_roomlist.value )+ "▦"
  6348. + model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/instcd" ) + "▩";
  6349. setParameter("SPMNR06200_Param",sParam_Header+sParam_Data);
  6350. modal("SPMNR06200");
  6351. fSearchClincObsRec("24hours");
  6352. }
  6353. /**
  6354. * @group :
  6355. * @ver : 2008.06.22
  6356. * @by : 양천덕
  6357. * @---------------------------------------------------
  6358. * @type : function
  6359. * @access : public
  6360. * @desc :
  6361. * @param : 항목별 연계
  6362. * @return :
  6363. * @---------------------------------------------------
  6364. */
  6365. function fLnkBizChk(pFlag){
  6366. var sLnkBizCd = "";
  6367. var sMessageSpec = "연동된 자료는 해당 기록지에서 직접 입력 및 수정하여야 합니다. ";
  6368. switch (pFlag){
  6369. case "24hours" :
  6370. sLnkBizCd = grd_24hoursclincobsreclist.valueMatrix(grd_24hoursclincobsreclist.row, grd_24hoursclincobsreclist.colRef("lnkbizcd"));
  6371. break;
  6372. case "4days":
  6373. sLnkBizCd = grd_4daysclincobsreclist.valueMatrix(grd_4daysclincobsreclist.row, grd_4daysclincobsreclist.colRef("lnkbizcd"));
  6374. break;
  6375. case "stnd":
  6376. sLnkBizCd = grd_stndclincobsreclist.valueMatrix(grd_stndclincobsreclist.row, grd_stndclincobsreclist.colRef("lnkbizcd"));
  6377. break;
  6378. case "former":
  6379. sLnkBizCd = grd_formersclincobsreclist.valueMatrix(grd_formersclincobsreclist.row, grd_formersclincobsreclist.colRef("lnkbizcd"));
  6380. break;
  6381. }
  6382. switch (sLnkBizCd){
  6383. case "01" :
  6384. messageBox(sMessageSpec + "(경구입력)","I");
  6385. break;
  6386. case "02" :
  6387. messageBox(sMessageSpec + "(투약기록지)","I");
  6388. break;
  6389. case "03" :
  6390. messageBox(sMessageSpec + "(수혈간호기록지)","I");
  6391. break;
  6392. case "04" :
  6393. messageBox(sMessageSpec + "(혈당간호기록지)","I");
  6394. break;
  6395. case "05" :
  6396. messageBox(sMessageSpec + "(CAPD기록지)","I");
  6397. break;
  6398. case "06" :
  6399. messageBox(sMessageSpec + "(CRRT기록지)","I");
  6400. break;
  6401. case "06" :
  6402. messageBox(sMessageSpec + "(CPCR기록지)","I");
  6403. break;
  6404. }
  6405. }
  6406. /**
  6407. * @group :
  6408. * @ver : 2007.07.21
  6409. * @by : 양천덕
  6410. * @---------------------------------------------------
  6411. * @type : function
  6412. * @access : public
  6413. * @desc : 문자여부 확인
  6414. * @param : str : 값
  6415. * @return : true / false
  6416. * @---------------------------------------------------
  6417. */
  6418. function fIsNumber(str) {
  6419. str += ''; // 문자열로 변환
  6420. str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
  6421. if (str == '' || isNaN(str)) return false;
  6422. return true;
  6423. }
  6424. /**
  6425. * @group :
  6426. * @ver : 2008.07.02
  6427. * @by : 양천덕
  6428. * @---------------------------------------------------
  6429. * @type : function
  6430. * @access : public
  6431. * @desc :
  6432. * @param : IO조회 팝업 제어부분
  6433. * @return :
  6434. * @---------------------------------------------------
  6435. */
  6436. function fIOSearPopup(){
  6437. if(model.getValue("/root/main/patinfo/pid") == ""){
  6438. messageBox("환자를 선택하십시요","I");
  6439. return;
  6440. }
  6441. var sIndex = cmb_patlist.focusIndex + 1
  6442. var sParam_Header = "pid▦orddd▦cretno▦wardcd▦recdd▩";
  6443. var pid = model.getValue(sCondPath+"/pid");
  6444. var sParam_Data = pid+"▦"
  6445. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6446. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/indd")
  6447. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd") ) + "▦"
  6448. + (isNull(model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/indd"))
  6449. ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/cretno")
  6450. : model.getValue("/root/temp/cond/patientgrup/patientgruplist["+ sIndex +"]/cretno" ) ) + "▦"
  6451. + ( isNull(cmb_wardlist.value) ? model.getValue("/root/main/patinfo[pid = '"+pid+"']/wardcd")
  6452. : cmb_wardlist.value ) + "▦"
  6453. + model.getValue(sCondPath+"/recdd")+"▩";
  6454. setParameter("SPMNR05800_Param",sParam_Header+sParam_Data);
  6455. modal("SPMNR05800");
  6456. }
  6457. /**
  6458. * @group :
  6459. * @ver : 2008.07.02
  6460. * @by : 양천덕
  6461. * @---------------------------------------------------
  6462. * @type : function
  6463. * @access : public
  6464. * @desc :
  6465. * @param : 간호관리ITEM 팝업 제어부분
  6466. * @return :
  6467. * @---------------------------------------------------
  6468. */
  6469. function fItemPopup(){
  6470. //setParameter("SPMNR05800_Param",sParam_Header+sParam_Data);
  6471. modal("SMMNR04100");
  6472. fSearchClincObsRec("24hours");
  6473. }
  6474. /**
  6475. * @group :
  6476. * @ver : 2008.07.02
  6477. * @by : 양천덕
  6478. * @---------------------------------------------------
  6479. * @type : function
  6480. * @access : public
  6481. * @desc :
  6482. * @param : 환자 선택 여부확인
  6483. * @return :
  6484. * @---------------------------------------------------
  6485. */
  6486. function fChkTgtPatInfo(pFlag){
  6487. switch(pFlag){
  6488. case "disable":
  6489. ipt_24hoursrecdd.disabled = true;
  6490. btn_24hoursbefore.disabled = true;
  6491. btn_24hoursafter.disabled = true;
  6492. btn_24hours4daysvw.disabled = true;
  6493. cmb_24hourstimeflag.disabled = true;
  6494. //btn_24hourstimesetting.disabled = true;
  6495. btn_EtrlInpt.disabled = true;
  6496. btn_IOSerch.disabled = true;
  6497. btn_24hoursvwctrl.disabled = true;
  6498. btn_srchformerday.disabled = true;
  6499. btn_24hoursnursitem.disabled = true;
  6500. btn_24hourscalc.disabled = true;
  6501. btn_24hourscertsave.disabled = true;
  6502. btn_24hoursup.disabled = true;
  6503. btn_24hoursdown.disabled = true;
  6504. btn_24hoursdetailbefore.disabled = true;
  6505. btn_24hoursdetailafter.disabled = true;
  6506. btn_srchrecinfo.disabled = true;
  6507. btn_allsrchrecinfo.disabled = true;
  6508. btn_24refresh.disabled = true;
  6509. btn_cdisopen.disabled = true;
  6510. btn_tempsave.disabled = true;
  6511. btn_srchrecdata.disabled = true;
  6512. break;
  6513. case "able":
  6514. ipt_24hoursrecdd.disabled = false;
  6515. btn_24hoursbefore.disabled = false;
  6516. btn_24hoursafter.disabled = false;
  6517. btn_24hours4daysvw.disabled = false;
  6518. cmb_24hourstimeflag.disabled = false;
  6519. //btn_24hourstimesetting.disabled = false;
  6520. btn_EtrlInpt.disabled = false;
  6521. btn_IOSerch.disabled = false;
  6522. btn_24hoursvwctrl.disabled = false;
  6523. btn_srchformerday.disabled = false;
  6524. btn_24hoursnursitem.disabled = false;
  6525. btn_24hourscalc.disabled = false;
  6526. btn_24hourscertsave.disabled = false;
  6527. btn_24hoursup.disabled = false;
  6528. btn_24hoursdown.disabled = false;
  6529. btn_24hoursdetailbefore.disabled = false;
  6530. btn_24hoursdetailafter.disabled = false;
  6531. btn_srchrecinfo.disabled = false;
  6532. btn_allsrchrecinfo.disabled = false;
  6533. btn_24refresh.disabled = false;
  6534. btn_cdisopen.disabled = false;
  6535. btn_srchrecdata.disabled = false;
  6536. break;
  6537. }
  6538. //fSettingViewCtrl();
  6539. }
  6540. /**
  6541. * @group :
  6542. * @ver : 2008.07.16
  6543. * @by : 양천덕
  6544. * @---------------------------------------------------
  6545. * @type : function
  6546. * @access : public
  6547. * @desc :
  6548. * @param : 임상관찰기록 인증 데이터 생성
  6549. * @return :
  6550. * @---------------------------------------------------
  6551. */
  6552. function fMake_SignData(){
  6553. switch(sViewerFunc){
  6554. case "sign":
  6555. Sign.addnode("/root/certtemp");
  6556. var xPathSignData = Sign.XPATH_SIGNINFO+"/certtemp/recinfo";
  6557. for(var i = 0 ; i <= getNodesetCount(xPathSignData) ; i++){
  6558. var sRecRslt = model.getValue(xPathSignData+"["+i+"]/reclist");
  6559. var sCertAttrCd = model.getValue(xResultAttrPath+"["+i+"]/attrcd");
  6560. var sCertAttrNm = model.getValue(sAttrListPath1+"[attrcd='"+sRecRslt+"']/attrdesc");
  6561. if(sRecRslt != "" && sCertAttrCd != "" && sCertAttrNm != ""){
  6562. model.setValue(xPathSignData+"["+i+"]/reclist", sCertAttrNm);
  6563. }
  6564. }
  6565. break;
  6566. case "veiw":
  6567. Sign.addnode("/root/viewtemp/viewinfo");
  6568. break;
  6569. }
  6570. }
  6571. /**
  6572. * @group :
  6573. * @ver : 2008.07.16
  6574. * @by : 양천덕
  6575. * @---------------------------------------------------
  6576. * @type : function
  6577. * @access : public
  6578. * @desc :
  6579. * @param : 기록일별 기록 정보 view 생성
  6580. * @return :
  6581. * @---------------------------------------------------
  6582. */
  6583. function fMakeViewData(){
  6584. model.removenodeSet("/root/send");
  6585. model.removenodeSet("/root/viewtemp");
  6586. sViewerFunc = "veiw";
  6587. var sCntViewData = getNodesetCount(xPathViewData);
  6588. var sTopColInfo = "";
  6589. var sSrow = "";
  6590. var sErow = "";
  6591. sViewerRecDD = "";
  6592. sMakeChartInfo[1] = new Array(); //Y축명
  6593. sMakeChartInfo[2] = new Array(); //Y축정보
  6594. sMakeChartInfo[3] = new Array(); //기록시간
  6595. sMakeChartInfo[4] = new Array(); //기록값
  6596. if(sCntViewData > 0 ){
  6597. for(var i = 1 ; i <= eval(getNodesetCount(xPathViewData)) ; i++){
  6598. if(model.getValue(xPathViewData+"["+i+"]/leftaxis") != "" && model.getValue(xPathViewData+"["+i+"]/leftaxis") != "-" ){
  6599. var insIndex = sMakeChartInfo[1].length;
  6600. sMakeChartInfo[1][insIndex] = model.getValue(xPathViewData + "[" +i+ "]/captiony");
  6601. sMakeChartInfo[2][insIndex] = model.getValue(xPathViewData + "[" +i+ "]/leftaxis");
  6602. sMakeChartInfo[3][insIndex] = model.getValue(xPathViewData + "[" +i+ "]/recdtlist");
  6603. sMakeChartInfo[4][insIndex] = model.getValue(xPathViewData + "[" +i+ "]/recrsltlist");
  6604. }
  6605. //일자 정보 변경시 데이터 저장함수 호출
  6606. if(model.getValue(xPathViewData +"[" +i+ "]/itemcd") == "-" && sViewerRecDD != "") {
  6607. sTopColInfo = "";
  6608. //fChngViewNode();
  6609. //pErow = i -1;
  6610. fSaveViewData();
  6611. //fMakeViewChart(pSrow, pErow);
  6612. model.removenodeSet("/root/viewtemp/viewinfo");
  6613. //pSrow = "";
  6614. //pErow = "";
  6615. //pSrow = i;
  6616. }
  6617. if(model.getValue(xPathViewData +"[" +i+ "]/itemcd") == "-") {
  6618. //pSrow = i;
  6619. var sViewDate = model.getValue(xPathViewData+"["+i+"]/recdd");
  6620. var sEndRows = 0;
  6621. sViewerRecDD = sViewDate;
  6622. model.makeValue("/root/viewtemp/viewinfo/vierdate" , sViewDate.substr(0,4)+"-"+sViewDate.substr(4,2)+"-"+sViewDate.substr(6,4));
  6623. model.makeValue("/root/viewtemp/viewinfo/recdd" , sViewDate);
  6624. model.makeValue("/root/viewtemp/viewinfo/pid" , sPid);
  6625. model.makeValue("/root/viewtemp/viewinfo/orddd" , sIndd);
  6626. model.makeValue("/root/viewtemp/viewinfo/cretno" , sCretNo);
  6627. model.makeValue("/root/viewtemp/viewinfo/recflag" , "A");
  6628. model.makeValue("/root/viewtemp/viewinfo/server" , getDomain());
  6629. model.makeValue("/root/viewtemp/viewinfo/instcd" , sInstcd);
  6630. sTopColInfo = model.getValue(xPathViewData +"[" + i + "]/recdtlist").split("^");
  6631. var jrow = 0 ;
  6632. var insRow = 0;
  6633. for(var k = 0 ; k < sTopColInfo.length ; k++) {
  6634. var insCol = (k % 9) ;
  6635. //var tmpRow = (""+k / 9+"").getTruncate();
  6636. if(jrow == 0){
  6637. if(insRow != 0){
  6638. insRow = eval(getNodesetCount("/root/viewtemp/viewinfo/viewlist")) ;
  6639. model.makeValue("/root/viewtemp/viewinfo/viewlist["+insRow+"]/itemnm", "기록시간");
  6640. }else{
  6641. insRow = eval(getNodesetCount("/root/viewtemp/viewinfo/viewlist")) + 1 ;
  6642. model.makeValue("/root/viewtemp/viewinfo/viewlist["+insRow+"]/itemnm", "기록시간");
  6643. }
  6644. }else{
  6645. insRow = eval(getNodesetCount("/root/viewtemp/viewinfo/viewlist")) + 1 ;
  6646. model.makeValue("/root/viewtemp/viewinfo/viewlist["+insRow+"]/itemnm", " ");
  6647. insRow++;
  6648. jrow = 0;
  6649. }
  6650. var sTempNode = "/root/viewtemp/viewinfo/viewlist["+insRow +"]/col"+insCol;
  6651. model.makeValue(sTempNode, sTopColInfo[k]);
  6652. if(insCol == 8 || k == sTopColInfo.length-1){
  6653. for(var j = i + 1 ; j <= eval(getNodesetCount(xPathViewData)) ; j++) {
  6654. if(sViewDate == model.getValue(xPathViewData+"["+j+"]/recdd")) {
  6655. var sColInfo = model.getValue(xPathViewData +"[" +j+ "]/recdtlist").split("^");
  6656. var sColrsltInfo = model.getValue(xPathViewData +"[" +j+ "]/recrsltlist").split("^");
  6657. var sColrecnm = model.getValue(xPathViewData +"[" +j+ "]/recnm").split("^");
  6658. for(var d = 0 ; d < sColInfo.length ; d++){
  6659. var insSubCol = (d % 9) ;
  6660. //var tmpSubRow = (""+d / 9+"").getTruncate();
  6661. var insSubRow = insRow + j;
  6662. model.makeValue("/root/viewtemp/viewinfo/viewlist["+insSubRow+"]/itemnm", model.getValue(xPathViewData+"["+j+"]/itemnm"));
  6663. for(var z = 0 ; z <= insCol ; z++){
  6664. if(model.getValue("/root/viewtemp/viewinfo/viewlist["+insRow+"]/col"+z) == sColInfo[d]){
  6665. var sTempNode = "/root/viewtemp/viewinfo/viewlist["+insSubRow+"]/col"+z;
  6666. var sTempNodeRow = "/root/viewtemp/viewinfo/viewlist["+insSubRow+"]/row"+z;
  6667. var sTempRecNM = "";
  6668. // if( model.getValue(xPathViewData+"["+j+"]/recnm") != "") {
  6669. // sTempRecNM = "\n" + "[" + model.getValue(xPathViewData+"["+j+"]/recnm") + "]"
  6670. // }
  6671. // model.makeValue(sTempNode, sColrsltInfo[d] + sTempRecNM);
  6672. model.makeValue(sTempNode, sColrsltInfo[d]);
  6673. if( sColrecnm[d] != "") {
  6674. sTempRecNM = "[" + sColrecnm[d] + "]";
  6675. model.makeValue(sTempNodeRow, sTempRecNM);
  6676. }
  6677. jrow = j;
  6678. }
  6679. }
  6680. }
  6681. }
  6682. }
  6683. }
  6684. }
  6685. i = jrow;
  6686. }
  6687. //데이터 생성 종료시 저장 함수 호출
  6688. if(i == getNodesetCount(xPathViewData)){
  6689. fSaveViewData();
  6690. }
  6691. }
  6692. submit("TXMNR00904", false);
  6693. fMakeViewChartImg();
  6694. }
  6695. //fMakeViewChart(pSrow, pErow);
  6696. //return;
  6697. }
  6698. /**
  6699. * @group :
  6700. * @ver : 2008.07.16
  6701. * @by : 양천덕
  6702. * @---------------------------------------------------
  6703. * @type : function
  6704. * @access : public
  6705. * @desc :
  6706. * @param : 기록일별 view 정보 저장
  6707. * @return :
  6708. * @---------------------------------------------------
  6709. */
  6710. function fSaveViewData(){
  6711. //**********************************************************************************************************************
  6712. // VIEWER 인증 구현 부분
  6713. //**********************************************************************************************************************
  6714. if(Sign.signprocess() == true ){
  6715. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  6716. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  6717. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sIndd);
  6718. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "" );
  6719. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  6720. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", sViewerRecDD);
  6721. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", "000000");
  6722. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  6723. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  6724. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", sIOFlag);
  6725. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0000002443");
  6726. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  6727. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  6728. //alert( Sign.signedInfos[1]);
  6729. //alert( Sign.signedInfos[2]);
  6730. //alert( Sign.signedInfos[3]);
  6731. //alert( Sign.signedInfos[4]);
  6732. //alert( Sign.signedInfos[5]);
  6733. //▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  6734. //▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  6735. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  6736. //▶ 공인인증 처리후 데이터
  6737. //model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]);
  6738. }else{
  6739. return false;
  6740. }
  6741. model.removenodeSet("/root/viewtemp/viewinfo");
  6742. //return;
  6743. //**********************************************************************************************************************
  6744. }
  6745. /**
  6746. * @group :
  6747. * @ver : 2008.07.16
  6748. * @by : 양천덕
  6749. * @---------------------------------------------------
  6750. * @type : function
  6751. * @access : public
  6752. * @desc :
  6753. * @param : 기록일별 view Chart 생성
  6754. * @return :
  6755. * @---------------------------------------------------
  6756. */
  6757. function fMakeViewChart(pSrow, pErow){
  6758. var Obj_Chart;
  6759. var sColCnt = 0;
  6760. var sRecRslt = "";
  6761. var sRecRslt1 = "";
  6762. var sChartInfo = "";
  6763. var sRecDD = "";
  6764. var sRecTM = "";
  6765. //sChartInfo = model.getValue(sCondPath+"/hourschartinfo").split(" ");
  6766. obj_viewchart.RemoveAllSeries();
  6767. obj_viewchart.Axis.RemoveAllCustom();
  6768. //margin 값 정하기
  6769. //obj_24hourschart.Panel.MarginTop = 1;
  6770. obj_viewchart.Panel.MarginTop = 2;
  6771. obj_viewchart.Panel.MarginLeft = 12;
  6772. obj_viewchart.Panel.MarginRight = 0;
  6773. obj_viewchart.Panel.MarginBottom = 0;
  6774. //하단축 칸 수 정하기와 눈금 없애기
  6775. obj_viewchart.Axis.Bottom.TickLength = 10;
  6776. obj_viewchart.Axis.Bottom.SetMinMax (0, 24); //하루 동안 좌표를 표현
  6777. obj_viewchart.Axis.Bottom.Increment = 1;
  6778. obj_viewchart.Axis.Bottom.MinorTickCount = 1;
  6779. obj_viewchart.Axis.Bottom.Labels.Visible = true;
  6780. obj_viewchart.Axis.Bottom.Labels.Font.Color = 0x000000;
  6781. for(var i = 0 ; i < 24 ; i ++){
  6782. obj_viewchart.Axis.Bottom.Labels.Add (i, i);
  6783. }
  6784. Obj_Chart = obj_viewchart;
  6785. sColCnt = 24*60;
  6786. Obj_Chart.Axis.Bottom.AxisPen.Color = 0x000000;
  6787. Obj_Chart.Axis.Bottom.Labels.Font.Color = 0xffffff; //Obj_Chart.Panel.Color; //하단 축 눈금 명칭 색을 바탕색으로 하여 보이지 않게 처리
  6788. //Obj_Chart.Axis.Bottom.Labels.Font.Color = 0x000000
  6789. Obj_Chart.Header.Visible = false;
  6790. Obj_Chart.Aspect.View3D = 0; //2d 로 표현하기
  6791. Obj_Chart.Zoom.Enable = false; // zoom 사용하지 않기
  6792. Obj_Chart.Scroll.Enable = false; // scroll 사용하지 않기
  6793. Obj_Chart.Legend.Visible = false; // 그래프 참조 박스 띄우지 않기
  6794. Obj_Chart.Panel.Gradient.Visible = true; // 페널에 그라디언트 적용
  6795. Obj_Chart.Panel.Gradient.StartColor = 0xffffff;
  6796. Obj_Chart.Panel.Gradient.EndColor=0xffffff;
  6797. Obj_Chart.Environment.MouseWheelScroll = false;
  6798. // 혈압을 나타내는 막대그래프를 먼저 그려야 맥박, 체온,호흡 점이 막대 그래프에 가려지지 않는다.
  6799. var cus_axis1 = Obj_Chart.Axis.AddCustom(false); // 혈압축
  6800. Obj_Chart.Axis.Custom(0).AxisPen.Color = 0x0000ff;
  6801. Obj_Chart.Axis.Custom(0).Title.Caption = "혈압/맥박"
  6802. Obj_Chart.Axis.Custom(0).Title.Font.Size = 8;
  6803. Obj_Chart.Axis.Custom(0).Title.Font.Bold = true;
  6804. Obj_Chart.Axis.Custom(0).Title.Angle = 90;
  6805. Obj_Chart.Axis.Custom(0).PositionPercent = 0;
  6806. Obj_Chart.Axis.Custom(0).StartPosition = 0;
  6807. Obj_Chart.Axis.Custom(0).EndPosition = 100;
  6808. Obj_Chart.Axis.Custom(0).Automatic = false;
  6809. Obj_Chart.Axis.Custom(0).Maximum = 190;
  6810. Obj_Chart.Axis.Custom(0).Minimum = 10;
  6811. Obj_Chart.Axis.Custom(0).Increment = 20;
  6812. var cus_axis2 = Obj_Chart.Axis.AddCustom(false); // 호흡축
  6813. Obj_Chart.Axis.Custom(1).AxisPen.Color = 0x00ff00;
  6814. Obj_Chart.Axis.Custom(1).Title.Caption = "호흡";
  6815. Obj_Chart.Axis.Custom(1).Title.Font.Size = 8;
  6816. Obj_Chart.Axis.Custom(1).Title.Font.Bold = true;
  6817. Obj_Chart.Axis.Custom(1).Title.Angle = 90;
  6818. Obj_Chart.Axis.Custom(1).PositionPercent = -10;
  6819. Obj_Chart.Axis.Custom(1).Automatic = false;
  6820. Obj_Chart.Axis.Custom(1).Maximum = 90;
  6821. Obj_Chart.Axis.Custom(1).Minimum = 0;
  6822. Obj_Chart.Axis.Custom(1).Increment = 10;
  6823. var cus_axis3 = Obj_Chart.Axis.AddCustom(false); // 체온축
  6824. Obj_Chart.Axis.Custom(2).AxisPen.Color = 0xff0000;
  6825. Obj_Chart.Axis.Custom(2).Title.Caption = "체온";
  6826. Obj_Chart.Axis.Custom(2).Title.Font.Size = 8;
  6827. Obj_Chart.Axis.Custom(2).Title.Font.Bold = true;
  6828. Obj_Chart.Axis.Custom(2).Title.Angle = 90;
  6829. Obj_Chart.Axis.Custom(2).PositionPercent = -5;
  6830. Obj_Chart.Axis.Custom(2).Automatic = false;
  6831. Obj_Chart.Axis.Custom(2).Maximum = 43;
  6832. Obj_Chart.Axis.Custom(2).Minimum = 34;
  6833. Obj_Chart.Axis.Custom(2).Increment = 1;
  6834. Obj_Chart.AddSeries (11); // 혈압
  6835. Obj_Chart.AddSeries (0); // 맥박
  6836. Obj_Chart.AddSeries (0); // 호흡
  6837. Obj_Chart.AddSeries (0); // 체온
  6838. Obj_Chart.AddSeries (0); // 38선
  6839. //Obj_Chart.AddSeries (11); // OP
  6840. Obj_Chart.Series(0).VerticalAxisCustom = cus_axis1; // 혈압
  6841. Obj_Chart.Series(1).VerticalAxisCustom = cus_axis1; // 맥박
  6842. Obj_Chart.Series(2).VerticalAxisCustom = cus_axis2; // 호흡
  6843. Obj_Chart.Series(3).VerticalAxisCustom = cus_axis3; // 체온
  6844. Obj_Chart.Series(4).VerticalAxisCustom = cus_axis3; // 38선
  6845. //Obj_Chart.Series(5).VerticalAxisCustom = cus_axis1; // OP
  6846. //라인의 굵기를 정해준다.
  6847. Obj_Chart.Series(0).asCandle.CandleStyle = 2;
  6848. Obj_Chart.Series(0).asCandle.CandleWidth = 6;
  6849. Obj_Chart.Series(1).asLine.LinePen.Width = 2;
  6850. Obj_Chart.Series(2).asLine.LinePen.Width = 2;
  6851. Obj_Chart.Series(3).asLine.LinePen.Width = 2;
  6852. Obj_Chart.Series(4).asLine.LinePen.Width = 2;
  6853. //Obj_Chart.Series(5).asCandle.CandleStyle = 2;
  6854. //Obj_Chart.Series(5).asCandle.CandleWidth = 4;
  6855. Obj_Chart.Series(0).Color = 0x000000; //black 혈압
  6856. Obj_Chart.Series(1).Color = 0x0000ff; //red 맥박
  6857. Obj_Chart.Series(2).Color = 0x00ff00; //green 호흡
  6858. Obj_Chart.Series(3).Color = 0xff0000; //blue 체온
  6859. Obj_Chart.Series(4).Color = 0x000000; //black 38선
  6860. //Obj_Chart.Series(5).Color = 0x000000; //black OP
  6861. Obj_Chart.Series(1).asLine.Pointer.Visible = true;
  6862. Obj_Chart.Series(1).asLine.Pointer.Style = 1;
  6863. Obj_Chart.Series(1).asLine.Pointer.VerticalSize = 2;
  6864. Obj_Chart.Series(1).asLine.Pointer.HorizontalSize = 2;
  6865. Obj_Chart.Series(2).asLine.Pointer.Visible = true;
  6866. Obj_Chart.Series(2).asLine.Pointer.Style = 2;
  6867. Obj_Chart.Series(2).asLine.Pointer.VerticalSize = 2;
  6868. Obj_Chart.Series(2).asLine.Pointer.HorizontalSize = 2;
  6869. Obj_Chart.Series(3).asLine.Pointer.Visible = true;
  6870. Obj_Chart.Series(3).asLine.Pointer.Style = 3;
  6871. Obj_Chart.Series(3).asLine.Pointer.VerticalSize = 2;
  6872. Obj_Chart.Series(3).asLine.Pointer.HorizontalSize = 2;
  6873. //depth 정하기
  6874. Obj_Chart.Series(1).Depth = 1;
  6875. Obj_Chart.Series(2).Depth = 2;
  6876. Obj_Chart.Series(3).Depth = 3;
  6877. Obj_Chart.Series(4).Depth = 4;
  6878. //Obj_Chart.Series(5).Depth = 5;
  6879. //Obj_Chart.Series(5).Depth = 5;
  6880. //Obj_Chart.Series(6).Depth = 6;
  6881. //38선 그리기
  6882. Obj_Chart.Series(4).AddXY (-5, 38.5, "", Obj_Chart.Series(4).Color );
  6883. Obj_Chart.Series(4).AddXY (70, 38.5, "", Obj_Chart.Series(4).Color );
  6884. //혈압 Candle 색설정
  6885. Obj_Chart.Series(0).asCandle.UpCloseColor = 0xffffff;
  6886. Obj_Chart.Series(0).asCandle.DownCloseColor = 0x0000ff;
  6887. //그래프 표시
  6888. //Header Info
  6889. var sChartAllDateList = new Array();
  6890. //Date Info
  6891. var sChartDate1List = new Array();
  6892. var sChartDate2List = new Array();
  6893. var sChartDate3List = new Array();
  6894. var sChartDate4List = new Array();
  6895. var sChartDate5List = new Array();
  6896. //Result Info
  6897. var sChartRslt1List = new Array();
  6898. var sChartRslt2List = new Array();
  6899. var sChartRslt3List = new Array();
  6900. var sChartRslt4List = new Array();
  6901. var sChartRslt5List = new Array();
  6902. var sRecData1 = "";
  6903. var sRecData2 = "";
  6904. var sRecData3 = "";
  6905. var sRecData4 = "";
  6906. var sRecData5 = "";
  6907. //instance 에서 그래프에 표기할 시간, 기록값 추출
  6908. for(var i =pSrow ; i <= pErow ; i++){
  6909. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "-" &&
  6910. model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/itemcd") == "-" ){
  6911. sChartAllDateList = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6912. }
  6913. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "1"){
  6914. sChartDate1List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6915. sChartRslt1List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recrsltlist").split("^");
  6916. }
  6917. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "2"){
  6918. sChartDate2List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6919. sChartRslt2List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recrsltlist").split("^");
  6920. }
  6921. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "3"){
  6922. sChartDate3List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6923. sChartRslt3List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recrsltlist").split("^");
  6924. }
  6925. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "4"){
  6926. sChartDate4List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6927. sChartRslt4List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recrsltlist").split("^");
  6928. }
  6929. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/leftaxis") == "5"){
  6930. sChartDate5List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdtlist").split("^");
  6931. sChartRslt5List = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recrsltlist").split("^");
  6932. }
  6933. }
  6934. for(var i = 0 ; i < sChartAllDateList.length ; i++){
  6935. sRecData1 = "";
  6936. sRecData2 = "";
  6937. sRecData3 = "";
  6938. sRecData4 = "";
  6939. sRecData5 = "";
  6940. if(sChartAllDateList[i].substr(3,2) == "00" || sChartAllDateList[i].substr(3,2) == "30"){
  6941. var sCoordinate = eval(sChartAllDateList[i].substr(0,2)) + eval(sChartAllDateList[i].substr(3,2) / 60) ;
  6942. //시간별 기록 데이터 추출
  6943. for(var list1 = 0 ; list1 < sChartDate1List.length ; list1++){
  6944. if(sChartAllDateList[i] == sChartDate1List[list1]){
  6945. sRecData1 = sChartRslt1List[list1];
  6946. }
  6947. }
  6948. for(var list2 = 0 ; list2 < sChartDate2List.length ; list2++){
  6949. if(sChartAllDateList[i] == sChartDate2List[list2]){
  6950. sRecData2 = sChartRslt2List[list2];
  6951. }
  6952. }
  6953. for(var list3 = 0 ; list3 < sChartDate3List.length ; list3++){
  6954. if(sChartAllDateList[i] == sChartDate3List[list3]){
  6955. sRecData3 = sChartRslt3List[list3];
  6956. }
  6957. }
  6958. for(var list4 = 0 ; list4 < sChartDate4List.length ; list4++){
  6959. if(sChartAllDateList[i] == sChartDate4List[list4]){
  6960. sRecData4 = sChartRslt4List[list4];
  6961. }
  6962. }
  6963. for(var list5 = 0 ; list5 < sChartDate5List.length ; list5++){
  6964. if(sChartAllDateList[i] == sChartDate5List[list5]){
  6965. sRecData5 = sChartRslt5List[list5];
  6966. }
  6967. }
  6968. //그래프에 데이터 입력
  6969. if(sRecData1 != "" && sRecData2 != "" && fIsNumber(sRecData1) == true && fIsNumber(sRecData2) == true){
  6970. Obj_Chart.Series(0).asCandle.AddCandle (eval(sCoordinate), eval(sRecData2), 0, 0, eval(sRecData1));
  6971. }
  6972. if(sRecData3 != "" && fIsNumber(sRecData3) == true){
  6973. Obj_Chart.Series(1).AddXY (eval(sCoordinate), eval(sRecData3), "", Obj_Chart.Series(1).Color);
  6974. }
  6975. if(sRecData4 != "" && fIsNumber(sRecData4) == true){
  6976. Obj_Chart.Series(2).AddXY (eval(sCoordinate), eval(sRecData4), "", Obj_Chart.Series(2).Color);
  6977. }
  6978. if(sRecData5 != "" && fIsNumber(sRecData5) == true){
  6979. Obj_Chart.Series(3).AddXY (eval(sCoordinate), eval(sRecData5), "", Obj_Chart.Series(3).Color);
  6980. }
  6981. }
  6982. }
  6983. //그래프 이미지 특정 폴더에 저장
  6984. var fso, fldr;
  6985. fladr = "C:/Program Files/himed/vitaltempimage";
  6986. fso = new ActiveXObject("Scripting.FileSystemObject");
  6987. if (fso.FolderExists(fladr)) {
  6988. //IMAGE FILE 설정( PARAM : File Name ; Gray ; Performance ; Quality ; Width ; Height )
  6989. //File 크기 조절 : Quality 및 Width, Height 설정(Width, Height 변경시 그래프 설정도 변경해야 함.)
  6990. Obj_Chart.Export.SaveToJPEGFile(fladr+"/tchart.jpeg", false, 0, 30, 1155, 300 );
  6991. //sChartNum++;
  6992. } else {
  6993. fldr = fso.CreateFolder(fladr);
  6994. Obj_Chart.Export.SaveToJPEGFile(fladr+"/tchart.jpeg", false, 0, 30, 1155, 300 );
  6995. //sChartNum++;
  6996. }
  6997. var file = fladr+"/tchart.jpeg";
  6998. //var f = fso.GetFile(file);
  6999. //fChangeImage(file);
  7000. var pos = file.lastIndexOf("\\");
  7001. var localFileName= file.substring(pos+1, file.length);
  7002. img_tmp.src = "";
  7003. img_tmp.src = file;
  7004. var ldata = img_tmp.getbase64data();
  7005. //var data = file.getbase64data();
  7006. var sImgDataRowCnt = eval(getNodesetCount("/root/send/imginfo")) + 1;
  7007. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/pid", sPid);
  7008. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/orddd", sIndd);
  7009. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/cretno", sCretNo);
  7010. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/recdd", sImageRecDD);
  7011. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/recflag", "A");
  7012. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imgrslt", ldata);
  7013. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imght", "1155");
  7014. model.makeValue("/root/send/imginfo["+sImgDataRowCnt+"]/imgwidt", "300");
  7015. setImageRefInstance("/root/send/imginfo["+sImgDataRowCnt+"]/imgrslt");
  7016. //getDomain()
  7017. }
  7018. /**
  7019. * @group :
  7020. * @ver : 2008.07.30
  7021. * @by : 양천덕
  7022. * @---------------------------------------------------
  7023. * @type : function
  7024. * @access : public
  7025. * @desc :
  7026. * @param : 기록일별 view img 정보 생성 및 저장
  7027. * @return :
  7028. * @---------------------------------------------------
  7029. */
  7030. function fMakeViewChartImg(){
  7031. model.removenodeSet("/root/send");
  7032. sImageRecDD = "";
  7033. var sSrow = "";
  7034. var sErow = "";
  7035. //sChartNum = 1;
  7036. for(var i = 1 ; i <= eval(getNodesetCount("/root/temp/clincobsrecinfo/rtnsigndata")) ; i++){
  7037. if(model.getValue("/root/temp/clincobsrecinfo/rtnsigndata[" +i+ "]/itemcd") == "-"){
  7038. if(sImageRecDD != ""){
  7039. sErow = i -1;
  7040. fMakeViewChart(sSrow, sErow);
  7041. sImageRecDD = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdd");
  7042. sSrow = "";
  7043. sErow = "";
  7044. sSrow = i;
  7045. }else{
  7046. sImageRecDD = model.getValue("/root/temp/clincobsrecinfo/rtnsigndata["+i+"]/recdd");
  7047. sSrow = i;
  7048. }
  7049. }
  7050. //데이터 생성 종료시 저장 함수 호출
  7051. if(i == getNodesetCount("/root/temp/clincobsrecinfo/rtnsigndata")){
  7052. sErow = i;
  7053. fMakeViewChart(sSrow, sErow);
  7054. sSrow = "";
  7055. sErow = "";
  7056. }
  7057. }
  7058. submit("TXMNR00905", false);
  7059. model.removenodeSet("/root/send");
  7060. }
  7061. /**
  7062. * @group :
  7063. * @ver : 2008.07.30
  7064. * @by : 양천덕
  7065. * @---------------------------------------------------
  7066. * @type : function
  7067. * @access : public
  7068. * @desc :
  7069. * @param : 화면 초기화 초기화
  7070. * @return :
  7071. * @---------------------------------------------------
  7072. */
  7073. function fTPRviewInit(){
  7074. if(getNodesetCount("/root/temp/cond/patientgrup") < 1){
  7075. return;
  7076. }
  7077. fInitTopInfo();
  7078. model.removenodeset(xHoursClincObsRecList);
  7079. model.removenodeset(xDaysClincObsRecList);
  7080. model.removenodeset(xStnddayClincObsRecListPath);
  7081. model.removenodeset(xFormerdayClincObsRecListPath);
  7082. model.removenodeSet(xClincObsRecListPath);
  7083. model.removenodeset(xFormerRecPath);
  7084. model.removenodeset(xDayCountListPath);
  7085. model.removenodeset(xFormerDayCountListPath);
  7086. model.removenodeset(xPamInfoPath);
  7087. model.removenodeset(xRecUserListPath);
  7088. model.removenodeset(sAttrListPath1);
  7089. model.removenodeset(xFormerAttrListPath1);
  7090. model.removenodeset(xFormerRecUserListPath);
  7091. model.removenodeset("/root/init/clsinfo");
  7092. model.removeNode("/root/temp/cond/patientgrup");
  7093. grd_24hoursclincobsreclist.caption = "";
  7094. grd_4daysclincobsreclist.caption = "";
  7095. grd_formersclincobsreclist.caption = "";
  7096. grd_stndclincobsreclist.caption = "";
  7097. cpt_vsinfo.value = "";
  7098. fMakeChart("init24hours");
  7099. fMakeChart("init4days");
  7100. if(getNodesetCount("/root/main/patinfo") > 0){
  7101. model.setValue("/root/main/patinfo/pid", "");
  7102. model.setValue("/root/main/patinfo/indd", "");
  7103. model.setValue("/root/main/patinfo/cretno", "");
  7104. model.setValue("/root/main/patinfo/ordtype", "");
  7105. model.setValue("/root/main/patinfo/indschacptstat", "");
  7106. model.setValue("/root/main/patinfo/dschdd", "");
  7107. model.setValue("/root/main/patinfo/eroutdd", "");
  7108. model.setValue("/root/main/patinfo/patnm", "");
  7109. model.setValue("/root/main/patinfo/sexage", "");
  7110. model.setValue("/root/main/patinfo/wardcd", "");
  7111. model.setValue("/root/main/patinfo/roomcd", "");
  7112. }
  7113. sPid == "";
  7114. sIndd == "";
  7115. sCretNo == "";
  7116. sInstcd == "";
  7117. sIOFlag == "";
  7118. sWardCD == "";
  7119. sRoomCD == "";
  7120. sIndschacptstat == "";
  7121. sDschdd == "";
  7122. sOrdDeptcd == "";
  7123. sMedispclid == "";
  7124. model.setValue(sCondPath+"/pid", "");
  7125. fChkTgtPatInfo("disable");
  7126. }
  7127. /**
  7128. * @group :
  7129. * @ver : 2007.05.15
  7130. * @by :
  7131. * @---------------------------------------------------
  7132. * @type : function
  7133. * @access : public
  7134. * @desc : 구분자로 분리된 특정자료를 Reading
  7135. * @param : pData : 원본데이터
  7136. * @param : pRow : 찾고자 하는 위치의 row
  7137. * @param : pCol : 찾고자 하는 위치의 column
  7138. * @return : 해당 row, column의 문자열
  7139. * @---------------------------------------------------
  7140. */
  7141. function getArrayDataTPR(pData, pRow, pCol){
  7142. var rowSep = "▩"; // row 구분자
  7143. var colSep = "▦"; // column 구분자
  7144. var arrRow = pData.split(rowSep);
  7145. if(arrRow.length <= pRow) return "";
  7146. var arrCol = arrRow[pRow].split(colSep);
  7147. if(arrCol.length <= pCol) return "";
  7148. return arrCol[pCol];
  7149. }
  7150. /**
  7151. * @group :
  7152. * @ver : 2008.11.18
  7153. * @by :
  7154. * @---------------------------------------------------
  7155. * @type : function
  7156. * @access : public
  7157. * @desc : 임상관찰기록 일별 전체 조회
  7158. * @param :
  7159. * @return :
  7160. * @---------------------------------------------------
  7161. */
  7162. function fSearchRecDataPopup(){
  7163. var sIndex = cmb_patlist.focusIndex + 1
  7164. var sParam_Header = "pid▦srchdd▩";
  7165. var sParam_Data = model.getValue(sCondPath+"/pid") + "▦"
  7166. + model.getValue(sCondPath+"/recdd") + "▩";
  7167. setParameter("SPMNR06300_Param",sParam_Header+sParam_Data);
  7168. modal("SPMNR06300");
  7169. }