SMMRI03000.xjs 297 KB

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