SMMRI00410.xjs 283 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : DBS
  4. * Job Name :
  5. * File Name : SMMRI03000.xjs
  6. * Creator :
  7. * Make Date : 2014-09-
  8. *
  9. * Description :
  10. *---------------------------------------------------------------------------------------
  11. * Modify Date Modifier Modify Description
  12. *---------------------------------------------------------------------------------------
  13. * 2014-09- DBS Converting Program(TF->XP)
  14. *
  15. *---------------------------------------------------------------------------------------
  16. ****************************************************************************************/
  17. /*
  18. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  19. 통합기록조회 ( SMMRI03000_통합기록조회2.xrw - JScript )
  20. - Version :
  21. 1) : Ver.1.00.01
  22. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  23. */
  24. var arrbtn = new Array("btn_all", "btn_prog", "btn_op", "btn_test", "btn_prcp", "btn_nurc", "btn_etc", "btn_img");
  25. var grdObj = "";
  26. // var ref = "/root/main/recsrch/reclist";
  27. // var stRef = "/root/tmp/reclist";
  28. var paramdefault = "";
  29. var isFirst = "Y";
  30. var gImgFile = "";
  31. var oprnerId = "";
  32. var srchorgcnt = 0;
  33. var srchcnt = 0;
  34. var srchendyn = "N";
  35. var privatetxt = "";
  36. var gtmptreatno = "";
  37. var gtmpiformcd = "";
  38. var gemrpath = "";
  39. var gemrorddate = "";
  40. var gemrformnm = "";
  41. var gemrformcd = "";
  42. var gemrdeptnm = "";
  43. var gemrdeptcd = "";
  44. var gemrpage = "";
  45. var gemrhiddenmsg = "";
  46. var multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  47. var nodeposcnt = 0; // 1->0
  48. var prevflag = "N";
  49. var gv_ImgeSavePath = "C:\\BCP_OCR_Image\\";
  50. var lgv_Foldernm = system.convertRealPath("%MYDOCUMENT%") + "\KU20\\Certrec" + sysf_getUserInfo("dutplceinstcd");
  51. var gFlag = ""; // lf_switchTab, keypress, button3 함수 수행여부
  52. var gSMMRI08000 = false;
  53. /**
  54. * @desc : 화면초기화
  55. * @id :
  56. * @event : xforms-ready
  57. * @return : void
  58. * @authur : 박종훈(튜닝)
  59. */
  60. function fInitalize()
  61. {
  62. //grdf_setToolTipBind(grup_left.switch1.grd.grd_pathist);
  63. // 화면 최소화 상태에서 rdo_lindx(cp_radiolist) 초기화 시 화면 설정 이상
  64. if( parent.openstatus != "normal" ){
  65. parent.openstatus = "normal";
  66. }
  67. var chkPidRtn = "";
  68. var userid = sysf_getUserInfo("userid");
  69. var openerid = "";
  70. if( frmf_checkOpener() )
  71. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  72. grdf_initGrid(grup_left.switch1.rec.grd_reclist);
  73. /*
  74. fGetUserEnvOcsOrdAnsw -> ds_envinfo 로 사용
  75. ds_envinit_wheel 017
  76. ds_envinit_option 020
  77. ds_envinit_defdept 021
  78. ds_envinit_tab 022
  79. ds_envinit_viewmode 023
  80. ds_envinit_paging 036
  81. ds_envinit_titledeluseyn 044
  82. ds_envinit_titledelyn 040
  83. */
  84. ds_envinfo.copyData(emr_getOrderBaseInfo("envinfo"));
  85. //2012/12/04 Start 비뇨기과, 정신과, 산부인과, 알레르기 감염내과 사유입력 skip여부 체크
  86. //lf_getHardCDList("N", 5585, null, ds_resnchk);
  87. //lf_getHardCDList("N", 5628, null, ds_recformuseyn); // 통합기록 기록지별 조회 사용여부
  88. // 2014.04.21 통합기록 COPY 버튼 사용여부--------------------------------------------------------------
  89. //lf_getHardCDList("N", 5635, null, ds_copybtnchk);
  90. //20140820 이윤주수정
  91. lf_getHardCDList("N", 5976, null, ds_fstsrcformcd); //최초작성일자 보이는 기록지
  92. lf_getHardCDList("N", 5977, null, ds_icdrsrcformcd); //헤더정보를 기록시점의 icdr를 읽어서 표시
  93. var jobkind = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd")).substring(0, 2);
  94. if( jobkind == "03" && lf_getHardCDList("Y", 5635, 3, null) == "Y" && openerid == "SMARC02500" ){
  95. btn_txtcopy.visible = true;
  96. }else{
  97. btn_txtcopy.visible = false;
  98. }
  99. //---------------------------------------------------------------------------------------------------------------
  100. var recdate = utlf_getCurrentDate().toDate("YYYYMMDD");
  101. var dutplcecd = sysf_getUserInfo("dutplcecd");
  102. ds_init_recformdata.setColumn(0, "fromdd", recdate.getAddDate(-6, "M").getDateFormat("YYYYMMDD"));
  103. ds_init_recformdata.setColumn(0, "todd", utlf_getCurrentDate());
  104. // 심사, 의무기록만 일단 OPEN 2014.02.19
  105. if( lf_getHardCDList("Y", 5628, 3, null) == "Y" && ( dutplcecd == "4070700000" || dutplcecd == "4072000000" || dutplcecd == "3230000000" || dutplcecd == "2240400000") ){
  106. grup_left.rdo_option.visible = false;
  107. grup_left.rdo_option1.visible = true;
  108. grup_left.chk_histstat.visible = true;
  109. }else{
  110. grup_left.rdo_option.visible = true;
  111. grup_left.rdo_option1.visible = false;
  112. grup_left.chk_histstat.visible = false;
  113. }
  114. //2012/12/04 End
  115. //20100406-kys-careplan, 환자교육 화면연동버튼추가
  116. if(sysf_getUserInfo("dutplceinstcd") == "012"){
  117. grup_left.btn_careplan.visible = true;
  118. grup_left.btn_patedu.visible = true;
  119. }else{
  120. grup_left.btn_careplan.visible = false;
  121. grup_left.btn_patedu.visible = false;
  122. }
  123. //2009-10-27 오후 4:37:13 강지훈 추가 : 북마크 사용여부를 기관별로 관리한다.
  124. //lf_getHardCDList("N", 9909, null, ds_bmkuseyn);
  125. //var bmkuseyn = ds_bmkuseyn.getColumn(0, "hardcd");
  126. if (lf_getHardCDList("Y", 9909, 3, null) == "Y")
  127. {
  128. btn_setbmk.visible = true;
  129. grup_left.btn_mark.visible = true;
  130. }
  131. else{
  132. btn_setbmk.visible = false;
  133. grup_left.btn_mark.visible = false;
  134. }
  135. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  136. var sJobkind = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd")).substring(0, 2);
  137. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  138. //lf_getHardCDList("N", 9920, null, "ds_prntuseyn");
  139. lf_getHardCDList("N", 9921, null, ds_prntdept);
  140. lf_getHardCDList("N", 9929, null, ds_prntuserid);
  141. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  142. lf_getHardCDList("N", 5501, null, ds_dutplcecd);
  143. // KNUH_20101207_박성호_end
  144. //var prntuseyn = ds_prntuseyn.getColumn(0, "hardcd");
  145. if (lf_getHardCDList("Y", 9920, 3, null) == "Y")
  146. {
  147. if( !utlf_isNull(ds_prntdept.lookup("hardcd", sUserDeptcd, "hardcd")) ){
  148. btn_prnt.visible = true;
  149. txt_private.visible = true;
  150. }
  151. else{
  152. btn_prnt.visible = false;
  153. txt_private.visible = false;
  154. }
  155. if( !utlf_isNull(ds_prntuserid.lookup("hardcd", sysf_getUserInfo("userid"), "hardcd")) ){
  156. btn_prnt.visible = true;
  157. txt_private.visible = true;
  158. }
  159. }
  160. else{
  161. btn_prnt.visible = true;
  162. txt_private.visible = true;
  163. }
  164. // KNUH_20101207_박성호_start_의무기록 부서코드 가져오기
  165. //if(sJobkind == "03" || sUserDeptcd == "3230000000")
  166. if(sJobkind == "03" || !utlf_isNull(ds_dutplcecd.lookup("hardcd", sUserDeptcd, "hardcd")))
  167. // KNUH_20101207_박성호_end
  168. {
  169. btn_copyprt.visible = true;
  170. }
  171. ds_init_env.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  172. //20130107 이윤주추가(병원크로스 라디오버튼)
  173. rdo_instcd.visible = false;
  174. var jobkindcd = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd"));
  175. var dutplcecd = sysf_getUserInfo("dutplcecd");
  176. //열람신청화면에서 분기하지 않을때(20130107)
  177. if (openerid != "SMMRI08000") {
  178. if (jobkindcd.substr(0,2) == "03") {
  179. if (jobkindcd != "1800" && jobkindcd != "1799"){
  180. rdo_instcd.visible = true;
  181. }
  182. }
  183. else{
  184. if (dutplcecd == "4072000000" || dutplcecd == "4070700000") {
  185. rdo_instcd.visible = true;
  186. }
  187. }
  188. // 특정사용자(EMR001)도 가능토록
  189. lf_getHardCDList("N", 5611, null, ds_crossusr);
  190. var userid = sysf_getUserInfo("userid");
  191. var crossusrCnt = ds_crossusr.getCaseCount("hardcd=='"+ userid +"'"); //Cross 조회 가능자
  192. if (crossusrCnt > 0) {
  193. rdo_instcd.visible = true;
  194. }
  195. }
  196. //이윤주 수정(20151221)
  197. if (sysf_getUserInfo("dutplceinstcd") == "033") {
  198. rdo_instcd.visible = false;
  199. }
  200. //개인정보 보호 체크박스 disable
  201. if (openerid == "SMMRI08000") {
  202. // 개인정보보호 check를 위한 정보 2013.07.09 CYW
  203. lf_getHardCDList("N", 5565, null, ds_prntuser);
  204. lf_getHardCDList("N", 5591, null, ds_indx);
  205. var cnt = ds_prntuser.rowcount;
  206. for( var i = 0 ; i < cnt ; i++){
  207. if( userid == ds_prntuser.getColumn(i, "hardcd") ){
  208. ds_init_privatetxt.setColumn(0, "privatetxt", ds_prntuser.getColumn(i, "hardcdnm"));
  209. }
  210. }
  211. frmf_setParameter("SMMRI03000_privateflag", ds_init_privatetxt.getColumn(0, "privatetxt") );
  212. privatetxt = ds_init_privatetxt.getColumn(0, "privatetxt");
  213. if( "1" == ds_init_privatetxt.getColumn(0, "privatetxt") ){
  214. txt_private.visible = false;
  215. }
  216. if( "2" == ds_init_privatetxt.getColumn(0, "privatetxt") || "3" == ds_init_privatetxt.getColumn(0, "privatetxt") ){
  217. txt_private.text = "【 개인정보보호출력 】";
  218. }
  219. }
  220. if (frmf_isPopup() && frmf_checkOpener())
  221. {
  222. var parampid = opener.frmf_getParameter("SMMRI00400_param_pid");
  223. var paramchosflag = opener.frmf_getParameter("SMMRI00400_param_chosflag");
  224. var authflag = opener.frmf_getParameter("SMMRI00400_param_authflag");
  225. if (authflag == "N")
  226. {
  227. grup_left.roundrect2.ipt_pid.enable = false;
  228. grup_left.roundrect2.ipt_hngnm.enable = false;
  229. grup_left.roundrect2.btn_search.enable = false;
  230. grup_left.roundrect2.ipt_rrgstno1.enable = false;
  231. grup_left.roundrect2.ipt_rrgstno2.enable = false;
  232. button14.enable = false;
  233. btn_prnt.enable = false;
  234. }
  235. else
  236. {
  237. grup_left.roundrect2.ipt_pid.enable = true;
  238. grup_left.roundrect2.ipt_hngnm.enable = true;
  239. grup_left.roundrect2.btn_search.enable = true;
  240. grup_left.roundrect2.ipt_rrgstno1.enable = true;
  241. grup_left.roundrect2.ipt_rrgstno2.enable = true;
  242. button14.enable = true;
  243. btn_prnt.enable = true;
  244. }
  245. }
  246. //2010-02-17 오전 10:08:30 이환석 추가 : 통합기록조회가 열릴 때 제외 부서 이외 Keyin 제한.
  247. //lf_getHardCDList("N", 9923, null, "ds_keyuseyn");
  248. lf_getHardCDList("N", 9924, null, ds_keydept);
  249. //2010-02-22 성규훈 추가 : 통합기록조회시 제외 직종 이외 keyin 제한
  250. lf_getHardCDList("N", 9927, null, ds_keyjob);
  251. //2010-03-06 성규훈 추가 : 통합기록조회시 제외 직책 이외 keyin 제한
  252. lf_getHardCDList("N", 9929, null, ds_keypos);
  253. //var keyuseyn = ds_keyuseyn.getColumn(0, "hardcd");
  254. var sJobkindkey = utlf_transNullToEmpty(sysf_getUserInfo("jobkindcd")).substring(1, 4);
  255. var sJobposkey = sysf_getUserInfo("jobposcd");
  256. if(lf_getHardCDList("Y", 9923, 3, null) == "Y") {
  257. if(!utlf_isNull(ds_keydept.lookup("hardcd", sUserDeptcd, "hardcd")) || ( !utlf_isNull(ds_keyjob.lookup("hardcd", sJobkindkey, "hardcd")) && !utlf_isNull(ds_keypos.lookup("hardcd", sJobposkey, "hardcd")) )){
  258. grup_left.roundrect2.ipt_pid.enable = true;
  259. grup_left.roundrect2.ipt_hngnm.enable = true;
  260. grup_left.roundrect2.btn_search.enable = true;
  261. grup_left.roundrect2.ipt_rrgstno1.enable = true;
  262. grup_left.roundrect2.ipt_rrgstno2.enable = true;
  263. grup_left.roundrect2.cmb_dept.enable = true;
  264. } else {
  265. grup_left.roundrect2.ipt_pid.enable = false;
  266. grup_left.roundrect2.ipt_hngnm.enable = false;
  267. grup_left.roundrect2.btn_search.enable = false;
  268. grup_left.roundrect2.ipt_rrgstno1.enable = false;
  269. grup_left.roundrect2.ipt_rrgstno2.enable = false;
  270. grup_left.roundrect2.cmb_dept.enable = false;
  271. }
  272. } else {
  273. grup_left.roundrect2.ipt_pid.enable = true;
  274. grup_left.roundrect2.ipt_hngnm.enable = true;
  275. grup_left.roundrect2.btn_search.enable = true;
  276. grup_left.roundrect2.ipt_rrgstno1.enable = true;
  277. grup_left.roundrect2.ipt_rrgstno2.enable = true;
  278. grup_left.roundrect2.cmb_dept.enable = true;
  279. }
  280. if(utlf_isNull(parampid))
  281. {
  282. var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  283. var pid = "";
  284. if(!utlf_isNull(pamInfoCvs))
  285. { //cvs가 null이 아닌 경우에만 처리함.
  286. ds_main_result_paminfo.clearData();
  287. dsf_setCSVToDs("ds_main_result_paminfo", pamInfoCvs);
  288. pid = ds_main_result_paminfo.getColumn(0, "pid");
  289. ordtype = ds_main_result_paminfo.getColumn(0, "ioflag");
  290. if ( !utlf_isNull ( pid ) )
  291. {
  292. if(oprnerId == "SPMRC03200")
  293. {
  294. opener.fGetCopyCmpPid(pid);
  295. }
  296. //pid가 넘어올경우 emrbrowser가 떠 있으면 emrbrowser로 pid를 넘기고 (구)통합기록조회는 새로 조회 안함
  297. var emrobj = frmf_findPopup("SMMRB00101");
  298. if(emrobj == null){
  299. grup_left.roundrect2.ipt_pid.value = pid;
  300. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  301. }else{
  302. try{
  303. frmf_setParameter("SMMRB00101_param_pid" , pid);
  304. emrobj.fChangeOpenerPid();
  305. frmf_setFocusPop("SMMRB00101");
  306. //통합기록조회 초기화
  307. grup_right.iviewerIemr.cleanViewer();
  308. ds_patinfolist.clearData();
  309. ds_grd_pathist.clearData();
  310. ds_grd_midindx.clearData();
  311. ds_treeview.clearData();
  312. ds_source.clearData();
  313. //ds_send.clearData();
  314. }catch(e){ sysf_catchTrace(e); }
  315. }
  316. }
  317. }
  318. }
  319. else
  320. {
  321. //pid가 넘어올경우 emrbrowser가 떠 있으면 emrbrowser로 pid를 넘기고 (구)통합기록조회는 새로 조회 안함
  322. var emrobj = frmf_findPopup("SMMRB00101");
  323. if(emrobj == null){
  324. grup_left.roundrect2.ipt_pid.value = parampid;
  325. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  326. }
  327. else{
  328. try{
  329. frmf_setParameter("SMMRB00101_param_pid" , parampid);
  330. emrobj.fChangeOpenerPid();
  331. frmf_setFocusPop("SMMRB00101");
  332. //통합기록조회 초기화
  333. grup_right.iviewerIemr.cleanViewer();
  334. ds_patinfolist.clearData();
  335. ds_grd_pathist.clearData();
  336. ds_grd_midindx.clearData();
  337. ds_treeview.clearData();
  338. ds_source.clearData();
  339. //model.removeNode("/root/send");
  340. }catch(e){
  341. sysf_catchTrace(e);
  342. }
  343. }
  344. }
  345. ds_init_etc.setColumn(0, "ioflag", "ALL");
  346. dsf_createDsRow("ds_reqTRMRI03006", [{col: "trgtno", type:"int", size:256, val:1100}
  347. , {col: "exno", type:"int", size:256, val:1110}
  348. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}
  349. ]);
  350. var oParam = {};
  351. oParam.id = "TRMRI03006";
  352. oParam.service = "recmngtapp.IntegrityRec";
  353. oParam.method = "reqGetPopUpDept";
  354. oParam.inds = "req=ds_reqTRMRI03006";
  355. oParam.outds = "ds_trgtdept=trgtdept ds_exdept=exdept";
  356. oParam.async = false;
  357. //oParam.callback = "cf_TRMRI03006"
  358. tranf_submit(oParam);
  359. //2009-11-17 오후 5:48:29 강지훈 수정 : 휠스크롤 메세지박스 사용여부 개인별 환경설정으로 관리
  360. //fGetUserEnvOcsOrdAnsw(ds_envinit_wheel, "017");
  361. ds_tmp.setColumn(0, "wheelmsg", ds_envinfo.lookup("qestcd", "017", "answvalnm"));
  362. //2009-10-20 오후 2:01:30 강지훈 수정
  363. grup_left.switch1.tabindex = 0;
  364. //2010-02-17 오후 4:37:13 박종훈 추가 : 사용자 환경설정을 사용하여 조회조건 셋팅.
  365. // fGetUserEnvOcsOrdAnsw(ds_envinit_option, "020");
  366. // fGetUserEnvOcsOrdAnsw(ds_envinit_defdept, "021");
  367. // fGetUserEnvOcsOrdAnsw(ds_envinit_tab, "022");
  368. // fGetUserEnvOcsOrdAnsw(ds_envinit_viewmode, "023");
  369. //기간검색 유무
  370. // fGetUserEnvOcsOrdAnsw(ds_envinit_paging, "036");
  371. // 통합기록조회 조회조건(타이틀제거 컨트롤 사용여부) 2013.09.06 CYW
  372. //fGetUserEnvOcsOrdAnsw(ds_envinit_titledeluseyn, "044");
  373. if(ds_envinfo.lookup("qestcd", "044", "answcnt") == "002"){ // 컨트롤사용
  374. bool_viewflag.visible = true;
  375. // 통합기록조회 조회조건(타이틀제거 여부) 2013.08.23 CYW
  376. // fGetUserEnvOcsOrdAnsw(ds_envinit_titledelyn, "040");
  377. if(ds_envinfo.lookup("qestcd", "040", "answcnt") == "001"){ // 타이틀보기
  378. bool_viewflag.value = false;
  379. }else{
  380. bool_viewflag.value = true;
  381. }
  382. }else{
  383. bool_viewflag.visible = false;
  384. bool_viewflag.value= false;
  385. }
  386. /*
  387. * 2010.08.24, 주희경 의무기록열람 승인 관련 링크로 기록조회 시 진료과로 조회되고
  388. * 조회 조건을 변경하여 재조회 할 수 없도록 disable 처리
  389. */
  390. if( frmf_checkOpener() ){
  391. var openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  392. if ( openerid == "SMMRI08000") //의무기록열람신청및조회
  393. {
  394. frmf_setParameter("SMMRI08000_breakyn", "true");
  395. var pid = opener.frmf_getParameter("SMMRI00400_param_pid");
  396. //열람신청번호 연결 이윤주 수정(20120127)
  397. var appno = opener.frmf_getParameter("SMMRI00400_param_appno");
  398. var histno = opener.frmf_getParameter("SMMRI00400_param_histno");
  399. dsf_createDsRow("ds_init_view", [{col: "appno", type:"string", size:256, val:appno}
  400. , {col: "histno", type:"string", size:256, val:histno}]);
  401. //진료과별로 조회되도록 셋팅
  402. //ds_envinit_option.setColumn(0, "answcnt", "002");
  403. var fRow = ds_envinfo.findRowExpr("qestcd == '020'");
  404. ds_envinfo.setColumn(fRow, "answcnt", "002");
  405. //조회조건을 변경하여 재조회 하지 못하도록 disable
  406. grup_left.roundrect2.ipt_pid.enable = false; //등록번호
  407. grup_left.roundrect2.ipt_hngnm.enable = false; //성명
  408. grup_left.roundrect2.btn_search.enable = false; //성명 조회버튼
  409. grup_left.roundrect2.ipt_rrgstno1.enable = false; //주민번호1
  410. grup_left.roundrect2.ipt_rrgstno2.enable = false; //주민번호2
  411. grup_left.roundrect2.button5.enable = false; //주민번호 옆 검색 버튼
  412. grup_left.roundrect2.button3.enable = false; //조회버튼
  413. grup_left.rdo_option.enable = false; //수진이력별, 진료과별 라디오 버튼
  414. grup_left.rdo_option1.enable = false; //수진이력별, 진료과별 라디오 버튼
  415. btn_prnt.visible = false; //출력버튼 숨김
  416. btn_copyprt.visible = false; //사본신청버튼 숨김
  417. button14.visible = false; //조회이력버튼 숨김
  418. btn_unprep.visible = false; //미비확인버튼 숨김
  419. txt_private.visible = true;
  420. btn_setbmk.position.left = 1175; //북마크등록 버튼 위치 옮김
  421. }
  422. //////////////////////
  423. }
  424. var option = ds_envinfo.lookup("qestcd", "020", "answcnt");
  425. if (utlf_isNull(option)) {
  426. option = "001";
  427. }
  428. var viewmode = ds_envinfo.lookup("qestcd", "023", "answcnt");
  429. if (utlf_isNull(viewmode)) {
  430. viewmode = "002";
  431. }
  432. switch(viewmode)
  433. {
  434. case "001" :
  435. grup_right.iviewerIemr.setupChart("TV");
  436. break;
  437. case "002" :
  438. grup_right.iviewerIemr.setupChart("CV");
  439. break;
  440. case "003" :
  441. grup_right.iviewerIemr.setupChart("PV");
  442. break;
  443. }
  444. var tab = ds_envinfo.lookup("qestcd", "022", "answcnt");
  445. if (utlf_isNull(tab)) {
  446. tab = "001";
  447. }
  448. //2014/04/18 환경변수에서 페이징 여부 주석처리 이정택
  449. ds_init_etc.setColumn(0, "pagingyn", "");
  450. ds_init_etc.setColumn(0, "sortkind", "A");
  451. //2014/04/18 환경변수에서 페이징 여부 주석처리 이정택
  452. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  453. switch(option)
  454. {
  455. case "001" :
  456. ds_init_env.setColumn(0, "option", "H");
  457. grup_left.roundrect2.cmb_dept.enable = true;
  458. fSetGridSize("one");
  459. break;
  460. case "002" :
  461. ds_init_env.setColumn(0, "option", "D");
  462. grup_left.roundrect2.cmb_dept.enable = false;
  463. fSetGridSize("two");
  464. break;
  465. case "003" :
  466. ds_init_env.setColumn(0, "option", "F");
  467. grup_left.roundrect2.cmb_dept.enable = true;
  468. break;
  469. }
  470. if ( openerid == "SMMRI08000")
  471. {
  472. gSMMRI08000 = true;
  473. }
  474. if (chkPidRtn)
  475. {
  476. if (option == "001")
  477. {
  478. fGetPatOrddept("INIT");
  479. }
  480. if (option == "002")
  481. {
  482. lf_switchTab();
  483. fGetPatOrddept();
  484. }
  485. }
  486. /* xp code add */
  487. else{
  488. lf_setSelectStatus(grup_left.btn_all);
  489. }
  490. /*
  491. * 2010.08.26, 주희경 의무기록열람 승인 관련 링크로 기록조회 시 승인된 진료과만 열람 하도록 hidden 처리
  492. */
  493. /* fGetPatOrddept() 안으로 이동
  494. if ( openerid == "SMMRI08000")
  495. {
  496. frmf_setParameter("SMMRI08000_breakyn", "false");
  497. var orddeptengabbr = opener.frmf_getParameter("SMMRI00400_param_orddeptengabbr");
  498. var arrOrddeptengabbr = orddeptengabbr.split(",");
  499. var filterstr;
  500. for(i=0; i<arrOrddeptengabbr.length; i++)
  501. {
  502. if( utlf_isNull(arrOrddeptengabbr[i]) ) continue;
  503. if( i == 0) filterstr = "deptengabbr == '" + arrOrddeptengabbr[i] +"'";
  504. else filterstr = filterstr + " || deptengabbr == '" + arrOrddeptengabbr[i] +"'";
  505. }
  506. ds_init_cmb_dept.filterstr = filterstr;
  507. //grup_left.switch1.grd.datagrid3.setFocus();
  508. ds_init_cmb_dept.rowposition = 0;
  509. // datagrid3.row = firstrow;
  510. // datagrid3.col = datagrid3.colRef("deptengabbr");
  511. fDbclickDept();
  512. }
  513. */
  514. }
  515. function lf_switchTab(){
  516. //sysf_trace("***** lf_switchTab *****");
  517. var option = ds_envinfo.lookup("qestcd", "020", "answcnt");
  518. if (utlf_isNull(option)) {
  519. option = "001";
  520. }
  521. var tab = ds_envinfo.lookup("qestcd", "022", "answcnt");
  522. if (utlf_isNull(tab)) {
  523. tab = "001";
  524. }
  525. var e = new ClickEventInfo();
  526. switch(tab)
  527. {
  528. case "001" :
  529. lf_setSelectStatus(grup_left.btn_all);
  530. if (option == "001")
  531. {
  532. grup_left.caption2.text = "수진이력";
  533. grup_left.roundrect2.cmb_dept.enable = true;
  534. fSetGridSize("one");
  535. //btn_all.dispatch("DOMActivate");
  536. grup_left.btn_all.onclick.fireEvent(grup_left.btn_all, e);
  537. }
  538. else
  539. {
  540. grup_left.caption2.text = "진료과";
  541. grup_left.roundrect2.cmb_dept.enable = false;
  542. fSetGridSize("two");
  543. ds_init_etc.setColumn(0, "ioflag", "ALL");
  544. }
  545. break;
  546. case "002" :
  547. lf_setSelectStatus(grup_left.btn_out);
  548. if (option == "001")
  549. {
  550. grup_left.caption2.text = "수진이력";
  551. grup_left.roundrect2.cmb_dept.enable = true;
  552. fSetGridSize("one");
  553. //btn_out.dispatch("DOMActivate");
  554. grup_left.btn_out.onclick.fireEvent(grup_left.btn_out, e);
  555. }
  556. else
  557. {
  558. grup_left.caption2.text = "진료과";
  559. grup_left.roundrect2.cmb_dept.enable = false;
  560. fSetGridSize("two");
  561. ds_init_etc.setColumn(0, "ioflag", "O");
  562. }
  563. break;
  564. case "003" :
  565. lf_setSelectStatus(grup_left.btn_in);
  566. if (option == "001")
  567. {
  568. grup_left.caption2.text = "수진이력";
  569. grup_left.roundrect2.cmb_dept.enable = true;
  570. fSetGridSize("one");
  571. //btn_in.dispatch("DOMActivate");
  572. grup_left.btn_in.onclick.fireEvent(grup_left.btn_in, e);
  573. }
  574. else
  575. {
  576. grup_left.caption2.text = "진료과";
  577. grup_left.roundrect2.cmb_dept.enable = false;
  578. fSetGridSize("two");
  579. ds_init_etc.setColumn(0, "ioflag", "I");
  580. }
  581. break;
  582. case "004" :
  583. lf_setSelectStatus(grup_left.btn_er);
  584. if (option == "001")
  585. {
  586. grup_left.caption2.text = "수진이력";
  587. grup_left.roundrect2.cmb_dept.enable = true;
  588. fSetGridSize("one");
  589. //btn_er.dispatch("DOMActivate");
  590. grup_left.btn_er.onclick.fireEvent(grup_left.btn_er, e);
  591. }
  592. else
  593. {
  594. grup_left.caption2.text = "진료과";
  595. grup_left.roundrect2.cmb_dept.enable = false;
  596. fSetGridSize("two");
  597. ds_init_etc.setColumn(0, "ioflag", "E");
  598. }
  599. break;
  600. case "005" :
  601. lf_setSelectStatus(grup_left.btn_mark);
  602. //btn_mark.dispatch("DOMActivate");
  603. grup_left.btn_mark.onclick.fireEvent(grup_left.btn_mark, e);
  604. break;
  605. default:
  606. lf_setSelectStatus(grup_left.btn_all);
  607. if (option == "001")
  608. {
  609. grup_left.caption2.text = "수진이력";
  610. grup_left.roundrect2.cmb_dept.enable = true;
  611. fSetGridSize("one");
  612. //btn_all.dispatch("DOMActivate");
  613. grup_left.btn_all.onclick.fireEvent(grup_left.btn_all, e);
  614. }
  615. else
  616. {
  617. grup_left.caption2.text = "진료과";
  618. grup_left.roundrect2.cmb_dept.enable = false;
  619. fSetGridSize("two");
  620. ds_init_etc.setColumn(0, "ioflag", "ALL");
  621. }
  622. break;
  623. }
  624. }
  625. /**
  626. * @desc : 옵션에 따른 그리드 사이즈 조절
  627. * @id :
  628. * @event : DOMActivate
  629. * @return : void
  630. * @authur : 박종훈
  631. */
  632. function fSetGridSize(parm)
  633. {
  634. if (parm == "one")
  635. {
  636. grup_left.switch1.grd.datagrid3.position.width = 0;
  637. grup_left.switch1.grd.grd_pathist.position.left = 0;
  638. grup_left.switch1.grd.grd_pathist.position.width = 338;
  639. }
  640. else
  641. {
  642. grup_left.switch1.grd.datagrid3.position.width = 94;
  643. grup_left.switch1.grd.grd_pathist.position.left = 93;
  644. grup_left.switch1.grd.grd_pathist.position.width = 245;
  645. }
  646. }
  647. /**
  648. * @desc : 환자 수진부서 조회
  649. * @id :
  650. * @event : DOMActivate
  651. * @return : void
  652. * @authur : 박종훈
  653. */
  654. function fGetPatOrddept(flag)
  655. {
  656. // PID 변경후 조회 클릭시 환자명 안바뀌는 오류 수정. 환자조회 해주기. 2013.06.26
  657. if( chkflag == "true" ){
  658. fPidKeyPress();
  659. chkflag = "false";
  660. }
  661. //2010.03.25 박종훈 추가
  662. if( utlf_isNull(ds_patinfolist.getColumn(0, "pid")) && utlf_isNull(ds_patinfolist.getColumn(0, "hngnm")) )
  663. {
  664. sysf_messageBox("선택된 환자가", "I004");
  665. return;
  666. }
  667. if( !utlf_isNull(flag) ){
  668. gFlag = flag;
  669. }
  670. //dsf_deleteDs("ds_send");
  671. ds_init_cmb_dept.clearData();
  672. rdo_lindx.setCallEvent("");
  673. ds_init_rdo_lindx.clearData();
  674. var objColInfo = new Array();
  675. dsf_createDsRow("ds_send", [{col: "pid", type:"string", size:256, val:ds_patinfolist.getColumn(0, "pid")}
  676. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}]);
  677. var oParam = {};
  678. oParam.id = "TRMRI03001";
  679. oParam.service = "recmngtapp.IntegrityRec";
  680. oParam.method = "reqGetIndxAndDeptList";
  681. oParam.inds = "req=ds_send";
  682. oParam.outds = "ds_init_cmb_dept=dplist ds_init_rdo_lindx=lrgIndx";
  683. oParam.async = true;
  684. oParam.callback = "cf_TRMRI03001";
  685. tranf_submit(oParam);
  686. }
  687. function cf_TRMRI03001(sSvcId, nErrorCode, sErrorMsg){
  688. if(nErrorCode > -1) {
  689. //sysf_trace("***** cf_TRMRI03001 *****");
  690. // color change check column
  691. ds_init_cmb_dept.addColumn("bgchk", "string");
  692. frmf_addComboItem("grup_left.roundrect2.cmb_dept", "전체", "ALL");
  693. //frmf_addComboItem("rdo_lindx", "전체", "ALL");
  694. var nRow = ds_init_rdo_lindx.insertRow(0);
  695. ds_init_rdo_lindx.setColumn(nRow, "itemindxseq", "ALL");
  696. ds_init_rdo_lindx.setColumn(nRow, "indxnm", "전체");
  697. ds_init_cmb_dept.setColumn(0, "deptengabbr", "전체");
  698. ds_init_etc.setColumn(0, "tabflag", "ALL");
  699. rdo_lindx.visible = false;
  700. rdo_lindx.setBindDataset(ds_init_rdo_lindx, "itemindxseq", "indxnm");
  701. rdo_lindx.setData("ALL");
  702. rdo_lindx.setCallEvent("fn_rdo_lindxEvent");
  703. rdo_lindx.visible = true;
  704. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  705. var defdept = ds_envinfo.lookup("qestcd", "021", "answcnt");
  706. if (defdept == "")
  707. defdept = "002";
  708. //해당과, 전체과 환경설정
  709. if (defdept == "002")
  710. {
  711. ds_init_etc.setColumn(0, "orddept", "ALL");
  712. ds_init_cmb_dept.rowposition = 0;
  713. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  714. }
  715. else if (defdept == "001")
  716. {
  717. var itrgtNodeCnt = ds_init_cmb_dept.getCaseCount("deptcd == '"+ sUserDeptcd +"'");
  718. if (itrgtNodeCnt > 0){
  719. ds_init_etc.setColumn(0, "orddept", sUserDeptcd);
  720. var row = ds_init_cmb_dept.findRowAs("deptcd", sUserDeptcd);
  721. ds_init_cmb_dept.rowposition = row;
  722. ds_init_cmb_dept.setColumn(row, "bgchk", "true");
  723. }else{
  724. ds_init_etc.setColumn(0, "orddept", "ALL");
  725. ds_init_cmb_dept.rowposition = 0;
  726. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  727. }
  728. }
  729. else
  730. {
  731. ds_init_etc.setColumn(0, "orddept", "ALL");
  732. ds_init_cmb_dept.rowposition = 0;
  733. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  734. }
  735. var option = ds_envinfo.lookup("qestcd", "020", "answcnt");
  736. if (option == "")
  737. option = "001";
  738. var tab = ds_envinfo.lookup("qestcd", "022", "answcnt");
  739. if (tab == "")
  740. tab = "001";
  741. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  742. if(option == "002" && tab != "005") //북마크가 아닌경우에 자동 조회
  743. {
  744. fDbclickDept();
  745. }
  746. //sysf_trace("gFlag : " + gFlag );
  747. if( gFlag == "INIT" ){
  748. gFlag = "";
  749. lf_switchTab();
  750. }else if( gFlag == "OPTION001"){
  751. gFlag = "";
  752. //2010/03/20 강지훈 수정 : fGetPatOrddept()안에서 fGetPatOrdHist을 호출하면서 조회가 멈추는 문제.
  753. var option = ds_envinfo.lookup("qestcd", "020", "answcnt");
  754. if(option != "002"){
  755. if(ds_init_env.getColumn(0, "option") != "F"){
  756. ds_grd_reclist.clearData();
  757. fGetPatOrdHist(null);
  758. }else{
  759. grup_left.switch1.rec.grd_reclist.setCellProperty("Head", 0, "text","expr:0");
  760. fGetDetlFormRec();
  761. }
  762. }
  763. }
  764. if( gSMMRI08000 == true){
  765. frmf_setParameter("SMMRI08000_breakyn", "false");
  766. var orddeptengabbr = utlf_transNullToEmpty(opener.frmf_getParameter("SMMRI00400_param_orddeptengabbr"));
  767. var arrOrddeptengabbr = orddeptengabbr.split(",");
  768. var filterstr;
  769. for(i=0; i<arrOrddeptengabbr.length; i++)
  770. {
  771. if( utlf_isNull(arrOrddeptengabbr[i]) ) continue;
  772. if( i == 0) filterstr = "deptengabbr == '" + arrOrddeptengabbr[i] +"'";
  773. else filterstr = filterstr + " || deptengabbr == '" + arrOrddeptengabbr[i] +"'";
  774. }
  775. ds_init_cmb_dept.filterstr = filterstr;
  776. //grup_left.switch1.grd.datagrid3.setFocus();
  777. ds_init_cmb_dept.rowposition = 0;
  778. // datagrid3.row = firstrow;
  779. // datagrid3.col = datagrid3.colRef("deptengabbr");
  780. fDbclickDept();
  781. }
  782. }
  783. }
  784. /**
  785. * @desc : 환자 수진이력 조회
  786. * @id :
  787. * @event : DOMActivate
  788. * @return : void
  789. * @authur : 박종훈(튜닝)
  790. */
  791. function fGetPatOrdHist(ioflag)
  792. {
  793. if( grup_left.switch1.tabindex != 0 ) grup_left.switch1.tabindex = 0; //model.toggle("grd");
  794. //datagrid3.allstyle("data", "background-color") = "#ffffff";
  795. grup_right.iviewerIemr.cleanViewer();
  796. var orddept = ds_init_etc.getColumn(0, "orddept");
  797. var tmpioflag = "" ;
  798. if (utlf_isNull(ioflag))
  799. {
  800. tmpioflag = ds_init_etc.getColumn(0, "ioflag");
  801. }
  802. else
  803. {
  804. ds_init_etc.setColumn(0, "ioflag", ioflag);
  805. tmpioflag = ioflag;
  806. }
  807. ds_init_etc.setColumn(0, "totcnt", "");
  808. ds_grd_pathist.clearData();
  809. ds_grd_midindx.clearData();
  810. ds_init_accresn.clearData();
  811. ds_init_prtresn.clearData();
  812. ds_init_etc.setColumn(0, "itemindxseq", "");
  813. ds_init_etc.setColumn(0, "midreccnt", "");
  814. ds_init_etc.setColumn(0, "reccurpos", "");
  815. dsf_createDsRow("ds_send", [{col: "pid", type:"string", size:256, val:ds_patinfolist.getColumn(0, "pid")}
  816. , {col: "ioflag", type:"string", size:256, val:tmpioflag}
  817. , {col: "orddeptcd", type:"string", size:256, val:ds_init_etc.getColumn(0, "orddept")}
  818. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}
  819. , {col: "histstat", type:"string", size:256, val:ds_init_env.getColumn(0, "histstat")}]);
  820. var oParam = {};
  821. oParam.id = "TRMRI03002";
  822. oParam.service = "recmngtapp.IntegrityRec";
  823. oParam.method = "reqGetPatOrdHist";
  824. oParam.inds = "req=ds_send";
  825. oParam.outds = "ds_grd_pathist=patordhist";
  826. oParam.async = false;
  827. oParam.callback = "cf_TRMRI03002"
  828. tranf_submit(oParam);
  829. ds_grd_pathist.rowposition = -1;
  830. if (ioflag == "I" || ioflag == "E")
  831. {
  832. grup_left.switch1.grd.grd_pathist.setRealColSize(grup_left.switch1.grd.grd_pathist.getBindCellIndex("body", "centcd"), 0);
  833. //grup_left.switch1.grd.grd_pathist.setFormatColProperty(4,"size",0);
  834. grup_left.switch1.grd.grd_pathist.scrollbars = "autovert";
  835. }
  836. else
  837. {
  838. grup_left.switch1.grd.grd_pathist.setRealColSize(grup_left.switch1.grd.grd_pathist.getBindCellIndex("body", "centcd"), 45);
  839. grup_left.switch1.grd.grd_pathist.scrollbars = "autoboth";
  840. }
  841. }
  842. function cf_TRMRI03002(sSvcId, nErrorCode, sErrorMsg){
  843. arErrorCode.push(sSvcId, nErrorCode);
  844. // sysf_trace("***** cf_TRMRI03002 *****");
  845. dsf_setTypeFormat(ds_grd_pathist, "dschdd:STRING");
  846. }
  847. /**
  848. * @desc : 환자 기록 중분류 조회
  849. * @id :
  850. * @event : ondblclick
  851. * @return : void
  852. * @authur : 박종훈
  853. */
  854. //2012/11/28 Start
  855. var dutplcecd_chk=false;
  856. //2012/11/28 End
  857. function fGetRecMidIndx( grow, e )
  858. {
  859. var openerid = "";
  860. if( frmf_checkOpener() )
  861. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  862. if (openerid != "SMMRI08000")
  863. {
  864. dsf_createDsRow("ds_send_TRMRI03007", [{col: "pid", type:"string", size:256, val:ds_patinfolist.getColumn(0, "pid")}
  865. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}
  866. ]);
  867. dsf_createDs("ds_reqActiveyn", [{col: "activeyn", type:"string", size:256}]);
  868. var oParam = {};
  869. oParam.id = "TRMRI03007";
  870. oParam.service = "recmngtapp.IntegrityRec";
  871. oParam.method = "reqGetActiveYN";
  872. oParam.inds = "req=ds_send_TRMRI03007";
  873. oParam.outds = "ds_reqActiveyn=item";
  874. oParam.async = false;
  875. oParam.callback = "cf_TRMRI03007";
  876. tranf_submit(oParam);
  877. var active = utlf_transNullToEmpty(ds_reqActiveyn.getColumn(0, "activeyn"));
  878. var activeyn = active.substr(0,1);
  879. var activespec = active.substr(1,1000);
  880. var len = active.length;
  881. dsf_deleteDs("ds_send_TRMRI03007");
  882. dsf_deleteDs("ds_reqActveyn");
  883. if (activeyn == "N"){
  884. var msg;
  885. if (len == 1) {
  886. msg = "Active 환자가 아닙니다 ";
  887. }
  888. else {
  889. msg = activespec;
  890. }
  891. sysf_messageBox(msg+"『 의무기록 열람 및 조회 신청 화면』에서 신청 후 열람하여 주시기 바랍니다. 문의:의무기록실(삼덕동:5322,칠곡:2402,치과:7112)","I999");
  892. return;
  893. }
  894. }
  895. //2012/12/04 Start
  896. if(lf_getHardCDList("Y", 5585, 3, null) == "Y"){
  897. var chk_node = ds_grd_pathist.getCaseCount("dschdd =='재원중' && wardcd == '" + sysf_getUserInfo("dutplcecd") + "'");
  898. // sysf_trace("chk_node cnt : " + chk_node);
  899. if(chk_node > 0){
  900. dutplcecd_chk=true;
  901. }
  902. }
  903. //2012/12/04 End
  904. var row = grow;
  905. if ( grow == null )
  906. row = ds_grd_pathist.rowposition;
  907. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  908. nodeposcnt = 0; // 1->0
  909. prevflag = "N";
  910. var pid = "";
  911. var orddd = "";
  912. var cretno = "";
  913. var orddeptcd = "";
  914. var tabflag = "";
  915. var bfopentest = ""; //2009-10-31 오후 2:39:16 강지훈 추가 : nU 오픈전 검사처방이 있는 수진여부
  916. var emrflag = ds_grd_pathist.getColumn(row, "emrflag");
  917. ds_init_etc.setColumn(0, "itemindxseq", "");
  918. ds_init_etc.setColumn(0, "midreccnt", "");
  919. ds_init_etc.setColumn(0, "reccurpos", "");
  920. ds_init_etc.setColumn(0, "emrflag", emrflag);
  921. if( !utlf_isNull(e) ) //if((grd_pathist.isCell(event.target) && grd_pathist.mouserow >= grd_pathist.fixedrows))
  922. {
  923. pid = ds_grd_pathist.getColumn(row, "pid");
  924. orddd = ds_grd_pathist.getColumn(row, "orddd");
  925. cretno = ds_grd_pathist.getColumn(row, "cretno");
  926. orddeptcd = ds_grd_pathist.getColumn(row, "orddeptcd");
  927. bfopentest = ds_grd_pathist.getColumn(row, "bfopentest");
  928. tabflag = ds_init_etc.getColumn(0, "tabflag");
  929. //기간검색-20130527 이윤주
  930. //2014/04/18 이정택 수정
  931. var dschdd = ds_grd_pathist.getColumn(row, "dschdd");
  932. var ordtype = ds_grd_pathist.getColumn(row, "ordtype");
  933. if (ordtype == "S" || ordtype == "O") {
  934. dschdd = orddd;
  935. }else{
  936. if (dschdd == "재원중") {
  937. dschdd = utlf_getCurrentDate();
  938. }else{
  939. dschdd = dschdd;
  940. }
  941. }
  942. //2014/04/22 이정택 수정
  943. ds_init_paging.setColumn(0, "fromdd", orddd);
  944. ds_init_paging.setColumn(0, "todd", dschdd);
  945. }
  946. else
  947. {
  948. if (row > -1)
  949. {
  950. //pid = ds_grd_pathist.getColumn(row, "formrecseq");
  951. pid = ds_grd_pathist.getColumn(row, "pid");
  952. orddd = ds_grd_pathist.getColumn(row, "orddd");
  953. cretno = ds_grd_pathist.getColumn(row, "cretno");
  954. orddeptcd = ds_grd_pathist.getColumn(row, "orddeptcd");
  955. bfopentest = ds_grd_pathist.getColumn(row, "bfopentest");
  956. tabflag = ds_init_etc.getColumn(0, "tabflag");
  957. //기간검색-20130527 이윤주
  958. dschdd = ds_grd_pathist.getColumn(row, "dschdd");
  959. ordtype = ds_grd_pathist.getColumn(row, "ordtype");
  960. if (ordtype == "S" || ordtype == "O") {
  961. dschdd = orddd;
  962. }
  963. if (dschdd == "재원중") {
  964. dschdd = utlf_getCurrentDate();
  965. }
  966. ds_init_paging.setColumn(0, "fromdd", orddd );
  967. ds_init_paging.setColumn(0, "todd", "99991231");
  968. }else{
  969. sysf_messageBox("환자의 수진이력을 ", "C002");
  970. return;
  971. }
  972. }
  973. var comporddd = ds_init_accresn.getColumn(0, "orddd");
  974. var compcretno = ds_init_accresn.getColumn(0, "cretno");
  975. if ( utlf_isNull(compcretno))
  976. {
  977. compcretno = "-";
  978. }
  979. var itrgtNodeCnt = ds_trgtdept.getCaseCount("trgtcd == '" + orddeptcd + "'"); //사유대상부서
  980. if (itrgtNodeCnt > 0){ //감염내과, 정신과, 산부인과, 비뇨기과
  981. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  982. var iexNodeCnt = ds_exdept.getCaseCount("trgtcd == '" + sUserDeptcd + "'"); //사유제외부서
  983. // 2013.10.11 start cyw 센터일경우 해당 하위부서의 기록을 볼때 사유입력하지 않도록--------------
  984. var cntrcnt = 0;
  985. var samechk = 0;
  986. dsf_createDsRow("ds_send_cntrsrch", [{col: "instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  987. , {col: "userdeptcd", type:"string", size:256, val:sUserDeptcd}]);
  988. dsf_createDs("ds_cntrdept", [{col: "instcd", type:"string", size:256}
  989. , {col: "subdeptcd", type:"string", size:256}
  990. , {col: "deptcd", type:"string", size:256}
  991. , {col: "deptnm", type:"string", size:256}]);
  992. var oParam = {};
  993. oParam.id = "TRMRI08114";
  994. oParam.service = "recmngtapp.IntegrityRec";
  995. oParam.method = "reqGetCntrDeptChk";
  996. oParam.inds = "req=ds_send_cntrsrch";
  997. oParam.outds = "ds_cntrdept=cntrdeptlist";
  998. oParam.async = false;
  999. oParam.callback = "cf_TRMRI08114";
  1000. tranf_submit(oParam);
  1001. if(arErrorCode.pop("TRMRI08114") > -1){
  1002. for( var i = 0; i < ds_cntrdept.rowcount; i ++ ){
  1003. if( orddeptcd == ds_cntrdept.getColumn(i, "deptcd") ){
  1004. samechk++;
  1005. }
  1006. }
  1007. // temp dataset delete
  1008. dsf_deleteDs("ds_send_cntrsrch");
  1009. dsf_deleteDs("ds_cntrdept");
  1010. }
  1011. // 2013.10.11 end-------------------------------------------------------------------------------------------
  1012. // 기록조회시, 사유입력하는 경우?
  1013. // 1. 사유제외부서가 아닐경우
  1014. // 2. 선택한기록부서와 사용자 부서가 같을 경우
  1015. // 3, 각각의 진료일자와 원무키가 다를 경우
  1016. // 4. 센터부서일 경우 하위부서가 아닐경우
  1017. var nCheckAuthCnt = ds_data_checkauth.getCaseCount("pid == '"+ pid +"' && orddeptcd == '"+ orddeptcd +"'");
  1018. //trace("pid : " + pid + " || orddeptcd : " + orddeptcd + " || nCheckAuthcnt : " + nCheckAuthCnt);
  1019. //if ( (samechk <=0) && (iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)){ //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  1020. if ( (samechk <=0) && (iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && nCheckAuthCnt <= 0){
  1021. if ( fSetResnSMMRI08000() == true ){//열람승인화면에서 사유입력이 된 제한차트는 fSetResnSMMRI08000()함수에서 사유 자동 셋팅, 2010.09.02 주희경
  1022. }else{ //통합기록조회에서 직접 기록을 오픈할때에는 사유 입력
  1023. //2012/11/28 Start
  1024. if(dutplcecd_chk==false){ //감염내과, 정신과, 산부인과, 비뇨기과 병동 근무자의 경우 사유입력 제외
  1025. //2012/11/28 End
  1026. ds_init_accresn.clearData();
  1027. frmf_setParameter("SPMRI03100_param_nodepath", "ds_init_accresn");
  1028. frmf_setParameter("SPMRI03100_param_rsnflag", 'R');
  1029. frmf_setParameter("SPMRI03100_param_instcd", ds_init_env.getColumn(0, "instcd"));
  1030. frmf_modal("SPMRI03100", "SPMRI03100", null, null, null, null, null, null, null, null, null, null, "M");
  1031. /* SPMRI03100 화면에서 dataset 전달 받은 후 테스트 필요 */
  1032. var valiyn = ds_init_accresn.getColumn(0, "valiyn");
  1033. if (valiyn != "Y"){
  1034. return;
  1035. }else{
  1036. // 2017.02.08 과에 대해 한번만 사유 입력
  1037. var nAuthRow = ds_data_checkauth.addRow();
  1038. ds_data_checkauth.setColumn(nAuthRow, "pid", pid);
  1039. ds_data_checkauth.setColumn(nAuthRow, "orddd", orddd);
  1040. ds_data_checkauth.setColumn(nAuthRow, "cretno", cretno);
  1041. ds_data_checkauth.setColumn(nAuthRow, "orddeptcd", orddeptcd);
  1042. ds_data_checkauth.setColumn(nAuthRow, "resncd", utlf_transNullToEmpty(ds_init_accresn.getColumn(0, "resncd")));
  1043. ds_data_checkauth.setColumn(nAuthRow, "resnnm", utlf_transNullToEmpty(ds_init_accresn.getColumn(0, "resnnm")));
  1044. ds_data_checkauth.setColumn(nAuthRow, "etc", utlf_transNullToEmpty(ds_init_accresn.getColumn(0, "etc")));
  1045. ds_data_checkauth.setColumn(nAuthRow, "valiyn", utlf_transNullToEmpty(ds_init_accresn.getColumn(0, "valiyn")));
  1046. }
  1047. }
  1048. }
  1049. }else if( nCheckAuthCnt > 0 ){
  1050. var nFindAuthRow = ds_data_checkauth.findRowExpr("pid == '"+ pid +"' && orddeptcd == '"+ orddeptcd +"'");
  1051. if( nFindAuthRow > -1 ){
  1052. var nRow = ds_init_accresn.rowcount > 0 ? 0 : ds_init_accresn.addRow();
  1053. ds_init_accresn.setColumn(nRow, "resncd", ds_data_checkauth.getColumn(nFindAuthRow, "resncd"));
  1054. ds_init_accresn.setColumn(nRow, "resnnm", ds_data_checkauth.getColumn(nFindAuthRow, "resnnm"));
  1055. ds_init_accresn.setColumn(nRow, "etc", ds_data_checkauth.getColumn(nFindAuthRow, "etc"));
  1056. ds_init_accresn.setColumn(nRow, "valiyn", ds_data_checkauth.getColumn(nFindAuthRow, "valiyn"));
  1057. }
  1058. }
  1059. if( ds_init_accresn.getColumnInfo("orddd") == null ){
  1060. ds_init_accresn.addColumn("orddd", "string");
  1061. }
  1062. if( ds_init_accresn.getColumnInfo("cretno") == null ){
  1063. ds_init_accresn.addColumn("cretno", "string");
  1064. }
  1065. var nRow = ds_init_accresn.rowcount > 0 ? 0 : ds_init_accresn.addRow();
  1066. ds_init_accresn.setColumn(nRow, "orddd", orddd);
  1067. ds_init_accresn.setColumn(nRow, "cretno", cretno);
  1068. }else{
  1069. ds_init_accresn.setColumn(0, "resncd", "");
  1070. ds_init_accresn.setColumn(0, "resnnm", "");
  1071. ds_init_accresn.setColumn(0, "etc", "");
  1072. ds_init_accresn.setColumn(0, "valiyn", "");
  1073. ds_init_accresn.setColumn(0, "orddd", "");
  1074. ds_init_accresn.setColumn(0, "cretno", "");
  1075. }
  1076. //2012/11/28 Start 상태값 초기화
  1077. dutplcecd_chk=false;
  1078. //2012/11/28 End
  1079. grup_right.iviewerIemr.cleanViewer();
  1080. //var ioflag = ds_send.getColumn(0, "ioflag");
  1081. var refdata = "";
  1082. var sizedata = "";
  1083. var addCol = grup_left.switch1.grd.grd_midindx.getBindCellIndex("body", "cnt");
  1084. if (emrflag == "I")
  1085. {
  1086. grup_left.switch1.grd.grd_midindx.setCellProperty("head", addCol, "text", "페이지수");
  1087. //grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^페이지수";
  1088. }
  1089. else if (emrflag == "E")
  1090. {
  1091. grup_left.switch1.grd.grd_midindx.setCellProperty("head", addCol, "text", "기록수");
  1092. //grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^기록수";
  1093. }
  1094. ds_init_etc.setColumn(0, "totcnt", "");
  1095. ds_grd_midindx.clearData();
  1096. var objColInfo = new Array();
  1097. objColInfo.push({col: "pid", type:"string", size:256, val:ds_patinfolist.getColumn(0, "pid")});
  1098. objColInfo.push({col: "orddd", type:"string", size:256, val:orddd});
  1099. objColInfo.push({col: "cretno", type:"string", size:256, val:cretno});
  1100. objColInfo.push({col: "orddeptcd", type:"string", size:256, val:orddeptcd});
  1101. objColInfo.push({col: "tabflag", type:"string", size:256, val:tabflag});
  1102. objColInfo.push({col: "emrflag", type:"string", size:256, val:emrflag});
  1103. objColInfo.push({col: "chosflag", type:"string", size:256, val:ds_grd_pathist.getColumn(row, "ordtype")});
  1104. objColInfo.push({col: "refusge", type:"string", size:256, val:ds_init_accresn.getColumn(0, "resncd")});
  1105. objColInfo.push({col: "refremark", type:"string", size:256, val:ds_init_accresn.getColumn(0, "etc")});
  1106. objColInfo.push({col: "readprtflag", type:"string", size:256, val:"R"});
  1107. objColInfo.push({col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")});
  1108. //열람신청과 연결-20120130 이윤주 수정
  1109. if( this.objects["ds_init_view"] == null ){
  1110. objColInfo.push({col: "appno", type:"string", size:256, val:""}); // fInitalize setting
  1111. objColInfo.push({col: "histno", type:"string", size:256, val:""});
  1112. }else{
  1113. objColInfo.push({col: "appno", type:"string", size:256, val:ds_init_view.getColumn(0, "appno")}); // fInitalize setting
  1114. objColInfo.push({col: "histno", type:"string", size:256, val:ds_init_view.getColumn(0, "histno")});
  1115. }
  1116. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  1117. objColInfo.push({col: "fromprcpdd", type:"string", size:256, val:ds_grd_pathist.getColumn(row, "orddd")});
  1118. objColInfo.push({col: "toprcpdd", type:"string", size:256, val:ds_grd_pathist.getColumn(row, "dschdd")});
  1119. //2009-10-31 오후 2:36:09 강지훈 수정 :
  1120. objColInfo.push({col: "bfopentest", type:"string", size:256, val:bfopentest});
  1121. objColInfo.push({col: "itemindxseq", type:"string", size:256, val:""});
  1122. dsf_createDsRow("ds_send", objColInfo);
  1123. dsf_setDefaultVal(ds_send, "cretno:0,fromprcpdd:'',toprcpdd:''");
  1124. var oParam = {};
  1125. oParam.id = "TRMRI03003";
  1126. oParam.service = "recmngtapp.IntegrityRec";
  1127. oParam.method = "reqGetRecMidIndx";
  1128. oParam.inds = "req=ds_send";
  1129. oParam.outds = "ds_grd_midindx=midindxlist";
  1130. oParam.async = true;
  1131. oParam.callback = "cf_TRMRI03003";
  1132. tranf_submit(oParam);
  1133. }
  1134. function cf_TRMRI03007(sSvcId, nErrorCode, sErrorMsg){
  1135. arErrorCode.push(sSvcId, nErrorCode);
  1136. //sysf_trace("***** cf_TRMRI03007 *****");
  1137. }
  1138. function cf_TRMRI08114(sSvcId, nErrorCode, sErrorMsg){
  1139. arErrorCode.push(sSvcId, nErrorCode);
  1140. // sysf_trace("***** cf_TRMRI08114 *****");
  1141. }
  1142. function cf_TRMRI03003(sSvcId, nErrorCode, sErrorMsg){
  1143. arErrorCode.push(sSvcId, nErrorCode);
  1144. //sysf_trace("***** cf_TRMRI03003 *****");
  1145. // xp code add
  1146. ds_grd_midindx.addColumn("cnt", "string");
  1147. //var midindxNodelist = model.instances(0).selectNodes("/root/main/midindx/midindxlist");
  1148. var itemindxseq = 0;
  1149. var midreccnt = 0;
  1150. if (ds_grd_midindx.rowcount > 0)
  1151. {
  1152. grup_left.switch1.grd.grd_midindx.autofittype = "col";
  1153. itemindxseq = parseInt(ds_grd_midindx.getColumn(0, "itemindxseq"));
  1154. midreccnt = parseInt(utlf_isNull(ds_grd_midindx.getColumn(0, "cnt")) ? "0" : ds_grd_midindx.getColumn(0, "cnt"));
  1155. ds_init_etc.setColumn(0, "itemindxseq", itemindxseq);
  1156. ds_init_etc.setColumn(0, "midreccnt", midreccnt);
  1157. ds_init_etc.setColumn(0, "reccurpos", 1);
  1158. //ds_init_etc.setColumn(0, "bfopentest", bfopentest);
  1159. ds_init_etc.setColumn(0, "bfopentest", ds_send.getColumn(0, "bfopentest"));
  1160. ds_init_etc.setColumn(0, "recall", "Y"); //김동준(20130404)
  1161. // 2013.07.10 CYW 개인정보보호 관련 중분류 체크
  1162. var cnt = ds_indx.rowcount;
  1163. var indxcnt = ds_grd_midindx.rowcount;
  1164. var privateflag = frmf_getParameter("SMMRI03000_privateflag");
  1165. var instcd = sysf_getUserInfo("dutplceinstcd");
  1166. var openerid = "";
  1167. if( frmf_checkOpener() )
  1168. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  1169. if( openerid == "SMMRI08000" ){
  1170. var row3 = ds_init_cmb_dept.rowposition;
  1171. var deptengabbr = ds_init_cmb_dept.getColumn(row3, "deptengabbr");
  1172. var prntdeptengabbr = utlf_transNullToEmpty(opener.frmf_getParameter("SMMRI00400_param_prntdeptengabbr"));
  1173. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  1174. if( prntidx > -1 && privateflag == "2" || prntidx > -1 && privateflag == "3" ){
  1175. for( var j = 0 ; j < indxcnt ; j++){
  1176. ds_grd_midindx.addColumn("chkflag", "string");
  1177. ds_grd_midindx.setColumn(j, "chkflag", "N");
  1178. }
  1179. for( var i = 0 ; i < cnt ; i++){
  1180. for( var j = 0 ; j < indxcnt ; j++){
  1181. if( ds_indx.getColumn(i, "hardcd") == ds_grd_midindx.getColumn(j, "itemindxseq") ){
  1182. ds_grd_midindx.setColumn(j, "chkflag", "Y");
  1183. }
  1184. }
  1185. }
  1186. if( privateflag == "2" ){
  1187. grup_left.switch1.grd.grd_midindx.setCellProperty("body", 6, "color" ,"EXPR(chkflag == 'N' ? 'gray' : 'black')");
  1188. grup_left.switch1.grd.grd_midindx.setCellProperty("body", 6, "color2" ,"EXPR(chkflag == 'N' ? 'gray' : 'black')");
  1189. }
  1190. if( ( prntidx > -1 && ds_grd_midindx.getColumn(0, "chkflag") == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  1191. btn_prnt.visible = true;
  1192. txt_private.visible = true;
  1193. }else{
  1194. btn_prnt.visible = false;
  1195. txt_private.visible = false;
  1196. }
  1197. }
  1198. }
  1199. if( privatetxt == "1" ){
  1200. txt_private.visible = false;
  1201. }
  1202. ds_grd_midindx.rowposition = 0;
  1203. //2014/04/09 이정택 수정(수진이력 클릭시 소스제어)
  1204. dsf_createDsRow("ds_send_reqdata_hardcdno", [{col: "hardcdno", type:"string", size:256, val:"6000"}
  1205. , {col: "srchdd", type:"string", size:256, val:""}]);
  1206. dsf_createDs("ds_hardcodeinfo", [{col: "hardcdno", type:"string", size:256}
  1207. , {col: "trgtcd", type:"string", size:256}
  1208. , {col: "trgtcdnm", type:"string", size:256}]);
  1209. var oParam = {};
  1210. oParam.id = "TRMMR01204";
  1211. oParam.service = "medirecapp.util";
  1212. oParam.method = "reqGetHardCodeInfo";
  1213. oParam.inds = "req=ds_send_reqdata_hardcdno";
  1214. oParam.outds = "ds_hardcodeinfo=item";
  1215. oParam.async = true;
  1216. oParam.callback = "cf_TRMMR01204";
  1217. tranf_submit(oParam);
  1218. //2014/04/09
  1219. if(arErrorCode.pop("TRMMR01204") > -1){
  1220. }
  1221. }
  1222. }
  1223. function cf_TRMMR01204(sSvcId, nErrorCode, sErrorMsg){
  1224. arErrorCode.push(sSvcId, nErrorCode);
  1225. //if(nErrorCode < 0) return;
  1226. //sysf_trace("***** cf_TRMMR01204 *****");
  1227. if(ds_hardcodeinfo.getColumn(0, "trgtcd")=="Y"){
  1228. grup_left.switch1.grd.cmb_sort.enable=true;
  1229. fPaging();
  1230. }else{
  1231. ds_init_etc.setColumn(0, "sortkind", "A");
  1232. grup_left.switch1.grd.cmb_sort.enable=false;
  1233. fGetDetlRec(1, row);
  1234. }
  1235. //temp dataset delete
  1236. dsf_deleteDs("ds_send_reqdata_hardcdno");
  1237. dsf_deleteDs("ds_hardcodeinfo");
  1238. }
  1239. function fSetResnSMMRI08000()
  1240. {
  1241. var openerid = "";
  1242. if( frmf_checkOpener() )
  1243. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  1244. if ( openerid == "SMMRI08000")
  1245. {
  1246. var resncd = opener.frmf_getParameter("SMMRI00400_param_resncd"); //열람목적 코드
  1247. var etc = opener.frmf_getParameter("SMMRI00400_param_etc"); //열람목적 사유 상세
  1248. ds_init_accresn.addColumn("valiyn", "string");
  1249. ds_init_accresn.addColumn("resncd", "string");
  1250. ds_init_accresn.addColumn("etc", "string");
  1251. var nRow = ds_init_accresn.rowcount > 0 ? 0 : ds_init_accresn.addRow();
  1252. ds_init_accresn.setColumn(nRow, "valiyn", "Y");
  1253. ds_init_accresn.setColumn(nRow, "resncd", resncd);
  1254. ds_init_accresn.setColumn(nRow, "etc", etc);
  1255. return true;
  1256. }
  1257. return false;
  1258. }
  1259. /**
  1260. * @desc : 키 이벤트
  1261. * @id :
  1262. * @event : DOMActivate
  1263. * @return : void
  1264. * @authur : 박종훈
  1265. */
  1266. function fGetRec(val)
  1267. {
  1268. //sysf_trace("***** fGetRec(val) : " + val + " *****");
  1269. var selIndx = grup_left.switch1.tabindex;
  1270. //북마크모드가 아닐때
  1271. if(selIndx == 0){
  1272. if (ds_grd_midindx.rowcount < 1)
  1273. {
  1274. sysf_messageBox("서식분류를", "C002");
  1275. return;
  1276. }
  1277. var emrflag = ds_init_etc.getColumn(0, "emrflag");
  1278. //2009-11-02 오후 7:16:41 강지훈 수정
  1279. var reckind = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "reckind");
  1280. var wheelMsgFlag = ds_tmp.getColumn(0, "wheelmsg");
  1281. if (emrflag == "I" && reckind != "EMR")
  1282. {
  1283. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1284. nodeposcnt = 0; //1->0
  1285. prevflag = "N";
  1286. switch(val)
  1287. {
  1288. case "first" :
  1289. if (ds_grd_midindx.rowposition == 0)
  1290. {
  1291. fShowMessage("첫 페이지 입니다.")
  1292. return;
  1293. }
  1294. else
  1295. {
  1296. ds_grd_midindx.rowposition = 0;
  1297. ds_grd_midindx.selectRow(0);
  1298. break;
  1299. }
  1300. case "prev" :
  1301. if (ds_grd_midindx.rowposition == 0)
  1302. {
  1303. if(wheelMsgFlag == "Y"){
  1304. var histrow = ds_grd_pathist.rowposition - 1;
  1305. if (histrow <= -1)
  1306. {
  1307. fShowMessage("처음 수진 이력입니다.")
  1308. return;
  1309. }
  1310. else
  1311. {
  1312. var rtnmsg = sysf_messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1313. if (rtnmsg == 6)
  1314. {
  1315. fPrevRecHist();
  1316. return;
  1317. }
  1318. else
  1319. {
  1320. return;
  1321. }
  1322. }
  1323. }
  1324. else{
  1325. fPrevRecHist();
  1326. return;
  1327. }
  1328. }
  1329. else
  1330. {
  1331. ds_grd_midindx.rowposition = ds_grd_midindx.rowposition - 1;
  1332. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1333. break;
  1334. }
  1335. case "next" :
  1336. if (ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1337. {
  1338. if(wheelMsgFlag == "Y"){
  1339. var histrow = ds_grd_pathist.rowposition + 1;
  1340. if ( histrow == ds_grd_pathist.rowcount )
  1341. {
  1342. fShowMessage("마지막 수진 이력입니다.")
  1343. return;
  1344. }
  1345. else
  1346. {
  1347. var rtnmsg = sysf_messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1348. if (rtnmsg == 6)
  1349. {
  1350. fNextRecHist();
  1351. return;
  1352. }
  1353. else
  1354. {
  1355. return;
  1356. }
  1357. }
  1358. }
  1359. else{
  1360. fNextRecHist();
  1361. return;
  1362. }
  1363. }
  1364. else
  1365. {
  1366. ds_grd_midindx.rowposition = ds_grd_midindx.rowposition + 1;
  1367. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1368. break;
  1369. }
  1370. case "end" :
  1371. if (ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1372. {
  1373. fShowMessage("마지막 페이지 입니다.");
  1374. return;
  1375. }
  1376. else
  1377. {
  1378. ds_grd_midindx.rowposition = ds_grd_midindx.rowcount - 1;
  1379. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1380. break;
  1381. }
  1382. case "all" :
  1383. ds_init_etc.setColumn(0, "recall", "Y");
  1384. }
  1385. }
  1386. else
  1387. {
  1388. var reccurpos = parseInt(ds_init_etc.getColumn(0, "reccurpos"));
  1389. var midreccnt = parseInt(ds_init_etc.getColumn(0, "midreccnt"));
  1390. switch(val)
  1391. {
  1392. case "first" :
  1393. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1394. nodeposcnt = 0; //1->0
  1395. prevflag = "N";
  1396. if (ds_grd_midindx.rowposition == 0 && reccurpos == 1)
  1397. {
  1398. fShowMessage("첫 페이지 입니다.")
  1399. return;
  1400. }
  1401. else
  1402. {
  1403. ds_init_etc.setColumn(0, "recall", "N");
  1404. ds_grd_midindx.rowposition = 0;
  1405. ds_grd_midindx.selectRow(0);
  1406. var curmidcnt = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt"));
  1407. ds_init_etc.setColumn(0, "midreccnt", curmidcnt);
  1408. ds_init_etc.setColumn(0, "reccurpos", 1);
  1409. ds_init_etc.setColumn(0, "itemindxseq", parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq")));
  1410. break;
  1411. }
  1412. case "prev" :
  1413. prevflag = "Y";
  1414. if (ds_tmpinicert_iniinfo.rowcount > 1 && nodeposcnt > 0)
  1415. {
  1416. multirecyn = "Y";
  1417. }
  1418. else
  1419. {
  1420. multirecyn = "N";
  1421. nodeposcnt = 0;//1->0
  1422. }
  1423. if (multirecyn == "N")
  1424. {
  1425. if (ds_grd_midindx.rowposition == 0 && reccurpos == 1)
  1426. {
  1427. if(wheelMsgFlag == "Y"){
  1428. var histrow = ds_grd_pathist.rowposition -1;
  1429. if (histrow <= -1)
  1430. {
  1431. fShowMessage("처음 수진 이력입니다.")
  1432. return;
  1433. }
  1434. else
  1435. {
  1436. var rtnmsg = sysf_messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1437. if (rtnmsg == 6)
  1438. {
  1439. fPrevRecHist();
  1440. return;
  1441. }
  1442. else
  1443. {
  1444. return;
  1445. }
  1446. }
  1447. }
  1448. else{
  1449. fPrevRecHist();
  1450. return;
  1451. }
  1452. }
  1453. else
  1454. {
  1455. ds_init_etc.setColumn(0, "recall", "N");
  1456. if (reccurpos == 1) //해당중분류의 첫기록일 경우 전 중분류로 이동 후 해당 중분류의 정보를 셋팅한다.
  1457. {
  1458. ds_grd_midindx.rowposition = ds_grd_midindx.rowposition - 1;
  1459. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1460. var curmidcnt = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt"));
  1461. ds_init_etc.setColumn(0, "midreccnt", curmidcnt);
  1462. ds_init_etc.setColumn(0, "reccurpos", curmidcnt);
  1463. ds_init_etc.setColumn(0, "itemindxseq", parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq")));
  1464. break;
  1465. }
  1466. else
  1467. {
  1468. ds_init_etc.setColumn(0, "reccurpos", reccurpos - 1);
  1469. break;
  1470. }
  1471. }
  1472. }
  1473. else //하나의 기록이나 이미지가 포함된경우
  1474. {
  1475. if (nodeposcnt <= 0)
  1476. {
  1477. if (ds_grd_midindx.rowposition == 0 && reccurpos == 1)
  1478. {
  1479. if(wheelMsgFlag == "Y"){
  1480. var histrow = ds_grd_pathist.rowposition -1;
  1481. if (histrow <= -1)
  1482. {
  1483. fShowMessage("처음 수진 이력입니다.")
  1484. return;
  1485. }
  1486. else
  1487. {
  1488. var rtnmsg = sysf_messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  1489. if (rtnmsg == 6)
  1490. {
  1491. fPrevRecHist();
  1492. return;
  1493. }
  1494. else
  1495. {
  1496. return;
  1497. }
  1498. }
  1499. }
  1500. else{
  1501. fPrevRecHist();
  1502. return;
  1503. }
  1504. }
  1505. else
  1506. {
  1507. ds_init_etc.setColumn(0, "reccurpos", reccurpos - 1);
  1508. break;
  1509. }
  1510. }
  1511. else
  1512. {
  1513. nodeposcnt--;
  1514. break;
  1515. }
  1516. }
  1517. case "next" :
  1518. prevflag = "N";
  1519. if (ds_tmpinicert_iniinfo.rowcount > 1 && ds_tmpinicert_iniinfo.rowcount > nodeposcnt)
  1520. {
  1521. multirecyn = "Y";
  1522. }
  1523. else
  1524. {
  1525. multirecyn = "N";
  1526. nodeposcnt = 0;//1->0
  1527. }
  1528. if (multirecyn == "N")
  1529. {
  1530. if (reccurpos == midreccnt && ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1531. {
  1532. if(wheelMsgFlag == "Y")
  1533. {
  1534. var histrow = ds_grd_pathist.rowposition + 1;
  1535. if ( histrow == ds_grd_pathist.rowcount )
  1536. {
  1537. fShowMessage("마지막 수진 이력입니다.")
  1538. return;
  1539. }
  1540. else
  1541. {
  1542. var rtnmsg = sysf_messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1543. if (rtnmsg == 6)
  1544. {
  1545. fNextRecHist();
  1546. return;
  1547. }
  1548. else
  1549. {
  1550. return;
  1551. }
  1552. }
  1553. }
  1554. else{
  1555. fNextRecHist();
  1556. return;
  1557. }
  1558. }
  1559. else
  1560. {
  1561. ds_init_etc.setColumn(0, "recall", "N");
  1562. if (reccurpos == midreccnt)
  1563. {
  1564. ds_grd_midindx.rowposition = ds_grd_midindx.rowposition + 1;
  1565. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1566. var curmidcnt = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt"));
  1567. ds_init_etc.setColumn(0, "midreccnt", curmidcnt);
  1568. ds_init_etc.setColumn(0, "reccurpos", 1);
  1569. ds_init_etc.setColumn(0, "itemindxseq", parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq")));
  1570. break;
  1571. }
  1572. else
  1573. {
  1574. ds_init_etc.setColumn(0, "reccurpos", reccurpos + 1);
  1575. break;
  1576. }
  1577. }
  1578. }
  1579. else //하나의 기록이나 이미지가 포함된경우
  1580. {
  1581. if (nodeposcnt >= ds_tmpinicert_iniinfo.rowcount)
  1582. {
  1583. if (reccurpos == midreccnt && ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1584. {
  1585. if(wheelMsgFlag == "Y"){
  1586. var histrow = ds_grd_pathist.rowposition + 1;
  1587. if ( histrow == ds_grd_pathist.rowcount )
  1588. {
  1589. fShowMessage("마지막 수진 이력입니다.")
  1590. return;
  1591. }
  1592. else
  1593. {
  1594. var rtnmsg = sysf_messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  1595. if (rtnmsg == 6)
  1596. {
  1597. fNextRecHist();
  1598. return;
  1599. }
  1600. else
  1601. {
  1602. ds_init_etc.setColumn(0, "reccurpos", reccurpos + 1);
  1603. break;
  1604. }
  1605. }
  1606. }
  1607. else{
  1608. fNextRecHist();
  1609. return;
  1610. }
  1611. }
  1612. }
  1613. else
  1614. {
  1615. nodeposcnt++;
  1616. break;
  1617. }
  1618. }
  1619. case "end" :
  1620. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1621. nodeposcnt = 0; //1->0
  1622. prevflag = "N";
  1623. if (reccurpos == midreccnt && ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1624. {
  1625. fShowMessage("마지막 페이지 입니다.")
  1626. return;
  1627. }
  1628. else
  1629. {
  1630. ds_init_etc.setColumn(0, "recall", "N");
  1631. ds_grd_midindx.rowposition = ds_grd_midindx.rowcount - 1;
  1632. ds_grd_midindx.selectRow(ds_grd_midindx.rowposition);
  1633. var curmidcnt = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt"));
  1634. ds_init_etc.setColumn(0, "midreccnt", curmidcnt);
  1635. ds_init_etc.setColumn(0, "reccurpos", curmidcnt);
  1636. ds_init_etc.setColumn(0, "itemindxseq", parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq")));
  1637. break;
  1638. }
  1639. case "midfirst" :
  1640. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1641. nodeposcnt = 0; //1->0
  1642. prevflag = "N";
  1643. if (ds_grd_midindx.rowposition == 0 && reccurpos == 1)
  1644. {
  1645. fShowMessage("첫 페이지 입니다.")
  1646. return;
  1647. }
  1648. else
  1649. {
  1650. ds_init_etc.setColumn(0, "recall", "N");
  1651. ds_init_etc.setColumn(0, "reccurpos", 1);
  1652. break;
  1653. }
  1654. case "midend" :
  1655. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1656. nodeposcnt = 0; // 1->0
  1657. prevflag = "N";
  1658. if (reccurpos == midreccnt && ds_grd_midindx.rowposition + 1 == ds_grd_midindx.rowcount)
  1659. {
  1660. fShowMessage("마지막 페이지 입니다.")
  1661. return;
  1662. }
  1663. else
  1664. {
  1665. ds_init_etc.setColumn(0, "recall", "N");
  1666. ds_init_etc.setColumn(0, "reccurpos", midreccnt);
  1667. break;
  1668. }
  1669. case "all" :
  1670. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1671. nodeposcnt = 0; //1->0
  1672. prevflag = "N";
  1673. ds_init_etc.setColumn(0, "recall", "Y");
  1674. }
  1675. }
  1676. }
  1677. fGetDetlRec(); //pjh
  1678. }
  1679. /**
  1680. * @desc : 다음 수진이력으로 자동 이동
  1681. * @id :
  1682. * @event : DOMActivate
  1683. * @return : void
  1684. * @authur : 박종훈
  1685. */
  1686. function fNextRecHist()
  1687. {
  1688. var histrow = ds_grd_pathist.rowposition + 1;
  1689. if ( histrow == ds_grd_pathist.rowcount )
  1690. {
  1691. fShowMessage("마지막 수진 이력입니다.")
  1692. return;
  1693. }
  1694. else
  1695. {
  1696. ds_grd_pathist.rowposition = histrow;
  1697. ds_grd_pathist.selectRow(histrow);
  1698. fGetRecMidIndx();
  1699. }
  1700. var ctrl = grup_left.switch1.grd.grd_midindx;
  1701. if( ctrl != null )
  1702. {
  1703. ctrl.setFocus();
  1704. var e = new KeyEventInfo();
  1705. ctrl.onkeyup.fireEvent(ctrl, e);
  1706. }
  1707. }
  1708. /**
  1709. * @desc : 이전 수진이력으로 자동 이동
  1710. * @id :
  1711. * @event :
  1712. * @return : void
  1713. * @authur : 주희경
  1714. */
  1715. function fPrevRecHist()
  1716. {
  1717. var histrow = ds_grd_pathist.rowposition - 1;
  1718. if (histrow <= -1)
  1719. {
  1720. fShowMessage("처음 수진 이력입니다.")
  1721. return;
  1722. }
  1723. else
  1724. {
  1725. ds_grd_pathist.rowposition = histrow;
  1726. ds_grd_pathist.selectRow(histrow);
  1727. fGetRecMidIndx();
  1728. }
  1729. var ctrl = grup_left.switch1.grd.grd_midindx;
  1730. if( ctrl != null )
  1731. {
  1732. ctrl.setFocus();
  1733. var e = new KeyEventInfo();
  1734. ctrl.onkeyup.fireEvent(ctrl, e);
  1735. }
  1736. }
  1737. /**
  1738. * @desc : 중분류 더블클릭
  1739. * @id :
  1740. * @event : DOMActivate
  1741. * @return : void
  1742. * @authur : 박종훈
  1743. */
  1744. function fDbClickMidIndx()
  1745. {
  1746. if((grd_midindx.isCell(event.target) && grd_midindx.mouserow >= grd_midindx.fixedrows))
  1747. {
  1748. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  1749. nodeposcnt = 0; //1->0
  1750. prevflag = "N";
  1751. iviewerIemr.window.javascript.cleanViewer();
  1752. if (grd_midindx.row >= 1)
  1753. {
  1754. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  1755. var itemindxseq = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  1756. var openerid = opener.window.javascript.getParameter("SMMRI00400_param_openerid");
  1757. if ( openerid == "SMMRI08000" ){
  1758. // 중분류별 출력체크 CYW
  1759. var chkflag = model.getValue( "/root/main/midindx/midindxlist[" + grd_midindx.row + "]/chkflag");
  1760. var row = datagrid3.row;
  1761. var deptengabbr = datagrid3.valueMatrix(row, datagrid3.colref("deptengabbr"));
  1762. var prntdeptengabbr = opener.window.javascript.getParameter("SMMRI00400_param_prntdeptengabbr");
  1763. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  1764. if( ( prntidx > -1 && chkflag == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  1765. btn_prnt.visible = true;
  1766. txt_private.visible = true;
  1767. }else if( prntidx > -1 && privatetxt == "1" ){
  1768. btn_prnt.visible = true;
  1769. txt_private.visible = false;
  1770. }else{
  1771. btn_prnt.visible = false;
  1772. txt_private.visible = false;
  1773. }
  1774. }
  1775. model.setValue("/root/init/midreccnt", curmidcnt);
  1776. model.setValue("/root/init/reccurpos", 1);
  1777. model.setValue("/root/init/itemindxseq", itemindxseq);
  1778. //2013/02/15 머지 시작(추가)
  1779. model.setValue("/root/init/recall", "Y");
  1780. //2013/02/15 머지 끝
  1781. model.refresh(); //pjh
  1782. fGetDetlRec(grd_midindx.row); //pjh
  1783. // lyj:막음
  1784. // var ViewMode;
  1785. // ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1786. //
  1787. //
  1788. // if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  1789. // {
  1790. // //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1791. // if (grup_paging.visible) {
  1792. // iviewerIemr.window.javascript.setupChart("ThumbView");
  1793. // iviewerIemr.model.setValue("/root/hidden/currentViewMode", "ThumbView"); //추가-kys-20100331
  1794. // } else {
  1795. // iviewerIemr.window.javascript.setupChart("ChartView");
  1796. // }
  1797. // }
  1798. }
  1799. }
  1800. }
  1801. /**
  1802. * @desc : 기록조회
  1803. * @id :
  1804. * @event : DOMActivate
  1805. * @return : void
  1806. * @authur : 박종훈
  1807. */
  1808. function fGetDetlRec( row1, row2 )
  1809. {
  1810. var grd_midindxrow = row1;
  1811. var grd_pathistrow = row2;
  1812. if ( row1 == null )
  1813. grd_midindxrow = grd_midindx.row;
  1814. if ( row2 == null )
  1815. grd_pathistrow = grd_pathist.row;
  1816. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq")); //선택중분류 인덱스순번
  1817. var reccurpos = parseInt(model.getValue("/root/init/reccurpos")); //현재선택된기록 순번
  1818. var midreccnt = parseInt(model.getValue("/root/init/midreccnt")); //선택중분류 기록수
  1819. var bfopentest = model.getValue("/root/init/bfopentest"); //오픈 이전 검사처방 수진이력
  1820. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  1821. var rowfocus = "";
  1822. var emrflag = model.getValue("/root/init/emrflag");
  1823. var selIndx = switch1.selectedIndex; //2009-10-20 오후 10:00:57 강지훈 추가
  1824. if(selIndx == 1){
  1825. fGetBookmarkItem();
  1826. }
  1827. else if(selIndx == 0){
  1828. //2009-11-18 오후 10:14:11 강지훈 추가
  1829. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  1830. {
  1831. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  1832. model.setValue("/root/init/totcnt", totcnt);
  1833. //2013/02/15 머지 시작(주석처리)
  1834. //lbl_totcnt.refresh();
  1835. //2013/02/15 머지 끝
  1836. var treatno = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq"));
  1837. var formcd = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  1838. iviewerIemr.window.javascript.cleanViewer();
  1839. iviewerIemr.window.javascript.refreshFalse();
  1840. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  1841. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  1842. //20120704 이윤주 추가
  1843. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  1844. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1845. var chartinfo;
  1846. chartinfo = "I";
  1847. var hiddenmsg;
  1848. hiddenmsg = "I";
  1849. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  1850. iviewerIemr.window.javascript.refreshTrue();
  1851. }
  1852. else
  1853. {
  1854. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  1855. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq"));
  1856. var isLis = "";
  1857. // for (var j = 1; j < grd_midindx.row; j++)
  1858. // {
  1859. // isLis = grd_midindx.valueMatrix(j, grd_midindx.colref("reckind"));
  1860. //
  1861. // if (isLis == "LIS")
  1862. // {
  1863. // calcReccurpos -= 1;
  1864. // }
  1865. // }
  1866. model.removeNodeset("/root/send");
  1867. model.makeValue("/root/send/pid" , model.getValue("/root/main/patinfo/patinfolist/pid"));
  1868. model.makeValue("/root/send/orddd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  1869. model.makeValue("/root/send/cretno" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("cretno")));
  1870. model.makeValue("/root/send/chosflag" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ordtype")));
  1871. model.makeValue("/root/send/orddeptcd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddeptcd")));
  1872. model.makeValue("/root/send/tabflag" , model.getValue("/root/init/tabflag"));
  1873. model.makeValue("/root/send/reccurpos" , calcReccurpos);
  1874. model.makeValue("/root/send/recall" , model.getValue("/root/init/recall"));
  1875. model.makeValue("/root/send/reckind" , reckind);
  1876. model.makeValue("/root/send/itemindxseq" , itemindxseq);
  1877. model.makeValue("/root/send/lisflag" , grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("lisflag")));
  1878. model.makeValue("/root/send/instcd" , model.getValue("/root/init/env/instcd"));
  1879. model.makeValue("/root/send/privateyn" , model.getValue("/root/init/privateyn"));
  1880. model.makeValue("/root/send/option" , model.getValue("/root/init/env/option"));
  1881. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  1882. model.makeValue("/root/send/fromprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  1883. model.makeValue("/root/send/toprcpdd" , grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("dschdd")));
  1884. //2009-11-02 오후 2:18:45 강지훈 수정
  1885. model.makeValue("/root/send/bfopentest", bfopentest);
  1886. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  1887. if(bfopentest == "Y" && emrflag != "E"){
  1888. model.makeValue("/root/send/midbftest", "Y");
  1889. }
  1890. else{
  1891. model.makeValue("/root/send/midbftest", "N");
  1892. }
  1893. //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  1894. //2014/03/18 이정택 수정
  1895. //if (grup_paging.visible && model.getValue("/root/init/paging/fromdd") != "" && model.getValue("/root/init/paging/todd") != "") {
  1896. if(model.getValue("/root/init/pagingyn")=="Y" && model.getValue("/root/init/paging/fromdd") != "" && model.getValue("/root/init/paging/todd") != "") {
  1897. //2014/03/18 이정택 수정
  1898. model.makeValue("/root/send/pagingyn", "Y");
  1899. var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1900. if(ViewMode == "ThumbView"){
  1901. model.makeValue("/root/send/recall", "Y"); //추가-kys-20100331
  1902. model.setValue("/root/init/recall", "Y"); //추가-kys-20100331
  1903. }
  1904. model.makeValue("/root/send/pagingfromdd", model.getValue("/root/init/paging/fromdd"));
  1905. model.makeValue("/root/send/pagingtodd", model.getValue("/root/init/paging/todd"));
  1906. }
  1907. if (multirecyn == "N")
  1908. {
  1909. if(submit("TRMRI03004"))
  1910. {
  1911. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1912. if (certnodeList.length > 1 && certnodeList.length >= nodeposcnt)
  1913. {
  1914. multirecyn = "Y";
  1915. if (prevflag == "Y")
  1916. nodeposcnt = certnodeList.length;
  1917. else
  1918. nodeposcnt = 1;
  1919. }
  1920. else
  1921. {
  1922. multirecyn = "N";
  1923. nodeposcnt = 1;
  1924. }
  1925. iviewerIemr.window.javascript.cleanViewer();
  1926. if (model.getValue("/root/init/recall") == "Y")
  1927. {
  1928. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1929. }
  1930. else
  1931. {
  1932. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1933. //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  1934. }
  1935. model.setValue("/root/init/recall", "N");
  1936. }
  1937. }
  1938. else
  1939. {
  1940. iviewerIemr.window.javascript.cleanViewer();
  1941. //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  1942. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  1943. }
  1944. }
  1945. }
  1946. }
  1947. /**
  1948. * @desc : 환자번호 정보조회
  1949. * @id :
  1950. * @event : onkeypress
  1951. * @return : void
  1952. * @authur : 박종훈(튜닝)
  1953. */
  1954. function fPidKeyPress()
  1955. {
  1956. // sysf_trace("***** fPidKeyPress *****");
  1957. //TRMRC00501 input dataset
  1958. ds_source.addRow();
  1959. ds_source.setColumn(0, "srchcond", "1");
  1960. ds_source.setColumn(0, "pid", grup_left.roundrect2.ipt_pid.value);
  1961. grup_left.roundrect2.ipt_pid.updateToDataset();
  1962. //환자등록번호 체크
  1963. if(grup_left.roundrect2.ipt_pid.value.length >= 1 ){
  1964. ds_result_patinfo.clearData();
  1965. ds_patinfolist.clearData();
  1966. ds_patinfolist.addRow();
  1967. //TRMRC00501 output dataset
  1968. var objColInfo = new Array();
  1969. objColInfo.push();
  1970. dsf_createDs("ds_inform_item", [{col: "pid", type:"string", size:256}
  1971. , {col: "hngnm", type:"string", size:256}
  1972. , {col: "rrgstno1", type:"string", size:256}
  1973. , {col: "rrgstno2", type:"string", size:256}
  1974. , {col: "bindpid", type:"string", size:256}]);
  1975. dsf_createDs("ds_inform_itemi", [{col: "pid", type:"string", size:256}
  1976. , {col: "indd", type:"string", size:256}
  1977. , {col: "dschdd", type:"string", size:256}
  1978. , {col: "medispclid", type:"string", size:256}
  1979. , {col: "cretno", type:"string", size:256}]);
  1980. dsf_createDs("ds_inform_itemo", [{col: "pid", type:"string", size:256}
  1981. , {col: "orddeptcd", type:"string", size:256}
  1982. , {col: "orgorddd", type:"string", size:256}
  1983. , {col: "orddrid", type:"string", size:256}
  1984. , {col: "cretno", type:"string", size:256}]);
  1985. var oParam = {};
  1986. oParam.id = "TRMRC00501";
  1987. oParam.service = "chrtmngtapp.BaseInfoMngt";
  1988. oParam.method = "reqGetDblNoPidList";
  1989. oParam.inds = "item=ds_source";
  1990. oParam.outds = "ds_inform_item=item ds_inform_itemi=itemi ds_inform_itemo=itemo";
  1991. oParam.async = false;
  1992. oParam.callback = "cf_TRMRC00501"
  1993. tranf_submit(oParam);
  1994. if(arErrorCode.pop("TRMRC00501") > -1){
  1995. var sBindPid = ds_inform_item.getColumn(0, "bindpid");
  1996. if( sBindPid != '-' && !utlf_isNull(sBindPid) && sBindPid != ' ' ){
  1997. var sPid = ds_inform_item.getColumn(0, "pid");
  1998. var sHngnm = ds_inform_item.getColumn(0, "hngnm");
  1999. var retValue = sysf_messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  2000. if( retValue == '6' ){
  2001. grup_left.roundrect2.ipt_pid.value = sBindPid;
  2002. ds_source.setColumn(0, "srchcond", "1");
  2003. ds_source.setColumn(0, "pid", grup_left.roundrect2.ipt_pid.value);
  2004. grup_left.roundrect2.ipt_pid.updateToDataset();
  2005. var oParam = {};
  2006. oParam.id = "TRPMC02500";
  2007. oParam.service = "patinfomngtapp.PatBaseInfo";
  2008. oParam.method = "reqGetPatInfo";
  2009. oParam.inds = "req=ds_source";
  2010. oParam.outds = "ds_result_patinfo=patinfolist";
  2011. oParam.async = false;
  2012. oParam.callback = "cf_TRPMC02500"
  2013. tranf_submit(oParam);
  2014. if(arErrorCode.pop("cf_TRPMC02500") > -1){
  2015. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  2016. if( ds_result_patinfo.rowcount > 0 ){
  2017. dsf_copyDs(ds_patinfolist, ds_result_patinfo);
  2018. if( utlf_isNull(ds_patinfolist.getColumnInfo("agesex")) ){
  2019. ds_patinfolist.addColumn("agesex", "string");
  2020. ds_patinfolist.setColumn(0, "agesex", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  2021. }else{
  2022. ds_patinfolist.setColumn(0, "agesex", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  2023. }
  2024. popupendflag = "ok";
  2025. if( frmf_checkOpener() )
  2026. oprnerId = opener.frmf_getScreenID();
  2027. if(oprnerId == "SPMRC03200"){
  2028. var keyparam = ds_patinfolist.getColumn(0, "pid") + "▦" + ds_patinfolist.getColumn(0, "hngnm") + "▦" + ds_patinfolist.getColumn(0, "sex") + "▦" + ds_patinfolist.getColumn(0, "age") + "▩";
  2029. opener.fEnterPatinfo(keyparam);
  2030. }
  2031. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  2032. fChkBookmark();
  2033. return true;
  2034. }else{
  2035. ds_patinfolist.clearData();
  2036. ds_patinfolist.addRow();
  2037. sysf_messageBox("없는 등록번호 입니다.", "E999", "");
  2038. return false;
  2039. }
  2040. }
  2041. }else{
  2042. var pAge = utlf_getFullAge(ds_inform_item.getColumn(0, "rrgstno1")+ds_inform_item.getColumn(0, "rrgstno2"));
  2043. var pGender = utlf_getSex(ds_inform_item.getColumn(0, "rrgstno1")+ds_inform_item.getColumn(0, "rrgstno2"));
  2044. ds_patinfolist.setColumn(0, "pid", sPid);
  2045. ds_patinfolist.setColumn(0, "agesex", pGender + "/" + pAge);
  2046. ds_patinfolist.setColumn(0, "hngnm", sHngnm);
  2047. ds_patinfolist.setColumn(0, "rrgstno1", ds_inform_item.getColumn(0, "rrgstno1"));
  2048. ds_patinfolist.setColumn(0, "rrgstno2", ds_inform_item.getColumn(0, "rrgstno2"));
  2049. //화면 초기화!!
  2050. //btn_init.dispatch("DOMActivate");
  2051. return true;
  2052. }
  2053. }else{
  2054. // 2014/03/17 이정택 서브밋 새로 생성
  2055. //TRMRC00501 output dataset
  2056. var oParam = {};
  2057. oParam.id = "TRMRI00416";
  2058. oParam.service = "recmngtapp.IntegrityRec";
  2059. oParam.method = "reqGetPatInfo";
  2060. oParam.inds = "req=ds_source";
  2061. oParam.outds = "ds_result_patinfo=item";
  2062. oParam.async = false;
  2063. oParam.callback = "cf_TRMRI00416"
  2064. tranf_submit(oParam);
  2065. if(arErrorCode.pop("TRMRI00416") > -1){
  2066. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  2067. if( ds_result_patinfo.rowcount > 0 ){
  2068. dsf_copyDs(ds_patinfolist, ds_result_patinfo);
  2069. if( utlf_isNull(ds_patinfolist.getColumnInfo("agesex")) ){
  2070. ds_patinfolist.addColumn("agesex", "string");
  2071. ds_patinfolist.setColumn(0, "agesex", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  2072. }else{
  2073. ds_patinfolist.setColumn(0, "agesex", ds_patinfolist.getColumn(0, "sex") + "/" + ds_patinfolist.getColumn(0, "age"));
  2074. }
  2075. popupendflag = "ok";
  2076. if( frmf_checkOpener() )
  2077. oprnerId = opener.frmf_getScreenID();
  2078. if(oprnerId == "SPMRC03200"){
  2079. var keyparam = ds_patinfolist.getColumn(0, "pid") + "▦" + ds_patinfolist.getColumn(0, "hngnm") + "▦" + ds_patinfolist.getColumn(0, "sex") + "▦" + ds_patinfolist.getColumn(0, "age") + "▩";
  2080. opener.fEnterPatinfo(keyparam);
  2081. }
  2082. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  2083. fChkBookmark();
  2084. return true;
  2085. }else{
  2086. ds_patinfolist.clearData();
  2087. ds_patinfolist.addRow();
  2088. sysf_messageBox("없는 등록번호 입니다.", "E999", "");
  2089. return false;
  2090. }
  2091. }
  2092. }
  2093. }
  2094. //temp dataset delete
  2095. dsf_deleteDs("ds_inform_item");
  2096. dsf_deleteDs("ds_inform_itemo");
  2097. dsf_deleteDs("ds_inform_itemi");
  2098. }else{
  2099. sysf_messageBox("등록번호를 정확히", "C001");
  2100. return false;
  2101. }
  2102. }
  2103. function cf_TRMRC00501(sSvcId, nErrorCode, sErrorMsg){
  2104. arErrorCode.push(sSvcId, nErrorCode);
  2105. //sysf_trace("***** cf_TRMRC00501 *****");
  2106. }
  2107. function cf_TRPMC02500(sSvcId, nErrorCode, sErrorMsg){
  2108. arErrorCode.push(sSvcId, nErrorCode);
  2109. //sysf_trace("***** cf_TRPMC02500 *****");
  2110. }
  2111. function cf_TRMRI00416(sSvcId, nErrorCode, sErrorMsg){
  2112. arErrorCode.push(sSvcId, nErrorCode);
  2113. //sysf_trace("***** cf_TRMRI00416 *****");
  2114. }
  2115. /**
  2116. * @desc : 환자이름 정보조회
  2117. * @id :
  2118. * @event : onkeypress
  2119. * @return : void
  2120. * @authur : 박종훈
  2121. */
  2122. function fPnmKeyPress()
  2123. {
  2124. if( ds_source.getRowCount() == 0 ) ds_source.addRow();
  2125. grup_left.roundrect2.ipt_hngnm.updateToDataset();
  2126. ds_source.setColumn(0, "srchcond", "2");
  2127. ds_source.setColumn(0, "hngnm", grup_left.roundrect2.ipt_hngnm.value);
  2128. var event = new ClickEventInfo();
  2129. grup_left.roundrect2.btn_search.onclick.fireEvent(grup_left.roundrect2.btn_search, event);
  2130. }
  2131. /**
  2132. * @desc : 환자주민번호 정보조회
  2133. * @id :
  2134. * @event : onkeypress
  2135. * @return : void
  2136. * @authur : 박종훈
  2137. */
  2138. function fRgstnoKeyPress()
  2139. {
  2140. ds_source.setColumn(0, "srchcond", "3");
  2141. ds_source.setColumn(0, "rrgstno1", grup_left.roundrect2.ipt_rrgstno1.text);
  2142. ds_source.setColumn(0, "rrgstno2", grup_left.roundrect2.ipt_rrgstno2.value);
  2143. ds_sourcd.addColumn("autoflag", "string");
  2144. ds_source.setColumn(0, "autoflag", "Y");
  2145. var event = new ClickEventInfo();
  2146. grup_left.roundrect2.btn_search.onclick.fireEvent(grup_left.roundrect2.btn_search, event);
  2147. }
  2148. /**
  2149. * @desc : 환자주민번호 뒷자리 정보조회
  2150. * @id :
  2151. * @event : onkeypress
  2152. * @return : void
  2153. * @authur : 강지훈
  2154. */
  2155. function fRgstno2KeyPress(e){
  2156. if(e.keycode == "13") {
  2157. ds_source.setColumn(0, "srchcond", "3");
  2158. ds_source.setColumn(0, "rrgstno1", grup_left.roundrect2.ipt_rrgstno1.text);
  2159. ds_source.setColumn(0, "rrgstno2", grup_left.roundrect2.ipt_rrgstno2.value);
  2160. ds_source.addColumn("autoflag", "string");
  2161. ds_source.setColumn(0, "autoflag", "Y");
  2162. fPopPtinfo();
  2163. }
  2164. }
  2165. /**
  2166. * @desc : 환자정보조회 팝업
  2167. * @id :
  2168. * @event : DOMActivate
  2169. * @return : void
  2170. * @authur : 박종훈
  2171. */
  2172. function fPopPtinfo()
  2173. {
  2174. //2010.03.25 박종훈 추가(요청번호 : 11804)
  2175. if (!utlf_isNull(grup_left.roundrect2.ipt_pid.text))
  2176. {
  2177. ds_source.setColumn(0, "srchcond", "1");
  2178. ds_source.setColumn(0, "pid", grup_left.roundrect2.ipt_pid.text);
  2179. }
  2180. else if (!utlf_isNull(grup_left.roundrect2.ipt_hngnm.text))
  2181. {
  2182. if (!utlf_isNull(grup_left.roundrect2.ipt_rrgstno1.text))
  2183. {
  2184. ds_source.setColumn(0, "srchcond", "4");
  2185. ds_source.setColumn(0, "hngnm", grup_left.roundrect2.ipt_hngnm.text);
  2186. ds_source.setColumn(0, "rrgstno1", grup_left.roundrect2.ipt_rrgstno1.text);
  2187. ds_source.setColumn(0, "rrgstno2", grup_left.roundrect2.ipt_rrgstno2.value);
  2188. }
  2189. else
  2190. {
  2191. ds_source.setColumn(0, "srchcond", "2");
  2192. ds_source.setColumn(0, "hngnm", grup_left.roundrect2.ipt_hngnm.text);
  2193. }
  2194. }
  2195. else if (!utlf_isNull(grup_left.roundrect2.ipt_rrgstno1.text) || !utlf_isNull(grup_left.roundrect2.ipt_rrgstno2.value))
  2196. {
  2197. ds_source.setColumn(0, "srchcond", "3");
  2198. ds_source.setColumn(0, "rrgstno1", grup_left.roundrect2.ipt_rrgstno1.text);
  2199. ds_source.setColumn(0, "rrgstno2", grup_left.roundrect2.ipt_rrgstno2.value);
  2200. }
  2201. var objArgs = new Object();
  2202. objArgs.arg_ds_send = ds_source;
  2203. frmf_modal("SPPMC02500", "SPPMC02500", objArgs, null, "1", "150", "150", null, null, null, null, null, "M");
  2204. //2010.03.25 박종훈 추가(환자 정보 조회 후 자동 조회)
  2205. var e = new ClickEventInfo();
  2206. grup_left.roundrect2.button3.onclick.fireEvent( grup_left.roundrect2.button3, e);
  2207. //button3.dispatch("DOMActivate");
  2208. //model.resetInstanceNode("/root/source");
  2209. //2009-11-14 오전 11:57:20 강지훈 추가
  2210. ds_patinfolist.addColumn("agesex", "string");
  2211. ds_patinfolist.setColumn(0, "agesex", utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "sex")) + "/" + utlf_transNullToEmpty(ds_patinfolist.getColumn(0, "age")));
  2212. }
  2213. /**
  2214. * @desc : 화면닫기(처방에서 사용)
  2215. * @id :
  2216. * @event : xforms-select
  2217. * @return : void
  2218. * @authur : 박종훈
  2219. */
  2220. function fClose()
  2221. {
  2222. this.close();
  2223. }
  2224. /* @group : 폴더 존재여부 파악
  2225. * @ver : 2007.01.06
  2226. * @by : 박종훈
  2227. * @-----------------------------------
  2228. * @type : function
  2229. * @access : public
  2230. * @desc :
  2231. */
  2232. function fExistFolder(foldernm)
  2233. {
  2234. var objExtCommon = new ExtCommon();
  2235. if(utlf_isNull(foldernm)){
  2236. return;
  2237. }
  2238. var folderDept = foldernm.split("\\");
  2239. var currentPos = folderDept[0];
  2240. for(var i =1; i<folderDept.length ; i++){
  2241. if(utlf_isNull(folderDept[i])){
  2242. break;
  2243. }
  2244. currentPos += ("\\" + folderDept[i]);
  2245. objExtCommon.checkDirectory(currentPos, 1);
  2246. }
  2247. var objFileList = VirtualFile.getFileList(foldernm, "*", VirtualFile.findFileOnly);
  2248. for(var i=0; i<objFileList.length; i++){
  2249. sFileName = objFileList[i].filename;
  2250. bDeleteFile = VirtualFile.delete(foldernm+"\\"+sFileName);
  2251. }
  2252. /*
  2253. var fso, folder, s;
  2254. // fso = inff_fileSystemObject();
  2255. var folder, s;
  2256. try
  2257. {
  2258. folder = fso.GetFolder(foldernm);
  2259. s = folder.DateCreated;
  2260. if (!utlf_isNull(s))
  2261. {
  2262. fDelFolder(foldernm);
  2263. fMakeFolder(foldernm);
  2264. }
  2265. }
  2266. catch (e)
  2267. {
  2268. fMakeFolder(foldernm);
  2269. }
  2270. */
  2271. }
  2272. /* @group : 폴더 생성
  2273. * @ver : 2007.01.06
  2274. * @by : 박종훈
  2275. * @-----------------------------------
  2276. * @type : function
  2277. * @access : public
  2278. * @desc :
  2279. */
  2280. function fMakeFolder(foldernm)
  2281. {
  2282. //var fso = inff_fileSystemObject();//new ActiveXObject("Scripting.FileSystemObject");
  2283. var check = true;
  2284. while(check){
  2285. try
  2286. {
  2287. var a = fso.CreateFolder(foldernm);
  2288. check = false;
  2289. }
  2290. catch (e)
  2291. {
  2292. check = true;
  2293. }
  2294. }
  2295. }
  2296. /* @group : 폴더 삭제
  2297. * @ver : 2007.01.06
  2298. * @by : 박종훈
  2299. * @-----------------------------------
  2300. * @type : function
  2301. * @access : public
  2302. * @desc :
  2303. */
  2304. function fDelFolder(foldernm)
  2305. {
  2306. // var fso;
  2307. // fso = inff_fileSystemObject();//new ActiveXObject("Scripting.FileSystemObject");
  2308. fso.DeleteFolder(foldernm);
  2309. }
  2310. /* @group : BIT모듈로부터 키값 받아옴
  2311. * @ver : 2008.01.17
  2312. * @by : 박종훈
  2313. * @-----------------------------------
  2314. * @type : function
  2315. * @access : public
  2316. * @desc :
  2317. */
  2318. function fSetCertRecKey(key)
  2319. {
  2320. frmf_setParameter("SPMRI02400_certinfo", key);
  2321. frmf_modal("SPMRI02400", "SPMRI02400", null, null, null, null, null, null, null, null, null, null, "M");
  2322. }
  2323. /**
  2324. * @desc : 사본발행 신청
  2325. * @id :
  2326. * @event : xforms-ready
  2327. * @return : void
  2328. * @authur : 박종훈
  2329. */
  2330. function fAppcopy()
  2331. {
  2332. frmf_setParameter("SMMRC03000_pid", grup_left.roundrect2.ipt_pid.value);
  2333. frmf_open("SMMRC03000", "SMMRC03000", null, null, null, null, null, null, null, null, null, null, "M");
  2334. }
  2335. function fAppreq()
  2336. {
  2337. frmf_setParameter("SMMRI08000_param_pid", grup_left.roundrect2.ipt_pid.value);
  2338. frmf_setParameter("SMMRI08000_param_pnm", grup_left.roundrect2.ipt_hngnm.value);
  2339. frmf_open("SMMRI08000", "SMMRI08000", null, null, null, null, null, null, null, null, null, null, "M");
  2340. }
  2341. /**
  2342. * @desc : 질병 및 수술 인덱스 화면 연결
  2343. * @id :
  2344. * @event : DOMActivate
  2345. * @return : void
  2346. * @authur : 박종훈
  2347. */
  2348. function fDiagOprIndxLnk()
  2349. {
  2350. frmf_setParameter("SMMRD00400_pid", grup_left.roundrect2.ipt_pid.value);
  2351. frmf_open("SMMRD00700", "SMMRD00700", null, null, null, null, null, null, null, null, null, null, "M");
  2352. }
  2353. /**
  2354. * @desc : 기록 조회영역 최대 최소화
  2355. * @id :
  2356. * @event : DOMActivate
  2357. * @return : void
  2358. * @authur : 박종훈
  2359. */
  2360. function fMaxMin()
  2361. {
  2362. var leftwidth = grup_left.position.width;
  2363. if (leftwidth == 0)
  2364. {
  2365. /* 화면을 줄일때는 자식부터 변경 후 부모 변경 */
  2366. btn_minmax.class = "icon_left";
  2367. grup_left.position2.right = 343;
  2368. //grup_right.iviewerIemr.setChartViewerSize(902, parseInt(grup_right.iviewerIemr.position2.height));
  2369. //grup_right.iviewerIemr.position2.width = 902;
  2370. // grup_right.position2.width = 906;
  2371. grup_right.position2.left = 345;
  2372. btn_minmax.tooltiptext = "최대화";
  2373. }
  2374. else
  2375. {
  2376. btn_minmax.class = "icon_right";
  2377. grup_left.position.right = 0;
  2378. grup_right.position.left = 0;
  2379. //grup_right.position.width = 1251;
  2380. //grup_right.iviewerIemr.position.width = 1247;
  2381. //grup_right.iviewerIemr.setChartViewerSize(parseInt(grup_right.iviewerIemr.position.width), parseInt(grup_right.iviewerIemr.position.height));
  2382. btn_minmax.tooltiptext = "이전크기로";
  2383. }
  2384. }
  2385. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  2386. /**
  2387. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  2388. * @id :
  2389. * @event : onclick
  2390. * @return : void
  2391. * @authur : 박종훈
  2392. */
  2393. function fGetNextEmrImgRec()
  2394. {
  2395. //var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  2396. var instcd = ds_init_env.getColumn(0, "instcd");
  2397. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  2398. //var foldernm = "C:\\Certrec" + sysf_getUserInfo("dutplceinstcd");
  2399. //--20130418 김동준 end
  2400. var recall = ds_init_etc.getColumn(0, "recall");
  2401. if (ds_tmpinicert_iniinfo.getRowCount() <= 0)
  2402. {
  2403. return;
  2404. }
  2405. else if(ds_tmpinicert_iniinfo.getRowCount() > 1)
  2406. {
  2407. ds_init_etc.setColumn(0, "recall", "N");
  2408. }
  2409. var emrpath = "";
  2410. var emrorddate = "";
  2411. var emrformnm = "";
  2412. var emrformcd = "";
  2413. var emrdeptnm = "";
  2414. var emrdeptcd = "";
  2415. var emrpage = "";
  2416. var emrhiddenmsg = "";
  2417. var recrowno = "";
  2418. var k = "";
  2419. var pid = "";
  2420. var ptnm = "";
  2421. var depthngnm = "";
  2422. var deptengabbr = "";
  2423. var idcrdeptengabbr = "";
  2424. var rgstno = "";
  2425. var sa = "";
  2426. var disporddd = "";
  2427. var orddd = "";
  2428. var drid = "";
  2429. var roomcd = "";
  2430. var roomcdicdr = "";
  2431. var ordtype = "";
  2432. var chosflag = "";
  2433. var orddeptcd = "";
  2434. var icdrorddeptcd = "";
  2435. var signflag = "";
  2436. var imgflag = "";
  2437. var langflag = "";
  2438. var tmptreatno = "";
  2439. var tmpiformcd = "";
  2440. var signno = 0;
  2441. var formcd = "";
  2442. var srcformcd = "";
  2443. var formnm = "";
  2444. var formprogflag = "";
  2445. var recdt = "";
  2446. var recdd = "";
  2447. var wardheader = "";
  2448. var dateheader = "";
  2449. var doctorheader = "";
  2450. var printheader = "";
  2451. var pageheader = "";
  2452. var imgepath = "";
  2453. var formrecdt = "";
  2454. var fstrgstdt = "";
  2455. var lastupdtdt = "";
  2456. var staffconfirmdt = "";
  2457. var fstrgstrusrnm = "";
  2458. var lastupdtrusrnm = "";
  2459. var erdt = "";
  2460. var ervisittm = "";
  2461. var staffnmheader = "";
  2462. var staffnm = "";
  2463. var emrrecusrnmheader = "";
  2464. var emrrecusrnm = "";
  2465. var indd = "";
  2466. var dschdd = "";
  2467. var inorddepthngnm = "";
  2468. var dschorddepthngnm = "";
  2469. var incnt = "";
  2470. var mainyn = "";
  2471. var rowno = "";
  2472. //2013/02/15 소스 머지 시작(추가)
  2473. var surgeon = "";
  2474. var cover_header = "";
  2475. var cover_footer = "";
  2476. var local_path = "";
  2477. //2013/02/15 소스머지 끝
  2478. var body_header = "";
  2479. var body_footer = "";
  2480. var makebodyfilecnt =0;
  2481. var default_cover_header = "";
  2482. var default_cover_footer = "";
  2483. var cover_header1 = "";
  2484. var cover_header2 = "";
  2485. var cover_header3 = "";
  2486. var cover_header4 = "";
  2487. var cover_header10 = "";
  2488. var cover_footer1 = "";
  2489. var cover_footer2 = "";
  2490. var cover_header_filenm = "";
  2491. var cover_footer_filenm = "";
  2492. var prtnunm = sysf_getUserInfo("usernm");
  2493. var prtndeptnm = "";
  2494. var getdate = utlf_getCurrentDate();
  2495. var gettime = utlf_getCurrentTime();
  2496. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  2497. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  2498. var SMMRI03000_privateflag = frmf_getParameter("SMMRI03000_privateflag");
  2499. var prtdt = dateprnt + " " + timeprnt;
  2500. var signgenrflag = ""; //20100615-kys
  2501. var careinrmdt = ""; //20100615-kys
  2502. fExistFolder(lgv_Foldernm);
  2503. grup_right.iviewerIemr.refreshFalse();
  2504. for(var i = 0; i < ds_tmpinicert_iniinfo.getRowCount(); i++)
  2505. {
  2506. signno = ds_tmpinicert_iniinfo.getColumn(i, "signno");
  2507. formcd = ds_tmpinicert_iniinfo.getColumn(i, "formcd");
  2508. srcformcd = ds_tmpinicert_iniinfo.getColumn(i, "srcformcd");
  2509. formnm = ds_tmpinicert_iniinfo.getColumn(i, "formnm");
  2510. formprogflag = ds_tmpinicert_iniinfo.getColumn(i, "formprogflag");
  2511. recdt = ds_tmpinicert_iniinfo.getColumn(i, "recdt");
  2512. recdd = ds_tmpinicert_iniinfo.getColumn(i, "recdd");
  2513. trans = ds_tmpinicert_iniinfo.getColumn(i, "trans");
  2514. ptnm = ds_tmpinicert_iniinfo.getColumn(i, "ptnm");
  2515. pid = ds_tmpinicert_iniinfo.getColumn(i, "pid");
  2516. rgstno = ds_tmpinicert_iniinfo.getColumn(i, "rgstno");
  2517. depthngnm = ds_tmpinicert_iniinfo.getColumn(i, "depthngnm");
  2518. deptengabbr = ds_tmpinicert_iniinfo.getColumn(i, "deptengabbr");
  2519. idcrdeptengabbr = ds_tmpinicert_iniinfo.getColumn(i, "icdrdeptengabbr");
  2520. sa = ds_tmpinicert_iniinfo.getColumn(i, "sa");
  2521. disporddd = ds_tmpinicert_iniinfo.getColumn(i, "disporddd");
  2522. orddd = ds_tmpinicert_iniinfo.getColumn(i, "orddd");
  2523. drid = ds_tmpinicert_iniinfo.getColumn(i, "drid");
  2524. icdrdrid = ds_tmpinicert_iniinfo.getColumn(i, "icdrdrid");
  2525. roomcd = ds_tmpinicert_iniinfo.getColumn(i, "roomcd");
  2526. icdrroomcd = ds_tmpinicert_iniinfo.getColumn(i, "icdrroomcd");
  2527. ordtype = ds_tmpinicert_iniinfo.getColumn(i, "ordtype");
  2528. chosflag = ds_tmpinicert_iniinfo.getColumn(i, "chosflag");
  2529. orddeptcd = ds_tmpinicert_iniinfo.getColumn(i, "orddeptcd");
  2530. signflag = ds_tmpinicert_iniinfo.getColumn(i, "signflag");
  2531. imgflag = ds_tmpinicert_iniinfo.getColumn(i, "imgflag");
  2532. langflag = ds_tmpinicert_iniinfo.getColumn(i, "langflag");
  2533. formrecdt = ds_tmpinicert_iniinfo.getColumn(i, "formrecdt");
  2534. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  2535. fstrgstdt = ds_tmpinicert_iniinfo.getColumn(i, "fstrgstdt");
  2536. lastupdtdt = ds_tmpinicert_iniinfo.getColumn(i, "lastupdtdt");
  2537. staffconfirmdt = ds_tmpinicert_iniinfo.getColumn(i, "staffconfirmdt");
  2538. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  2539. if(sysf_getUserInfo("dutplceinstcd") == "012"){
  2540. fstrgstrusrnm = "◈ 작 성 자 : " + ds_tmpinicert_iniinfo.getColumn(i, "fstrgstrusrnm");
  2541. if(!utlf_isNull(fstrgstrusrnm))
  2542. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  2543. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  2544. fstrgstrusrnm = ds_tmpinicert_iniinfo.getColumn(i, "fstrgstrusrnm");
  2545. lastupdtrusrnm = ds_tmpinicert_iniinfo.getColumn(i, "lastupdtrusrnm");
  2546. }
  2547. erdt = ds_tmpinicert_iniinfo.getColumn(i, "erdt");
  2548. ervisittm = ds_tmpinicert_iniinfo.getColumn(i, "ervisittm");
  2549. staffnm = ds_tmpinicert_iniinfo.getColumn(i, "staffnm");
  2550. surgeon = staffnm;
  2551. emrrecusrnm = ds_tmpinicert_iniinfo.getColumn(i, "emrrecusrnm");
  2552. indd = ds_tmpinicert_iniinfo.getColumn(i, "indd");
  2553. dschdd = ds_tmpinicert_iniinfo.getColumn(i, "dschdd");
  2554. inorddepthngnm = ds_tmpinicert_iniinfo.getColumn(i, "inorddepthngnm");
  2555. dschorddepthngnm = ds_tmpinicert_iniinfo.getColumn(i, "dschorddepthngnm");
  2556. mainyn = ds_tmpinicert_iniinfo.getColumn(i, "mainyn");
  2557. rowno = ds_tmpinicert_iniinfo.getColumn(i, "rowno");
  2558. incnt = ds_tmpinicert_iniinfo.getColumn(i, "incnt");
  2559. if(!utlf_isNull(incnt))
  2560. incnt += " 회차";
  2561. signgenrflag = ds_tmpinicert_iniinfo.getColumn(i, "signgenrflag"); //20100615-kys
  2562. careinrmdt = ds_tmpinicert_iniinfo.getColumn(i, "careinrmdt"); //20100615-kys
  2563. var ininfo = indd + " / " + inorddepthngnm;
  2564. if(!utlf_isNull(erdt))
  2565. ininfo += " (응급실 내원일 : " + erdt + ")";
  2566. var dschinfo = dschdd + " / " + dschorddepthngnm;
  2567. var formnmarr = formnm.split("\n");
  2568. var topformnm = "";
  2569. var botformnm = "";
  2570. if (formnmarr.length == 1)
  2571. {
  2572. topformnm = formnmarr[0];
  2573. }
  2574. else if (formnmarr.length == 2)
  2575. {
  2576. topformnm = formnmarr[0];
  2577. botformnm = formnmarr[1];
  2578. }
  2579. else
  2580. {
  2581. topformnm = formnm;
  2582. }
  2583. //2009-06-02 등록번호 "-" 병원별 제거
  2584. var pidynhcd = ds_pidynhcd.getColumn(0, "hardcd");
  2585. if (pidynhcd == "Y")
  2586. {
  2587. for(var k = pid.length; k <= 8; k++)
  2588. {
  2589. if(k < 8){
  2590. pid = "0"+pid;
  2591. }
  2592. }
  2593. var str1 = pid.substr(0, 3);
  2594. var str2 = pid.substr(3, 2);
  2595. var str3 = pid.substr(5, 2);
  2596. var str4 = pid.substr(7, 1);
  2597. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  2598. }
  2599. else
  2600. {
  2601. tmppid = pid;
  2602. }
  2603. if (chosflag == "O" || chosflag == "S")
  2604. {
  2605. wardheader = "진료과 : ";
  2606. }
  2607. else
  2608. {
  2609. wardheader = "병실 : ";
  2610. }
  2611. if (langflag == "KO")
  2612. {
  2613. if (chosflag == "O" || chosflag == "S")
  2614. {
  2615. wardheader = "진료과 : ";
  2616. }
  2617. else
  2618. {
  2619. wardheader = "병실 : ";
  2620. }
  2621. dateheader = "진료기간 : ";
  2622. doctorheader = "주치의 : ";
  2623. printheader = "출력 : ";
  2624. prtndeptnm = sysf_getUserInfo("dutplcenm");
  2625. //imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  2626. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + ".jpg"
  2627. pageheader = "페이지 : ";
  2628. }
  2629. else
  2630. {
  2631. if (chosflag == "O" || chosflag == "S")
  2632. {
  2633. wardheader = "Dept : ";
  2634. }
  2635. else
  2636. {
  2637. wardheader = "Room : ";
  2638. }
  2639. dateheader = "Date : ";
  2640. doctorheader = "Doctor : ";
  2641. printheader = "Print date : ";
  2642. prtndeptnm = sysf_getUserInfo("deptengnm");
  2643. //imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  2644. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + "e.jpg"
  2645. if (utlf_isNull(prtndeptnm))
  2646. {
  2647. prtndeptnm = sysf_getUserInfo("dutplcenm");
  2648. }
  2649. pageheader = "Page : ";
  2650. }
  2651. if (imgflag == "N")
  2652. {
  2653. if(utlf_isNull(trans))
  2654. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  2655. // SMMRC03100.xjs 6378line 동일
  2656. //Cross 조회 시 기록 이미지 조회 되지 않는 현상 수정
  2657. var sInstcd = sysf_getUserInfo("dutplceinstcd");
  2658. var bCross = false;
  2659. if( !utlf_isNull(ds_init_env.getColumn(0, "instcd")) && sInstcd != ds_init_env.getColumn(0, "instcd") ){
  2660. sInstcd = ds_init_env.getColumn(0, "instcd");
  2661. bCross = true;
  2662. }
  2663. if( trans.indexOf("&amp;instcd=&amp;") > -1 ){
  2664. trans = trans.replace("&amp;instcd=&amp;", "&amp;instcd="+sInstcd+"&amp;");
  2665. }else if( trans.indexOf("&amp;business_id=") > -1 && !(trans.indexOf("&amp;instcd=03") > -1) ){
  2666. trans = trans.replace("&amp;business_id=", "&amp;instcd="+sInstcd+"&amp;business_id=");
  2667. }else if( bCross && trans.indexOf("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;") > -1 ){
  2668. trans = trans.replace("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;", "&amp;instcd="+sInstcd+"&amp;");
  2669. }
  2670. var ininm = "cmc";
  2671. if( instcd == "032"){
  2672. switch(srcformcd)
  2673. {
  2674. case "0000000003"://입원초진
  2675. cover_header = "emr/recmngtxp/html/cover_header2_032.html";
  2676. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2677. deptengabbr = icdrdeptengabbr;
  2678. roomcd = icdrroomcd;
  2679. drid = icdrdrid;
  2680. break;
  2681. case "0000000676"://수술기록
  2682. cover_header = "emr/recmngtxp/html/cover_header_032.html";
  2683. cover_footer = "emr/recmngtxp/html/cover_footer2.html";
  2684. break;
  2685. case "0000000679"://응급실기록
  2686. cover_header = "emr/recmngtxp/html/cover_header3_032.html";
  2687. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2688. break;
  2689. case "0000000680"://입퇴원요약
  2690. cover_header = "emr/recmngtxp/html/cover_header1_032.html";
  2691. cover_footer = "emr/recmngtxp/html/cover_footer1.html";
  2692. break;
  2693. case "0000002022"://마취기록지
  2694. cover_header = "emr/recmngtxp/html/cover_header4_032.html";
  2695. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2696. break;
  2697. //case "0000003325"://DSC기록
  2698. case "0000003169"://Brief OP Note
  2699. cover_header = "emr/recmngtxp/html/cover_header_032.html";
  2700. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2701. break;
  2702. default:
  2703. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  2704. cover_header = "emr/recmngtxp/html/cover_header10_032.html";
  2705. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2706. }else{
  2707. cover_header = "emr/recmngtxp/html/cover_header_032.html";
  2708. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2709. }
  2710. break;
  2711. }
  2712. }else{
  2713. switch(srcformcd)
  2714. {
  2715. case "0000000003"://입원초진
  2716. cover_header = "emr/recmngtxp/html/cover_header2.html";
  2717. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2718. deptengabbr = icdrdeptengabbr;
  2719. roomcd = icdrroomcd;
  2720. drid = icdrdrid;
  2721. break;
  2722. case "0000000676"://수술기록
  2723. cover_header = "emr/recmngtxp/html/cover_header.html";
  2724. cover_footer = "emr/recmngtxp/html/cover_footer2.html";
  2725. break;
  2726. case "0000000679"://응급실기록
  2727. cover_header = "emr/recmngtxp/html/cover_header3.html";
  2728. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2729. break;
  2730. case "0000000680"://입퇴원요약
  2731. cover_header = "emr/recmngtxp/html/cover_header1.html";
  2732. cover_footer = "emr/recmngtxp/html/cover_footer1.html";
  2733. break;
  2734. case "0000002022"://마취기록지
  2735. cover_header = "emr/recmngtxp/html/cover_header4.html";
  2736. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2737. break;
  2738. //case "0000003325"://DSC기록
  2739. case "0000003169"://Brief OP Note
  2740. cover_header = "emr/recmngtxp/html/cover_header.html";
  2741. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2742. break;
  2743. default:
  2744. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  2745. cover_header = "emr/recmngtxp/html/cover_header10.html";
  2746. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2747. }else{
  2748. cover_header = "emr/recmngtxp/html/cover_header.html";
  2749. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  2750. }
  2751. break;
  2752. }
  2753. }
  2754. // CHECK 2013.07.10 CYW
  2755. var openerid = "";
  2756. if( frmf_checkOpener() ){
  2757. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  2758. }
  2759. if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "2" ){ // 본원 보호정책
  2760. ptnm = "";
  2761. rgstno = "";
  2762. lastupdtrusrnm = "";
  2763. fstrgstrusrnm = "";
  2764. drid = "";
  2765. emrrecusrnm = "";
  2766. staffnm = "";
  2767. surgeon = "";
  2768. tmppid = ds_tmpinicert_iniinfo.getColumn(i, "pid").substring(0,3) + "****";
  2769. }else if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "3" ){ // 칠곡 보호정책
  2770. ptnm = ds_tmpinicert_iniinfo.getColumn(i, "ptnm").substring(0,1) + "**";
  2771. rgstno = ds_tmpinicert_iniinfo.getColumn(i, "rgstno").substring(0,6) + "-*******";
  2772. }
  2773. // 통합기록조회 조회조건(타이틀제거여부)에 따른 VIEW 2013.09.06 CYW 환경설정변수 040, 044
  2774. if(ds_envinit.getColumn(0, "viewflag") == "true"){
  2775. cover_header = "";
  2776. cover_footer = "";
  2777. body_header = "";
  2778. body_footer = "";
  2779. }else{
  2780. body_header = "emr/recmngtxp/html/body_header.html";
  2781. body_footer = "emr/recmngtxp/html/body_footer.html";
  2782. }
  2783. //trans = "<!--@\n @DOCUMENT_HOME = " + getURLprefix() + "/himed/webapps/ " +
  2784. trans = "<!--@\n @DOCUMENT_HOME = " + sysf_getURLprefix() + "/xpapps/ " +
  2785. "\n @COVER_HEADER = " + cover_header +
  2786. "\n @COVER_FOOTER = " + cover_footer +
  2787. "\n @BODY_HEADER = " + body_header +
  2788. "\n @BODY_FOOTER = " + body_footer +
  2789. "\n @DEFAULT_FONT = 굴림 " +
  2790. "\n @DEFAULT_PRE_FONT = 굴림 " +
  2791. "\n @DEFAULT_FONT_SIZE = 9pt " +
  2792. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  2793. "\n @FONT_SIZE_OFFSET = 3px " +
  2794. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  2795. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  2796. "\n @VAR_PAT_NUM = " + tmppid +
  2797. "\n @VAR_CLASS = " + ordtype +
  2798. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  2799. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  2800. "\n @VAR_CHART_NAME_LINE = " + formnm +
  2801. "\n @VAR_PAT_AGE_SEX = " + sa +
  2802. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  2803. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  2804. "\n @VAR_PAT_NAME = " + ptnm +
  2805. "\n @VAR_PRINT_NAME = " + prtnunm +
  2806. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  2807. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  2808. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  2809. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  2810. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  2811. "\n @SYS_PAGE_HEADER = " + pageheader +
  2812. "\n @VAR_HOSP_IMG = " + imgepath +
  2813. "\n @VAR_ORDDATE = " + recdd +
  2814. "\n @VAR_ORDDEPT = " + depthngnm +
  2815. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  2816. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  2817. "\n @VAR_ERDT = " + erdt +
  2818. "\n @VAR_ERVISITTM = " + ervisittm +
  2819. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  2820. "\n @VAR_STAFFNM = " + staffnm +
  2821. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  2822. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  2823. "\n @VAR_ININFO = " + ininfo +
  2824. "\n @VAR_DSCHINFO = " + dschinfo +
  2825. "\n @VAR_INCNT = " + incnt +
  2826. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  2827. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  2828. "\n @VAR_REALRECDT = " + formrecdt +
  2829. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  2830. "\n @VAR_DSCHINFO = " + dschinfo +
  2831. "\n @VAR_SURGEON = " + surgeon +
  2832. "\n @OUTPUT_MAGNIFICATION = 1 " +
  2833. /* 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 begin */
  2834. "\n @USE_KEEP_DESIGN = TRUE" + //box 계단 문제 해결
  2835. "\n @USE_NU_TD_ADJUST = FALSE" + //데이터없는 TD 높이유지
  2836. "\n @USE_SCH_HR_ADJUST = TRUE" + //수직선을 그리기 위한 옵션 추가
  2837. "\n @LINE_BREAK_METHOD = SCH" + //wordwrap 속성 (word+literal)
  2838. "\n @TEXT_LINE_HEIGHT = MTX_* 130, GRD_* 130, LBL_* 120, CCN_* 130, OPN_* 130, DGN_* 130" + //줄간격
  2839. "\n @VERTICAL_COMPACTION = 10" + //여백제거
  2840. /* end 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 */
  2841. "\n@-->\n" + trans + "\n";
  2842. //2013/02/15 소스머지 끝
  2843. /*
  2844. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2845. var a = fso.CreateTextFile(lgv_Foldernm + "\\" + signno + i + "_" + formcd + ".HTML", true, true);
  2846. a.WriteLine(trans);
  2847. a.Close();
  2848. */
  2849. var vfile = new VirtualFile(lgv_Foldernm + "\\" + signno + i + "_" + formcd + ".HTML", VirtualFile.openWrite);
  2850. vfile.write(trans, "utf-8");
  2851. vfile.close();
  2852. emrpath = lgv_Foldernm + "\\" + signno + i + "_" + formcd + ".HTML|";
  2853. //emrorddate += orddd + "|";
  2854. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  2855. emrformnm = formnm + "|";
  2856. emrformcd = formcd + "|";
  2857. emrdeptnm = deptengabbr + "|";
  2858. emrdeptcd = orddeptcd + "|";
  2859. emrpage = "1|";
  2860. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  2861. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  2862. recrowno = rowno;
  2863. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2864. var chartinfo = "";
  2865. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  2866. dsf_createDs("ds_send_iemr", [{col: "treatno", type:"string", size:256, val:""}
  2867. , {col: "docucd", type:"string", size:256, val:""}
  2868. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}]);//20120704 이윤주수정
  2869. grup_right.iviewerIemr.appendChart(ds_send_iemr, chartinfo, emrhiddenmsg, recrowno);
  2870. }
  2871. else
  2872. {
  2873. tmptreatno = signno + ",";
  2874. tmpiformcd = formcd + ",";
  2875. emrpath = "*|";
  2876. emrorddate = "*|";
  2877. emrformnm = "*|";
  2878. emrformcd = "*|";
  2879. emrdeptnm = "*|";
  2880. emrdeptcd = "*|";
  2881. emrpage = "*|";
  2882. emrhiddenmsg = "*|";
  2883. recrowno = rowno;
  2884. ds_imgrec_iemr.setColumn(0, "treatno", signno);
  2885. ds_imgrec_iemr.setColumn(0, "docucd", formcd);
  2886. ds_imgrec_iemr.setColumn(0, "instcd", ds_init_env.getColumn(0, "instcd")); //20120704 이윤주수정
  2887. //2013/08/13 Start 이정택:처방키가 있을시에 처방키에 해당하는 이미지만 가져오도록 소스 추가
  2888. var cmc_orderseqno = ds_tmpinicert_iniinfo.getColumn(i, "cmc_orderseqno");
  2889. if(!utlf_isNull(cmc_orderseqno)){
  2890. ds_imgrec_iemr.addColumn("cmc_orderseqno", "string");
  2891. ds_imgrec_iemr.setColumn(0, "cmc_orderseqno", cmc_orderseqno);
  2892. }else{
  2893. ds_imgrec_iemr.addColumn("cmc_orderseqno", "string");
  2894. ds_imgrec_iemr.setColumn(0, "cmc_orderseqno", "");
  2895. }
  2896. //2013/08/13 End
  2897. ds_imgrec_iemr.addColumn("formprogflag", "string");
  2898. ds_imgrec_iemr.setColumn("formprogflag", formprogflag);
  2899. var chartinfo;
  2900. chartinfo = "I";
  2901. var hiddenmsg;
  2902. hiddenmsg = "I";
  2903. grup_right.iviewerIemr.appendChart(ds_imgrec_iemr, chartinfo, hiddenmsg, recrowno);
  2904. }
  2905. }
  2906. grup_right.iviewerIemr.refreshTrue();
  2907. }
  2908. /**
  2909. * @desc : 미비확인 화면 오픈
  2910. * @id :
  2911. * @event : DOMActivate
  2912. * @return : void
  2913. * @authur : 박종훈
  2914. */
  2915. function fOpenUnprep()
  2916. {
  2917. var pid = ds_patinfolist.getColumn(0, "pid");
  2918. var orddd = ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "orddd");
  2919. var cretno = ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "cretno");
  2920. frmf_setParameter("SPMRI03000_pid", pid);
  2921. frmf_setParameter("SPMRI03000_indd", orddd);
  2922. frmf_setParameter("SPMRI03000_cretno", cretno);
  2923. var wndobj = frmf_findPopup("SPMRI03000");
  2924. if(wndobj != null)
  2925. {
  2926. wndobj.fInitialize_SPMRI03000();
  2927. frmf_setFocusPop("SPMRI03000");
  2928. }
  2929. else
  2930. {
  2931. frmf_open("SPMRI03000", "SPMRI03000", null, null, null, null, null, null, null, null, null, null, "M");
  2932. }
  2933. }
  2934. /**
  2935. * @desc : 출력버튼 클릭
  2936. * @id :
  2937. * @event : DOMActivate
  2938. * @return : void
  2939. * @authur : 박종훈
  2940. */
  2941. function fClickPrint()
  2942. {
  2943. var nRow = ds_grd_pathist.rowposition;
  2944. var orddd = ds_grd_pathist.getColumn(nRow, "orddd");
  2945. var cretno = ds_grd_pathist.getColumn(nRow, "cretno");
  2946. var orddeptcd = ds_grd_pathist.getColumn(nRow, "orddeptcd");
  2947. if( ds_init_prtresn.rowcount == 0 ) ds_init_prtresn.addRow();
  2948. var pRow = ds_init_prtresn.rowposition;
  2949. var comporddd = ds_init_prtresn.getColumn(pRow, "orddd");
  2950. var compcretno = ds_init_prtresn.getColumn(pRow, "cretno");
  2951. var itrgtNodeCnt = ds_trgtdept.getCaseCount("trgtcd == '" + orddeptcd + "'"); //사유대상부서
  2952. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  2953. {
  2954. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  2955. var iexNodeCnt = ds_exdept.getCaseCount("trgtcd == '" + sUserDeptcd + "'"); //사유제외부서
  2956. // 2013.10.11 start cyw 센터일경우 해당 하위부서의 기록을 볼때 사유입력하지 않도록--------------
  2957. var cntrcnt = 0;
  2958. var samechk = 0;
  2959. dsf_createDsRow("ds_send_cntrsrch", [{col: "instcd", type:"string", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  2960. , {col: "userdeptcd", type:"string", size:256, val:sUserDeptcd}]);
  2961. dsf_createDs("ds_cntrdept", [{col: "instcd", type:"string", size:256}
  2962. , {col: "subdeptcd", type:"string", size:256}
  2963. , {col: "deptcd", type:"string", size:256}
  2964. , {col: "deptnm", type:"string", size:256}]);
  2965. var oParam = {};
  2966. oParam.id = "TRMRI08114";
  2967. oParam.service = "recmngtapp.IntegrityRec";
  2968. oParam.method = "reqGetCntrDeptChk";
  2969. oParam.inds = "req=ds_send_cntrsrch";
  2970. oParam.outds = "ds_cntrdept=cntrdeptlist";
  2971. oParam.async = false;
  2972. oParam.callback = "cf_TRMRI08114"
  2973. tranf_submit(oParam);
  2974. if(arErrorCode.pop("TRMRI08114") > -1){
  2975. for( var i = 0; i < ds_cntrdept.rowcount; i ++ ){
  2976. if( orddeptcd == ds_cntrdept.getColumn(i, "deptcd") ){
  2977. samechk++;
  2978. }
  2979. }
  2980. // temp dataset delete
  2981. dsf_deleteDs("ds_send_cntrsrch");
  2982. dsf_deleteDs("ds_cntrdept");
  2983. }
  2984. // 2013.10.11 end-------------------------------------------------------------------------------------------
  2985. // 기록조회시, 사유입력하는 경우?
  2986. // 1. 사유제외부서가 아닐경우
  2987. // 2. 선택한기록부서와 사용자 부서가 같을 경우
  2988. // 3, 각각의 진료일자와 원무키가 다를 경우
  2989. // 4. 센터부서일 경우 하위부서가 아닐경우
  2990. if ( (samechk <=0) && (iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno) ) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  2991. {
  2992. if ( fSetResnSMMRI08000() == true ){
  2993. //열람승인화면에서 사유입력이 된 제한차트는 fSetResnSMMRI08000()함수에서 사유 자동 셋팅, 2010.09.02 주희경
  2994. }
  2995. else //통합기록조회에서 직접 기록을 오픈할때에는 사유 입력
  2996. {
  2997. ds_init_prtresn.clearData();
  2998. frmf_setParameter("SPMRI03100_param_nodepath", "ds_init_prtresn");
  2999. frmf_setParameter("SPMRI03100_param_rsnflag", 'P');
  3000. frmf_modal("SPMRI03100", "SPMRI03100", null, null, null, null, null, null, null, null, null, null, "M");
  3001. var pRow = ds_init_prtresn.rowposition;
  3002. var valiyn = ds_init_prtresn.getColumn(pRow, "valiyn");
  3003. if (valiyn != "Y")
  3004. {
  3005. return;
  3006. }
  3007. else
  3008. {
  3009. }
  3010. }
  3011. }
  3012. ds_init_prtresn.setColumn(pRow, "orddd", orddd);
  3013. ds_init_prtresn.setColumn(pRow, "cretno", cretno);
  3014. }
  3015. else
  3016. {
  3017. ds_init_prtresn.clearData();
  3018. }
  3019. var appcopykey = grup_right.iviewerIemr.setCopy(true); //영상뷰어에서의 리턴값
  3020. if (!utlf_isNull(appcopykey))
  3021. {
  3022. var copykey = appcopykey.split("▩");
  3023. var appkeyArr = copykey[0].split("|");
  3024. var reckind = ""; //기록, 영상구분(E/I)
  3025. var tmpval = "";
  3026. var tmpformcd = "";
  3027. var tmptotpage = "";
  3028. appkeyArr = "";
  3029. var copyparam = "";
  3030. var compsignno = "";
  3031. var compformcd = "";
  3032. var tmpreckind = "";
  3033. var tmpdeptcd = sysf_getUserInfo("dutplcecd");
  3034. var tmppid = ds_patinfolist.getColumn(0, "pid")
  3035. var nRow = ds_grd_pathist.rowposition;
  3036. var tmporddd = ds_grd_pathist.getColumn(nRow, "orddd");
  3037. var tmpcretno = ds_grd_pathist.getColumn(nRow, "cretno");
  3038. var tmpchosflag = ds_grd_pathist.getColumn(nRow, "ordtype");
  3039. ds_datagrid1.clearData(); // "/root/prthist/"
  3040. var leng = 1;
  3041. for(var i = 0; i < copykey.length-1; i++)
  3042. {
  3043. if( !utlf_isNull(copykey[i]) ){
  3044. appkeyArr = copykey[i].split("▦");
  3045. reckind = appkeyArr[0];
  3046. if (reckind == "I")
  3047. {
  3048. tmpval = appkeyArr[1];
  3049. tmpformcd = appkeyArr[2];
  3050. tmpreckind = "02";
  3051. if (compsignno != tmpval || compformcd != tmpformcd)
  3052. {
  3053. compsignno = tmpval;
  3054. compformcd = tmpformcd;
  3055. }
  3056. else
  3057. {
  3058. continue;
  3059. }
  3060. }
  3061. else
  3062. {
  3063. tmpval = appkeyArr[1];
  3064. tmpformcd = appkeyArr[0];
  3065. tmpreckind = "01";
  3066. if (compsignno != tmpval)
  3067. {
  3068. compsignno = tmpval;
  3069. }
  3070. else
  3071. {
  3072. continue;
  3073. }
  3074. }
  3075. if (utlf_isNull(tmpcretno))
  3076. tmpcretno = 0;
  3077. var prthistRow = ds_datagrid1.addRow();
  3078. ds_datagrid1.setColumn(prthistRow, "pid", tmppid);
  3079. ds_datagrid1.setColumn(prthistRow, "orddd", tmporddd);
  3080. ds_datagrid1.setColumn(prthistRow, "cretno", tmpcretno);
  3081. ds_datagrid1.setColumn(prthistRow, "chosflag", tmpchosflag);
  3082. ds_datagrid1.setColumn(prthistRow, "signno", tmpval);
  3083. ds_datagrid1.setColumn(prthistRow, "formcd", tmpformcd);
  3084. ds_datagrid1.setColumn(prthistRow, "reckind", tmpreckind);
  3085. ds_datagrid1.setColumn(prthistRow, "userdeptcd", tmpdeptcd);
  3086. ds_datagrid1.setColumn(prthistRow, "readprtflag", "P");
  3087. ds_datagrid1.setColumn(prthistRow, "refusge", ds_init_prtresn.getColumn(ds_init_prtresn.rowposition, "resncd"));
  3088. ds_datagrid1.setColumn(prthistRow, "refremark", ds_init_prtresn.getColumn(ds_init_prtresn.rowposition, "etc"));
  3089. //출력로그(염람신청 키):이윤주수정(20120127)
  3090. ds_datagrid1.setColumn(prthistRow, "appno", utlf_isNull(this.objects["ds_init_view"]) ? "" : ds_init_view.getColumn(ds_init_view.rowposition, "appno"));
  3091. ds_datagrid1.setColumn(prthistRow, "histno", utlf_isNull(this.objects["ds_init_view"]) ? "" : ds_init_view.getColumn(ds_init_view.rowposition, "histno"));
  3092. leng++;
  3093. dsf_createDsRow("ds_cond_prvtsrch", [{col:"formcd", type:"string", size:256, val:tmpformcd}]);
  3094. dsf_createDs("ds_data_prvtsrch", [{col:"cnt", type:"string", size:256}]);
  3095. var oParam = {};
  3096. oParam.id = "TRMRI08113";
  3097. oParam.service = "recmngtapp.SystView";
  3098. oParam.method = "reqGetRecFormSortPrivtPrnt";
  3099. oParam.inds = "req=ds_cond_prvtsrch";
  3100. oParam.outds = "ds_data_prvtsrch=reccnt";
  3101. oParam.async = false;
  3102. //oParam.callback = "cf_TRMRI08113";
  3103. tranf_submit(oParam);
  3104. var reccnt = ds_data_prvtsrch.getColumn(0, "cnt");
  3105. //Temp Ds Delete
  3106. dsf_deleteDs("ds_cond_prvtsrch");
  3107. dsf_deleteDs("ds_data_prvtsrch");
  3108. // 개인정보보호 적용시, CDIS, OCR 서식은 출력 불가 2013.08.20 CYW
  3109. if( frmf_getParameter("SMMRI03000_privateflag") == "2"){
  3110. if( tmpformcd == "CDIS" || tmpformcd == "IV146" || reccnt > 0 ){
  3111. sysf_messageBox("개인정보보호정책으로 인해 해당 서식을 출력할 수 없습니다.", "I999");
  3112. return;
  3113. }
  3114. }
  3115. }
  3116. }
  3117. for(var j = 0; j < ds_datagrid1.rowcount; j++)
  3118. {
  3119. ds_datagrid1.setRowType(j, ds_datagrid1.ROWTYPE_INSERT);
  3120. //datagrid1.rowstatus(j) = 1;
  3121. }
  3122. var oDsUpdate = grdf_getGridUpdateData(grup_left.switch1.grd.datagrid1);
  3123. dsf_createDs("ds_send_prtlist");
  3124. ds_send_prtlist.copyData(oDsUpdate, true);
  3125. dsf_createDsRow("ds_send_TXMRI03001" ,[{col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}
  3126. , {col: "pid", type:"string", size:256, val:""}]);
  3127. dsf_createDs("ds_prtcnt", [{col: "cnt", type:"string", size:256}]);
  3128. var oParam = {};
  3129. oParam.id = "TXMRI03001";
  3130. oParam.service = "recmngtapp.IntegrityRec";
  3131. oParam.method = "reqExeRecReadPrtHist";
  3132. oParam.inds = "req=ds_send_TXMRI03001 prtlist=ds_send_prtlist";
  3133. oParam.outds = "ds_prtcnt=prtcnt";
  3134. oParam.async = false;
  3135. oParam.callback = "cf_TXMRI03001";
  3136. tranf_submit(oParam);
  3137. if(grup_right.iviewerIemr.printChart("SMMRC03000"))
  3138. {
  3139. sysf_messageBox("출력", "I001");
  3140. }
  3141. else
  3142. {
  3143. sysf_messageBox("출력에", "E009");
  3144. }
  3145. ds_datagrid1.clearData();
  3146. }
  3147. }
  3148. function cf_TRMRI08113(sSvcId, nErrorCode, sErrorMsg) {
  3149. arErrorCode.push(sSvcId, nErrorCode);
  3150. }
  3151. function cf_TXMRI03001(sSvcId, nErrorCode, sErrorMsg) {
  3152. if(nErrorCode < 0) return;
  3153. dsf_deleteDs("ds_send_prtlist");
  3154. dsf_deleteDs("ds_send_TXMRI03001");
  3155. dsf_deleteDs("ds_prtcnt");
  3156. }
  3157. /**
  3158. * @desc : 중분류 그리드 메뉴
  3159. * @id :
  3160. * @event : DOMActivate
  3161. * @return : void
  3162. * @authur : 박종훈
  3163. */
  3164. function fMidindxMouseRight(e)
  3165. {
  3166. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  3167. //var prntuseyn = ds_prntuseyn.getColumn(0, "hardcd");
  3168. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  3169. if(e.row > -1){
  3170. ds_grd_midindx.rowposition = e.row;
  3171. if (lf_getHardCDList("Y", 9920, 3, null) == "Y")
  3172. {
  3173. if( !utlf_isNull(ds_prntdept.lookup("hardcd", sUserDeptcd, "hardcd")) ){
  3174. midmsrght.trackPopup(e.screenX,e.screenY);
  3175. }
  3176. }
  3177. else{
  3178. midmsrght.trackPopup(e.screenX,e.screenY);
  3179. }
  3180. }
  3181. }
  3182. /**
  3183. * @desc : 분류출력 클릭
  3184. * @id :
  3185. * @event : DOMActivate
  3186. * @return : void
  3187. * @authur : 박종훈
  3188. */
  3189. function fMidPrint()
  3190. {
  3191. //sysf_trace("***** fMidPrint() ******");
  3192. ds_init_etc.setColumn(0, "recall", "Y");
  3193. iviewerIemrprt.setupChart("ThumbView");
  3194. fGetDetlRecForPrt();
  3195. var appcopykey = iviewerIemrprt.setCopy(true); //영상뷰어에서의 리턴값
  3196. if (!utlf_isNull(appcopykey))
  3197. {
  3198. var copykey = appcopykey.split("|");
  3199. var appkeyArr = copykey[0].split("▦");
  3200. var reckind = ""; //기록, 영상구분(E/I)
  3201. var tmpval = "";
  3202. var tmpformcd = "";
  3203. var tmptotpage = "";
  3204. appkeyArr = "";
  3205. var copyparam = "";
  3206. var compsignno = "";
  3207. var compformcd = "";
  3208. var tmpreckind = "";
  3209. var tmpdeptcd = sysf_getUserInfo("dutplcecd");
  3210. var tmppid = ds_patinfolist.getColumn(0, "pid")
  3211. var tmporddd = ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "orddd");
  3212. var tmpcretno = ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "cretno");
  3213. var tmpchosflag = ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "ordtype");
  3214. ds_datagrid1.clearData();
  3215. //var leng = 1;
  3216. var nRow;
  3217. for(var i = 0; i < copykey.length; i = i + 2)
  3218. {
  3219. appkeyArr = copykey[i].split("▦");
  3220. reckind = appkeyArr[0];
  3221. if (reckind == "I")
  3222. {
  3223. tmpval = appkeyArr[1];
  3224. tmpformcd = appkeyArr[2];
  3225. tmpreckind = "02";
  3226. if (compsignno != tmpval || compformcd != tmpformcd)
  3227. {
  3228. compsignno = tmpval;
  3229. compformcd = tmpformcd;
  3230. }
  3231. else
  3232. {
  3233. continue;
  3234. }
  3235. }
  3236. else
  3237. {
  3238. tmpval = appkeyArr[1];
  3239. tmpformcd = appkeyArr[0];
  3240. tmpreckind = "01";
  3241. if (compsignno != tmpval)
  3242. {
  3243. compsignno = tmpval;
  3244. }
  3245. else
  3246. {
  3247. continue;
  3248. }
  3249. }
  3250. if ( utlf_isNull(tmpcretno))
  3251. tmpcretno = 0;
  3252. nRow = ds_datagrid1.addRow();
  3253. ds_datagrid1.setColumn( nRow, "pid", tmppid);
  3254. ds_datagrid1.setColumn( nRow, "orddd", tmporddd);
  3255. ds_datagrid1.setColumn( nRow, "cretno", tmpcretno);
  3256. ds_datagrid1.setColumn( nRow, "chosflag", tmpchosflag);
  3257. ds_datagrid1.setColumn( nRow, "signno", tmpval);
  3258. ds_datagrid1.setColumn( nRow, "formcd", tmpformcd);
  3259. ds_datagrid1.setColumn( nRow, "reckind", tmpreckind);
  3260. ds_datagrid1.setColumn( nRow, "userdeptcd", tmpdeptcd);
  3261. ds_datagrid1.setColumn( nRow, "readprtflag", "P");
  3262. ds_datagrid1.setColumn( nRow, "refusge", "");
  3263. ds_datagrid1.setColumn( nRow, "refremark", "");
  3264. }
  3265. for(var j = 0; j < ds_datagrid1.rowcount; j++)
  3266. {
  3267. ds_datagrid1.setRowType(j, ds_datagrid1.ROWTYPE_INSERT);
  3268. //datagrid1.rowstatus(j) = 1;
  3269. }
  3270. var oDsUpdate = grdf_getGridUpdateData(grup_left.switch1.grd.datagrid1);
  3271. dsf_createDs("ds_send_prtlist");
  3272. ds_send_prtlist.copyData(oDsUpdate, true);
  3273. dsf_createDsRow("ds_send_TXMRI03001" ,[{col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}
  3274. , {col: "pid", type:"string", size:256, val:""}]);
  3275. dsf_createDs("ds_prtcnt", [{col: "cnt", type:"string", size:256}]);
  3276. var oParam = {};
  3277. oParam.id = "TXMRI03001";
  3278. oParam.service = "recmngtapp.IntegrityRec";
  3279. oParam.method = "reqExeRecReadPrtHist";
  3280. oParam.inds = "req=ds_send_TXMRI03001 prtlist=ds_send_prtlist";
  3281. oParam.outds = "ds_prtcnt=prtcnt";
  3282. oParam.async = false;
  3283. oParam.callback = "cf_TXMRI03001";
  3284. tranf_submit(oParam);
  3285. if(grup_right.iviewerIemr.printChart("SMMRC03000"))
  3286. {
  3287. sysf_messageBox("출력", "I001");
  3288. }
  3289. else
  3290. {
  3291. sysf_messageBox("출력에", "E009");
  3292. }
  3293. ds_datagrid1.clearData();
  3294. }
  3295. }
  3296. /**
  3297. * @desc : 기록조회
  3298. * @id :
  3299. * @event : DOMActivate
  3300. * @return : void
  3301. * @authur : 박종훈
  3302. */
  3303. function fGetDetlRecForPrt()
  3304. {
  3305. //sysf_trace("***** fGetDetlRecForPrt() *****");
  3306. var reccurpos = parseInt(ds_init_etc.getColumn(0, "reccurpos"));
  3307. var rowfocus = "";
  3308. var midreccurpos = 1;
  3309. var midpos = 0; //중분류중 몇번째 기록계산
  3310. var emrflag = ds_init_etc.getColumn(0, "emrflag");
  3311. //2009-11-02 오후 4:44:56 강지훈 수정
  3312. var reckind = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "reckind");
  3313. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  3314. {
  3315. //var totcnt = "[ " + 1 + " / " + ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt") + " / " + ds_init_etc.getColumn(0, "reccnt") + " ]";
  3316. var totcnt = "[ " + 1 + " / " + ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt") + " / " + "" + " ]";
  3317. ds_init_etc.setColumn(0, "totcnt", totcnt);
  3318. //lbl_totcnt.refresh();
  3319. var treatno = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq");
  3320. var formcd = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "supitemindxseq");
  3321. iviewerIemrprt.cleanViewer();
  3322. iviewerIemrprt.refreshFalse();
  3323. ds_imgrec_iemr.setColumn(0, "treatno", parseInt(treatno));
  3324. ds_imgrec_iemr.setColumn(0, "docucd", formcd);
  3325. ds_imgrec_iemr.setColumn(0, "instcd", ds_init_env.getColumn(0, "instcd"));
  3326. var iemrNode = eval(ds_imgrec_iemr);//instance1.selectSingleNode("/root/imgrec/iemr");
  3327. var chartinfo;
  3328. chartinfo = "I";
  3329. var hiddenmsg;
  3330. hiddenmsg = "I";
  3331. iviewerIemrprt.appendChart(iemrNode, chartinfo, hiddenmsg);
  3332. iviewerIemrprt.refreshTrue();
  3333. }
  3334. else
  3335. {
  3336. for (var i = 0; i < ds_grd_midindx.rowcount; i++)
  3337. {
  3338. midcnt = ds_grd_midindx.getColumn(i, "cnt");
  3339. midreccurpos += parseInt(midcnt);
  3340. //sysf_trace(" midreccurpos : " + midreccurpos + "*****");
  3341. if (midreccurpos > reccurpos)
  3342. {
  3343. //grd_midindx.row = i;
  3344. break;
  3345. }
  3346. }
  3347. var reckind = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "reckind");
  3348. var calcReccurpos = parseInt(ds_init_etc.getColumn(0, "reccurpos"));
  3349. var bfopentest = ds_init_etc.getColumn(0, "bfopentest");
  3350. var isLis = "";
  3351. for (var j = 0; j < ds_grd_midindx.rowposition; j++)
  3352. {
  3353. isLis = ds_grd_midindx.getColumn(j, "reckind");
  3354. if (isLis == "LIS")
  3355. {
  3356. calcReccurpos -= 1;
  3357. }
  3358. }
  3359. // 'ds_send' SET
  3360. dsf_deleteDs("ds_send");
  3361. var objColInfo = new Array();
  3362. objColInfo.push({col: "pid", type:"string", size:256});
  3363. objColInfo.push({col: "orddd", type:"string", size:256});
  3364. objColInfo.push({col: "cretno", type:"int", size:256});
  3365. objColInfo.push({col: "chosflag", type:"string", size:256});
  3366. objColInfo.push({col: "orddeptcd", type:"string", size:256});
  3367. objColInfo.push({col: "tabflag", type:"string", size:256});
  3368. objColInfo.push({col: "reccurpos", type:"int", size:256});
  3369. objColInfo.push({col: "recall", type:"string", size:256});
  3370. objColInfo.push({col: "reckind", type:"string", size:256});
  3371. objColInfo.push({col: "itemindxseq", type:"string", size:256});
  3372. objColInfo.push({col: "lisflag", type:"string", size:256});
  3373. objColInfo.push({col: "instcd", type:"string", size:256});
  3374. objColInfo.push({col: "privateyn", type:"string", size:256});
  3375. objColInfo.push({col: "option", type:"string", size:256});
  3376. objColInfo.push({col: "keys", type:"string", size:256});
  3377. objColInfo.push({col: "screen_id", type:"string", size:256});
  3378. objColInfo.push({col: "sortkind", type:"string", size:256});
  3379. objColInfo.push({col: "page_number", type:"string", size:256});
  3380. objColInfo.push({col: "fromprcpdd", type:"string", size:256});
  3381. objColInfo.push({col: "toprcpdd", type:"string", size:256});
  3382. objColInfo.push({col: "bfopentest", type:"string", size:256});
  3383. objColInfo.push({col: "midbftest", type:"string", size:256});
  3384. objColInfo.push({col: "pagingyn", type:"string", size:256});
  3385. objColInfo.push({col: "pagingfromdd", type:"string", size:256});
  3386. objColInfo.push({col: "pagingtodd", type:"string", size:256});
  3387. objColInfo.push({col: "ordfromdd", type:"string", size:256});
  3388. objColInfo.push({col: "ordtodd", type:"string", size:256});
  3389. objColInfo.push({col: "recformcd", type:"string", size:256});
  3390. objColInfo.push({col: "ordddtxt", type:"string", size:256});
  3391. objColInfo.push({col: "signnotxt", type:"string", size:256});
  3392. dsf_createDs("ds_send", objColInfo);
  3393. var nRow = ds_send.addRow();
  3394. ds_send.setColumn(nRow, "pid", ds_patinfolist.getColumn(0, "pid"));
  3395. ds_send.setColumn(nRow, "orddd", ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "orddd"));
  3396. ds_send.setColumn(nRow, "cretno", ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "cretno"));
  3397. ds_send.setColumn(nRow, "chosflag", ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "ordtype"));
  3398. ds_send.setColumn(nRow, "orddeptcd", ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "orddeptcd"));
  3399. ds_send.setColumn(nRow, "tabflag", ds_init_etc.getColumn(0, "tabflag"));
  3400. ds_send.setColumn(nRow, "reccurpos", calcReccurpos);
  3401. ds_send.setColumn(nRow, "recall", ds_init_etc.getColumn(0, "recall"));
  3402. ds_send.setColumn(nRow, "reckind", reckind);
  3403. ds_send.setColumn(nRow, "itemindxseq", ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq"));
  3404. ds_send.setColumn(nRow, "lisflag", ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "lisflag"));
  3405. ds_send.setColumn(nRow, "instcd", ds_init_env.getColumn(0, "instcd"));
  3406. //2009-11-02 오후 2:18:45 강지훈 수정
  3407. ds_send.setColumn(nRow, "bfopentest", bfopentest);
  3408. grd_pathistrow = ds_grd_pathist.rowposition;
  3409. pathistEmrFlag = ds_grd_pathist.getColumn(grd_pathistrow, "emrflag");
  3410. if(bfopentest == "Y" && emrflag != "E"){
  3411. ds_send.setColumn(nRow, "midbftest", "Y");
  3412. }
  3413. else{
  3414. ds_send.setColumn(nRow, "midbftest", "N");
  3415. }
  3416. dsf_setDefaultVal(ds_send, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:''pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N,page_number:1");
  3417. dsf_createDs("ds_tmpinicert_iniinfo", null, true);
  3418. ds_tmpinicert_iniinfo.copyData(ds_paging_iniinfo);
  3419. ds_tmpinicert_iniinfo.clearData();
  3420. //sysf_trace(ds_tmpinicert_iniinfo.saveXML());
  3421. //xp code add : col id change!!!execprcpuniqno
  3422. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  3423. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  3424. var oParam = {};
  3425. oParam.id = "TRMRI03004";
  3426. oParam.service = "recmngtapp.IntegrityRec";
  3427. oParam.method = "reqGetRecDetailInfoByCondFlag";
  3428. oParam.inds = "req=" + "ds_send";
  3429. oParam.outds = "ds_tmpinicert_iniinfo" + "=iniinfo";
  3430. oParam.async = false;
  3431. oParam.callback = "cf_TRMRI03004"
  3432. tranf_submit(oParam);
  3433. if(arErrorCode.pop("TRMRI03004") > -1){
  3434. //xp code add : col id change!!!execprcpuniqno
  3435. ds_tmpinicert_iniinfo.updateColID("execprcpuniqno", "cmc_orderseqno");
  3436. dsf_setDefaultVal(ds_tmpinicert_iniinfo, "all");
  3437. //sysf_trace(ds_tmpinicert_iniinfo.saveXML());
  3438. iviewerIemrprt.cleanViewer();
  3439. fGetNextEmrImgRecPrt();
  3440. }
  3441. if (ds_grd_midindx.rowposition > 1)
  3442. {
  3443. var prevmidcnt = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt");
  3444. midpos = reccurpos - midreccurpos + parseInt(prevmidcnt) + 1;
  3445. }
  3446. else
  3447. {
  3448. midpos = reccurpos;
  3449. }
  3450. //jw reccnt -> midreccnt 가능성
  3451. //var totcnt = "[ " + midpos + " / " + ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt") + " / " + ds_init_etc.getColumn(0, "reccnt") + " ]";
  3452. var totcnt = "[ " + midpos + " / " + ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt") + " / " + "" + " ]";
  3453. ds_init_etc.setColumn(0, "totcnt", totcnt);
  3454. //lbl_totcnt.refresh();
  3455. }
  3456. }
  3457. function fGetNextEmrImgRecPrt()
  3458. {
  3459. var certnodeList = eval("ds_tmpinicert_iniinfo");
  3460. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  3461. //var foldernm = "C:\\Certrec" + sysf_getUserInfo("dutplceinstcd");
  3462. //var foldernm = "C:\\Certrec";
  3463. //--20130418 김동준 end
  3464. if (certnodeList.rowcount <= 0)
  3465. return;
  3466. var emrpath = "";
  3467. var emrorddate = "";
  3468. var emrformnm = "";
  3469. var emrformcd = "";
  3470. var emrdeptnm = "";
  3471. var emrdeptcd = "";
  3472. var emrpage = "";
  3473. var emrhiddenmsg = "";
  3474. var k = "";
  3475. var pid = "";
  3476. var ptnm = "";
  3477. var depthngnm = "";
  3478. var deptengabbr = "";
  3479. var rgstno = "";
  3480. var sa = "";
  3481. var disporddd = "";
  3482. var orddd = "";
  3483. var drid = "";
  3484. var roomcd = "";
  3485. var ordtype = "";
  3486. var chosflag = "";
  3487. var orddeptcd = "";
  3488. var signflag = "";
  3489. var imgflag = "";
  3490. var langflag = "";
  3491. var tmptreatno = "";
  3492. var tmpiformcd = "";
  3493. var signno = 0;
  3494. var formcd = "";
  3495. var srcformcd = "";
  3496. var formnm = "";
  3497. var formprogflag = "";
  3498. var recdt = "";
  3499. var recdd = "";
  3500. var wardheader = "";
  3501. var dateheader = "";
  3502. var doctorheader = "";
  3503. var printheader = "";
  3504. var pageheader = "";
  3505. var imgepath = "";
  3506. var formrecdt = "";
  3507. var fstrgstdt = "";
  3508. var lastupdtdt = "";
  3509. var staffconfirmdt = "";
  3510. var fstrgstrusrnm = "";
  3511. var lastupdtrusrnm = "";
  3512. var erdt = "";
  3513. var ervisittm = "";
  3514. var staffnmheader = "";
  3515. var staffnm = "";
  3516. var emrrecusrnmheader = "";
  3517. var emrrecusrnm = "";
  3518. var indd = "";
  3519. var dschdd = "";
  3520. var inorddepthngnm = "";
  3521. var dschorddepthngnm = "";
  3522. var incnt = "";
  3523. var mainyn = "";
  3524. var prtnunm = sysf_getUserInfo("usernm");
  3525. var prtndeptnm = "";
  3526. //var getuseren = getUserInfo("userengnm");
  3527. var getdate = utlf_getCurrentDate();
  3528. var gettime = utlf_getCurrentTime();
  3529. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  3530. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  3531. var prtdt = dateprnt + " " + timeprnt;
  3532. var signgenrflag = ""; //20100615-kys
  3533. var careinrmdt = ""; //20100615-kys
  3534. fExistFolder(lgv_Foldernm);
  3535. iviewerIemrprt.refreshFalse();
  3536. for(var i = 0; i < certnodeList.rowcount; i++)
  3537. {
  3538. signno = ds_tmpinicert_iniinfo.getColumn(i, "signno");
  3539. formcd = ds_tmpinicert_iniinfo.getColumn(i, "formcd");
  3540. srcformcd = ds_tmpinicert_iniinfo.getColumn(i, "srcformcd");
  3541. formnm = ds_tmpinicert_iniinfo.getColumn(i, "formnm");
  3542. formprogflag = ds_tmpinicert_iniinfo.getColumn(i, "formprogflag");
  3543. recdt = ds_tmpinicert_iniinfo.getColumn(i, "recdt");
  3544. recdd = ds_tmpinicert_iniinfo.getColumn(i, "recdd");
  3545. trans = ds_tmpinicert_iniinfo.getColumn(i, "trans");
  3546. pid = ds_tmpinicert_iniinfo.getColumn(i, "pid");
  3547. ptnm = ds_tmpinicert_iniinfo.getColumn(i, "ptnm");
  3548. depthngnm = ds_tmpinicert_iniinfo.getColumn(i, "depthngnm");
  3549. deptengabbr = ds_tmpinicert_iniinfo.getColumn(i, "deptengabbr");
  3550. rgstno = ds_tmpinicert_iniinfo.getColumn(i, "rgstno");
  3551. sa = ds_tmpinicert_iniinfo.getColumn(i, "sa");
  3552. disporddd = ds_tmpinicert_iniinfo.getColumn(i, "disporddd");
  3553. orddd = ds_tmpinicert_iniinfo.getColumn(i, "orddd");
  3554. drid = ds_tmpinicert_iniinfo.getColumn(i, "drid");
  3555. roomcd = ds_tmpinicert_iniinfo.getColumn(i, "roomcd");
  3556. ordtype = ds_tmpinicert_iniinfo.getColumn(i, "ordtype");
  3557. chosflag = ds_tmpinicert_iniinfo.getColumn(i, "chosflag");
  3558. orddeptcd = ds_tmpinicert_iniinfo.getColumn(i, "orddeptcd");
  3559. signflag = ds_tmpinicert_iniinfo.getColumn(i, "signflag");
  3560. imgflag = ds_tmpinicert_iniinfo.getColumn(i, "imgflag");
  3561. langflag = ds_tmpinicert_iniinfo.getColumn(i, "langflag");
  3562. formrecdt = ds_tmpinicert_iniinfo.getColumn(i, "formrecdt");
  3563. formrecdt = formrecdt.toString().toDate().getDateFormat("YYYY/MM/DD");
  3564. fstrgstdt = ds_tmpinicert_iniinfo.getColumn(i, "fstrgstdt");
  3565. lastupdtdt = ds_tmpinicert_iniinfo.getColumn(i, "lastupdtdt");
  3566. staffconfirmdt = ds_tmpinicert_iniinfo.getColumn(i, "staffconfirmdt");
  3567. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  3568. if(sysf_getUserInfo("dutplceinstcd") == "012"){
  3569. fstrgstrusrnm = "◈ 작 성 자 : " + ds_tmpinicert_iniinfo.getColumn(i, "fstrgstrusrnm");
  3570. if(!utlf_isNull(fstrgstrusrnm))
  3571. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  3572. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  3573. // KNUH_20110406_박성호 수정
  3574. fstrgstrusrnm = ds_tmpinicert_iniinfo.getColumn(i, "fstrgstrusrnm");
  3575. // KNUH_20110406_박성호 수정
  3576. lastupdtrusrnm = ds_tmpinicert_iniinfo.getColumn(i, "lastupdtrusrnm");
  3577. }
  3578. erdt = ds_tmpinicert_iniinfo.getColumn(i, "erdt");
  3579. ervisittm = ds_tmpinicert_iniinfo.getColumn(i, "ervisittm");
  3580. staffnm = ds_tmpinicert_iniinfo.getColumn(i, "staffnm");
  3581. surgeon = staffnm;
  3582. emrrecusrnm = ds_tmpinicert_iniinfo.getColumn(i, "emrrecusrnm");
  3583. indd = ds_tmpinicert_iniinfo.getColumn(i, "indd");
  3584. dschdd = ds_tmpinicert_iniinfo.getColumn(i, "dschdd");
  3585. inorddepthngnm = ds_tmpinicert_iniinfo.getColumn(i, "inorddepthngnm");
  3586. dschorddepthngnm = ds_tmpinicert_iniinfo.getColumn(i, "dschorddepthngnm");
  3587. mainyn = ds_tmpinicert_iniinfo.getColumn(i, "mainyn");
  3588. incnt = ds_tmpinicert_iniinfo.getColumn(i, "incnt");
  3589. if(!utlf_isNull(incnt))
  3590. incnt += " 회차";
  3591. signgenrflag = ds_tmpinicert_iniinfo.getColumn(i, "signgenrflag"); //20100615-kys
  3592. careinrmdt = ds_tmpinicert_iniinfo.getColumn(i, "careinrmdt"); //20100615-kys
  3593. var ininfo = indd + " / " + inorddepthngnm;
  3594. if(!utlf_isNull(erdt))
  3595. ininfo += " (응급실 내원일 : " + erdt + ")";
  3596. var dschinfo = dschdd + " / " + dschorddepthngnm;
  3597. var formnmarr = formnm.split("\n");
  3598. var topformnm = "";
  3599. var botformnm = "";
  3600. if (formnmarr.length == 1)
  3601. {
  3602. topformnm = formnmarr[0];
  3603. }
  3604. else if (formnmarr.length == 2)
  3605. {
  3606. topformnm = formnmarr[0];
  3607. botformnm = formnmarr[1];
  3608. }
  3609. else
  3610. {
  3611. topformnm = formnm;
  3612. }
  3613. //2009-06-02 등록번호 "-" 병원별 제거
  3614. var pidynhcd = ds_pidynhcd.getColumn(0, "hardcd");
  3615. if (pidynhcd == "Y")
  3616. {
  3617. for(var k = pid.length; k <= 8; k++)
  3618. {
  3619. if(k < 8){
  3620. pid = "0"+pid;
  3621. }
  3622. }
  3623. var str1 = pid.substr(0, 3);
  3624. var str2 = pid.substr(3, 2);
  3625. var str3 = pid.substr(5, 2);
  3626. var str4 = pid.substr(7, 1);
  3627. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  3628. }
  3629. else
  3630. {
  3631. tmppid = pid;
  3632. }
  3633. if (chosflag == "O" || chosflag == "S")
  3634. {
  3635. wardheader = "진료과 : ";
  3636. }
  3637. else
  3638. {
  3639. wardheader = "병실 : ";
  3640. }
  3641. if (langflag == "KO")
  3642. {
  3643. if (chosflag == "O" || chosflag == "S")
  3644. {
  3645. wardheader = "진료과 : ";
  3646. }
  3647. else
  3648. {
  3649. wardheader = "병실 : ";
  3650. }
  3651. dateheader = "진료기간 : ";
  3652. doctorheader = "주치의 : ";
  3653. printheader = "출력 : ";
  3654. prtndeptnm = sysf_getUserInfo("dutplcenm");
  3655. //imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  3656. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + ".jpg"
  3657. pageheader = "페이지 : ";
  3658. }
  3659. else
  3660. {
  3661. if (chosflag == "O" || chosflag == "S")
  3662. {
  3663. wardheader = "Dept : ";
  3664. }
  3665. else
  3666. {
  3667. wardheader = "Room : ";
  3668. }
  3669. dateheader = "Date : ";
  3670. doctorheader = "Doctor : ";
  3671. printheader = "Print date : ";
  3672. prtndeptnm = sysf_getUserInfo("deptengnm");
  3673. //imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  3674. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + "e.jpg"
  3675. if (utlf_isNull(prtndeptnm))
  3676. {
  3677. prtndeptnm = sysf_getUserInfo("dutplcenm");
  3678. }
  3679. pageheader = "Page : ";
  3680. }
  3681. if (imgflag == "N")
  3682. {
  3683. if(utlf_isNull(trans))
  3684. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  3685. // SMMRC03100.xjs 6378line 동일
  3686. //Cross 조회 시 기록 이미지 조회 되지 않는 현상 수정
  3687. var sInstcd = sysf_getUserInfo("dutplceinstcd");
  3688. var bCross = false;
  3689. if( !utlf_isNull(ds_init_env.getColumn(0, "instcd")) && sInstcd != ds_init_env.getColumn(0, "instcd") ){
  3690. sInstcd = ds_init_env.getColumn(0, "instcd");
  3691. bCross = true;
  3692. }
  3693. if( trans.indexOf("&amp;instcd=&amp;") > -1 ){
  3694. trans = trans.replace("&amp;instcd=&amp;", "&amp;instcd="+sInstcd+"&amp;");
  3695. }else if( trans.indexOf("&amp;business_id=") > -1 && !(trans.indexOf("&amp;instcd=03") > -1) ){
  3696. trans = trans.replace("&amp;business_id=", "&amp;instcd="+sInstcd+"&amp;business_id=");
  3697. }else if( bCross && trans.indexOf("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;") > -1 ){
  3698. trans = trans.replace("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;", "&amp;instcd="+sInstcd+"&amp;");
  3699. }
  3700. var ininm = "cmc";
  3701. switch(srcformcd)
  3702. {
  3703. case "0000000001"://외래초진
  3704. case "0000000002"://외래재진
  3705. case "0000000004"://입원경과
  3706. case "0000003325"://DSC기록
  3707. ininm += "_0000000001.ini";
  3708. break;
  3709. case "0000000003"://입원초진
  3710. //20100615-kys
  3711. if(signgenrflag == "E"){ //서식발생구분이 응급일경우
  3712. //타이틀에 [응급]추가
  3713. topformnm = topformnm + "[응급]";
  3714. erdt = "";
  3715. }else if (signgenrflag == "I"){ //서식발생구분이 입원일경우
  3716. //간호입실시간 추가
  3717. erdt = "[병동 입실시간] " + careinrmdt; //기존의 erdt변수를 사용한다.
  3718. }
  3719. //입원일자에서 간호입실일로 변경-kys-20100705
  3720. var careinrmdd = careinrmdt.substr(0, 10).toDate("YYYY/MM/DD").getDateFormat();
  3721. /* 20100623 김달현 - 입원초진 Staff사인 시작일자를 2010.03.01로 변경*/
  3722. //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100301"){
  3723. //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){ //20100309-kys-입원초진 Staff사인 추가 - 20100310-사본 js와 버젼 맞춘후 반영하기로 함
  3724. if(sysf_getUserInfo("dutplceinstcd") == "012" && careinrmdd >= "20100301"){
  3725. staffnmheader = "◈ Staff작성 및 확인 :";
  3726. /*20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3727. if(staffnm != "")
  3728. staffnm += "(" + staffconfirmdt + ")";
  3729. */
  3730. emrrecusrnmheader = "";
  3731. ininm += "_1000000003.ini";
  3732. }else{
  3733. ininm += "_0000000003.ini";
  3734. }
  3735. break;
  3736. case "0000000676"://수술기록
  3737. staffnmheader = "◈ Surgeon :";
  3738. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3739. if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3740. if(staffnm != "")
  3741. staffnm += "(" + staffconfirmdt + ")";
  3742. }*/
  3743. emrrecusrnmheader = "";
  3744. ininm += "_0000000676.ini";
  3745. break;
  3746. case "0000003169"://Brief OP Note
  3747. staffnmheader = "";
  3748. ininm += "_0000000676.ini";
  3749. break;
  3750. case "0000000680"://입퇴원요약
  3751. staffnmheader = "◈ Staff작성 및 확인 :";
  3752. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3753. if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  3754. if(staffnm != "")
  3755. staffnm += "(" + staffconfirmdt + ")";
  3756. } */
  3757. emrrecusrnmheader = "◈ 의무기록사 :";
  3758. ininm += "_0000000680.ini";
  3759. break;
  3760. case "0000000679"://응급실기록
  3761. ininm += "_0000000679.ini";
  3762. break;
  3763. case "0000002022"://마취기록지
  3764. ininm += "_0000002022.ini";
  3765. break;
  3766. default:
  3767. //ininm += "_0000000001.ini";
  3768. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  3769. ininm += "_0000000001.ini";
  3770. else
  3771. ininm += ".ini";
  3772. break;
  3773. }
  3774. trans = "<!--% \n %BASE " + sysf_getURLprefix() + "/xpapps/ \n %INCLUDE emr/recmngtxp/xp/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  3775. //var fso = inff_fileSystemObject();//new ActiveXObject("Scripting.FileSystemObject");
  3776. /*
  3777. var a = fso.CreateTextFile(lgv_Foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  3778. a.WriteLine(trans);
  3779. a.Close();
  3780. */
  3781. var vfile = new VirtualFile(lgv_Foldernm + "\\" + signno + "_" + formcd + ".HTML", VirtualFile.openWrite);
  3782. vfile.write(trans, "utf-8");
  3783. vfile.close();
  3784. emrpath += lgv_Foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  3785. //emrorddate += orddd + "|";
  3786. emrorddate += recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  3787. emrformnm += formnm + "|";
  3788. emrformcd += formcd + "|";
  3789. emrdeptnm += deptengabbr + "|";
  3790. emrdeptcd += orddeptcd + "|";
  3791. emrpage += "1|";
  3792. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  3793. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  3794. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  3795. var chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  3796. dsf_createDsRow("ds_send_iemr", [{col: "treatno", type:"string", size:256, val:""}
  3797. , {col: "docucd", type:"string", size:256, val:""}
  3798. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}]);
  3799. iviewerIemrprt.appendChart(ds_send_iemr, chartinfo, emrhiddenmsg);
  3800. }
  3801. else
  3802. {
  3803. tmptreatno += signno + ",";
  3804. tmpiformcd += formcd + ",";
  3805. emrpath += "*|";
  3806. emrorddate += "*|";
  3807. emrformnm += "*|";
  3808. emrformcd += "*|";
  3809. emrdeptnm += "*|";
  3810. emrdeptcd += "*|";
  3811. emrpage += "*|";
  3812. emrhiddenmsg += "*|";
  3813. ds_imgrec_iemr.addColumn("treatno", "string");
  3814. ds_imgrec_iemr.addColumn("docucd", "string");
  3815. ds_imgrec_iemr.addColumn("instcd", "string");
  3816. ds_imgrec_iemr.setColumn(0, "treatno", signno);
  3817. ds_imgrec_iemr.setColumn(0, "docucd", formcd);
  3818. ds_imgrec_iemr.setColumn(0, "instcd", ds_init_env.getColumn(0, "instcd"));
  3819. var chartinfo;
  3820. chartinfo = "I";
  3821. var hiddenmsg;
  3822. hiddenmsg = "I";
  3823. iviewerIemrprt.appendChart(ds_imgrec_iemr, chartinfo, hiddenmsg);
  3824. }
  3825. }
  3826. iviewerIemrprt.refreshTrue();
  3827. }
  3828. /**
  3829. * @desc : 연속보기 더블클릭시 기록 rowno 리턴 인터페이스
  3830. * @id :
  3831. * @event : DOMActivate
  3832. * @return : void
  3833. * @authur : 박종훈
  3834. */
  3835. function fReturnRecRowno(rowno)
  3836. {
  3837. if (!utlf_isNull(rowno) && rowno > 0)
  3838. {
  3839. ds_init_etc.setColumn(0, "reccurpos", parseInt(rowno));
  3840. }
  3841. //model.refresh(); //pjh
  3842. }
  3843. /**
  3844. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  3845. * @id :
  3846. * @event : onclick
  3847. * @return : void
  3848. * @authur : 박종훈
  3849. */
  3850. function fGetNextEmrImgRecOne()
  3851. {
  3852. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  3853. //--20130418 김동준 start(html 다운로드시 본원과 칠곡 분기)
  3854. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  3855. //var foldernm = "C:\\Certrec";
  3856. //--20130418 김동준 end
  3857. var recall = model.getValue("/root/init/recall");
  3858. if (certnodeList.length <= 0)
  3859. {
  3860. return;
  3861. }
  3862. else if(certnodeList.length > 1)
  3863. {
  3864. model.setValue("/root/init/recall", "N");
  3865. }
  3866. var emrpath = "";
  3867. var emrorddate = "";
  3868. var emrformnm = "";
  3869. var emrformcd = "";
  3870. var emrdeptnm = "";
  3871. var emrdeptcd = "";
  3872. var emrpage = "";
  3873. var emrhiddenmsg = "";
  3874. var recrowno = "";
  3875. var k = "";
  3876. var pid = "";
  3877. var ptnm = "";
  3878. var depthngnm = "";
  3879. var deptengabbr = "";
  3880. var rgstno = "";
  3881. var sa = "";
  3882. var disporddd = "";
  3883. var orddd = "";
  3884. var drid = "";
  3885. var roomcd = "";
  3886. var ordtype = "";
  3887. var chosflag = "";
  3888. var orddeptcd = "";
  3889. var signflag = "";
  3890. var imgflag = "";
  3891. var langflag = "";
  3892. var tmptreatno = "";
  3893. var tmpiformcd = "";
  3894. var signno = 0;
  3895. var formcd = "";
  3896. var srcformcd = "";
  3897. var formnm = "";
  3898. var formprogflag = "";
  3899. var recdt = "";
  3900. var recdd = "";
  3901. var wardheader = "";
  3902. var dateheader = "";
  3903. var doctorheader = "";
  3904. var printheader = "";
  3905. var pageheader = "";
  3906. var imgepath = "";
  3907. var formrecdt = "";
  3908. var fstrgstdt = "";
  3909. var lastupdtdt = "";
  3910. var staffconfirmdt = "";
  3911. var fstrgstrusrnm = "";
  3912. var lastupdtrusrnm = "";
  3913. var erdt = "";
  3914. var ervisittm = "";
  3915. var staffnmheader = "";
  3916. var staffnm = "";
  3917. var emrrecusrnmheader = "";
  3918. var emrrecusrnm = "";
  3919. var indd = "";
  3920. var dschdd = "";
  3921. var inorddepthngnm = "";
  3922. var dschorddepthngnm = "";
  3923. var incnt = "";
  3924. var mainyn = "";
  3925. var rowno = "";
  3926. //2013/02/15 소스머지 시작(추가)
  3927. var surgeon = "";
  3928. var cover_header = "";
  3929. var cover_footer = "";
  3930. //2013/02/15 소스머지 끝
  3931. var prtnunm = getUserInfo("usernm");
  3932. var prtndeptnm = "";
  3933. //var getuseren = getUserInfo("userengnm");
  3934. var getdate = getCurrentDate();
  3935. var gettime = getCurrentTime();
  3936. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  3937. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  3938. var prtdt = dateprnt + " " + timeprnt;
  3939. var signgenrflag = ""; //20100615-kys
  3940. var careinrmdt = ""; //20100615-kys
  3941. fExistFolder(foldernm);
  3942. iviewerIemr.window.javascript.refreshFalse();
  3943. //for(var i = 1; i <= certnodeList.length; i++)
  3944. //{
  3945. signno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signno");
  3946. formcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formcd");
  3947. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/srcformcd");
  3948. formnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formnm");
  3949. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formprogflag");
  3950. recdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdt");
  3951. recdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdd");
  3952. trans = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/trans");
  3953. pid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/pid");
  3954. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ptnm");
  3955. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/depthngnm");
  3956. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/deptengabbr");
  3957. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rgstno");
  3958. sa = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/sa");
  3959. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/disporddd");
  3960. orddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddd");
  3961. drid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/drid");
  3962. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/roomcd");
  3963. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ordtype");
  3964. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/chosflag");
  3965. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddeptcd");
  3966. signflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signflag");
  3967. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/imgflag");
  3968. langflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/langflag");
  3969. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formrecdt");
  3970. formrecdt = formrecdt.toString().toDate().getDateFormat("YYYY/MM/DD");
  3971. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstdt");
  3972. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtdt");
  3973. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffconfirmdt");
  3974. //20100628-kys-서울성모병원은 최초작성자(작성일시), 최종작성자(작성일시)->작성자, 작성일시로 표시한다.
  3975. if(getUserInfo("dutplceinstcd") == "012"){
  3976. fstrgstrusrnm = "◈ 작 성 자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3977. if(fstrgstrusrnm != "")
  3978. lastupdtrusrnm = "◈ 작성일시 : " + fstrgstdt; //수정을 최소화 하기 위해 lastupdtrusrnm를 쓴다.-kys-20100628
  3979. }else{ //서울성모병원외는 최초작성자(작성일시), 최종작성자(작성일시) 그대로 표시.
  3980. // KNUH_20110406_박성호 수정
  3981. //fstrgstrusrnm = "◈ 최초작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3982. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  3983. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3984. if(fstrgstrusrnm != "")
  3985. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  3986. */
  3987. // KNUH_20110406_박성호 수정
  3988. //lastupdtrusrnm = "◈ 최종작성자 : " + model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtrusrnm");
  3989. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtrusrnm");
  3990. /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  3991. if(lastupdtrusrnm != "")
  3992. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  3993. */
  3994. }
  3995. erdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/erdt");
  3996. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ervisittm");
  3997. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffnm");
  3998. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/emrrecusrnm");
  3999. indd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/indd");
  4000. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschdd");
  4001. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/inorddepthngnm");
  4002. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschorddepthngnm");
  4003. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/mainyn");
  4004. rowno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rowno");
  4005. incnt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/incnt");
  4006. if(incnt != "")
  4007. incnt += " 회차";
  4008. signgenrflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signgenrflag"); //20100615-kys
  4009. careinrmdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/careinrmdt"); //20100615-kys
  4010. var ininfo = indd + " / " + inorddepthngnm;
  4011. if(erdt != "")
  4012. ininfo += " (응급실 내원일 : " + erdt + ")";
  4013. var dschinfo = dschdd + " / " + dschorddepthngnm;
  4014. var formnmarr = formnm.split("\n");
  4015. var topformnm = "";
  4016. var botformnm = "";
  4017. if (formnmarr.length == 1)
  4018. {
  4019. topformnm = formnmarr[0];
  4020. }
  4021. else if (formnmarr.length == 2)
  4022. {
  4023. topformnm = formnmarr[0];
  4024. botformnm = formnmarr[1];
  4025. }
  4026. else
  4027. {
  4028. topformnm = formnm;
  4029. }
  4030. //2009-06-02 등록번호 "-" 병원별 제거
  4031. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  4032. if (pidynhcd == "Y")
  4033. {
  4034. for(var k = pid.length; k <= 8; k++)
  4035. {
  4036. if(k < 8){
  4037. pid = "0"+pid;
  4038. }
  4039. }
  4040. var str1 = pid.substr(0, 3);
  4041. var str2 = pid.substr(3, 2);
  4042. var str3 = pid.substr(5, 2);
  4043. var str4 = pid.substr(7, 1);
  4044. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  4045. }
  4046. else
  4047. {
  4048. tmppid = pid;
  4049. }
  4050. if (chosflag == "O" || chosflag == "S")
  4051. {
  4052. wardheader = "진료과 : ";
  4053. }
  4054. else
  4055. {
  4056. wardheader = "병실 : ";
  4057. }
  4058. if (langflag == "KO")
  4059. {
  4060. if (chosflag == "O" || chosflag == "S")
  4061. {
  4062. wardheader = "진료과 : ";
  4063. }
  4064. else
  4065. {
  4066. wardheader = "병실 : ";
  4067. }
  4068. dateheader = "진료기간 : ";
  4069. doctorheader = "주치의 : ";
  4070. printheader = "출력 : ";
  4071. prtndeptnm = getUserInfo("dutplcenm");
  4072. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  4073. pageheader = "페이지 : ";
  4074. }
  4075. else
  4076. {
  4077. if (chosflag == "O" || chosflag == "S")
  4078. {
  4079. wardheader = "Dept : ";
  4080. }
  4081. else
  4082. {
  4083. wardheader = "Room : ";
  4084. }
  4085. dateheader = "Date : ";
  4086. doctorheader = "Doctor : ";
  4087. printheader = "Print date : ";
  4088. prtndeptnm = getUserInfo("deptengnm");
  4089. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  4090. if (prtndeptnm == "" || prtndeptnm == null)
  4091. {
  4092. prtndeptnm = getUserInfo("dutplcenm");
  4093. }
  4094. pageheader = "Page : ";
  4095. }
  4096. if (imgflag == "N")
  4097. {
  4098. if(trans == "")
  4099. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  4100. //2013/02/15 소스머지 시작(주석처리)
  4101. // var ininm = "cmc";
  4102. // switch(srcformcd)
  4103. // {
  4104. // case "0000000001"://외래초진
  4105. // case "0000000002"://외래재진
  4106. // case "0000000004"://입원경과
  4107. // case "0000003325"://DSC기록
  4108. // ininm += "_0000000001.ini";
  4109. // break;
  4110. // case "0000000003"://입원초진
  4111. // //20100615-kys
  4112. // if(signgenrflag == "E"){ //서식발생구분이 응급일경우
  4113. // //타이틀에 [응급]추가
  4114. // topformnm = topformnm + "[응급]";
  4115. // erdt = "";
  4116. // }else if (signgenrflag == "I"){ //서식발생구분이 입원일경우
  4117. // //간호입실시간 추가
  4118. // erdt = "[병동 입실시간] " + careinrmdt; //기존의 erdt변수를 사용한다.
  4119. // }
  4120. //
  4121. // //20100705-kys-입원일에서 간호입실일로 변경
  4122. // var careinrmdd = careinrmdt.substr(0, 10).toDate("YYYY/MM/DD").getDateFormat();
  4123. //
  4124. // if(getUserInfo("dutplceinstcd") == "012" && careinrmdd >= "20100301"){
  4125. // /* 20100623 김달현 - 입원초진 Staff사인 시작일자를 2010.03.01로 변경*/
  4126. // //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100301"){
  4127. // //if(getUserInfo("dutplceinstcd") == "012" && orddd >= "20100316"){//20100309-kys-입원초진 Staff사인 추가 -20100310-사본js와 버젼 맞춘후 반영하기로 함.
  4128. // staffnmheader = "◈ Staff작성 및 확인 :";
  4129. // /*20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  4130. // if(staffnm != "")
  4131. // staffnm += "(" + staffconfirmdt + ")";
  4132. // */
  4133. // emrrecusrnmheader = "";
  4134. // ininm += "_1000000003.ini";
  4135. // }else{
  4136. // ininm += "_0000000003.ini";
  4137. // }
  4138. // break;
  4139. // case "0000000676"://수술기록
  4140. // staffnmheader = "◈ Surgeon :";
  4141. // /* 20100705-kys-모든병원 작성일시를 제외시킨다.
  4142. // if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  4143. // if(staffnm != "")
  4144. // staffnm += "(" + staffconfirmdt + ")";
  4145. // } */
  4146. //
  4147. // emrrecusrnmheader = "";
  4148. // ininm += "_0000000676.ini";
  4149. // break;
  4150. // case "0000003169"://Brief OP Note
  4151. // staffnmheader = "";
  4152. // ininm += "_0000000676.ini";
  4153. // break;
  4154. // case "0000000680"://입퇴원요약
  4155. // staffnmheader = "◈ Staff작성 및 확인 :";
  4156. // /*
  4157. // if(getUserInfo("dutplceinstcd") != "012"){ //20100628-kys-서울성모병원은 staff작성자만 표시한다.(일시제외)
  4158. // if(staffnm != "")
  4159. // staffnm += "(" + staffconfirmdt + ")";
  4160. // } */
  4161. //
  4162. // emrrecusrnmheader = "◈ 의무기록사 :";
  4163. // ininm += "_0000000680.ini";
  4164. // break;
  4165. // case "0000000679"://응급실기록
  4166. // ininm += "_0000000679.ini";
  4167. // break;
  4168. // case "0000002022"://마취기록지
  4169. // ininm += "_0000002022.ini";
  4170. // break;
  4171. // default:
  4172. // //ininm += "_0000000001.ini";
  4173. // if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  4174. // ininm += "_0000000001.ini";
  4175. // else
  4176. // ininm += ".ini";
  4177. // break;
  4178. // }
  4179. //
  4180. // trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  4181. //2013/02/15 소스머지 끝
  4182. //2013/02/15 소스머지 시작(추가)
  4183. //debugger
  4184. switch(srcformcd)
  4185. {
  4186. //case "0000000001"://외래초진
  4187. //case "0000000002"://외래재진
  4188. //case "0000000004"://입원경과
  4189. case "0000000003"://입원초진
  4190. cover_header = "emr/recmngtweb/html/cover_header2.html";
  4191. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4192. break;
  4193. case "0000000676"://수술기록
  4194. cover_header = "emr/recmngtweb/html/cover_header.html";
  4195. cover_footer = "emr/recmngtweb/html/cover_footer2.html";
  4196. break;
  4197. case "0000000679"://응급실기록
  4198. cover_header = "emr/recmngtweb/html/cover_header3.html";
  4199. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4200. break;
  4201. case "0000000680"://입퇴원요약
  4202. cover_header = "emr/recmngtweb/html/cover_header1.html";
  4203. cover_footer = "emr/recmngtweb/html/cover_footer1.html";
  4204. break;
  4205. case "0000002022"://마취기록지
  4206. cover_header = "emr/recmngtweb/html/cover_header4.html";
  4207. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4208. break;
  4209. //case "0000003325"://DSC기록
  4210. case "0000003169"://Brief OP Note
  4211. cover_header = "emr/recmngtweb/html/cover_header.html";
  4212. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4213. break;
  4214. default:
  4215. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  4216. cover_header = "emr/recmngtweb/html/cover_header10.html";
  4217. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4218. }else{
  4219. cover_header = "emr/recmngtweb/html/cover_header.html";
  4220. cover_footer = "emr/recmngtweb/html/cover_footer.html";
  4221. }
  4222. break;
  4223. }
  4224. trans = "<!--@\n @DOCUMENT_HOME = " + getDomain() + "/himed/webapps/" +
  4225. "\n @COVER_HEADER = " + cover_header +
  4226. "\n @COVER_FOOTER = " + cover_footer +
  4227. "\n @BODY_HEADER = emr/recmngtweb/html/body_header.html" +
  4228. "\n @BODY_FOOTER = emr/recmngtweb/html/body_footer.html" +
  4229. "\n @DEFAULT_FONT = 굴림 " +
  4230. "\n @DEFAULT_PRE_FONT = 굴림 " +
  4231. "\n @DEFAULT_FONT_SIZE = 9pt " +
  4232. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  4233. "\n @FONT_SIZE_OFFSET = 3px " +
  4234. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  4235. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  4236. "\n @VAR_PAT_NUM = " + tmppid +
  4237. "\n @VAR_CLASS = " + ordtype +
  4238. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  4239. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  4240. "\n @VAR_CHART_NAME_LINE = " + formnm +
  4241. "\n @VAR_PAT_AGE_SEX = " + sa +
  4242. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  4243. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  4244. "\n @VAR_PAT_NAME = " + ptnm +
  4245. "\n @VAR_PRINT_NAME = " + prtnunm +
  4246. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  4247. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  4248. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  4249. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  4250. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  4251. "\n @SYS_PAGE_HEADER = " + pageheader +
  4252. "\n @VAR_HOSP_IMG = " + imgepath +
  4253. "\n @VAR_ORDDATE = " + formrecdt +
  4254. "\n @VAR_ORDDEPT = " + depthngnm +
  4255. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  4256. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  4257. "\n @VAR_ERDT = " + erdt +
  4258. "\n @VAR_ERVISITTM = " + ervisittm +
  4259. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  4260. "\n @VAR_STAFFNM = " + staffnm +
  4261. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  4262. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  4263. "\n @VAR_ININFO = " + ininfo +
  4264. "\n @VAR_DSCHINFO = " + dschinfo +
  4265. "\n @VAR_INCNT = " + incnt +
  4266. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  4267. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  4268. "\n @VAR_REALRECDT = " + erdt +
  4269. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  4270. "\n @VAR_SURGEON = " + surgeon +
  4271. "\n @OUTPUT_MAGNIFICATION = 1 " +
  4272. "\n@-->\n" + trans + "\n";
  4273. //2013/02/15 소스머지 끝
  4274. var fso = new ActiveXObject("Scripting.FileSystemObject");
  4275. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  4276. a.WriteLine(trans);
  4277. //a.Write(trans);
  4278. a.Close();
  4279. emrpath = foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  4280. //emrorddate += orddd + "|";
  4281. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  4282. emrformnm = formnm + "|";
  4283. emrformcd = formcd + "|";
  4284. emrdeptnm = deptengabbr + "|";
  4285. emrdeptcd = orddeptcd + "|";
  4286. emrpage = "1|";
  4287. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  4288. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  4289. recrowno = rowno;
  4290. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  4291. var chartinfo = "";
  4292. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  4293. model.makeValue("/root/send/iemr/treatno", "");
  4294. model.makeValue("/root/send/iemr/docucd", "");
  4295. model.makeValue("/root/send/iemr/instcd", model.getValue("/root/init/env/instcd"));
  4296. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  4297. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  4298. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  4299. }
  4300. else
  4301. {
  4302. tmptreatno = signno + ",";
  4303. tmpiformcd = formcd + ",";
  4304. emrpath = "*|";
  4305. emrorddate = "*|";
  4306. emrformnm = "*|";
  4307. emrformcd = "*|";
  4308. emrdeptnm = "*|";
  4309. emrdeptcd = "*|";
  4310. emrpage = "*|";
  4311. emrhiddenmsg = "*|";
  4312. recrowno = rowno;
  4313. model.makeValue("/root/imgrec/iemr/treatno", signno);
  4314. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  4315. model.makeValue("/root/imgrec/iemr/instcd", model.getValue("/root/init/env/instcd"));
  4316. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  4317. var chartinfo;
  4318. chartinfo = "I";
  4319. var hiddenmsg;
  4320. hiddenmsg = "I";
  4321. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  4322. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  4323. }
  4324. /*
  4325. if (certnodeList.length > 1 && certnodeList.length > nodeposcnt)
  4326. {
  4327. multirecyn = "Y";
  4328. }
  4329. else
  4330. {
  4331. multirecyn = "N";
  4332. nodeposcnt = 1;
  4333. }*/
  4334. //}
  4335. iviewerIemr.window.javascript.refreshTrue();
  4336. }
  4337. /**
  4338. * @desc : 북마크 등록 클릭시 모달창 호출
  4339. * @id :
  4340. * @event : DOMActivate
  4341. * @return : void
  4342. * @authur : 강지훈
  4343. */
  4344. function fSetBookmark()
  4345. {
  4346. var ViewMode;
  4347. ViewMode = grup_right.iviewerIemr.hidden_currentViewMode;
  4348. var appcopykey = grup_right.iviewerIemr.SetMarkPage(ViewMode); //영상뷰어에서의 리턴값
  4349. var selPid = ds_patinfolist.getColumn(0, "pid");
  4350. //sysf_trace("***** selPid : " + selPid + " appcopykey : " + appcopykey + " *****");
  4351. if(!utlf_isNull(selPid)){
  4352. if(!utlf_isNull(appcopykey)){
  4353. appcopykey = appcopykey.getTrim();
  4354. var copykey = appcopykey.split("|");
  4355. var appkeyArr = "";
  4356. var imageCnt = 0;
  4357. //1차적으로 영상EMR만 등록가능. 선택된 영상EMR의 갯수를 파악한다.
  4358. for(var i = 0; i < copykey.length; i++){
  4359. appkeyArr = copykey[i].split("▦");
  4360. reckind = appkeyArr[0];
  4361. if (reckind == "I"){
  4362. imageCnt++;
  4363. }
  4364. }
  4365. if(imageCnt > 0){ //선택된 이미지중에 영상EMR이 있을경우
  4366. frmf_setParameter("SPMRI01500_reckey", appcopykey);
  4367. frmf_setParameter("SPMRI01500_setflag", "A");
  4368. frmf_modal("SPMRI01500", "SPMRI01500", null, null, null, null, null, null, null, null, null, null, "M");
  4369. //북마크 treeview 재조회
  4370. fGetTreeView();
  4371. }
  4372. else{
  4373. sysf_messageBox("현재 영상EMR만 등록 ","I006");
  4374. return;
  4375. }
  4376. }
  4377. else{
  4378. frmf_setParameter("SPMRI01500_reckey", appcopykey);
  4379. frmf_setParameter("SPMRI01500_setflag", "A");
  4380. frmf_modal("SPMRI01500", "SPMRI01500", null, null, null, null, null, null, null, null, null, null, "M");
  4381. var ViewMode = grup_right.iviewerIemr.hidden_currentViewMode;
  4382. if (utlf_isNull(ViewMode) || ViewMode != "ChartView")
  4383. {
  4384. sysf_messageBox("선택된 기록이","I004");
  4385. return;
  4386. }
  4387. }
  4388. }
  4389. else{
  4390. sysf_messageBox("선택된 환자가","I004");
  4391. grup_left.switch1.tabindex = 0;
  4392. lf_setSelectStatus(grup_left.btn_all);
  4393. grup_left.roundrect2.ipt_pid.setFocus();
  4394. return;
  4395. }
  4396. }
  4397. /**
  4398. * @group :
  4399. * @ver :
  4400. * @by : 2009-10-16 오전 10:13:04 강지훈
  4401. * @---------------------------------------------------
  4402. * @type : function
  4403. * @access : public
  4404. * @desc : 트리뷰 조회
  4405. * @param :
  4406. * @return :
  4407. * @---------------------------------------------------
  4408. */
  4409. function fGetTreeView(){
  4410. //북마크 트리뷰는 환자가 조회되어있어야만 조회된다. 환자가없을경우 전체창 모드
  4411. var selPid = ds_patinfolist.getColumn(0, "pid");
  4412. if(utlf_isNull(selPid)){
  4413. sysf_messageBox("선택된 환자가","I004");
  4414. var e = new ClickEventInfo();
  4415. grup_left.btn_all.onclick.fireEvent(grup_left.btn_all, e);
  4416. //grup_left.switch1.tabindex = 0;
  4417. grup_left.roundrect2.ipt_pid.setFocus();
  4418. return;
  4419. }
  4420. else{
  4421. //북마크가 선택되어야만 조회를 한다.
  4422. var selIndx = grup_left.switch1.tabindex;
  4423. var bmkAll = grup_left.switch1.trv.chk_allbmk.value;
  4424. if(bmkAll != "A"){
  4425. bmkAll = "S";
  4426. }
  4427. if(selIndx == 1){
  4428. //Instance초기화
  4429. ds_treeview.clearData();
  4430. //send Node 설정
  4431. dsf_createDsRow("ds_send_bmkpara", [{col: "pid", type:"string", size:256, val:selPid}
  4432. , {col: "bmkall", type:"string", size:256, val:bmkAll}
  4433. , {col: "instcd", type:"string", size:256, val:""}]);
  4434. var oParam = {};
  4435. oParam.id = "TRMRI01500";
  4436. oParam.service = "recmngtapp.SystView";
  4437. oParam.method = "reqGetTreeView";
  4438. oParam.inds = "req=ds_send_bmkpara";
  4439. oParam.outds = "ds_treeview=treeview";
  4440. oParam.async = false;
  4441. oParam.callback = "cf_TRMRI01500";
  4442. tranf_submit(oParam);
  4443. }
  4444. }
  4445. }
  4446. function cf_TRMRI01500(sSvcId, nErrorCode, sErrorMsg) {
  4447. if(nErrorCode < 0) return;
  4448. //2010-02-23 오후 9:40:13 강지훈 수정 : 외래요약지가있을경우 자기과의 외래요약지가 자동 선택된다.
  4449. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  4450. //2010-03-09 이환석 : 내과 분과들 외래요약지 북마크에서 자동선택
  4451. dsf_createDs("ds_mdsupdept");
  4452. lf_getHardCDList("N", 9931, null, ds_mdsupdept);
  4453. //하드코드 테이블에 있는
  4454. if( !utlf_isNull(ds_mdsupdept.lookup("hardcd", sUserDeptcd, "hardcd")) ) {
  4455. dsf_createDsRow("ds_cond_TRMRI00410", [{col: "deptcd", type:"string", size:256, val:ds_mdsupdept.lookup("hardcd", sUserDeptcd, "hardcd")}
  4456. , {col: "instcd", type:"string", size:256, val:""}]);
  4457. dsf_createDs("ds_data_TRMRI00410", [{col: "ordsupdeptcd", type:"string", size:256}]);
  4458. var oParam = {};
  4459. oParam.id = "TRMRI00410";
  4460. oParam.service = "recmngtapp.SystView";
  4461. oParam.method = "reqGetOrdSupDeptcd";
  4462. oParam.inds = "req=ds_cond_TRMRI00410";
  4463. oParam.outds = "ds_data_TRMRI00410=ordsupdeptcd";
  4464. oParam.async = false;
  4465. //oParam.callback = "cf_TRMRI00410";
  4466. tranf_submit(oParam);
  4467. var ordSupDeptcd = ds_data_TRMRI00410.getColumn(0, "ordsupdeptcd");
  4468. sUserDeptcd = ordSupDeptcd;
  4469. dsf_deleteDs("ds_cond_TRMRI00410");
  4470. dsf_deleteDs("ds_data_TRMRI00410");
  4471. }
  4472. var deptNodeIndx = 0;
  4473. if(ds_treeview.rowcount > 0){
  4474. for (var i = 0; i < ds_treeview.rowcount; i++){
  4475. var markdeptcd = ds_treeview.getColumn(i, "markdeptcd");
  4476. if(markdeptcd == sUserDeptcd){
  4477. deptNodeIndx = i;
  4478. break;
  4479. }
  4480. }
  4481. ds_treeview.rowposition = deptNodeIndx;
  4482. ds_treeview.selectRow(deptNodeIndx);
  4483. fGetBookmarkItem();
  4484. }
  4485. dsf_deleteDs("ds_send_bmkpara");
  4486. }
  4487. /**
  4488. * @group :
  4489. * @ver :
  4490. * @by : 2009-10-16 오전 10:13:04 강지훈
  4491. * @---------------------------------------------------
  4492. * @type : function
  4493. * @access : public
  4494. * @desc : 북마크 항목을 더블클릭한다.
  4495. * @param :
  4496. * @return :
  4497. * @---------------------------------------------------
  4498. */
  4499. function fGetBookmarkItem(){
  4500. var selFolder = new SELFOLDER();
  4501. itemno = selFolder.itemno;
  4502. linkflag = selFolder.linkflag;
  4503. if(linkflag == "Y"){
  4504. dsf_createDsRow("ds_cond_TRMRI00408", [{col: "itemno", type:"string", size:256, val:itemno}
  4505. , {col: "instcd", type:"string", size:256, val:""}]);
  4506. dsf_createDs("ds_data_TRMRI00408", [{col: "formcd", type:"string", size:256}
  4507. , {col: "emrflag", type:"string", size:256}
  4508. , {col: "recno", type:"string", size:256}
  4509. , {col: "pageno", type:"string", size:256}
  4510. , {col: "pagesortno", type:"string", size:256}
  4511. , {col: "pid", type:"string", size:256}]);
  4512. var oParam = {};
  4513. oParam.id = "TRMRI00408";
  4514. oParam.service = "recmngtapp.SystView";
  4515. oParam.method = "reqGetBookmarkItem";
  4516. oParam.inds = "req=ds_cond_TRMRI00408";
  4517. oParam.outds = "ds_data_TRMRI00408=recinfo";
  4518. oParam.async = false;
  4519. //oParam.callback = "cf_TRMRI00408";
  4520. tranf_submit(oParam);
  4521. if(ds_data_TRMRI00408.getRowCount() > 0){
  4522. //초기화
  4523. grup_right.iviewerIemr.cleanViewer();
  4524. grup_right.iviewerIemr.refreshFalse();
  4525. dsf_createDs("ds_tmp_imgerec", [{col: "treatno", type:"string", size:256}
  4526. , {col: "pid", type:"string", size:256}
  4527. , {col: "orddeptcd", type:"string", size:256}
  4528. , {col: "indd", type:"string", size:256}
  4529. , {col: "docucd", type:"string", size:256}
  4530. , {col: "ioflag", type:"string", size:256}
  4531. , {col: "cmc_cretno", type:"string", size:256}
  4532. , {col: "cmc_spcid", type:"string", size:256}
  4533. , {col: "cmc_orddate", type:"string", size:256}
  4534. , {col: "cmc_orderseqno", type:"string", size:256}
  4535. , {col: "pageno", type:"string", size:256}]);
  4536. //통합기록조회 환자정보 셋팅
  4537. var selPid = "";
  4538. //북마크에 등록된 정보를 가져온다.
  4539. for(var i = 0 ; i < ds_data_TRMRI00408.getRowCount(); i++){
  4540. var emrflag = ds_data_TRMRI00408.getColumn(i, "emrflag");
  4541. //영상일때
  4542. if(emrflag == "I"){
  4543. var treatno = ds_data_TRMRI00408.getColumn(i, "recno");
  4544. var docucd = ds_data_TRMRI00408.getColumn(i, "formcd");
  4545. var pageno = ds_data_TRMRI00408.getColumn(i, "pageno");
  4546. var pid = ds_data_TRMRI00408.getColumn(i, "pid");
  4547. selPid = pid;
  4548. var nRow = ds_tmp_imgerec.addRow();
  4549. ds_tmp_imgerec.setColumn(nRow, "treatno", parseInt(treatno));
  4550. ds_tmp_imgerec.setColumn(nRow, "pid", pid);
  4551. ds_tmp_imgerec.setColumn(nRow, "orddeptcd", "");
  4552. ds_tmp_imgerec.setColumn(nRow, "indd", "");
  4553. ds_tmp_imgerec.setColumn(nRow, "docucd", docucd);
  4554. ds_tmp_imgerec.setColumn(nRow, "ioflag", "");
  4555. ds_tmp_imgerec.setColumn(nRow, "cmc_cretno", "");
  4556. ds_tmp_imgerec.setColumn(nRow, "cmc_spcid", "");
  4557. ds_tmp_imgerec.setColumn(nRow, "cmc_orddate", "");
  4558. ds_tmp_imgerec.setColumn(nRow, "cmc_orderseqno", "");
  4559. ds_tmp_imgerec.setColumn(nRow, "pageno", parseInt(pageno));
  4560. }
  4561. }
  4562. //통합기록조회 환자정보입력란 Setting
  4563. if(grup_left.switch1.trv.chk_allbmk.value == "A"){
  4564. grup_left.roundrect2.ipt_pid.value = selPid;
  4565. chkPidRtn = fPidKeyPress();
  4566. }
  4567. //chart추가
  4568. var chartinfo;
  4569. chartinfo = "I";
  4570. var hiddenmsg;
  4571. hiddenmsg = "I";
  4572. grup_right.iviewerIemr.append_BmarkChart(ds_tmp_imgerec, chartinfo, hiddenmsg);
  4573. grup_right.iviewerIemr.refreshTrue();
  4574. }else{
  4575. sysf_messageBox("등록된 기록이 ", "I004");
  4576. return;
  4577. }
  4578. }
  4579. }
  4580. /**
  4581. * @group :
  4582. * @ver :
  4583. * @by : 2009-10-16 오전 10:13:04 강지훈
  4584. * @---------------------------------------------------
  4585. * @type : function
  4586. * @access : public
  4587. * @desc : 선택한 폴더의 정보
  4588. * @param :
  4589. * @return :
  4590. * @---------------------------------------------------
  4591. */
  4592. function SELFOLDER(){
  4593. var nRow = ds_treeview.rowposition;
  4594. if( nRow < 0 || ds_treeview.rowcount < 1) return;
  4595. this.level = ds_treeview.getColumn(nRow, "level");
  4596. this.itemno = ds_treeview.getColumn(nRow, "itemno");
  4597. this.supitemno = ds_treeview.getColumn(nRow, "supitemno");
  4598. this.itemnm = ds_treeview.getColumn(nRow, "itemnm");
  4599. this.linkflag = ds_treeview.getColumn(nRow, "linkflag");
  4600. this.pid = ds_treeview.getColumn(nRow, "pid");
  4601. }
  4602. /**
  4603. * @group :
  4604. * @ver :
  4605. * @by : 2009-10-16 오전 10:13:04 강지훈
  4606. * @---------------------------------------------------
  4607. * @type : function
  4608. * @access : public
  4609. * @desc : 폴더를 수정함
  4610. * @param :
  4611. * @return :
  4612. * @---------------------------------------------------
  4613. */
  4614. function fModiFolder(){
  4615. frmf_setParameter("SPMRI01500_setflag", "M");
  4616. frmf_open("SPMRI01500", "SPMRI01500");
  4617. fGetTreeView();
  4618. }
  4619. /**
  4620. * @group :
  4621. * @ver :
  4622. * @by : 2009-10-16 오전 10:13:04 강지훈
  4623. * @---------------------------------------------------
  4624. * @type : function
  4625. * @access : public
  4626. * @desc : 북마크에 해당환자 기록이 있으면 북마크 탭 색을 변경.
  4627. * @param :
  4628. * @return :
  4629. * @---------------------------------------------------
  4630. */
  4631. function fChkBookmark(){
  4632. var selPid = ds_patinfolist.getColumn(0, "pid");
  4633. dsf_createDsRow("ds_reqGetChkItem", [{col: "pid", type:"string", size:256, val:selPid}
  4634. , {col: "instcd", type:"string", size:256, val:""}]);
  4635. dsf_createDs("ds_getChkItem", [{col: "itemno", type:"string", size:256}]);
  4636. var oParam = {};
  4637. oParam.id = "TRMRI00409";
  4638. oParam.service = "recmngtapp.SystView";
  4639. oParam.method = "reqGetChkItem";
  4640. oParam.inds = "req=ds_reqGetChkItem";
  4641. oParam.outds = "ds_getChkItem=itemno";
  4642. oParam.async = false;
  4643. oParam.callback = "cf_TRMRI00409"
  4644. tranf_submit(oParam);
  4645. }
  4646. function cf_TRMRI00409(sSvcId, nErrorCode, sErrorMsg){
  4647. arErrorCode.push(sSvcId, nErrorCode);
  4648. // sysf_trace("***** cf_TRMRI00409 *****");
  4649. if(nErrorCode > -1){
  4650. if(ds_getChkItem.rowcount > 0){
  4651. grup_left.btn_mark.style.color = "#ff0000";
  4652. }
  4653. else{
  4654. grup_left.btn_mark.style.color = "default";
  4655. }
  4656. }
  4657. dsf_deleteDs("ds_reqGetChkItem");
  4658. dsf_deleteDs("ds_getChkItem");
  4659. }
  4660. function fUpKeyBtn()
  4661. {
  4662. var nRow = ds_grd_pathist.rowposition;
  4663. if ( (nRow-1) >= 0 )
  4664. {
  4665. ds_grd_pathist.selectRow(nRow, false);
  4666. //grup_left.switch1.grd.grd_pathist.setFocus();
  4667. ds_grd_pathist.rowposition = nRow - 1;
  4668. ds_grd_pathist.selectRow(ds_grd_pathist.rowposition);
  4669. fGetRecMidIndx(ds_grd_pathist.rowposition);
  4670. }
  4671. }
  4672. function fDownKeyBtn()
  4673. {
  4674. var nRow = ds_grd_pathist.rowposition;
  4675. if ( (nRow + 1) != ds_grd_pathist.rowcount )
  4676. {
  4677. ds_grd_pathist.selectRow(nRow, false);
  4678. //grup_left.switch1.grd.grd_pathist.setFocus();
  4679. ds_grd_pathist.rowposition = nRow + 1;
  4680. ds_grd_pathist.selectRow(ds_grd_pathist.rowposition);
  4681. fGetRecMidIndx(ds_grd_pathist.rowposition);
  4682. }
  4683. }
  4684. /**
  4685. * @group :
  4686. * @ver :
  4687. * @by : 2009-10-30 주희경
  4688. * @---------------------------------------------------
  4689. * @type : function
  4690. * @access : public
  4691. * @desc : xrw화면내에서 방향키(↑ , ↓) 이벤트 발생 시 다음/이전의 수진이력 조회
  4692. * @param :
  4693. * @return :
  4694. * @---------------------------------------------------
  4695. */
  4696. function onkeydown()
  4697. {
  4698. /*
  4699. if (event.keyCode == 38) //↑
  4700. {
  4701. if ( (grd_pathist.row-1) >= grd_pathist.fixedRows )
  4702. {
  4703. fGetRecMidIndx(grd_pathist.row-1);
  4704. grd_pathist.row = grd_pathist.row - 1;
  4705. }
  4706. }
  4707. else if ( event.keyCode == 40 ) //↓
  4708. {
  4709. if ( (grd_pathist.row+1) != grd_pathist.rows )
  4710. {
  4711. fGetRecMidIndx(grd_pathist.row+1);
  4712. grd_pathist.row = grd_pathist.row + 1;
  4713. }
  4714. }
  4715. else {
  4716. event.preventDefault();
  4717. }
  4718. event.stopPropagation();*/
  4719. }
  4720. /**
  4721. * @group :
  4722. * @ver :
  4723. * @by : 2010-02-17 박종훈
  4724. * @---------------------------------------------------
  4725. * @type : function
  4726. * @access : public
  4727. * @desc : 수진이력별, 진료과별 라디옵튼 선택
  4728. * @param :
  4729. * @return :
  4730. * @---------------------------------------------------
  4731. */
  4732. function fSelectOption()
  4733. {
  4734. grup_left.rdo_option1.updateToDataset();
  4735. var option = ds_init_env.getColumn(0, "option");
  4736. // sysf_trace("***** fSelectoption() option : " + option + " *****");
  4737. if (option == "H")
  4738. {
  4739. //model.toggle ("grd");
  4740. grup_left.switch1.tabindex = 0;
  4741. bool_viewflag.position.y = "481";
  4742. bool_viewflag.position.x = "322";
  4743. grup_left.btn_in.text = "입원";
  4744. grup_left.btn_in.position.left = 246;
  4745. grup_left.btn_in.position.right = 293;
  4746. grup_left.btn_out.text = "외래";
  4747. grup_left.btn_out.position.left = 200;
  4748. grup_left.btn_out.position.right = 247;
  4749. grup_left.btn_all.visible = true;
  4750. grup_left.btn_er.visible = true;
  4751. grup_left.caption2.text = "수진이력";
  4752. grup_left.roundrect2.cmb_dept.enable = true;
  4753. fSetGridSize("one");
  4754. var e = new ClickEventInfo();
  4755. if(grup_left.btn_all.getSelectStatus())
  4756. {
  4757. grup_left.btn_all.onclick.fireEvent(grup_left.btn_all, e);
  4758. }
  4759. else if(grup_left.btn_out.getSelectStatus())
  4760. {
  4761. grup_left.btn_out.onclick.fireEvent(grup_left.btn_out, e);
  4762. }
  4763. else if(grup_left.btn_in.getSelectStatus())
  4764. {
  4765. grup_left.btn_in.onclick.fireEvent(grup_left.btn_in, e);
  4766. }
  4767. else if(grup_left.btn_er.getSelectStatus())
  4768. {
  4769. grup_left.btn_er.onclick.fireEvent(grup_left.btn_er, e);
  4770. }
  4771. else if(grup_left.btn_mark.getSelectStatus())
  4772. {
  4773. grup_left.btn_mark.onclick.fireEvent(grup_left.btn_mark, e);
  4774. }
  4775. }else if (option == "D"){
  4776. grup_left.switch1.tabindex = 0;
  4777. bool_viewflag.position.y = "481";
  4778. bool_viewflag.position.x = "322";
  4779. grup_left.btn_in.text = "입원";
  4780. grup_left.btn_in.position.left = 246;
  4781. grup_left.btn_in.position.right = 293;
  4782. grup_left.btn_out.position.left = 200;
  4783. grup_left.btn_out.position.right = 247;
  4784. grup_left.btn_out.text = "외래";
  4785. grup_left.btn_all.visible = true;
  4786. grup_left.btn_er.visible = true;
  4787. grup_left.caption2.text = "진료과";
  4788. grup_left.roundrect2.cmb_dept.enable = false;
  4789. fSetGridSize("two");
  4790. grup_right.iviewerIemr.cleanViewer();
  4791. ds_init_etc.setColumn(0, "totcnt", "");
  4792. dsf_createDsRow("ds_send", [{col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}]);
  4793. ds_grd_pathist.clearData();
  4794. ds_grd_midindx.clearData();
  4795. ds_init_accresn.clearData();
  4796. ds_init_prtresn.clearData();
  4797. ds_init_etc.setColumn(0, "itemindxseq", "");
  4798. ds_init_etc.setColumn(0, "midreccnt", "");
  4799. ds_init_etc.setColumn(0, "reccurpos", "");
  4800. var sUserDeptcd = sysf_getUserInfo("dutplcecd");
  4801. var defdept = ds_envinfo.lookup("qestcd", "021", "answcnt");
  4802. if (utlf_isNull(defdept))
  4803. defdept = "002";
  4804. //해당과, 전체과 환경설정
  4805. if (defdept == "002"){
  4806. ds_init_etc.setColumn(0, "orddept", "ALL");
  4807. ds_init_cmb_dept.rowposition = 0;
  4808. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  4809. }else if (defdept == "001"){
  4810. var itrgtNodeCnt = ds_init_cmb_dept.getCaseCount("deptcd == '"+ sUserDeptcd +"'");
  4811. if (itrgtNodeCnt > 0){
  4812. ds_init_etc.setColumn(0, "orddept", sUserDeptcd);
  4813. var row = ds_init_cmb_dept.findRowAs("deptcd", sUserDeptcd);
  4814. ds_init_cmb_dept.rowposition = row;
  4815. ds_init_cmb_dept.setColumn(row, "bgchk", "true");
  4816. }else{
  4817. ds_init_etc.setColumn(0, "orddept", "ALL");
  4818. ds_init_cmb_dept.rowposition = 0;
  4819. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  4820. }
  4821. }else{
  4822. ds_init_etc.setColumn(0, "orddept", "ALL");
  4823. ds_init_cmb_dept.rowposition = 0;
  4824. ds_init_cmb_dept.setColumn(0, "bgchk", "true");
  4825. }
  4826. fDbclickDept();
  4827. }else if(option == "F"){
  4828. grup_left.caption2.text = "기록지";
  4829. grup_left.roundrect2.cmb_dept.enable = true;
  4830. grup_left.btn_in.text = "입원/응급/DSC";
  4831. grup_left.btn_out.text = "외래/건진";
  4832. grup_left.btn_er.visible = false;
  4833. grup_left.btn_all.visible = false;
  4834. grup_left.btn_out.position.left = 145;
  4835. grup_left.btn_out.position.right = 220;
  4836. grup_left.btn_in.position.left = 220;
  4837. grup_left.btn_in.position.right = 338;
  4838. grup_left.switch1.tabindex = 2;//model.toggle ("rec");
  4839. bool_viewflag.position.y = "216";
  4840. bool_viewflag.position.x = "220";
  4841. if( grup_left.btn_out.getSelectStatus() != true && grup_left.btn_in.getSelectStatus() != true ){
  4842. lf_setSelectStatus(grup_left.btn_out);
  4843. }
  4844. // 기록지별 조회를 위한 Combo박스에 들어갈 서식 조회 2014.02.19
  4845. dsf_createDs("ds_send_recsrch", [{col: "ordtype", type:"string", size:256}
  4846. , {col: "instcd", type:"string", size:256}
  4847. , {col: "hardcd", type:"string", size:256}]);
  4848. var nRow = ds_send_recsrch.addRow();
  4849. if( grup_left.btn_out.getSelectStatus() )
  4850. {
  4851. ds_send_recsrch.setColumn(nRow, "ordtype", "O");
  4852. }
  4853. else if(grup_left.btn_in.getSelectStatus())
  4854. {
  4855. ds_send_recsrch.setColumn(nRow, "ordtype", "I");
  4856. }
  4857. ds_send_recsrch.setColumn(nRow, "instcd", sysf_getUserInfo("dutplceinstcd"));
  4858. ds_send_recsrch.setColumn(nRow, "hardcd", "5627");
  4859. var oParam = {};
  4860. oParam.id = "TRMRI08115";
  4861. oParam.service = "recmngtapp.IntegrityRec";
  4862. oParam.method = "reqGetHardCdList";
  4863. oParam.inds = "req=ds_send_recsrch";
  4864. oParam.outds = "ds_init_cmb_recformcd=hardcdlist";
  4865. oParam.async = false;
  4866. //oParam.callback = "cf_TRMRI08115"
  4867. tranf_submit(oParam);
  4868. }else{
  4869. grup_left.roundrect2.cmb_dept.enable = true;
  4870. }
  4871. }
  4872. /**
  4873. * @group :
  4874. * @ver :
  4875. * @by : 2010-02-18 박종훈
  4876. * @---------------------------------------------------
  4877. * @type : function
  4878. * @access : public
  4879. * @desc : 부서 그리드 더블클릭
  4880. * @param :
  4881. * @return :
  4882. * @---------------------------------------------------
  4883. */
  4884. function fDbclickDept()
  4885. {
  4886. //sysf_trace("***** fDbclickDept *****");
  4887. var row = ds_init_cmb_dept.rowposition;
  4888. var deptcd = ds_init_cmb_dept.getColumn(row, "deptcd");
  4889. var privateflag = frmf_getParameter("SMMRI03000_privateflag");
  4890. var openerid = "";
  4891. if( frmf_checkOpener() )
  4892. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  4893. var breakyn = frmf_getParameter("SMMRI08000_breakyn");
  4894. // sysf_trace( openerid + " : " + breakyn + " : " + row);
  4895. if ( openerid != "SMMRI08000" )
  4896. {
  4897. breakyn = "false";
  4898. }
  4899. else //열람신청에서 분기 -20120129 이윤주
  4900. {
  4901. var deptengabbr = utlf_transNullToEmpty(ds_init_cmb_dept.getColumn(row, "deptengabbr"));
  4902. var prntdeptengabbr = utlf_transNullToEmpty(opener.frmf_getParameter("SMMRI00400_param_prntdeptengabbr"));
  4903. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  4904. if (prntidx > -1) {
  4905. btn_prnt.visible = true; //출력버튼 보임
  4906. if(privateflag == "1"){
  4907. txt_private.visible = false;
  4908. }
  4909. }else {
  4910. btn_prnt.visible = false;
  4911. txt_private.visible = false;
  4912. }
  4913. }
  4914. if ( row > -1 && breakyn == "false" )
  4915. {
  4916. for( var i=0; i<ds_init_cmb_dept.rowcount; i++){
  4917. if( i == row ) ds_init_cmb_dept.setColumn( i, "bgchk", "true");
  4918. else ds_init_cmb_dept.setColumn( i, "bgchk", "false");
  4919. }
  4920. ds_init_etc.setColumn(0, "orddept", deptcd);
  4921. fGetPatOrdHist(null);
  4922. var option = ds_envinfo.lookup("qestcd", "020", "answcnt");
  4923. if (option == "")
  4924. option = "001";
  4925. var tab = ds_envinfo.lookup("qestcd", "022", "answcnt");
  4926. if (tab == "")
  4927. tab = "001";
  4928. //수진이력, 진료과별, 서식지별(미개발)에 따른 조건 설정
  4929. if(option == "002" && tab != "005") //북마크가 아닌경우에 자동 조회
  4930. {
  4931. if (ds_grd_pathist.rowcount > 0)
  4932. {
  4933. ds_grd_pathist.rowposition = 0;
  4934. ds_grd_pathist.selectRow(0);
  4935. fGetRecMidIndx();
  4936. }
  4937. }
  4938. }
  4939. else if (breakyn == "false")
  4940. {
  4941. sysf_messageBox("환자의 진료과를 ", "C002");
  4942. return;
  4943. }
  4944. }
  4945. /**
  4946. * @group :
  4947. * @ver :
  4948. * @by : 2010-02-18 박종훈
  4949. * @---------------------------------------------------
  4950. * @type : function
  4951. * @access : public
  4952. * @desc : 메세지 처리
  4953. * @param :
  4954. * @return :
  4955. * @---------------------------------------------------
  4956. */
  4957. function fShowMessage(msg)
  4958. {
  4959. //sysf_trace("***** fShowMessage(msg) : " + msg + " *****");
  4960. frmf_setParameter("msg", msg);
  4961. frmf_modal("SPMRI03300", "SPMRI03300", null, null, sysf_getCurrentMonitorNumber(), 1000, 700, null, null, "width=295,height=125,title=false,resize=false", null, null, "M");
  4962. //modal("SPMRI03300", getCurrentMonitorNumber(), 1000, 700, "", "", "","width:295px; height:125px; caption:hidden; resize:false;");
  4963. //grup_right.iviewerIemr.objChartView.setFocus();
  4964. }
  4965. /**
  4966. * 서 식 Header & Footer 정의 2013.07.08 CYW
  4967. * @param srcformcd
  4968. * @returns
  4969. */
  4970. function MakerHeaderNFooter( srcformcd , formprogflag , mainyn ){
  4971. var instcd = model.getValue("/root/init/env/instcd");
  4972. var formcd = srcformcd; // 서식코드
  4973. var cover_header = "";
  4974. var cover_header_start = "";
  4975. var cover_header_txt = "";
  4976. var cover_header_end = "";
  4977. var cover_footer = "";
  4978. var cover_footer_start = "";
  4979. var cover_footer_txt = "";
  4980. var cover_footer_end = "";
  4981. var body_header = "";
  4982. var body_footer = "";
  4983. var logoImg031 = getDomain() + "/himed/webapps/com/commonweb/images/logo_lctech_031.png";
  4984. var logoImg032 = getDomain() + "/himed/webapps/com/commonweb/images/logo_lctech_032.png";
  4985. //var logoImg032 = getDomain() + "/himed/webapps/com/commonweb/images/logo032.gif";
  4986. var logo = "";
  4987. var ex = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'></TD>";
  4988. if( instcd == "031" ) {
  4989. logo = logoImg031;
  4990. }else if( instcd == "032" ){
  4991. logo = logoImg032;
  4992. }else{
  4993. logo = logoImg031;
  4994. }
  4995. // Cover Header 부분 ---------------------------------------------------------------------------------------------------
  4996. cover_header_start ="<HTML> " +
  4997. "\n<BODY style='margin: 0;'> " +
  4998. "\n<TABLE cellspacing='0' width='100%'> " +
  4999. "\n<TR> " +
  5000. "\n <TD width='65%'> " +
  5001. "\n <TABLE style='width=100%; font-family: 맑은 고딕;'> " +
  5002. "\n <TR> " +
  5003. "\n <TD> " +
  5004. "\n <IMG SRC='" + logo + "' /> " +
  5005. "\n </TD> " +
  5006. "\n </TR> " +
  5007. "\n <TR> " +
  5008. "\n <TD style='font-size: 18pt; text-align: center;'><!--?VAR_CHART_NAME_TOP?--></TD>" +
  5009. "\n </TR> " +
  5010. "\n <TR> " +
  5011. "\n <TD style='font-size: 14pt; text-align: center;'><!--?VAR_CHART_NAME_BOTTOM?--></TD>" +
  5012. "\n </TR> " +
  5013. "\n </TABLE> " +
  5014. "\n </TD> " +
  5015. "\n <TD width='35%' style='padding-right: 20px; padding-bottom: 5px'> " +
  5016. "\n <DIV style='border-style: solid; border-width: 1px; padding: 5px;'> " +
  5017. "\n <TABLE cellspacing='0' width='100%' style='font-family: 맑은 고딕;'> " +
  5018. "\n <TR> " +
  5019. "\n <TD style='font-size: 18pt' colspan='2'><!--?VAR_PAT_NUM?--></TD>" +
  5020. "\n </TR> " +
  5021. "\n <TR> " +
  5022. "\n <TD style='font-size: 18pt'><!--?VAR_PAT_NAME?--></TD> " +
  5023. "\n <TD style='font-size: 14pt'><!--?VAR_TREAT_DEPT?--></TD> " +
  5024. "\n </TR> " +
  5025. "\n <TR> " +
  5026. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_JUMIN_NO?--></TD> " +
  5027. "\n <TD style='font-size: 12pt'><!--?VAR_PAT_AGE_SEX?--></TD> " +
  5028. "\n </TR> " +
  5029. "\n </TABLE> " +
  5030. "\n </DIV> " +
  5031. "\n </TD> " +
  5032. "\n</TR> " +
  5033. "\n</TABLE> " +
  5034. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'> " +
  5035. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  5036. "\n <TR> " +
  5037. "\n <TD style='width: 50%; text-align: left'><!--?VAR_DATE_HEADER?--></TD> " +
  5038. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_DOCTOR_HEADER?--></TD> " +
  5039. "\n <TD style='width: 25%; text-align: center;'><!--?VAR_WARD_HEAD?--></TD> " +
  5040. "\n <TD style='width: 10%; text-align: right;'><!--?VAR_CLASS?--></TD> " +
  5041. "\n </TR> " +
  5042. "\n </TABLE> " +
  5043. "\n</DIV>";
  5044. cover_header_end = "\n</BODY>"+
  5045. "\n</HTML>";
  5046. // Cover Footer 부분 ---------------------------------------------------------------------------------------------------
  5047. cover_footer_start = "<HTML>"+
  5048. "\n<BODY style='margin: 0;'>"+
  5049. "\n"+
  5050. "\n<DIV>"+
  5051. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>"+
  5052. "\n <TR>"+
  5053. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD>";
  5054. cover_footer_end = "\n<DIV style='border-top-style: solid; border-width: 2px;'>"+
  5055. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  5056. "\n <TR>"+
  5057. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD>"+
  5058. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD>"+
  5059. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD>"+
  5060. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD>"+
  5061. "\n </TR>"+
  5062. "\n </TABLE>"+
  5063. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'>"+
  5064. "\n <TR>"+
  5065. "\n <TD style='width: 20%; text-align: left; '></TD>"+
  5066. "\n </TR>"+
  5067. "\n </TABLE>"+
  5068. "\n</DIV>"+
  5069. "\n"+
  5070. "\n</BODY>"+
  5071. "\n</HTML>";
  5072. //Body Header 부분 ---------------------------------------------------------------------------------------------------
  5073. body_header = "<HTML>"+
  5074. "\n<BODY style='margin-top: 0; margin-left: 0; margin-right; 0;'> "+
  5075. "\n "+
  5076. "\n<DIV style='border-top-style: solid; border-bottom-style: solid; border-width: 2px;'>"+
  5077. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  5078. "\n <TR> "+
  5079. "\n <TD style='width: 10%; text-align: left; '><!--?VAR_PAT_NUM?--></TD> "+
  5080. "\n <TD style='width: 10%; text-align: center;'><!--?VAR_PAT_NAME?--></TD> "+
  5081. "\n <TD style='width: 15%; text-align: center;'><!--?VAR_PAT_AGE_SEX?--></TD> "+
  5082. "\n <TD style='width: 55%; text-align: center;'><!--?VAR_DATE_HEADER?--></TD> "+
  5083. "\n <TD style='width: 10%; text-align: right; '><!--?VAR_CLASS?--></TD> "+
  5084. "\n </TR> "+
  5085. "\n </TABLE> "+
  5086. "\n</DIV> "+
  5087. "\n "+
  5088. "\n</BODY> "+
  5089. "\n</HTML>";
  5090. // Body Footer 부분 ---------------------------------------------------------------------------------------------------
  5091. body_footer = "<HTML>"+
  5092. "\n<BODY style='margin: 0;'> "+
  5093. "\n "+
  5094. "\n<DIV> "+
  5095. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> "+
  5096. "\n <TR> "+
  5097. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최초작성자 : <!--?VAR_FSTRGSTRUSRNM?--></TD> "+
  5098. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> "+
  5099. "\n </TR> "+
  5100. "\n </TABLE> "+
  5101. "\n</DIV> "+
  5102. "\n<DIV style='border-top-style: solid; border-width: 2px;'> "+
  5103. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  5104. "\n <TR> "+
  5105. "\n <TD style='width: 20%; text-align: left; '>페이지:<!--?SYS_PAGE_CURRENT?-->/<!--?SYS_PAGE_TOTAL?--></TD> "+
  5106. "\n <TD style='width: 40%; text-align: center;'><!--?VAR_PRINT_HEADER?--></TD> "+
  5107. "\n <TD style='width: 20%; text-align: center;'><!--?VAR_PRINT_NAME?--></TD> "+
  5108. "\n <TD style='width: 20%; text-align: right; '><!--?VAR_PRINT_DEPT?--></TD> "+
  5109. "\n </TR> "+
  5110. "\n </TABLE> "+
  5111. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 11pt; font-weight: bold;'> "+
  5112. "\n <TR> "+
  5113. "\n <TD style='width: 20%; text-align: left; '></TD> "+
  5114. "\n </TR> "+
  5115. "\n </TABLE> "+
  5116. "\n</DIV> "+
  5117. "\n "+
  5118. "\n</BODY> "+
  5119. "\n</HTML>";
  5120. // ----------------------------------------------------------------------------------------------------------------------
  5121. if( formcd == "0000000003" ){ // 입원초진
  5122. cover_header_txt = "\n <DIV>" +
  5123. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  5124. "\n <TR><TD style='text-align: left; font-weight: bold;'>입원일자 : <!--?VAR_ORDDATE?--></TD></TR> " +
  5125. "\n <TR><TD style='text-align: left; font-weight: bold;'>입 원 과 : <!--?VAR_INORDDEPTHNGNM?--></TD></TR> " +
  5126. "\n </TABLE>" +
  5127. "\n </DIV>";
  5128. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  5129. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5130. "\n </TR>" +
  5131. "\n </TABLE>" +
  5132. "\n </DIV>";
  5133. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5134. }else if( formcd == "0000000676" ){ // 수술기록
  5135. cover_header = cover_header_start + cover_header_end;
  5136. cover_footer_txt = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Surgeon : <!--?VAR_SURGEON?--></TD>"+
  5137. "\n </TR>"+
  5138. "\n <TR>"+
  5139. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  5140. "\n </TR>"+
  5141. "\n </TABLE>"+
  5142. "\n</DIV>";
  5143. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5144. }else if( formcd == "0000000679" ){ // 응급실기록
  5145. cover_header_txt = "\n<DIV>" +
  5146. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  5147. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR>" +
  5148. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR>" +
  5149. "\n <TR><TD style='text-align: left; font-weight: bold;'></TD></TR>" +
  5150. "\n <TR><TD style='text-align: left; font-weight: bold;'>[환자 내원시간] : <!--?VAR_ERDT?--></TD></TR>" +
  5151. "\n </TABLE>" +
  5152. "\n</DIV>";
  5153. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  5154. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5155. "\n </TR>" +
  5156. "\n </TABLE>" +
  5157. "\n </DIV>";
  5158. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5159. }else if( formcd == "0000000680" ){ // 입퇴원요약
  5160. cover_header_txt = "\n<DIV>" +
  5161. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'>" +
  5162. "\n <TR><TD style='text-align: left; font-weight: bold;'>[입퇴원정보] </TD></TR>" +
  5163. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;입원일/입원과 : <!--?VAR_ININFO?--></TD></TR>" +
  5164. "\n <TR><TD style='text-align: left; font-weight: bold;'>&nbsp;&nbsp;퇴원일/퇴원과 : <!--?VAR_DSCHINFO?--></TD></TR>" +
  5165. "\n </TABLE>" +
  5166. "\n</DIV>";
  5167. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  5168. cover_footer_txt = "\n<TD style='width: 50%; text-align: left; font-weight: bold;'>◈ Staff작성 및 확인 : <!--?VAR_STAFFNM?--></TD>"+
  5169. "\n </TR>"+
  5170. "\n <TR>"+
  5171. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD>"+
  5172. "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 의무기록사 : <!--?VAR_EMRRECUSRNM?--></TD>"+
  5173. "\n </TR>"+
  5174. "\n </TABLE>"+
  5175. "\n</DIV>";
  5176. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5177. }else if( formcd == "0000002022" ){ // 마취기록지
  5178. cover_header = cover_header_start + cover_header_end;
  5179. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5180. "\n </TR>" +
  5181. "\n </TABLE>" +
  5182. "\n </DIV>";
  5183. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5184. }else if( formcd == "0000003169" ){ // Brief OP Note
  5185. cover_header = cover_header_start + cover_header_end;
  5186. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5187. "\n </TR>" +
  5188. "\n </TABLE>" +
  5189. "\n </DIV>";
  5190. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5191. }else{
  5192. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  5193. cover_header_txt = "\n<DIV> " +
  5194. "\n <TABLE width='100%' style='font-family: 맑은 고딕; font-size: 10pt;'> " +
  5195. "\n <TR><TD style='text-align: left; font-weight: bold;'>진료일자 : <!--?VAR_ORDDATE?--></TD></TR> "+
  5196. "\n <TR><TD style='text-align: left; font-weight: bold;'>진 료 과 : <!--?VAR_ORDDEPT?--></TD></TR> "+
  5197. "\n </TABLE> " +
  5198. "\n</DIV>";
  5199. cover_header = cover_header_start + cover_header_txt + cover_header_end;
  5200. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5201. "\n </TR>" +
  5202. "\n </TABLE>" +
  5203. "\n </DIV>";
  5204. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5205. }else{
  5206. cover_header = cover_header_start + cover_header_end;
  5207. cover_footer_txt = "\n <TD style='width: 50%; text-align: left; font-weight: bold;'>◈ 최종작성자 : <!--?VAR_LASTUPDTRUSRNM?--></TD> " +
  5208. "\n </TR>" +
  5209. "\n </TABLE>" +
  5210. "\n </DIV>";
  5211. cover_footer = cover_footer_start + cover_footer_txt + cover_footer_end;
  5212. }
  5213. }
  5214. var txt = cover_header + "♥" + cover_footer + "♥" + body_header + "♥" + body_footer;
  5215. return txt;
  5216. }
  5217. function MakeRecFile( hfflag, txt, htmltxt ){
  5218. var foldernm = "C:\\Certrec" + getUserInfo("dutplceinstcd");
  5219. var local_path ="";
  5220. local_path = foldernm + "\\";
  5221. if( hfflag == "h" ){
  5222. var headso = new ActiveXObject("Scripting.FileSystemObject");
  5223. if(headso.FileExists(local_path +txt + "_cover_header.html") == true)
  5224. {
  5225. headso.DeleteFile(local_path + txt + "_cover_header.html", true)
  5226. }
  5227. var h = headso.CreateTextFile( local_path + txt + "_cover_header.html" , true, true);
  5228. h.WriteLine(htmltxt);
  5229. h.Close();
  5230. }
  5231. if( hfflag == "f" ){
  5232. var footso = new ActiveXObject("Scripting.FileSystemObject");
  5233. if(footso.FileExists(local_path + txt + "_cover_footer.html") == true)
  5234. {
  5235. footso.DeleteFile(local_path + txt + "_cover_footer.html", true)
  5236. }
  5237. var f = footso.CreateTextFile( local_path + txt + "_cover_footer.html" , true, true);
  5238. f.WriteLine(htmltxt);
  5239. f.Close();
  5240. }
  5241. }
  5242. function fGetDetlFormRec(){
  5243. grup_left.switch1.rec.grd_reclist.setCellProperty("Head", 0, "text","expr:0"); //grd_reclist.fixedcellischeck(0,1)=false;
  5244. grup_right.iviewerIemr.cleanViewer();
  5245. if( utlf_isNull(ds_init_recformdata.getColumn(0, "formcd")) ){
  5246. sysf_messageBox("조회할 서식을 선택한 후 진행하십시오.", "C999");
  5247. return;
  5248. }
  5249. if( utlf_isNull(ds_init_recformdata.getColumn(0, "fromdd")) || utlf_isNull(ds_init_recformdata.getColumn(0, "todd")) ){
  5250. sysf_messageBox("조회할 기간을 선택한 후 진행하십시오.", "C999");
  5251. return;
  5252. }
  5253. var recchosflag = "";
  5254. var recreckind = "";
  5255. if( grup_left.btn_out.getSelectStatus() ){
  5256. recchosflag = "O";
  5257. }else if( grup_left.btn_in.getSelectStatus() ){
  5258. recchosflag = "I";
  5259. }else if( grup_left.btn_er.getSelectStatus() ){
  5260. recchosflag = "I";
  5261. }
  5262. multirecyn = "N";
  5263. if( ds_init_recformdata.getColumn(0, "formcd") == "0800000636"){
  5264. recreckind = "PRCP";
  5265. }else{
  5266. recreckind = "EMR";
  5267. }
  5268. var recorddeptcd = "";
  5269. if( ds_init_etc.getColumn(0, "orddept") == "ALL" ){
  5270. recorddeptcd = "";
  5271. }else{
  5272. recorddeptcd = ds_init_etc.getColumn(0, "orddept");
  5273. }
  5274. ds_init_etc.setColumn(0, "reccurpos", 1);
  5275. ds_init_etc.setColumn(0, "recall", "Y");
  5276. ds_cond_TRMRI03004.clearData();
  5277. var nRow = ds_cond_TRMRI03004.addRow();
  5278. ds_cond_TRMRI03004.setColumn(nRow, "pid" ,ds_patinfolist.getColumn(0, "pid"));
  5279. ds_cond_TRMRI03004.setColumn(nRow, "ordfromdd" ,ds_init_recformdata.getColumn(0, "fromdd"));
  5280. ds_cond_TRMRI03004.setColumn(nRow, "ordtodd" ,ds_init_recformdata.getColumn(0, "todd"));
  5281. ds_cond_TRMRI03004.setColumn(nRow, "cretno" ,"" );
  5282. ds_cond_TRMRI03004.setColumn(nRow, "chosflag" ,recchosflag);
  5283. ds_cond_TRMRI03004.setColumn(nRow, "orddeptcd" ,recorddeptcd);
  5284. ds_cond_TRMRI03004.setColumn(nRow, "tabflag" ,ds_init_etc.getColumn(0, "tabflag"));
  5285. ds_cond_TRMRI03004.setColumn(nRow, "reccurpos" ,ds_init_etc.getColumn(0, "reccurpos"));
  5286. ds_cond_TRMRI03004.setColumn(nRow, "recall" ,ds_init_etc.getColumn(0, "recall"));
  5287. ds_cond_TRMRI03004.setColumn(nRow, "reckind" ,recreckind);
  5288. ds_cond_TRMRI03004.setColumn(nRow, "itemindxseq" ,"" );
  5289. ds_cond_TRMRI03004.setColumn(nRow, "lisflag" ,"" );
  5290. ds_cond_TRMRI03004.setColumn(nRow, "instcd" ,ds_init_env.getColumn(0, "instcd"));
  5291. ds_cond_TRMRI03004.setColumn(nRow, "privateyn" ,ds_init_etc.getColumn(0, "privateyn"));
  5292. ds_cond_TRMRI03004.setColumn(nRow, "recformcd" ,ds_init_recformdata.getColumn(0, "formcd"));
  5293. ds_cond_TRMRI03004.setColumn(nRow, "option" ,ds_init_env.getColumn(0, "option") );
  5294. if (multirecyn == "N"){
  5295. dsf_setDefaultVal(ds_cond_TRMRI03004, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:''pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N,page_number:1");
  5296. dsf_createDs("ds_tmpinicert_iniinfo", null, true);
  5297. ds_tmpinicert_iniinfo.copyData(ds_paging_iniinfo);
  5298. ds_tmpinicert_iniinfo.clearData();
  5299. //xp code add : col id change!!!execprcpuniqno
  5300. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  5301. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  5302. var oParam = {};
  5303. oParam.id = "TRMRI03004";
  5304. oParam.service = "recmngtapp.IntegrityRec";
  5305. oParam.method = "reqGetRecDetailInfoByCondFlag";
  5306. oParam.inds = "req=ds_cond_TRMRI03004";
  5307. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  5308. oParam.async = false;
  5309. oParam.callback = "cf_TRMRI03004";
  5310. tranf_submit(oParam);
  5311. if(arErrorCode.pop("TRMRI03004") > -1){
  5312. //xp code add : col id change!!!execprcpuniqno
  5313. ds_tmpinicert_iniinfo.updateColID("execprcpuniqno", "cmc_orderseqno");
  5314. dsf_setDefaultVal(ds_tmpinicert_iniinfo, "all");
  5315. ds_grd_reclist.copyData(ds_tmpinicert_iniinfo);
  5316. dsf_deleteDs("ds_tmpinicert_iniinfo");
  5317. }else{
  5318. ds_grd_reclist.clearData();
  5319. dsf_deleteDs("ds_tmpinicert_iniinfo");
  5320. grup_right.iviewerIemr.cleanViewer();
  5321. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  5322. }
  5323. }
  5324. }
  5325. function fGetDetlFormRecDetail(idx){
  5326. grup_right.iviewerIemr.cleanViewer();
  5327. grup_right.iviewerIemr.refreshFalse();
  5328. if( ds_init_recformdata.getColumn(0, "formcd") == "0800000636" ){
  5329. if( !utlf_isNull(ds_cond_TRMRI03004.getColumn(0, "ordddtxt")) ){
  5330. ds_cond_TRMRI03004.setColumn(0, "option", ds_init_env.getColumn(0, "option") );
  5331. } else{
  5332. ds_cond_TRMRI03004.setColumn(0, "option", "" );
  5333. }
  5334. dsf_setDefaultVal(ds_cond_TRMRI03004, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:''pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N,page_number:1");
  5335. dsf_createDs("ds_tmpinicert_iniinfo", null, true);
  5336. ds_tmpinicert_iniinfo.copyData(ds_paging_iniinfo);
  5337. ds_tmpinicert_iniinfo.clearData();
  5338. //xp code add : col id change!!!execprcpuniqno
  5339. if( !utlf_isNull(ds_tmpinicert_iniinfo.getColumnInfo("cmc_orderseqno")))
  5340. ds_tmpinicert_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  5341. var oParam = {};
  5342. oParam.id = "TRMRI03004";
  5343. oParam.service = "recmngtapp.IntegrityRec";
  5344. oParam.method = "reqGetRecDetailInfoByCondFlag";
  5345. oParam.inds = "req=ds_cond_TRMRI03004";
  5346. oParam.outds = "ds_tmpinicert_iniinfo=iniinfo";
  5347. oParam.async = false;
  5348. oParam.callback = "cf_TRMRI03004";
  5349. tranf_submit(oParam);
  5350. if(arErrorCode.pop("TRMRI03004") > -1){
  5351. //xp code add : col id change!!!execprcpuniqno
  5352. ds_tmpinicert_iniinfo.updateColID("execprcpuniqno", "cmc_orderseqno");
  5353. dsf_setDefaultVal(ds_tmpinicert_iniinfo, "all");
  5354. }
  5355. }else{
  5356. dsf_createDs("ds_tmpinicert_iniinfo", null, true);
  5357. ds_tmpinicert_iniinfo.copyData(ds_paging_iniinfo);
  5358. ds_tmpinicert_iniinfo.clearData();
  5359. if( idx == "1"){
  5360. var nRow = ds_tmpinicert_iniinfo.addRow();
  5361. ds_tmpinicert_iniinfo.copyRow(nRow, ds_grd_reclist, ds_grd_reclist.rowposition);
  5362. }else{
  5363. var iexNodeCnt = ds_grd_reclist.getCaseCount("recchk == 1");
  5364. var idxcnt = 1;
  5365. if( iexNodeCnt > 0 ){
  5366. for(var i = 0; i < ds_grd_reclist.getRowCount(); i++ ){
  5367. if( ds_grd_reclist.getColumn(i, "recchk") == 1 ){
  5368. var nRow = ds_tmpinicert_iniinfo.addRow();
  5369. ds_tmpinicert_iniinfo.copyRow(nRow, ds_grd_reclist, i);
  5370. idxcnt++;
  5371. }
  5372. }
  5373. }else{
  5374. var nRow = ds_tmpinicert_iniinfo.addRow();
  5375. ds_tmpinicert_iniinfo.copyRow(nRow, ds_grd_reclist, ds_grd_reclist.rowposition);
  5376. }
  5377. }
  5378. }
  5379. //var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  5380. if (ds_tmpinicert_iniinfo.getRowCount() > 1 && ds_tmpinicert_iniinfo.getRowCount() > nodeposcnt){ //>=
  5381. multirecyn = "Y";
  5382. if (prevflag == "Y")
  5383. nodeposcnt = ds_tmpinicert_iniinfo.getRowCount();
  5384. else
  5385. nodeposcnt = 0; //1->0
  5386. }else{
  5387. multirecyn = "N";
  5388. nodeposcnt = 0; //1->0
  5389. }
  5390. grup_right.iviewerIemr.cleanViewer();
  5391. grup_right.iviewerIemr.refreshFalse();
  5392. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  5393. ds_init_etc.setColumn(0, "recall", "N");
  5394. }
  5395. /**
  5396. * 네비게이션 팝업 처리
  5397. * 2014/04/01 이정택
  5398. * @return
  5399. */
  5400. function fPopupkey(){
  5401. pagingobj = getOpenWindow("SPMRI00400");
  5402. if(pagingobj==null){
  5403. open("SPMRI00400");
  5404. }else{
  5405. pagingobj.javascript.fInit(); // 초기함수호출
  5406. activateChild("SPMRI00400");
  5407. }
  5408. }
  5409. /**
  5410. * 페이징 처리
  5411. * 2014/04/01 이정택
  5412. * @return
  5413. */
  5414. var arr_keys = "";
  5415. var page_number = "";
  5416. var pagetotcnt="";
  5417. var allyn = "";
  5418. function fPaging(pageno){
  5419. //sysf_trace("***** fPaging(pageno) : " + pageno + " *****");
  5420. if(utlf_isNull(pageno)){
  5421. page_number="1";
  5422. allyn="";
  5423. }else if(pageno!="ALL"){
  5424. page_number=pageno;
  5425. }else if(pageno=="ALL"){
  5426. page_number="1";
  5427. allyn="ALL";
  5428. }
  5429. if( utlf_isNull(this.objects["ds_send"]) ){
  5430. dsf_createDs("ds_send", [{col: "instcd", type:"string", size:256}
  5431. , {col: "pid", type:"string", size:256}
  5432. , {col: "orddd", type:"string", size:256}
  5433. , {col: "chosflag", type:"int", size:256}
  5434. , {col: "reckind", type:"string", size:256}
  5435. , {col: "itemindxseq", type:"string", size:256}
  5436. , {col: "sortkind", type:"string", size:256}
  5437. , {col: "pagingyn", type:"string", size:256}
  5438. , {col: "keyfromdd", type:"string", size:256}
  5439. , {col: "keytodd", type:"string", size:256}
  5440. , {col: "keys", type:"string", size:256}]);
  5441. ds_send.addRow();
  5442. }
  5443. var before = ds_send.getColumn(0, "itemindxseq");
  5444. var current = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq");
  5445. //var foldernm = "C:\\Certrec" + sysf_getUserInfo("dutplceinstcd");
  5446. if((page_number=="1" || (before!=current)) && pageno!="ALL"){
  5447. grup_right.iviewerIemr.group1.cap_msg.text="";
  5448. fExistFolder_New(lgv_Foldernm);
  5449. grup_right.cap_msg.text="";
  5450. grup_right.iviewerIemr.cleanViewer();
  5451. page_number="1";
  5452. /* TF makeValue 사용으로 컬럼 추가 로직, ds_send DataSet 은 있고 컬럼 정보가 없을 경우 */
  5453. ds_send.addColumn("itemindxseq", "string");
  5454. ds_send.addColumn("sortkind", "string");
  5455. ds_send.addColumn("pagingyn", "string");
  5456. ds_send.addColumn("keyfromdd", "string");
  5457. ds_send.addColumn("keytodd", "string");
  5458. ds_send.addColumn("keys", "string");
  5459. ds_send.setColumn(0, "itemindxseq", ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq"));
  5460. ds_send.setColumn(0, "sortkind", ds_init_etc.getColumn(0, "sortkind"));
  5461. //sysf_trace( "***** ds_init_etc pagingyn : " + ds_init_etc.getColumn(0, "pagingyn") );
  5462. if(ds_init_etc.getColumn(0, "pagingyn")=="Y"){
  5463. ds_send.setColumn(0, "pagingyn", ds_init_etc.getColumn(0, "pagingyn"));
  5464. ds_send.setColumn(0, "keyfromdd", ds_init_paging.getColumn(0, "fromdd"));
  5465. ds_send.setColumn(0, "keytodd", ds_init_paging.getColumn(0, "todd"));
  5466. //ds_tmp.setColumn(0, "keys", "");
  5467. }else{
  5468. ds_send.setColumn(0, "pagingyn", "");
  5469. ds_send.setColumn(0, "keyfromdd", "");
  5470. ds_send.setColumn(0, "keytodd", "");
  5471. ds_send.setColumn(0, "keys", "");
  5472. }
  5473. dsf_setDefaultVal(ds_send, "reckind:EMR,pagingyn:N");
  5474. // 기존 TF /root/tmp/ 노드 초기화
  5475. ds_tmp_keys.clearData();
  5476. ds_tmp.setColumn(0, "keys", "");
  5477. // 2016.11.11 의사지시기록(20337) 조회시 설정되는 데이터. TRMRI03009 후에 Reset 되는 노드
  5478. ds_tmp.setColumn(0, "prcpfromdd", "");
  5479. ds_tmp.setColumn(0, "prcptodd", "");
  5480. var oParam = {};
  5481. oParam.id = "TRMRI03009";
  5482. oParam.service = "recmngtapp.IntegrityRec";
  5483. oParam.method = "reqGetKeys";
  5484. oParam.inds = "req=" + "ds_send";
  5485. oParam.outds = "ds_tmp_keys" + "=item";
  5486. oParam.async = false;
  5487. oParam.callback = "cf_TRMRI03009"
  5488. tranf_submit(oParam);
  5489. }
  5490. //sysf_trace("*************************" + ds_tmp_keys.rowcount);
  5491. var cnt = ds_tmp_keys.rowcount;
  5492. pagingobj = frmf_findPopup("SPMRI00400");
  5493. var fromdd="";
  5494. var todd="";
  5495. if(grup_left.switch1.grd.cbx_paging.value=="Y"){
  5496. fromdd=ds_init_paging.getColumn(0, "fromdd");
  5497. todd=ds_init_paging.getColumn(0, "todd");
  5498. }else{
  5499. fromdd=ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "indd");
  5500. todd=ds_grd_pathist.getColumn(ds_grd_pathist.rowposition, "dschdd");
  5501. if(todd=="재원중"){
  5502. todd=utlf_getCurrentDate();
  5503. }
  5504. }
  5505. //sysf_trace(" ***** fromdd : " + fromdd + " todd : " + todd + " *****");
  5506. //sysf_trace(" ***** current : " + current + " page_number : " + page_number + " *****");
  5507. if(current=="20337" && parseInt(page_number) >= 1){
  5508. var sortkind = ds_init_etc.getColumn(0, "sortkind");
  5509. //sysf_trace(" ***** sortkind : " + sortkind + " *****");
  5510. if(sortkind=="A"){
  5511. var plusdate ="";
  5512. if(parseInt(page_number) == 1){
  5513. arr_keys = new Array();
  5514. }
  5515. while(plusdate <= todd && parseInt(page_number) == 1){
  5516. var sb = new StringBuffer();
  5517. if(utlf_isNull(plusdate)){
  5518. sb.append(fromdd);
  5519. plusdate=date_add(fromdd, 35);
  5520. if(plusdate>todd){
  5521. sb.append(todd);
  5522. var sb_keys=sb.toString(",");
  5523. arr_keys.push(sb_keys);
  5524. break;
  5525. }else{
  5526. sb.append(plusdate);
  5527. }
  5528. }else{
  5529. plusdate=date_add(plusdate, 1);
  5530. sb.append(plusdate);
  5531. plusdate=date_add(plusdate, 35);
  5532. if(plusdate>todd){
  5533. sb.append(todd);
  5534. var sb_keys=sb.toString(",");
  5535. arr_keys.push(sb_keys);
  5536. break;
  5537. }else{
  5538. sb.append(plusdate);
  5539. }
  5540. }
  5541. var sb_keys=sb.toString(",");
  5542. arr_keys.push(sb_keys);
  5543. }
  5544. if(parseInt(page_number) == 1){
  5545. pagetotcnt = arr_keys.length;
  5546. }
  5547. ds_tmp.setColumn(0, "prcpfromdd", arr_keys[parseInt(page_number)-1].split(",")[0]);
  5548. ds_tmp.setColumn(0, "prcptodd", arr_keys[parseInt(page_number)-1].split(",")[1]);
  5549. frmf_openLoadingBar();
  5550. fDbClickMidIndx_New();
  5551. frmf_closeLoadingBar();
  5552. }else if(sortkind=="D"){
  5553. var minusdate ="";
  5554. if(parseInt(page_number) == 1){
  5555. arr_keys = new Array();
  5556. }
  5557. while((utlf_isNull(minusdate)) || (minusdate >= fromdd && parseInt(page_number) == 1)){
  5558. var sb = new StringBuffer();
  5559. var sb_keys="";
  5560. if(utlf_isNull(minusdate)){
  5561. minusdate=date_add(todd, -35);
  5562. if(minusdate<=fromdd){
  5563. sb.append(fromdd);
  5564. sb.append(todd);
  5565. sb_keys=sb.toString(",");
  5566. arr_keys.push(sb_keys);
  5567. break;
  5568. }else{
  5569. sb.append(minusdate);
  5570. sb.append(todd);
  5571. todd=minusdate;
  5572. sb_keys=sb.toString(",");
  5573. arr_keys.push(sb_keys);
  5574. }
  5575. }else{
  5576. minusdate=date_add(minusdate, -35);
  5577. if(minusdate<=fromdd){
  5578. sb.append(fromdd);
  5579. todd=date_add(todd, -1);
  5580. sb.append(todd);
  5581. sb_keys=sb.toString(",");
  5582. arr_keys.push(sb_keys);
  5583. break;
  5584. }else{
  5585. sb.append(minusdate);
  5586. todd=date_add(todd, -1);
  5587. sb.append(todd);
  5588. todd=minusdate;
  5589. sb_keys=sb.toString(",");
  5590. arr_keys.push(sb_keys);
  5591. }
  5592. }
  5593. }
  5594. if(parseInt(page_number) == 1){
  5595. pagetotcnt = arr_keys.length;
  5596. }
  5597. ds_tmp.setColumn(0, "prcpfromdd", arr_keys[parseInt(page_number)-1].split(",")[0]);
  5598. ds_tmp.setColumn(0, "prcptodd", arr_keys[parseInt(page_number)-1].split(",")[1]);
  5599. frmf_openLoadingBar();
  5600. fDbClickMidIndx_New();
  5601. frmf_closeLoadingBar();
  5602. }
  5603. }else{
  5604. if(cnt==0){
  5605. frmf_openLoadingBar();
  5606. fDbClickMidIndx_New();
  5607. frmf_closeLoadingBar();
  5608. }
  5609. else{
  5610. var temp_keys="";
  5611. var keys="";
  5612. if(page_number=="1"){
  5613. arr_keys = new Array();
  5614. var sb = new StringBuffer();
  5615. for(var i=0; i<cnt; i++){
  5616. sb.append("'"+ds_tmp_keys.getColumn(i, "signno")+"'");
  5617. }
  5618. temp_keys=sb.toString(",");
  5619. keys=temp_keys.split(",");
  5620. pagetotcnt = Math.ceil(cnt/35);
  5621. for(var i=0; i<pagetotcnt; i++){
  5622. var sb = new StringBuffer();
  5623. for(var j=i*35; j<(i*35)+35 && j<keys.length; j++){
  5624. sb.append(keys[j]);
  5625. }
  5626. var sb_keys=sb.toString(",");
  5627. arr_keys.push(sb_keys);
  5628. }
  5629. // pagetotcnt = 1;
  5630. // arr_keys.push(keys);
  5631. }
  5632. // sysf_trace("***** arr_keys[parseInt(page_number)-1] : " + arr_keys[parseInt(page_number)-1] + "*****");
  5633. ds_tmp.setColumn(0, "keys", arr_keys[parseInt(page_number)-1]);
  5634. if(parseInt(page_number) <= parseInt(pagetotcnt)){
  5635. frmf_openLoadingBar();
  5636. fDbClickMidIndx_New();
  5637. frmf_closeLoadingBar();
  5638. }
  5639. if(pagingobj!=null){
  5640. pagingobj.close();
  5641. }
  5642. }
  5643. }
  5644. if( !utlf_isNull(pagetotcnt) && (parseInt(page_number) < parseInt(pagetotcnt))){
  5645. fPagebtnCtl("false");
  5646. }else{
  5647. fPagebtnCtl("true");
  5648. }
  5649. }
  5650. /**
  5651. * 더보기 버튼 제어
  5652. */
  5653. function fPagebtnCtl(chk){
  5654. if(chk=="true"){
  5655. grup_right.iviewerIemr.group1.case1.tv_pagebtn.enable = false;
  5656. grup_right.iviewerIemr.group1.case2.cv_pagebtn.enable = false;
  5657. grup_right.iviewerIemr.group1.case3.pv_pagebtn.enable = false;
  5658. btn_paging.enable = false;
  5659. grup_right.iviewerIemr.group1.case1.tv_pagebtn.tooltiptext = "[기록이 더 이상 없습니다.]";
  5660. grup_right.iviewerIemr.group1.case2.cv_pagebtn.tooltiptext = "[기록이 더 이상 없습니다.]";
  5661. grup_right.iviewerIemr.group1.case3.pv_pagebtn.tooltiptext = "[기록이 더 이상 없습니다.]";
  5662. grup_right.iviewerIemr.group1.cap_msg.text = "[기록이 더 이상 없습니다.]";
  5663. btn_paging.tooltiptext = "[기록이 더 이상 없습니다.]";
  5664. grup_right.cap_msg.text = "[기록이 더 이상 없습니다.]";
  5665. }else if(chk=="false"){
  5666. grup_right.iviewerIemr.group1.case1.tv_pagebtn.enable = true;
  5667. grup_right.iviewerIemr.group1.case2.cv_pagebtn.enable = true;
  5668. grup_right.iviewerIemr.group1.case3.pv_pagebtn.enable = true;
  5669. btn_paging.enable = true;
  5670. grup_right.iviewerIemr.group1.case1.tv_pagebtn.tooltiptext = "[기록 더보기]";
  5671. grup_right.iviewerIemr.group1.case2.cv_pagebtn.tooltiptext = "[기록 더보기]";
  5672. grup_right.iviewerIemr.group1.case3.pv_pagebtn.tooltiptext = "[기록 더보기]";
  5673. grup_right.iviewerIemr.group1.cap_msg.text = "[기록이 더 존재합니다. 더보기 버튼을 클릭해주세요.]";
  5674. btn_paging.tooltiptext = "[기록 더보기]";
  5675. grup_right.cap_msg.text = "[기록이 더 존재합니다. 더보기 버튼을 클릭해주세요.]";
  5676. }else{
  5677. grup_right.iviewerIemr.group1.case1.tv_pagebtn.enable = false;
  5678. grup_right.iviewerIemr.group1.case2.cv_pagebtn.enable = false;
  5679. grup_right.iviewerIemr.group1.case3.pv_pagebtn.enable = false;
  5680. btn_paging.enable = false;
  5681. grup_right.iviewerIemr.group1.case1.tv_pagebtn.tooltiptext = "";
  5682. grup_right.iviewerIemr.group1.case2.cv_pagebtn.tooltiptext = "";
  5683. grup_right.iviewerIemr.group1.case3.pv_pagebtn.tooltiptext = "";
  5684. grup_right.iviewerIemr.group1.cap_msg.text = "";
  5685. btn_paging.tooltiptext = "";
  5686. grup_right.cap_msg.text = "";
  5687. }
  5688. }
  5689. /**
  5690. * 이정택 2014/04/02
  5691. * @return
  5692. */
  5693. function StringBuffer(){
  5694. this.buffer = [];
  5695. }
  5696. /**
  5697. * 이정택 2014/04/02
  5698. * @return
  5699. */
  5700. StringBuffer.prototype.append = function(str) {
  5701. if (utlf_isNull(str)) { str = ""; }
  5702. this.buffer.push(str);
  5703. return this;
  5704. }
  5705. /**
  5706. * 이정택 2014/04/02
  5707. * @return
  5708. */
  5709. StringBuffer.prototype.toString = function(str) {
  5710. if (utlf_isNull(str)) { str = ""; }
  5711. return this.buffer.join(str);
  5712. }
  5713. /**
  5714. * 날짜계산
  5715. * 2014/04/08 이정택
  5716. */
  5717. function date_add(sDate, nDays){
  5718. if( utlf_isNull(sDate) ) return "99991231";
  5719. var yy = parseInt(sDate.substr(0,4), 10);
  5720. var mm = parseInt(sDate.substr(4,2), 10);
  5721. var dd = parseInt(sDate.substr(6,2), 10);
  5722. var d = new Date(yy, mm - 1, dd + nDays);
  5723. yy = d.getFullYear().toString();
  5724. mm = d.getMonth() + 1; mm = (mm < 10) ? '0' + mm : mm.toString();
  5725. dd = d.getDate(); dd = (dd < 10) ? '0' + dd : dd.toString();
  5726. return yy + mm + dd;
  5727. }
  5728. /**
  5729. * 중분류 더블클릭시 신규로직
  5730. * 2014/04/09 이정택
  5731. * @return
  5732. */
  5733. function fDbClickMidIndx_New(){
  5734. // sysf_trace("***** fDbClickMidIndx_New() *****");
  5735. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  5736. nodeposcnt = 0; //1->0
  5737. prevflag = "N";
  5738. if (ds_grd_midindx.rowposition >= 0){
  5739. var curmidcnt = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "cnt"));
  5740. var itemindxseq = parseInt(ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq"));
  5741. var openerid = "";
  5742. if( frmf_checkOpener() )
  5743. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  5744. if ( openerid == "SMMRI08000" ){
  5745. // 중분류별 출력체크 CYW
  5746. var chkflag = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "chkflag");
  5747. var row = ds_init_cmb_dept.rowposition;//datagrid3.row;
  5748. var deptengabbr = ds_init_cmb_dept.getColumn(row, "deptengabbr");
  5749. var prntdeptengabbr = utlf_transNullToEmpty(opener.frmf_getParameter("SMMRI00400_param_prntdeptengabbr"));
  5750. var prntidx = prntdeptengabbr.indexOf(deptengabbr);
  5751. if( ( prntidx > -1 && chkflag == "Y" && privatetxt == "2" ) || ( prntidx > -1 && privatetxt == "3") ){
  5752. btn_prnt.visible = true;
  5753. txt_private.visible = true;
  5754. }else if( prntidx > -1 && privatetxt == "1" ){
  5755. btn_prnt.visible = true;
  5756. txt_private.visible = false;
  5757. }else{
  5758. btn_prnt.visible = false;
  5759. txt_private.visible = false;
  5760. }
  5761. }
  5762. ds_init_etc.setColumn(0, "midreccnt", curmidcnt);
  5763. ds_init_etc.setColumn(0, "reccurpos", 1);
  5764. ds_init_etc.setColumn(0, "itemindxseq", itemindxseq);
  5765. //2013/02/15 머지 시작(추가)
  5766. ds_init_etc.setColumn(0, "recall", "Y");
  5767. //2013/02/15 머지 끝
  5768. fGetDetlRec_New(ds_grd_midindx.rowposition);
  5769. }
  5770. }
  5771. /**
  5772. * 실질적인 기록조회
  5773. * 2014/04/09 이정택
  5774. * @param row1
  5775. * @param row2
  5776. * @return
  5777. */
  5778. function fGetDetlRec_New( row1, row2 ){
  5779. // sysf_trace("***** fGetDetlRec_New( row1, row2 ) " + row1 + " " + row2 + "*****");
  5780. var grd_midindxrow = row1;
  5781. var grd_pathistrow = row2;
  5782. if ( row1 == null ){
  5783. grd_midindxrow = ds_grd_midindx.rowposition;
  5784. }
  5785. if ( row2 == null ){
  5786. grd_pathistrow = ds_grd_pathist.rowposition;
  5787. }
  5788. var itemindxseq = parseInt(ds_init_etc.getColumn(0, "itemindxseq")); //선택중분류 인덱스순번
  5789. var reccurpos = parseInt(ds_init_etc.getColumn(0, "reccurpos")); //현재선택된기록 순번
  5790. var midreccnt = parseInt(ds_init_etc.getColumn(0, "midreccnt")); //선택중분류 기록수
  5791. var bfopentest = ds_init_etc.getColumn(0, "bfopentest"); //오픈 이전 검사처방 수진이력
  5792. var reckind = dsf_getColumnNullToEmpty(ds_grd_midindx, grd_midindxrow, "reckind");
  5793. var rowfocus = "";
  5794. var emrflag = ds_init_etc.getColumn(0, "emrflag");
  5795. var selIndx = grup_left.switch1.tabindex;//switch1.selectedIndex; //2009-10-20 오후 10:00:57 강지훈 추가
  5796. if(selIndx == 1){
  5797. fGetBookmarkItem();
  5798. }else if(selIndx == 0){
  5799. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS")){
  5800. //var totcnt = "[ " + 1 + " / " + ds_grd_midindx.getColumn(grd_midindxrow, "cnt") + " / " + ds_init_etc.getColumn(0, "reccnt") + " ]";
  5801. var totcnt = "[ " + 1 + " / " + ds_grd_midindx.getColumn(grd_midindxrow, "cnt") + " / " + "" + " ]";
  5802. ds_init_etc.setColumn(0, "totcnt", totcnt);
  5803. var treatno = ds_grd_midindx.getColumn(grd_midindxrow, "itemindxseq");
  5804. var formcd = ds_grd_midindx.getColumn(grd_midindxrow, "supitemindxseq");
  5805. grup_right.iviewerIemr.cleanViewer();
  5806. grup_right.iviewerIemr.refreshFalse();
  5807. ds_imgrec_iemr.setColumn(0, "treatno", parseInt(treatno));
  5808. ds_imgrec_iemr.setColumn(0, "docucd", formcd);
  5809. ds_imgrec_iemr.setColumn(0, "instcd", ds_init_env.getColumn(0, "instcd"));
  5810. var iemrNode = eval("ds_imgrec_iemr");
  5811. var chartinfo;
  5812. chartinfo = "I";
  5813. var hiddenmsg;
  5814. hiddenmsg = "I";
  5815. grup_right.iviewerIemr.appendChart(iemrNode, chartinfo, hiddenmsg);
  5816. grup_right.iviewerIemr.refreshTrue();
  5817. }else{
  5818. var calcReccurpos = parseInt(ds_init_etc.getColumn(0, "reccurpos"));
  5819. var itemindxseq = parseInt(ds_init_etc.getColumn(0, "itemindxseq"));
  5820. // 'ds_send' SET
  5821. dsf_deleteDs("ds_send");
  5822. var objColInfo = new Array();
  5823. objColInfo.push({col: "pid", type:"string", size:256});
  5824. objColInfo.push({col: "orddd", type:"string", size:256});
  5825. objColInfo.push({col: "cretno", type:"int", size:256});
  5826. objColInfo.push({col: "chosflag", type:"string", size:256});
  5827. objColInfo.push({col: "orddeptcd", type:"string", size:256});
  5828. objColInfo.push({col: "tabflag", type:"string", size:256});
  5829. objColInfo.push({col: "reccurpos", type:"int", size:256});
  5830. objColInfo.push({col: "recall", type:"string", size:256});
  5831. objColInfo.push({col: "reckind", type:"string", size:256});
  5832. objColInfo.push({col: "itemindxseq", type:"string", size:256});
  5833. objColInfo.push({col: "lisflag", type:"string", size:256});
  5834. objColInfo.push({col: "instcd", type:"string", size:256});
  5835. objColInfo.push({col: "privateyn", type:"string", size:256});
  5836. objColInfo.push({col: "option", type:"string", size:256});
  5837. objColInfo.push({col: "keys", type:"string", size:256});
  5838. objColInfo.push({col: "screen_id", type:"string", size:256});
  5839. objColInfo.push({col: "sortkind", type:"string", size:256});
  5840. objColInfo.push({col: "page_number", type:"string", size:256});
  5841. objColInfo.push({col: "fromprcpdd", type:"string", size:256});
  5842. objColInfo.push({col: "toprcpdd", type:"string", size:256});
  5843. objColInfo.push({col: "bfopentest", type:"string", size:256});
  5844. objColInfo.push({col: "midbftest", type:"string", size:256});
  5845. objColInfo.push({col: "pagingyn", type:"string", size:256});
  5846. objColInfo.push({col: "pagingfromdd", type:"string", size:256});
  5847. objColInfo.push({col: "pagingtodd", type:"string", size:256});
  5848. objColInfo.push({col: "ordfromdd", type:"string", size:256});
  5849. objColInfo.push({col: "ordtodd", type:"string", size:256});
  5850. objColInfo.push({col: "recformcd", type:"string", size:256});
  5851. objColInfo.push({col: "ordddtxt", type:"string", size:256});
  5852. objColInfo.push({col: "signnotxt", type:"string", size:256});
  5853. dsf_createDs("ds_send", objColInfo);
  5854. var nRow = ds_send.addRow();
  5855. ds_send.setColumn(nRow, "pid", ds_patinfolist.getColumn(0, "pid"));
  5856. ds_send.setColumn(nRow, "orddd", ds_grd_pathist.getColumn(grd_pathistrow, "orddd"));
  5857. ds_send.setColumn(nRow, "cretno", ds_grd_pathist.getColumn(grd_pathistrow, "cretno"));
  5858. ds_send.setColumn(nRow, "chosflag", ds_grd_pathist.getColumn(grd_pathistrow, "ordtype"));
  5859. ds_send.setColumn(nRow, "orddeptcd", ds_grd_pathist.getColumn(grd_pathistrow, "orddeptcd"));
  5860. ds_send.setColumn(nRow, "tabflag", ds_init_etc.getColumn(0, "tabflag"));
  5861. ds_send.setColumn(nRow, "reccurpos", calcReccurpos);
  5862. ds_send.setColumn(nRow, "recall", ds_init_etc.getColumn(0, "recall"));
  5863. ds_send.setColumn(nRow, "reckind", reckind);
  5864. ds_send.setColumn(nRow, "itemindxseq", itemindxseq);
  5865. ds_send.setColumn(nRow, "lisflag", ds_grd_midindx.getColumn(grd_midindxrow, "lisflag"));
  5866. ds_send.setColumn(nRow, "instcd", ds_init_env.getColumn(0, "instcd"));
  5867. ds_send.setColumn(nRow, "privateyn", ds_init_etc.getColumn(0, "privateyn"));
  5868. ds_send.setColumn(nRow, "option", ds_init_env.getColumn(0, "option"));
  5869. /* 이정택 파라미터 추가
  5870. * */
  5871. ds_send.setColumn(nRow, "keys", ds_tmp.getColumn(0, "keys"));
  5872. ds_send.setColumn(nRow, "screen_id", frmf_getScreenID());
  5873. ds_send.setColumn(nRow, "sortkind", ds_init_etc.getColumn(0, "sortkind"));
  5874. ds_send.setColumn(nRow, "page_number", page_number);
  5875. //sysf_trace("frmf_getScreenID : " + frmf_getScreenID() + "*****");
  5876. //sysf_trace("this.getOwnerFrame().name : " + this.getOwnerFrame().name + "*****");
  5877. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  5878. ds_send.setColumn(nRow, "fromprcpdd", ds_grd_pathist.getColumn(grd_pathistrow, "orddd"));
  5879. ds_send.setColumn(nRow, "toprcpdd", ds_grd_pathist.getColumn(grd_pathistrow, "dschdd"));
  5880. //2009-11-02 오후 2:18:45 강지훈 수정
  5881. ds_send.setColumn(nRow, "bfopentest", bfopentest);
  5882. pathistEmrFlag = ds_grd_pathist.getColumn(grd_pathistrow, "emrflag");
  5883. if(bfopentest == "Y" && emrflag != "E"){
  5884. ds_send.setColumn(nRow, "midbftest", "Y");
  5885. }else{
  5886. ds_send.setColumn(nRow, "midbftest", "N");
  5887. }
  5888. //2010.03.31 안치원 - 대량Data의 수동출력을 위한 Paging기능 추가
  5889. if (ds_init_etc.getColumn(0, "pagingyn")=="Y" && !utlf_isNull(ds_init_paging.getColumn(0, "fromdd")) && !utlf_isNull(ds_init_paging.getColumn(0, "todd")) ) {
  5890. ds_send.setColumn(nRow, "pagingyn", "Y");
  5891. var ViewMode = grup_right.iviewerIemr.hidden_currentViewMode;
  5892. if(ViewMode == "ThumbView"){
  5893. ds_send.setColumn(nRow, "recall", "Y"); //추가-kys-20100331
  5894. ds_init_etc.setColumn(0, "recall", "Y"); //추가-kys-20100331
  5895. }
  5896. ds_send.setColumn(nRow, "pagingyn", "Y");
  5897. ds_send.setColumn(nRow, "pagingfromdd", ds_init_paging.getColumn(0, "fromdd"));
  5898. ds_send.setColumn(nRow, "pagingtodd", ds_init_paging.getColumn(0, "todd"));
  5899. }
  5900. if( !utlf_isNull(ds_tmp.getColumn(0, "prcpfromdd")) && !utlf_isNull(ds_tmp.getColumn(0, "prcptodd"))){
  5901. ds_send.setColumn(nRow, "pagingyn", "Y");
  5902. ds_send.setColumn(nRow, "pagingfromdd", ds_tmp.getColumn(0, "prcpfromdd"));
  5903. ds_send.setColumn(nRow, "pagingtodd", ds_tmp.getColumn(0, "prcptodd"));
  5904. }
  5905. if(multirecyn == "N"){
  5906. dsf_setDefaultVal(ds_send, "recall:N,reckind:EMR,fromprcpdd:'',toprcpdd:''pagingyn:N,pagingfromdd:'',pagingtodd:'',privateyn:N,page_number:1");
  5907. //sysf_trace(ds_send.saveXML());
  5908. //xp code add : col id change!!!execprcpuniqno
  5909. if( !utlf_isNull(ds_paging_iniinfo.getColumnInfo("cmc_orderseqno")))
  5910. ds_paging_iniinfo.updateColID("cmc_orderseqno", "execprcpuniqno");
  5911. var oParam = {};
  5912. oParam.id = "TRMRI03010";
  5913. oParam.service = "recmngtapp.IntegrityRec";
  5914. oParam.method = "reqGetRecDetailInfoByCondFlag";
  5915. oParam.inds = "req=" + "ds_send";
  5916. oParam.outds = "ds_paging_iniinfo" + "=iniinfo";
  5917. oParam.async = true;
  5918. oParam.callback = "cf_TRMRI03010"
  5919. tranf_submit(oParam);
  5920. }else{
  5921. grup_right.iviewerIemr.cleanViewer();
  5922. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  5923. }
  5924. }
  5925. }
  5926. }
  5927. function cf_TRMRI03010(sSvcId, nErrorCode, sErrorMsg){
  5928. arErrorCode.push(sSvcId, nErrorCode);
  5929. //sysf_trace("***** cf_TRMRI03010 *****");
  5930. //xp code add : col id change!!!execprcpuniqno
  5931. if( !utlf_isNull(ds_paging_iniinfo.getColumnInfo("execprcpuniqno")))
  5932. ds_paging_iniinfo.updateColID("execprcpuniqno", "cmc_orderseqno");
  5933. dsf_setDefaultVal(ds_paging_iniinfo, "all");
  5934. //var certnodeList = instance1.selectNodes("/root/paging/iniinfo");
  5935. //if(certnodeList.length > 1 && certnodeList.length >= nodeposcnt){
  5936. if(ds_paging_iniinfo.rowcount > 1 && ds_paging_iniinfo.rowcount >= nodeposcnt){
  5937. multirecyn = "Y";
  5938. if(prevflag == "Y"){
  5939. nodeposcnt = ds_paging_iniinfo.rowcount;
  5940. }else{
  5941. nodeposcnt = 0; // 1->0
  5942. }
  5943. }else{
  5944. multirecyn = "N";
  5945. nodeposcnt = 0; // 1->0
  5946. }
  5947. if (ds_init_etc.getColumn(0, "recall") == "Y"){
  5948. fGetNextEmrImgRec_New();
  5949. }else{
  5950. fGetNextEmrImgRec_New();
  5951. }
  5952. ds_init_etc.setColumn(0, "recall", "N");
  5953. }
  5954. /**
  5955. * 2014/04/01 통합기록 조회 신규로직
  5956. * 이정택
  5957. */
  5958. function fGetNextEmrImgRec_New(){
  5959. sysf_trace("***** fGetNextEmrImgRec_New() *****");
  5960. var instcd = ds_init_env.getColumn(0, "instcd");
  5961. //var foldernm = "C:\\Certrec" + sysf_getUserInfo("dutplceinstcd");
  5962. var recall = ds_init_etc.getColumn(0, "recall");
  5963. if(ds_paging_iniinfo.rowcount <= 0){
  5964. return;
  5965. }else if(ds_paging_iniinfo.rowcount > 1){
  5966. ds_init_etc.setColumn(0, "recall", "N");
  5967. }
  5968. var emrpath = "";
  5969. var emrorddate = "";
  5970. var emrformnm = "";
  5971. var emrformcd = "";
  5972. var emrdeptnm = "";
  5973. var emrdeptcd = "";
  5974. var emrpage = "";
  5975. var emrhiddenmsg = "";
  5976. var recrowno = "";
  5977. var k = "";
  5978. var pid = "";
  5979. var ptnm = "";
  5980. var depthngnm = "";
  5981. var deptengabbr = "";
  5982. var icdrdeptengabbr = "";
  5983. var rgstno = "";
  5984. var sa = "";
  5985. var disporddd = "";
  5986. var orddd = "";
  5987. var drid = "";
  5988. var icdrdrid = "";
  5989. var roomcd = "";
  5990. var icdrroomcd = "";
  5991. var ordtype = "";
  5992. var chosflag = "";
  5993. var orddeptcd = "";
  5994. var signflag = "";
  5995. var imgflag = "";
  5996. var langflag = "";
  5997. var tmptreatno = "";
  5998. var tmpiformcd = "";
  5999. var signno = 0;
  6000. var formcd = "";
  6001. var srcformcd = "";
  6002. var formnm = "";
  6003. var formprogflag = "";
  6004. var recdt = "";
  6005. var recdd = "";
  6006. var wardheader = "";
  6007. var dateheader = "";
  6008. var doctorheader = "";
  6009. var printheader = "";
  6010. var pageheader = "";
  6011. var imgepath = "";
  6012. var formrecdt = "";
  6013. var fstrgstdt = "";
  6014. var lastupdtdt = "";
  6015. var staffconfirmdt = "";
  6016. var fstrgstrusrnm = "";
  6017. var lastupdtrusrnm = "";
  6018. var erdt = "";
  6019. var ervisittm = "";
  6020. var staffnmheader = "";
  6021. var staffnm = "";
  6022. var emrrecusrnmheader = "";
  6023. var emrrecusrnm = "";
  6024. var indd = "";
  6025. var dschdd = "";
  6026. var inorddepthngnm = "";
  6027. var dschorddepthngnm = "";
  6028. var incnt = "";
  6029. var mainyn = "";
  6030. var rowno = "";
  6031. var surgeon = "";
  6032. var cover_header = "";
  6033. var cover_footer = "";
  6034. var local_path = "";
  6035. var body_header = "";
  6036. var body_footer = "";
  6037. var makebodyfilecnt =0;
  6038. var default_cover_header = "";
  6039. var default_cover_footer = "";
  6040. var cover_header1 = "";
  6041. var cover_header2 = "";
  6042. var cover_header3 = "";
  6043. var cover_header4 = "";
  6044. var cover_header10 = "";
  6045. var cover_footer1 = "";
  6046. var cover_footer2 = "";
  6047. var cover_header_filenm = "";
  6048. var cover_footer_filenm = "";
  6049. var prtnunm = sysf_getUserInfo("usernm");
  6050. var prtndeptnm = "";
  6051. var getdate = utlf_getCurrentDate();
  6052. var gettime = utlf_getCurrentTime();
  6053. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  6054. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  6055. var SMMRI03000_privateflag = frmf_getParameter("SMMRI03000_privateflag");
  6056. var prtdt = dateprnt + " " + timeprnt;
  6057. var signgenrflag = "";
  6058. var careinrmdt = "";
  6059. var prcpdd ="";
  6060. grup_right.iviewerIemr.ReservePageReset();
  6061. //grup_right.iviewerIemr.refreshFalse();
  6062. for(var i = 0; i < ds_paging_iniinfo.rowcount; i++){
  6063. signno = ds_paging_iniinfo.getColumn(i, "signno");
  6064. formcd = ds_paging_iniinfo.getColumn(i, "formcd");
  6065. srcformcd = ds_paging_iniinfo.getColumn(i, "srcformcd");
  6066. formnm = ds_paging_iniinfo.getColumn(i, "formnm");
  6067. formprogflag = ds_paging_iniinfo.getColumn(i, "formprogflag");
  6068. recdt = ds_paging_iniinfo.getColumn(i, "recdt");
  6069. recdd = ds_paging_iniinfo.getColumn(i, "recdd");
  6070. trans = ds_paging_iniinfo.getColumn(i, "trans");
  6071. ptnm = ds_paging_iniinfo.getColumn(i, "ptnm");
  6072. pid = ds_paging_iniinfo.getColumn(i, "pid");
  6073. rgstno = ds_paging_iniinfo.getColumn(i, "rgstno");
  6074. depthngnm = ds_paging_iniinfo.getColumn(i, "depthngnm");
  6075. deptengabbr = ds_paging_iniinfo.getColumn(i, "deptengabbr");
  6076. icdrdeptengabbr = ds_paging_iniinfo.getColumn(i, "icdrdeptengabbr");
  6077. sa = ds_paging_iniinfo.getColumn(i, "sa");
  6078. disporddd = ds_paging_iniinfo.getColumn(i, "disporddd");
  6079. orddd = ds_paging_iniinfo.getColumn(i, "orddd");
  6080. drid = ds_paging_iniinfo.getColumn(i, "drid");
  6081. icdrdrid = ds_paging_iniinfo.getColumn(i, "icdrdrid");
  6082. roomcd = ds_paging_iniinfo.getColumn(i, "roomcd");
  6083. icdrroomcd = ds_paging_iniinfo.getColumn(i, "icdrroomcd");
  6084. ordtype = ds_paging_iniinfo.getColumn(i, "ordtype");
  6085. chosflag = ds_paging_iniinfo.getColumn(i, "chosflag");
  6086. orddeptcd = ds_paging_iniinfo.getColumn(i, "orddeptcd");
  6087. signflag = ds_paging_iniinfo.getColumn(i, "signflag");
  6088. imgflag = ds_paging_iniinfo.getColumn(i, "imgflag");
  6089. langflag = ds_paging_iniinfo.getColumn(i, "langflag");
  6090. formrecdt = ds_paging_iniinfo.getColumn(i, "formrecdt");
  6091. formrecdt = formrecdt.toString().toDate().getDateFormat("YYYY/MM/DD");
  6092. fstrgstdt = ds_paging_iniinfo.getColumn(i, "fstrgstdt");
  6093. lastupdtdt = ds_paging_iniinfo.getColumn(i, "lastupdtdt");
  6094. staffconfirmdt = ds_paging_iniinfo.getColumn(i, "staffconfirmdt");
  6095. fstrgstrusrnm = ds_paging_iniinfo.getColumn(i, "fstrgstrusrnm");
  6096. lastupdtrusrnm = ds_paging_iniinfo.getColumn(i, "lastupdtrusrnm");
  6097. erdt = ds_paging_iniinfo.getColumn(i, "erdt");
  6098. ervisittm = ds_paging_iniinfo.getColumn(i, "ervisittm");
  6099. staffnm = ds_paging_iniinfo.getColumn(i, "staffnm");
  6100. surgeon = staffnm;
  6101. emrrecusrnm = ds_paging_iniinfo.getColumn(i, "emrrecusrnm");
  6102. indd = ds_paging_iniinfo.getColumn(i, "indd");
  6103. dschdd = ds_paging_iniinfo.getColumn(i, "dschdd");
  6104. inorddepthngnm = ds_paging_iniinfo.getColumn(i, "inorddepthngnm");
  6105. dschorddepthngnm = ds_paging_iniinfo.getColumn(i, "dschorddepthngnm");
  6106. mainyn = ds_paging_iniinfo.getColumn(i, "mainyn");
  6107. rowno = ds_paging_iniinfo.getColumn(i, "rowno");
  6108. //rowno = utlf_isNull(rowno) ? "" : rowno ;
  6109. incnt = ds_paging_iniinfo.getColumn(i, "incnt");
  6110. prcpdd = ds_paging_iniinfo.getColumn(i, "prcpdd");
  6111. if(!utlf_isNull(incnt))
  6112. incnt += " 회차";
  6113. signgenrflag = ds_paging_iniinfo.getColumn(i, "signgenrflag"); //20100615-kys
  6114. careinrmdt = ds_paging_iniinfo.getColumn(i, "careinrmdt"); //20100615-kys
  6115. var ininfo = indd + " / " + inorddepthngnm;
  6116. if(!utlf_isNull(erdt))
  6117. ininfo += " (응급실 내원일 : " + erdt + ")";
  6118. var dschinfo = dschdd + " / " + dschorddepthngnm;
  6119. var formnmarr = formnm.split("\n");
  6120. var topformnm = "";
  6121. var botformnm = "";
  6122. if (formnmarr.length == 1){
  6123. topformnm = formnmarr[0];
  6124. }else if (formnmarr.length == 2){
  6125. topformnm = formnmarr[0];
  6126. botformnm = formnmarr[1];
  6127. }else{
  6128. topformnm = formnm;
  6129. }
  6130. //2009-06-02 등록번호 "-" 병원별 제거
  6131. // jw.choe 해당노드 셋 부분 없음. 빈 임시 데이터셋 만들어둠.
  6132. var pidynhcd = ds_pidynhcd.getColumn(0, "hardcd");
  6133. if (pidynhcd == "Y"){
  6134. for(var k = pid.length; k <= 8; k++){
  6135. if(k < 8){
  6136. pid = "0"+pid;
  6137. }
  6138. }
  6139. var str1 = pid.substr(0, 3);
  6140. var str2 = pid.substr(3, 2);
  6141. var str3 = pid.substr(5, 2);
  6142. var str4 = pid.substr(7, 1);
  6143. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  6144. }else{
  6145. tmppid = pid;
  6146. }
  6147. if (chosflag == "O" || chosflag == "S"){
  6148. wardheader = "진료과 : ";
  6149. }else{
  6150. wardheader = "병실 : ";
  6151. }
  6152. if (langflag == "KO"){
  6153. if (chosflag == "O" || chosflag == "S"){
  6154. wardheader = "진료과 : ";
  6155. }else{
  6156. wardheader = "병실 : ";
  6157. }
  6158. dateheader = "진료기간 : ";
  6159. doctorheader = "주치의 : ";
  6160. printheader = "출력 : ";
  6161. prtndeptnm = sysf_getUserInfo("dutplcenm");
  6162. //imgepath = "com/commonweb/images/biglogo" + sysf_getUserInfo("dutplceinstcd") + ".jpg"
  6163. imgepath = "IMAGES/emr/MN/biglogo" + sysf_getUserInfo("dutplceinstcd") + ".jpg"
  6164. pageheader = "페이지 : ";
  6165. }else{
  6166. if (chosflag == "O" || chosflag == "S"){
  6167. wardheader = "Dept : ";
  6168. }else{
  6169. wardheader = "Room : ";
  6170. }
  6171. dateheader = "Date : ";
  6172. doctorheader = "Doctor : ";
  6173. printheader = "Print date : ";
  6174. prtndeptnm = sysf_getUserInfo("deptengnm");
  6175. imgepath = "theme://images/biglogo" + sysf_getUserInfo("dutplceinstcd") + "e.jpg"
  6176. if (utlf_isNull(prtndeptnm)){
  6177. prtndeptnm = sysf_getUserInfo("dutplcenm");
  6178. }
  6179. pageheader = "Page : ";
  6180. }
  6181. //sysf_trace(" ***** imgflag : " + imgflag +" instcd : " + instcd + " srcformcd : " + srcformcd + " rowno : " + rowno + "*****");
  6182. if (imgflag == "N"){
  6183. //sysf_trace("************** A ********************");
  6184. if(utlf_isNull(trans)){
  6185. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  6186. }
  6187. // SMMRC03100.xjs 6378line 동일
  6188. //Cross 조회 시 기록 이미지 조회 되지 않는 현상 수정
  6189. var sInstcd = sysf_getUserInfo("dutplceinstcd");
  6190. var bCross = false;
  6191. if( !utlf_isNull(ds_init_env.getColumn(0, "instcd")) && sInstcd != ds_init_env.getColumn(0, "instcd") ){
  6192. sInstcd = ds_init_env.getColumn(0, "instcd");
  6193. bCross = true;
  6194. }
  6195. if( trans.indexOf("&amp;instcd=&amp;") > -1 ){
  6196. trans = trans.replace("&amp;instcd=&amp;", "&amp;instcd="+sInstcd+"&amp;");
  6197. }else if( trans.indexOf("&amp;business_id=") > -1 && !(trans.indexOf("&amp;instcd=03") > -1) ){
  6198. trans = trans.replace("&amp;business_id=", "&amp;instcd="+sInstcd+"&amp;business_id=");
  6199. }else if( bCross && trans.indexOf("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;") > -1 ){
  6200. trans = trans.replace("&amp;instcd="+sysf_getUserInfo("dutplceinstcd")+"&amp;", "&amp;instcd="+sInstcd+"&amp;");
  6201. }
  6202. var ininm = "cmc";
  6203. //이윤주 수정(20140819:최초작성시각 보이는 서식)
  6204. var fstsrcformcdcnt = ds_fstsrcformcd.getCaseCount("hardcd == '" + srcformcd + "'");
  6205. if (fstsrcformcdcnt > 0) {
  6206. if(!utlf_isNull(fstrgstrusrnm)) {
  6207. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  6208. }
  6209. }
  6210. //이윤주 추가(20140819:기록시점에 헤더정보 표현)
  6211. var icdrsrcformcdcnt = ds_icdrsrcformcd.getCaseCount("hardcd == '" + srcformcd + "'");
  6212. if (icdrsrcformcdcnt > 0) {
  6213. deptengabbr = icdrdeptengabbr;
  6214. roomcd = icdrroomcd;
  6215. drid = icdrdrid;
  6216. }
  6217. switch(srcformcd){
  6218. case "0000000003"://입원초진
  6219. cover_header = "emr/recmngtxp/html/cover_header2_"+instcd+".html";
  6220. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6221. break;
  6222. case "0000000676"://수술기록
  6223. cover_header = "emr/recmngtxp/html/cover_header_"+instcd+".html";
  6224. cover_footer = "emr/recmngtxp/html/cover_footer2.html";
  6225. break;
  6226. case "0000000679"://응급실기록
  6227. cover_header = "emr/recmngtxp/html/cover_header3_"+instcd+".html";
  6228. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6229. break;
  6230. case "0000000680"://입퇴원요약
  6231. cover_header = "emr/recmngtxp/html/cover_header1_"+instcd+".html";
  6232. cover_footer = "emr/recmngtxp/html/cover_footer1.html";
  6233. break;
  6234. case "0000002022"://마취기록지
  6235. cover_header = "emr/recmngtxp/html/cover_header4_"+instcd+".html";
  6236. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6237. break;
  6238. //case "0000003325"://DSC기록
  6239. case "0000003169"://Brief OP Note
  6240. cover_header = "emr/recmngtxp/html/cover_header_"+instcd+".html";
  6241. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6242. break;
  6243. default:
  6244. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y"){
  6245. cover_header = "emr/recmngtxp/html/cover_header10_"+instcd+".html";
  6246. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6247. }else{
  6248. cover_header = "emr/recmngtxp/html/cover_header_"+instcd+".html";
  6249. cover_footer = "emr/recmngtxp/html/cover_footer.html";
  6250. }
  6251. break;
  6252. }
  6253. // CHECK 2013.07.10 CYW
  6254. var openerid = "";
  6255. if( frmf_checkOpener() )
  6256. openerid = opener.frmf_getParameter("SMMRI00400_param_openerid");
  6257. //sysf_trace("***** SMMRI00400_param_openerid : " + openerid + "*****");
  6258. if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "2" ){ // 본원 보호정책
  6259. ptnm = "";
  6260. rgstno = "";
  6261. lastupdtrusrnm = "";
  6262. fstrgstrusrnm = "";
  6263. drid = "";
  6264. emrrecusrnm = "";
  6265. staffnm = "";
  6266. surgeon = "";
  6267. tmppid = ds_paging_iniinfo.getColumn(i, "pid").substring(0,3) + "****";
  6268. }else if( openerid == "SMMRI08000" && SMMRI03000_privateflag == "3" ){ // 칠곡 보호정책
  6269. ptnm = ds_paging_iniinfo.getColumn(i, "ptnm").substring(0,1) + "**";
  6270. rgstno = ds_paging_iniinfo.getColumn(i, "rgstno").substring(0,6) + "-*******";
  6271. }
  6272. // 통합기록조회 조회조건(타이틀제거여부)에 따른 VIEW 2013.09.06 CYW 환경설정변수 040, 044
  6273. if(ds_envinit.getColumn(0, "viewflag") == "true"){
  6274. cover_header = "";
  6275. cover_footer = "";
  6276. body_header = "";
  6277. body_footer = "";
  6278. }else{
  6279. body_header = "emr/recmngtxp/html/body_header.html";
  6280. body_footer = "emr/recmngtxp/html/body_footer.html";
  6281. }
  6282. //trans = "<!--@\n @DOCUMENT_HOME = " + sysf_getURLprefix() + "/himed/webapps/ " +
  6283. trans = "<!--@\n @DOCUMENT_HOME = " + sysf_getURLprefix() + "/xpapps/ " +
  6284. "\n @COVER_HEADER = " + cover_header +
  6285. "\n @COVER_FOOTER = " + cover_footer +
  6286. "\n @BODY_HEADER = " + body_header +
  6287. "\n @BODY_FOOTER = " + body_footer +
  6288. "\n @DEFAULT_FONT = 굴림 " +
  6289. "\n @DEFAULT_PRE_FONT = 굴림 " +
  6290. "\n @DEFAULT_FONT_SIZE = 9pt " +
  6291. "\n @DEFAULT_PRE_FONT_SIZE = 10pt " +
  6292. "\n @FONT_SIZE_OFFSET = 3px " +
  6293. "\n @USE_NU_SIZE_ADJUST = TRUE " +
  6294. "\n @HIDE_TAG = DIV:MTX_*, DIV:STX_* " +
  6295. "\n @VAR_PAT_NUM = " + tmppid +
  6296. "\n @VAR_CLASS = " + ordtype +
  6297. "\n @VAR_CHART_NAME_TOP = " + topformnm +
  6298. "\n @VAR_CHART_NAME_BOTTOM = " + botformnm +
  6299. "\n @VAR_CHART_NAME_LINE = " + formnm +
  6300. "\n @VAR_PAT_AGE_SEX = " + sa +
  6301. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  6302. "\n @VAR_PAT_JUMIN_NO = " + rgstno +
  6303. "\n @VAR_PAT_NAME = " + ptnm +
  6304. "\n @VAR_PRINT_NAME = " + prtnunm +
  6305. "\n @VAR_PRINT_DEPT = " + prtndeptnm +
  6306. "\n @VAR_WARD_HEAD = " + wardheader + roomcd +
  6307. "\n @VAR_DATE_HEADER = " + dateheader + disporddd +
  6308. "\n @VAR_DOCTOR_HEADER = " + doctorheader + drid +
  6309. "\n @VAR_PRINT_HEADER = " + printheader + prtdt +
  6310. "\n @SYS_PAGE_HEADER = " + pageheader +
  6311. "\n @VAR_HOSP_IMG = " + imgepath +
  6312. "\n @VAR_ORDDATE = " + recdd +
  6313. "\n @VAR_ORDDEPT = " + depthngnm +
  6314. "\n @VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm +
  6315. "\n @VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm +
  6316. "\n @VAR_ERDT = " + erdt +
  6317. "\n @VAR_ERVISITTM = " + ervisittm +
  6318. "\n @VAR_STAFFNM_HEADER = " + staffnmheader +
  6319. "\n @VAR_STAFFNM = " + staffnm +
  6320. "\n @VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader +
  6321. "\n @VAR_EMRRECUSRNM = " + emrrecusrnm +
  6322. "\n @VAR_ININFO = " + ininfo +
  6323. "\n @VAR_DSCHINFO = " + dschinfo +
  6324. "\n @VAR_INCNT = " + incnt +
  6325. "\n @VAR_INORDDEPTHNGNM = " + inorddepthngnm +
  6326. "\n @VAR_RECUSERID = " + fstrgstrusrnm +
  6327. "\n @VAR_REALRECDT = " + formrecdt +
  6328. "\n @VAR_TREAT_DEPT = " + deptengabbr +
  6329. "\n @VAR_DSCHINFO = " + dschinfo +
  6330. "\n @VAR_SURGEON = " + surgeon +
  6331. "\n @OUTPUT_MAGNIFICATION = 1 " +
  6332. /* 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 begin */
  6333. "\n @USE_KEEP_DESIGN = TRUE" + //box 계단 문제 해결
  6334. "\n @USE_NU_TD_ADJUST = FALSE" + //데이터없는 TD 높이유지
  6335. "\n @USE_SCH_HR_ADJUST = TRUE" + //수직선을 그리기 위한 옵션 추가
  6336. "\n @LINE_BREAK_METHOD = SCH" + //wordwrap 속성 (word+literal)
  6337. "\n @TEXT_LINE_HEIGHT = MTX_* 130, GRD_* 130, LBL_* 120, CCN_* 130, OPN_* 130, DGN_* 130" + //줄간격
  6338. "\n @VERTICAL_COMPACTION = 10" + //여백제거
  6339. /* end 2.0디자인서식 깨짐 해결하기 위한 추가 옵션 */
  6340. "\n@-->\n" + trans + "\n";
  6341. //var fso = inff_fileSystemObject();//new ActiveXObject("Scripting.FileSystemObject");
  6342. var current = ds_grd_midindx.getColumn(ds_grd_midindx.rowposition, "itemindxseq");
  6343. formnm = formnm.replace("/", ".");
  6344. /*
  6345. //2014/05/09 이정택
  6346. var a= fso.CreateTextFile(lgv_Foldernm + "\\" + recdd + i + "_" + formnm.substr(0,4) + ".HTML", true, true);
  6347. //2014/05/09 이정택
  6348. a.WriteLine(trans);
  6349. a.Close();
  6350. */
  6351. var vfile = new VirtualFile(lgv_Foldernm + "\\" + recdd + i + "_" + formnm.substr(0,4) + ".HTML", VirtualFile.openWrite);
  6352. vfile.write(trans, "utf-8");
  6353. vfile.close();
  6354. //2014/05/09 이정택
  6355. emrpath = lgv_Foldernm + "\\" + recdd + i + "_" + formnm.substr(0,4) + ".HTML|";
  6356. //2014/05/09 이정택
  6357. if(current=="20337"){
  6358. emrorddate = prcpdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  6359. }else{
  6360. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  6361. }
  6362. emrformnm = formnm + "|";
  6363. emrformcd = formcd + "|";
  6364. emrdeptnm = deptengabbr + "|";
  6365. emrdeptcd = orddeptcd + "|";
  6366. emrpage = "1|";
  6367. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  6368. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  6369. recrowno = rowno;
  6370. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  6371. var chartinfo = "";
  6372. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  6373. dsf_createDs("ds_send_iemr", [{col: "treatno", type:"string", size:256, val:""}
  6374. , {col: "docucd", type:"string", size:256, val:""}
  6375. , {col: "instcd", type:"string", size:256, val:ds_init_env.getColumn(0, "instcd")}]);
  6376. grup_right.iviewerIemr.appendChart(ds_send_iemr, chartinfo, emrhiddenmsg, recrowno);
  6377. }else{
  6378. //sysf_trace("************** B ********************");
  6379. tmptreatno = signno + ",";
  6380. tmpiformcd = formcd + ",";
  6381. emrpath = "*|";
  6382. emrorddate = "*|";
  6383. emrformnm = "*|";
  6384. emrformcd = "*|";
  6385. emrdeptnm = "*|";
  6386. emrdeptcd = "*|";
  6387. emrpage = "*|";
  6388. emrhiddenmsg = "*|";
  6389. recrowno = rowno;
  6390. ds_imgrec_iemr.setColumn(0, "treatno", signno);
  6391. ds_imgrec_iemr.setColumn(0, "docucd", formcd);
  6392. ds_imgrec_iemr.setColumn(0, "instcd", ds_init_env.getColumn(0, "instcd"));
  6393. //2013/08/13 Start 이정택:처방키가 있을시에 처방키에 해당하는 이미지만 가져오도록 소스 추가
  6394. var cmc_orderseqno = ds_paging_iniinfo.getColumn(i, "cmc_orderseqno");
  6395. //alert(cmc_orderseqno);
  6396. if(!utlf_isNull(cmc_orderseqno)){
  6397. ds_imgrec_iemr.addColumn("cmc_orderseqno", "string");
  6398. ds_imgrec_iemr.setColumn(0, "cmc_orderseqno", cmc_orderseqno); //makeValue
  6399. }else{
  6400. ds_imgrec_iemr.addColumn("cmc_orderseqno", "string");
  6401. ds_imgrec_iemr.setColumn(0, "cmc_orderseqno", "");
  6402. }
  6403. //2013/08/13 End
  6404. ds_imgrec_iemr.addColumn("formprogflag", "string");
  6405. ds_imgrec_iemr.setColumn("formprogflag", formprogflag);
  6406. var chartinfo;
  6407. chartinfo = "I";
  6408. var hiddenmsg;
  6409. hiddenmsg = "I";
  6410. grup_right.iviewerIemr.appendChart(ds_imgrec_iemr, chartinfo, hiddenmsg, recrowno);
  6411. }
  6412. }
  6413. //grup_right.iviewerIemr.refreshTrue();
  6414. grup_right.iviewerIemr.ReservePageCommit();
  6415. }
  6416. /**
  6417. * 폴더체크
  6418. * 2014/04/09 이정택
  6419. */
  6420. function fExistFolder_New(foldernm){
  6421. var objExtCommon = new ExtCommon();
  6422. if(utlf_isNull(foldernm)){
  6423. return;
  6424. }
  6425. var folderDept = foldernm.split("\\");
  6426. var currentPos = folderDept[0];
  6427. for(var i =1; i<folderDept.length ; i++){
  6428. if(utlf_isNull(folderDept[i])){
  6429. break;
  6430. }
  6431. currentPos += ("\\" + folderDept[i]);
  6432. objExtCommon.checkDirectory(currentPos, 1);
  6433. }
  6434. var objFileList = VirtualFile.getFileList(foldernm, "*", VirtualFile.findFileOnly);
  6435. for(var i=0; i<objFileList.length; i++){
  6436. sFileName = objFileList[i].filename;
  6437. bDeleteFile = VirtualFile.delete(foldernm+"\\"+sFileName);
  6438. }
  6439. /*
  6440. var fso, folder, s;
  6441. var folder, s;
  6442. //fso = inff_fileSystemObject();
  6443. try{
  6444. folder = fso.GetFolder(foldernm);
  6445. s = folder.DateCreated;
  6446. if(s != ""){
  6447. fDelFolder(foldernm);
  6448. fMakeFolder(foldernm);
  6449. }
  6450. }catch(e){
  6451. fMakeFolder(foldernm);
  6452. }
  6453. */
  6454. }
  6455. /**
  6456. * 프로그레스바 생성
  6457. * @param msg
  6458. * @return
  6459. */
  6460. function callLoadingWindow(msg){
  6461. body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:650px; top:400px; width:330px; height:120px;");
  6462. var ivrObjt = document.all("ivr_progress");
  6463. ivrObjt.model.setValue("/root/main/msg", msg);
  6464. ivrObjt.model.refresh();
  6465. }
  6466. /**
  6467. * 프로그레스바 삭제
  6468. * @return
  6469. */
  6470. function removeLoadingWindow(){
  6471. body.removeChild("ivr_progress");
  6472. }
  6473. function fn_rdo_lindxEvent(aa)
  6474. {
  6475. var setcd = "";
  6476. setcd = rdo_lindx.getData();
  6477. ds_init_etc.setColumn(0, "tabflag", setcd);
  6478. //TF rdo_lindx xforms-select event
  6479. fGetRecMidIndx();
  6480. }
  6481. function lf_setSelectStatus(obj){
  6482. if( !utlf_isNull(obj) ){
  6483. obj.setSelectStatus(true);
  6484. obj.class = "btn_tab_S";
  6485. }
  6486. } ]]></Script>