12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- 투약기록(SMMNR006_투약기록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xCondPath = "/root/main/cond";
- var xWardPatListPath = "ds_main_wardpatinfo_wardpatlist";
- var xWardActListPath = "ds_main_wardactinfo_wardactlist";
- var xTempWardActListPath = "/root/temp/wardactinfo/wardactlist";
- var xWardDrugListPath = "ds_main_warddruginfo_warddruglist";
- var xHiddenWardDrugPath = "/root/hidden/warddruginfo/warddruglist";
- var xHiddenRtnMsgPath = "/root/hidden/rtnmsg";
- var xPatInfoPath = "/root/main/paminfo/pamlist";
- var xMediCard8 = "ds_send_medicard8_warddruglist";//수액라벨, 주사라벨용 데이타
- var xHiddenMediCard8 = "/root/hidden/medicard8/warddruglist";//수액라벨, 주사라벨용 데이타
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- var sPathNarcResult = "/root/endsave/narcresult"; //마약잔량신청상태조회 확인 결과(결과)
- var sPathEndCond = ds_endsave_endcond; //enddd 확인 결과(조회)
- var xBarCordPath = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo/pcl/pcllist";
- var xDrMode = "N";
- var xDrRec = "N";
- var xOpfromdt = "";
- var signtime = "";
- var vsettime = "";
- var signgbn = "A";
- //var grd_colcnt = 17+1;
- //-----------------(20081118)
- //var grd_colcnt = 18;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명\[* : 고주위/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명\[* : 고주위/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^ ^";
- //var grd_colcnt = 19;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명\[* : 고주위/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^수액No\n적용^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명\[* : 고주위/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^수액No\n적용^ ^";
- //var grd_colcnt = 21;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_colcnt = 21;
- //var grd_title1 = "선택^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_title2 = "^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- /** <addon>
- *개발일시: 2010.07.06
- *개발자: 양천덕
- *요청병원: 세종병원
- *요청파트: 병동간호
- *개발내용: 투약기록에 투약번호 필드 추가
- </addon>
- */
- // 2010-03-15 라벨출력여부 컬럼추가
- var grd_colcnt = 24;
- //20110107_KNUH_Start 컬럼 2개 변경.
- var grd_title1 = "선택^라벨^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^1회\n용량^단위^1일\n수량^1회\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- var grd_title2 = "^라벨^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^^1회\n용량단위^1일\n수량^1회\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_title1 = "선택^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^투약No^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_title2 = "^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^투약No^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //-----------------(20081118)
- var addCol_Array = new Array;
- var baseCol_Array = new Array;
- var mixno_Array = new Array;
- var colIndex_Array = new Array;
- var addCol_Cnt = 0;
- var screen_mode = "pat";
- var gray = "#c0c0c0";
- var yellow = "#ffff00";
- var yellowishgreen = "#80ff00";
- var red = "#ff0000";
- var sky = "#00ffff";
- var blue = "#0000ff";
- var white = "#ffffff";
- //var yellowishgreen = "#80ff00"
- //-----------------(20081201)
- var orange = "#ff00ff";
- //-----------------(20081201)
- var top_pid = "";
- var sign_row = "";
- var sign_saverow = ""; //20081112
- var sign_savecol = ""; //20081112
- //-------------(20080831)
- var sSignRow = "";
- var gTimer = "";
- //-------------(20081121)
- var toprow = 0;
- var toprow2 = 0;
- var toprowflag = "N";
- var spcldept="";
- //-------------(20081121)
- var nfixedcols = 0;
- var sCaption = "";
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 초기값 셋팅 및 초기조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- xDrMode = "N";
- xDrRec = "N";
-
- //------------------------------
- // 수술기록지 제어를 위해 연동 2014.01.22 KJS
- var paraGbn = opener.frmf_getParameter("SMMNR00600_gbn");
- var paraPid = opener.frmf_getParameter("SMMNR00600_pid");
- var paraOpdate = opener.frmf_getParameter("SMMNR00600_opdate");
- var paraOprsrvno = opener.frmf_getParameter("SMMNR00600_oprsrvno");
- //------------------------------
-
- // 수술예방적 항생제 기준시간 및 액티시간 연동 '15.09.16 - AYS
- var paraCarebasedd = opener.frmf_getParameter("SMMNR00600_carebasedd");
- var paraCarebasetm = opener.frmf_getParameter("SMMNR00600_carebasetm");
- var paraCaregbn = opener.frmf_getParameter("SMMNR00600_caregbn");
- // 수술예방적 항생제 기준시간 및 액티시간 연동 '15.09.16 - AYS
- //alert("paraCarebasedd : " + paraCarebasedd + " paraCarebasetm : " + paraCarebasetm + " paraCaregbn : " + paraCaregbn);
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var systemcd = sysf_getSystemCd();
- group3.btn_drugcard.visible = true;
-
- //-------------------(20080910)
- //로그인 간호사의 정보추출
- ds_main_cond.setColumn(0, "loguserid", sysf_getUserId());
- ds_main_cond.setColumn(0, "logdeptcd", sysf_getUserInfo("dutplcecd"));
-
- //model.resetInstanceNode("/root/send/reqdata");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00606";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetLogUserInfo";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_loguserinfo_loguserlist=loguserlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00606";
- tranf_submit(oParam);
-
- if( ds_main_loguserinfo_loguserlist.rowcount > 0 ){
- ds_main_cond.setColumn(0, "opprcpcond", "2");
- }
- //-------------------
- //-------------(20080910)
- ds_main_cond.setColumn(0, "multicheck", "0");
- //-------------(20080910)
- ds_main_cond.setColumn(0, "orddd", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "opcnfmdd", utlf_getCurrentDate());
- //model.setValue("/root/main/cond/orddd", "20080124");
- ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
- ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
-
- screen_mode = "pat";
- group3.swtpatList.tabindex = 0;
-
- radio_ColorChange();
-
- ds_main_warddruginfo_warddruglist.clearData();
-
- var sTemp = "";
- if( group3.bool1.value == "true" ){
-
- if( utlf_getDateInterval(utlf_getCurrentDate(), ds_main_cond.getColumn(0, "orddd")) < 3 && utlf_getDateInterval(utlf_getCurrentDate(), ds_main_cond.getColumn(0, "orddd")) > -3 ){
- ds_main_cond.setColumn(0, "currentday", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "currenttime", utlf_getCurrentTime().substr(0,4));
- group3.ipt_currentdd.enable = false; //(20080731)
- }else {
- group3.bool1.value = "false";
- }
- } else if( group3.bool1.value == "false"){
- ds_main_cond.setColumn(0, "currentday", "");
- ds_main_cond.setColumn(0, "currenttime", "");
- group3.ipt_currentdd.enable = true; //(20080731)
- } else {}
- //-----------------------------------
-
- //--------------------------------------
- // 바코드OCX 생성(출력시로 이동)(20080720)
- // 20080917 다시 open함
- if( utlf_isNull(this.objects["CommAX"]) ){
- //lzzfMakeBrcdPrntObj("CommAX"); //(20080721이전버젼)
- //0929
- var scrnid = "SMMNR00600";
- fGetBarCodeInfo(scrnid); // CareCom.js
- // fGetBarCodeInfo(getScreenID());
- // 노드값을 컬럼 값으로 가져옴에 따라 DS 로 변환 처리 ---------------------------------------------------
-
- //XML string 값을 파라미터로 넘김
- //성공시 : 'success' 실패시 : 'error' 값을 리턴함
- var sParamObj = new Object();
- sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
-
- var pXmlStr = ds_barcdprntsetup.getColumn(0, "prntsetupinfo");
-
- var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
-
- sysf_trace(succYn);
-
- // => retrun DS
- // : ds_data_setupinfo(prntkind, commkind)
- // : ds_data_comm01(setupval)
- // : ds_data_comm02(comm, databit, stopbit, baudrate, parity, setupval)
- // : ds_data_comm03(setupval)
- // : ds_data_blank(left, top)
-
- // ------------------------------------------------------------------------------------------------------------
-
- lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721이후버젼) //0921임시로막음
- }
- //--------------------------------------
- ////////alert(getUserInfo("macaddr") + "/" + app.macaddress); app.macaddress성공
- //--------------------------(20080919)다시 살림
- //fGetBarCodeInfo(getScreenID());//바코드 라벨 초기 설정값 조회 //1024
- //fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); //1024
- //--------------------------(20080919)
- fGetWardList();
-
- var arrParam = [{dsNm: "ds_init_M0381list_M0381", cdGrpId: "M0381"}];
- appf_getCodeList(arrParam);
-
- // 환자정보 조회
- ds_main_paminfo_pamlist.clearData();
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo); //환자정보내리기
-
- if( utlf_isNull(ds_main_paminfo_pamlist.getColumnInfo("sectioncd")) ){
- ds_main_paminfo_pamlist.addColumn("sectioncd", "string");
- ds_main_paminfo_pamlist.setColumn(0, "sectioncd", ds_main_paminfo_pamlist.getColumn(0, "basetypecd"));
- }
-
- var sPID = ds_main_paminfo_pamlist.getColumn(0, "pid");
- var sWardCd = ds_main_paminfo_pamlist.getColumn(0, "wardcd");
- var sRoomCd = ds_main_paminfo_pamlist.getColumn(0, "roomcd"); //병실정보(20080912)
- //var top_pid = sPID;
- var roomcd = "";
- var patnm = "";
- var sexage = "";
- if( utlf_isNull(sWardCd) ){
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- }else{
- ds_main_cond.setColumn(0, "wardcd", sWardCd);
- }
- fGetRoomList();
- //-----------------------------(20080912)
- if( !utlf_isNull(sRoomCd) ){
- ds_main_cond.setColumn(0, "roomcd", sRoomCd);
- }
- //-----------------------------(20080912)
-
- //20140103 KJS 의사(수술예방적항생제)일 경우 default로 현재시간으로 기록하도록 설정
- if( frmf_getMenuParam() == "dr" || paraGbn == "dr" || paraCaregbn == "dr" ){
- group3.bool1.value = "true";
- ds_main_cond.setColumn(0, "currentday", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "currenttime", utlf_getCurrentTime().substr(0,4));
- ds_main_cond.setColumn(0, "chemoflag", "preanti");
- ds_main_cond.setColumn(0, "wardcd", "0000000000");
-
- if( paraGbn == "dr" ){
- //alert("paraGbn == dr");
- ds_main_cond.setColumn(0, "opcnfmdd", paraOpdate);
- ds_main_cond.setColumn(0, "orddd", paraOpdate);
- }
-
- if( paraCaregbn == "dr" ){
- if( !utlf_isNull(paraCarebasedd) && !utlf_isNull(paraCarebasetm) ){
- //alert("paraCaregbn == dr");
- //model.setValue("/root/main/cond/chemoflag", "ALL");
- //model.setValue("/root/main/cond/currentday", paraCarebasedd);
- ds_main_cond.setColumn(0, "orddd", paraCarebasedd);
- ds_main_cond.setColumn(0, "opcnfmdd", paraCarebasedd);
- //model.setValue("/root/main/cond/currenttime", paraCarebasetm);
- }
- }
-
- xDrMode = "Y";
-
- group3.group5.chk_oppatyn.value = "Y";
- group3.group5.chk_oppatyn.visible = true;
- fnClearGrid();
-
- if( screen_mode == "pat" ){
- if( paraGbn == "dr" ){
- //model.property("noactflag") = "";
- fGetPatList(paraPid);
- sysf_messageBox("분홍색 칸(예방적항생제)을 클릭한 후 인증저장 버튼을 누르세요", "I999");
- xDrRec = "Y";
- } else {
- fGetPatList();
- }
- } else if( screen_mode == "act" ){
- fGetActList();
- } else {
-
- }
-
- } else {
- group3.bool1.value = "false";
- }
-
- if( utlf_isNull(ds_init_ward.getColumn(ds_init_ward.findRow("wardcd", ds_main_cond.getColumn(0, "wardcd")), "wardnm")) ){
- return;
- }
-
- //fGetPatList(sPID);
- //-----------------------------(20080906)
- //fSetsettingrnid();
- //-----------------------------(20080906)
- // if(sPID != ""){
- // for(var i = 1; i <= getNodesetCount(xWardPatListPath); i++){
- // if(model.getValue(xWardPatListPath + "[" + i + "]/pid") == sPID){
- // roomcd = model.getValue(xWardPatListPath + "[" + i + "]/roomcd");
- // patnm = model.getValue(xWardPatListPath + "[" + i + "]/patnm");
- // sexage = model.getValue(xWardPatListPath + "[" + i + "]/sexage");
- //
- // model.setValue("/root/main/patinfo/roomcd", roomcd);
- // model.setValue("/root/main/patinfo/pid", sPID);
- // model.setValue("/root/main/patinfo/patnm", patnm);
- // model.setValue("/root/main/patinfo/sexage", sexage);
- //
- // model.setFocus("grd_patlist");
- // grd_patlist.row = i;
- // grd_patlist.dispatch("onentercell");
- //
- // fClickDrugListBefore(); //------------(20081031)
- // fClickDrugList("drg", i);
- // fClickDrugListAfter(); //------------(20081031)
- // return;
- // }
- // }
- // }
- }
- /**
- * @group :
- * @ver : 2008.09.06
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 내환자가 설정되어 있으면 자동으로 내환자설정시키기(성공)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetsettingrnid(){
- var sUserId = getUserId();
- var sUserIdFind = ""
-
- for(i = 1; i <= getNodesetCount("/root/main/wardpatinfo/settingrn"); i++ ) {
- sUserIdFind = model.getValue("/root/main/wardpatinfo/settingrn["+ i +"]/settingrnid");
- if (sUserId == sUserIdFind) {
- model.setValue("/root/main/cond/settingrnid", sUserIdFind);
- model.refresh();
- fGetPatList();
- return;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병동 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWardList(){
- var oParam = {};
- oParam.id = "TRMNR00601";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWMInitData";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_init_ward=ward ds_init_settingrn=settingrn ds_init_orddd=orddd";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00601";
- tranf_submit(oParam);
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 투약 상태 라디오 버튼 배경색 변경
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function radio_ColorChange(){
- //-------------(20081201)
- group3.rdo_drugstat.rdo_multi_0.style.background = gray;
- group3.rdo_drugstat.rdo_multi_1.style.background = yellow;
- group3.rdo_drugstat.rdo_multi_2.style.background = yellowishgreen;
- group3.rdo_drugstat.rdo_multi_3.style.background = red;
- group3.rdo_drugstat.rdo_multi_4.style.background = sky;
- //rdo_drugstat.item(0).attribute("background-color") = gray;
- //rdo_drugstat.item(1).attribute("background-color") = orange;
- //rdo_drugstat.item(2).attribute("background-color") = yellow;
- //rdo_drugstat.item(3).attribute("background-color") = yellowishgreen;
- //rdo_drugstat.item(4).attribute("background-color") = red;
- //rdo_drugstat.item(5).attribute("background-color") = sky;
- //-------------(20081201)
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 환자 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetPatList(pPid){
- var sPID = "";
- // model.resetInstanceNode("/root/send/reqdata");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00603";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWardPatList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist ds_main_wardpatinfo_settingrn=settingrn";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00603";
- tranf_submit(oParam);
-
- ds_main_wardpatinfo_wardpatlist.rowposition = -1;
-
- //var sPID = model.getValue("/root/main/patinfo/pid");
- if( utlf_isNull(pPid) ){
- sPID = top_pid;
- } else {
- top_pid = pPid
- sPID = top_pid;
- }
-
- if( !utlf_isNull(sPID) ){
- for( var i=0 ; i<ds_main_wardpatinfo_wardpatlist.rowcount ; i++ ){
- if( ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid") == sPID ){
- group3.swtpatList.pat.grd_patlist.setFocus();
- ds_main_wardpatinfo_wardpatlist.rowposition = i;
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("drg", i);
- fClickDrugListAfter(); //------------(20081031)
-
- return;
- }
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 조회조건 변경시 환자정보및 투약정보 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSearch(){
- fClickDrugListBefore(); //------------(20081031)
-
- var objGrid = null;
- var xPatPath = "";
- var pid = top_pid;
- var i =-1;
-
- if(screen_mode == "pat"){
- objGrid = group3.swtpatList.pat.grd_patlist;
- xPatPath = "/root/main/wardpatinfo/wardpatlist";
- i = ds_main_wardpatinfo_wardpatlist.findRow("pid", pid);
- ds_main_wardpatinfo_wardpatlist.rowposition = i;
- objGrid.setFocus();
- fClickDrugList("drg", objGrid.currentrow);
- }else if(screen_mode == "act"){
- objGrid = group3.swtpatList.act.grd_actlist;
- xPatPath = "/root/main/wardactinfo/wardactlist";
- i = ds_main_wardactinfo_wardactlist.findRow("pid", pid);
- ds_main_wardactinfo_wardactlist.rowposition = i;
- objGrid.setFocus();
-
- fClickDrugList("act", objGrid.currentrow);
- }else{}
- fClickDrugListAfter(); //------------(20081031)
-
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 병동별 병실 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetRoomList(){
- ds_main_cond.setColumn(0, "roomcd", "");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00602";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetRoomInitData";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_init_room_room=room";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00602";
- tranf_submit(oParam);
-
- if( ds_init_room_room.rowcount > 0 && ds_init_room_room.getColumn(0, "roomnm") == "-" ){
- ds_init_room_room.setColumn(0, "roomcd", "");
- }
-
- group3.group5.cmb_room.index = 0;
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 환자별 투약 기록 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickDrugList(sParam, row){
- group3.btn_drugcard.enable = false;
- group3.btn_hydprint.enable = false;
- group3.btn_injprint.enable = false;
-
- ds_send_medicard_warddruglist.clearData();
- ds_send_medicard8_warddruglist.clearData();
-
- var pid = "";
-
- if(sParam == "drg"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardpatinfo_wardpatlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardpatinfo_wardpatlist.getColumn(row, "cretno"));
- ds_main_patinfo.setColumn(0, "roomcd", ds_main_wardpatinfo_wardpatlist.getColumn(row, "roomcd"));
- ds_main_patinfo.setColumn(0, "pid", ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid"));
- ds_main_patinfo.setColumn(0, "patnm", ds_main_wardpatinfo_wardpatlist.getColumn(row, "patnm"));
- ds_main_patinfo.setColumn(0, "sexage", ds_main_wardpatinfo_wardpatlist.getColumn(row, "sexage"));
- }else if(sParam == "act"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardactinfo_wardactlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardactinfo_wardactlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardactinfo_wardactlist.getColumn(row, "cretno"));
- if(row > -1) {
- ds_main_cond.setColumn(0, "orddd", ds_main_wardactinfo_wardactlist.getColumn(row, "prcpdd"));
- }
- ds_main_patinfo.setColumn(0, "roomcd", ds_main_wardactinfo_wardactlist.getColumn(row, "roomcd"));
- ds_main_patinfo.setColumn(0, "pid", ds_main_wardactinfo_wardactlist.getColumn(row, "pid"));
- ds_main_patinfo.setColumn(0, "patnm", ds_main_wardactinfo_wardactlist.getColumn(row, "patnm"));
- ds_main_patinfo.setColumn(0, "sexage", ds_main_wardactinfo_wardactlist.getColumn(row, "sexage"));
- } else {
-
- }
- if( ds_main_cond.getColumn(0, "wardcd") == "0000000000" ){
- xOpfromdt = ds_main_wardpatinfo_wardpatlist.getColumn(row, "opfromdt");
- var preantidt = utlf_transNullToEmpty(ds_main_wardpatinfo_wardpatlist.getColumn(row, "preantidt"));
-
- if (xDrMode = "dr") {
- //2017.10.27 요청번호 : 20170928026 수술예방적항생제 평가관련
- //수술기록 Freetext(JCI)에서 호출시(인증저장 시) 수술시작일시 or 환자입실시간으로 (emr.mnphopcr : OPFROMDT, PATINROOMDT)
-
- /**
- if( !utlf_isNull(preantidt) && preantidt != "-" ){
- ds_main_cond.setColumn(0, "currentday", preantidt.substr(0, 8));
- ds_main_cond.setColumn(0, "currenttime", preantidt.substr(8,4));
- }else {
- ds_main_cond.setColumn(0, "currentday", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "currenttime", utlf_getCurrentTime().substr(0,4));
- }
- **/
- var paraCarebasedd = opener.frmf_getParameter("SMMNR00600_carebasedd");
- var paraCarebasetm = opener.frmf_getParameter("SMMNR00600_carebasetm");
-
- if( (!utlf_isNull(paraCarebasedd) && paraCarebasedd != "-" ) && (!utlf_isNull(paraCarebasetm) && paraCarebasetm != "-")){
- ds_main_cond.setColumn(0, "currentday", paraCarebasedd);
- ds_main_cond.setColumn(0, "currenttime", paraCarebasetm);
- }else {
- ds_main_cond.setColumn(0, "currentday", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "currenttime", utlf_getCurrentTime().substr(0,4));
- }
-
-
- }
- }
-
- if( !utlf_isNull(xOpfromdt) && xOpfromdt != "-" ){
- ds_main_patinfo.setColumn(0, "opfromdt", xOpfromdt);
- }
-
- //model.resetInstanceNode("/root/send/reqdata");
- ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
- ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
-
- //---------------------(20080721)
- //ER 환자에 대한 선처치기능을 처리하기 위해서 ORDTYPE을 넘긴다.
- var ordtype = ds_main_wardpatinfo_wardpatlist.getColumn(row, "ordtype");
- ds_main_cond.setColumn(0, "ordtype", ordtype);
- //----------------------
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
- if( !utlf_isNull(this.objects[xWardDrugListPath+i+"for"]) ){
- eval(xWardDrugListPath+i+"for").clearData();
- }
- }
-
- var oParam = {};
- oParam.id = "TRMNR00604";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWardDrugList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_hidden_warddruginfo_warddruglist=warddruglist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00604";
- tranf_submit(oParam);
-
- //----------(20081031)
- //alert("db통과_ok");성능좋음
- //----------(20080808)
- //아래의 정보를 기준으로 화면을 구성한다.
- //그러나 아래의 정보가 정확하지 않을수 있으므로 fndrugcalcBefore() 에서 정확한 정보를 만들고 fndrugcalc()를 호출한다.
- //1. fndrugcalcbefore : model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")에 값설정(예정)
- //2. fndrugcalc : model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")를 기준으로 화면구성
- //----------
- //------------------------------------
- //투약시간계산(20080808)
- //------------------------------------
- fndrugcalcbefore();
- //----------(20080808)
-
- //------------------------------------
- //투약시간계산(20080530)
- //------------------------------------
- fndrugcalc(); //조회여부구분
- //------------------------------------
-
- //-----------------------------------(20081014)
- // hidden의 instance에 있는 drugtmspec 의 항목의 split 수와 calctims수를 확인한다.
- fndrugcalcCheck();
- //-----------------------------------(20081014)
-
- var array_drugtmspec = "";
- var drugtmspec = "";
- var drugtmspeccal = "";
- var temp_drugtmspec = 0;
- /* --(20080530)
- //--------------------------------------------------------------------
- //drugtmspec에서 시간 추출해서 drugtmspeccal에 화면 표시 시간으로 변경
- // fndrugcalc에서 drugtmspeccal를 생성함
- //--------------------------------------------------------------------
- for(var i = 1; i<= getNodesetCount(xHiddenWardDrugPath); i++){
- drugtmspec = model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec"); //투여기준시간(1000 2200)
- if(drugtmspec != ""){
- array_drugtmspec = drugtmspec.split(" ");
- for(var j = 0; j < array_drugtmspec.length; j++){
- temp_drugtmspec = Number(array_drugtmspec[j]) % 2400;
- temp_drugtmspec = Math.abs(Number(temp_drugtmspec)).toString();
- drugtmspeccal += fCarec_GetFillZeno(temp_drugtmspec,4,0) + " ";
- }
- model.makeValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspeccal", drugtmspeccal);
- drugtmspeccal = "";
- } else {
- model.makeValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspeccal", "");
- }
- }
- */
-
- ds_main_warddruginfo_warddruglist.filter("");
- ds_main_warddruginfo_warddruglist.clearData();
-
- var nodecnt = ds_hidden_warddruginfo_warddruglist.rowcount;
- if(nodecnt > 0){
- //수정(20080602)
- //dispflag 조건에 추가
- fSetDrugReBuild(nodecnt); //Hidden에 있는 인스턴스를 main으로 copy(처방별로 묶음)(임시row별 -> main컴럼설정)
-
- //막음(20080602)
- //Acting한 경우 Acting시간으로 컬럼 셋팅(OLD)(20080601이전)
- //fndrugcalc에서 ACTING 정보 반영(NEW)(20080601이후)작업중
- //fSetDrugExecDT(nodecnt);
-
- //그리드 시간 컬럼 삭제(시간 컬럼을 제외한 나머지 컬럼갯수 빼기(12))
- var sColCnt = group3.grd_druglist.getCellCount("Body") - nfixedcols - grd_colcnt;
- var nColCount = group3.grd_druglist.getCellCount("Body")-1;
-
- //grd_druglist.refresh();
- for(sColCnt; sColCnt > 0; sColCnt--){
- group3.grd_druglist.deleteContentsCol("body", nColCount--, false); //refresh 하지 않음(false)
- }
- ////////alert("test");
- //return;
- //----------(20081031)
- //alert("튜닝요구되는 모듈시작");
- //----(20080603) new버젼
- fAddBaseDrugTime(); //투약기록 처방 내역 기준시간 Setting작업
- //----------(20081031)
- //alert("튜닝요구되는 모듈종료");
-
- }
-
- //careSetTree(grd_druglist,17,2,false);
- //그리드 타이틀 부분 머지
-
- for(var k = 1; k < grd_colcnt; k++){
- group3.grd_druglist.mergeContentsCell("Head", 0, k, 1, k, k, false);
- }
-
- //DC는 CHECK불가
- for( var l=0 ; l<group3.grd_druglist.rowcount ; l++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(l, "dccomcountyn") == "Y" ){
- ds_main_warddruginfo_warddruglist.setColumn(l, "check", "0");
- }
- }
- //---------------------------(20080930)
- //기준시간setting를 sort한다.
- //시간대가-1이 되어 2200 1300 1800 -> 1300 1800 2200으로 변경
- var pGrd = group3.grd_druglist;
- var settingtime = "";
-
- for( var l=0 ; l<group3.grd_druglist.rowcount ; l++ ){
- settingtime = ds_main_warddruginfo_warddruglist.getColumn(l, "drugtmspec_recalc1");
- settingtime = sortHashKeysString(settingtime); //sort
- ds_main_warddruginfo_warddruglist.setColumn(l, "drugtmspec_recalc1", settingtime) //반영
- }
- //---------------------------(20080930)
- group3.btn_drugcard.enable = true;
- group3.btn_hydprint.enable = true;
- group3.btn_injprint.enable = true;
- //model.refresh();
- var fstrgstdt = "";
- var fstrgstdt2 = "";
- var reqflag ="";
-
- var sExprBack = "EXPR(";
- var sExprLine1 = "EXPR(";
- var sExprLine2 = "EXPR(";
-
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- fstrgstdt2 = ds_main_warddruginfo_warddruglist.getColumn(i, "fstrgstdt");
-
- reqflag = ds_main_warddruginfo_warddruglist.getColumn(i, "reqflag");
-
- if( !utlf_isNull(reqflag) ){
- sExprBack += "currow == "+i+" ? '#11eeee' : ";
- } else {
- sExprBack += "currow == "+i+" ? '#ffffff' : ";
- }
-
- if( fstrgstdt != fstrgstdt2 ){
- fstrgstdt = fstrgstdt2;
- //20120413_KNUH_Start 처방시간별 구분선 추가(빨간색)
- if( i != 0 ){
- sExprLine1 += "currow == "+(i-1)+" ? '3 solid #B0B0B0ff,1 solid #B0B0B0ff,1 solid #009999,1 solid #B0B0B0ff' : ";
- sExprLine2 += "currow == "+(i-1)+" ? '3 solid #B0B0B0ff,0 none #B0B0B0ff,1 solid #009999,0 none #B0B0B0ff' : ";
- }
- }
- }
-
- sExprBack += "'')";
-
- group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "prcpkindnm"), "background", "");
- group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "prcpkindnm"), "background2", "");
-
- group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "prcpkindnm"), "background", sExprBack);
- group3.grd_druglist.setCellProperty("Body", group3.grd_druglist.getBindCellIndex("body", "prcpkindnm"), "background2", sExprBack);
-
- for( var i=0 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- if( i>5 && i<15 ){
- group3.grd_druglist.setCellProperty("Body", i, "line", sExprLine2+"'1 solid #B0B0B0ff,0 none #B0B0B0ff')");
- group3.grd_druglist.setCellProperty("Body", i, "selectline", sExprLine2+"'1 solid #B0B0B0ff,0 none #B0B0B0ff')");
- }else{
- group3.grd_druglist.setCellProperty("Body", i, "line", sExprLine1+"'')");
- group3.grd_druglist.setCellProperty("Body", i, "selectline", sExprLine1+"'')");
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Hidden에 있는 인스턴스를 main으로 copy(처방별로 묶음)(조회data -> 화면data로 이동)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugReBuild(nodecnt){
- var inst_cnt = 0;
- var prev_prcpno = "";
- var execcarestatcd = ""; //시간컬럼에 추가 하는 instanceList
- var tims = "";
- var execdd = "";
-
- //---------------------------------------------------------------
- //조회대상이 되는 자료row만 화면으로 넘긴다.
- //nodecnt : xHiddenWardDrugPath 이다.
- //---------------------------------------------------------------
- for( var cnt=0 ; cnt<nodecnt ; cnt++ ){
- var prcpno1 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpno"));
- var prcpcd1 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpcd"));
- var copyflag = "N";
- //-------------------(20081014)
- var validateYN = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "validateyn1");
- if (validateYN == "N") continue;
- //-------------------(20081015)
-
- //-------------------(시간대정보가 없음을 알림)(20080620)
- var timeinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "drugtmspec");
- var prcpinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpcd");
- var drugmthdspccdinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "drugmthdspccd");
- //인티팜 여부 추가 2018.11.28
- var medipharmflag = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "medipharmflag");
- var prcpnm = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpnm");
-
- if (medipharmflag == "M") {
- ds_hidden_warddruginfo_warddruglist.setColumn(cnt,"prcpnm","[인]"+prcpnm);
- }
- if( utlf_isNull(timeinfo) ){
- //--------------(20081014)fAddBaseDrugTime에서 메세지를 보낸다.
- //messageBox("처방(" + prcpinfo + ")에 대한 용법(" + drugmthdspccdinfo + ")의 " +
- // "투약기준시간정보가 존재하지 않습니다. " +
- // "투약기준시간정보를 확인하십시오.","E999");
- //--------------(20081014)
- continue;
- }
- //-----------------------------------------------------------------------
- //조회대상이 되는 자료를 찾는다.(의미없음)
- if( ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "dispflag") == "Y" ){
- var prcpno2 = "";
- var prcpcd2 = "";
-
- //이미 복사했는지 찾는다.(처방일자,처방번호 : pk의 성격과 유사하다)
- for( var i=0 ; i<=inst_cnt ; i++ ){
- prcpno2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno"));
- prcpcd2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
-
- if (prcpno1 == prcpno2 && prcpcd1 == prcpcd2) {
- copyflag = "Y";
- break;
- }
- }
- if (copyflag != "Y") {
- ds_main_warddruginfo_warddruglist.addRow();
- ds_main_warddruginfo_warddruglist.copyRow(inst_cnt, ds_hidden_warddruginfo_warddruglist, cnt);
- prev_prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpno");
- inst_cnt++;
- }
- }
- }
-
- ds_main_warddruginfo_warddruglist.rowposition = nodecnt-1;
- group3.grd_druglist.setCellPos(1);
-
- //-----------(20080702)
- //막으면 오류발생함
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Acting한 경우 Acting시간으로 컬럼 셋팅
- * 투약한경우:투약일과 ACTING일(원무시행일)은 다를수 있다
- * 투약일은 용법에 의해서 변경되고 ACTING일은 투약일(5/2)이라도 오늘(5/1)ACTING하면 서로 다를수 있다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugExecDT(nodecnt){
- var inst_cnt = 1;
- //시간컬럼에 추가 하는 instanceList
- var tims = "";
- var drugtms = "";
- var execdd = "";
- var exectm = "";
- var prcpdd = "";
- var intervaldd = "";
- var temp_drugtmspec = "";
- var inst_cnt = 1;
- var temp_cnt = 1;
- var tmcalculate = "";
- var drugdd = model.getValue("/root/main/cond/orddd"); //조회일
- for(var i = 1; i <= nodecnt; i){
- drugtmspec = model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec").split(" ");
- tims = model.getValue(xHiddenWardDrugPath + "[" + i + "]/tims");
- //-------------(20080912)
- var calctims = model.getValue(xHiddenWardDrugPath + "[" + i + "]/calctims");
- //-------------(20080912)
- prcpdd = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpdd");
- temp_drugtmspec = "";
- temp_cnt = i;
- if(drugtmspec != ""){
-
- //-------------(20080912)
- //for(var j = 1; j <= tims; j++){
- for(var j = 1; j <= calctims; j++){
- //-------------(20080912)
- execdd = model.getValue(xHiddenWardDrugPath + "[" + i + "]/medrexecdd"); //투약일
- exectm = model.getValue(xHiddenWardDrugPath + "[" + i + "]/medrexectm"); //투약시간
-
- //alert("fSetDrugExecDT:" + execdd + "/" + exectm);
-
- exectm = exectm.substr(0,4);
- if(j != 1){
- temp_drugtmspec += " ";
- }
- if(execdd != "00000000"){ //acting이면
- intervaldd = getDateInterval(drugdd, execdd); //조회일과 acting일자의 차이 일수
- if(intervaldd < 0){
- tmcalculate = (-Number(exectm) + (Number(intervaldd) * 2400)); //-0900 + -2400 = -3300
- }else{
- tmcalculate = (Number(exectm) + (Number(intervaldd) * 2400)); // 0900 + 2400 = 3300
- }
- }else{
- tmcalculate = drugtmspec[j-1];
- }
- temp_drugtmspec += fCarec_GetFillZeno(tmcalculate,4,0);
- i++;
- }
- model.setValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspec", temp_drugtmspec);
- inst_cnt++;
-
- //-----------(20080912)
- //for(var j = 1; j <= tims; j++){
- for(var j = 1; j <= calctims; j++){
- //-----------(20080912)
- model.setValue(xHiddenWardDrugPath + "[" + (temp_cnt + j - 1) + "]/drugtmspec", temp_drugtmspec);
- }
- }else{
- //----------(20080912)
- //i = i + parseInt(tims);
- i = i + parseInt(calctims);
- //----------(20080912)
- inst_cnt++;
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 처방 내역 기준시간 Setting작업(화면에 표시)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddBaseDrugTime(){
- var rows = group3.grd_druglist.rowcount;
- var tims = 0;
- var drugtmspec = "";
- var drugtms = "";
- var sColCnt = group3.grd_druglist.getCellCount("Body") - nfixedcols - grd_colcnt;//시간 컬럼을 제외한 나머지 컬럼갯수 빼기(17)
- var sGrdCap = "";
- var prcpdd = ds_main_cond.getColumn(0, "orddd"); //처방일자(조회일)
- var meddays = "";
- var medtims = "";
- var cnt = 0;
- var sGrdCapDay = "";
- var sGrdCapTims = "";
- var execdd = "";
- var temp_drugtms = "";
- var temp_meddays = "";
- var timsYN = false;
- var daysYN = false;
- //그리드에 추가 할 컬럼 조사 및 정렬(화면구성)
- //그리드(grd_druglist)ROW만큼
- // for(var i = 1; i <= rows - 2; i++){
- //
- // drugtmspec= model.getValue(xWardDrugListPath + "[" + i + "]/drugtmspec");
- // tims = model.getValue(xWardDrugListPath + "[" + i + "]/tims"); //처방횟수
- // if(drugtmspec != ""){
- // for(var j = 1; j <= tims; j++){
- //
- // drugtms = drugtmspec.split(" ");
- // temp_drugtms = drugtms[j-1]; //0900
- // temp_meddays = getDateAddc(prcpdd, parseInt(drugtms[j-1] / 2400)); //20080425
- //
- // timsYN = careIsSearchString(medtims, temp_drugtms); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- // daysYN = careIsSearchString(meddays, temp_meddays); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- //
- // //총컬럼갯수를 알기 위해서 전체 시간대를 찾는다.
- // if(timsYN == false || daysYN == false){
- // medtims += temp_drugtms + "^"; //전체 시간대
- // meddays += temp_meddays + "^"; //전체 일자
- // cnt++;
- // }
- // }
- // }
- // }
- ////alert("2");
- //---------------------------------------------
- //xWardDrugListPath에 있는 모든정보를 반영한다.
- //화면에 보일계산된 시간으로 컬럼을 구성한다.
- //---------------------------------------------
- for( var i=0 ; i<rows ; i++ ){
-
- //--------------------------------------------------------------------------
- //fndrugcalc 함수에서 화면에 보일시간 계산되었음
- //drugtmspec= model.getValue(xWardDrugListPath + "[" + i + "]/drugtmspec");
- //--------------------------------------------------------------------------
- drugtmspeccal = ds_main_warddruginfo_warddruglist.getColumn(i, "drugtmspeccal"); //상대시간대
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims"); //처방횟수
- //-----------------------(20080912)
- var calctims = ds_main_warddruginfo_warddruglist.getColumn(i, "calctims");
- var tempprcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
-
- //-----------------------(20080912)
- if( !utlf_isNull(drugtmspeccal) ){
- //-----------------------(20080912)
- //for(var j = 1; j <= tims; j++){
- for( var j=1 ; j<=calctims ; j++ ){
- //-----------------------(20080912)
- drugtms = drugtmspeccal.split(" ");
- temp_drugtms = utlf_transNullToEmpty(drugtms[j-1]); //0900
- temp_meddays = getDateAddc(prcpdd, parseInt(utlf_transNullToEmpty(drugtms[j-1]) / 2400)); //20080425
- //0919: temp_drugtms가 없는 경우 오류이므로 원인을 찾아야 한다.
- //drugtmspeccal가 공백이 없이 들어온다. 0900공백2000 : 정상이나, 0900까지만 들어온다. 그래서 배열에서 오류발생
- //정렬이 잘못된경우임
- //timsYN = careIsSearchString(medtims, fCarec_GetFillZeno(temp_drugtms,4,0)); //중복시간대 찾기
- timsYN = careIsSearchString(medtims, temp_drugtms); //중복시간대 찾기
- daysYN = careIsSearchString(meddays, temp_meddays); //중복일자 찾기
- //-----------------------------------------------
- //총컬럼갯수를 알기 위해서 전체 시간대를 찾는다.
- //-----------------------------------------------
- if(timsYN == false || daysYN == false){
-
- ////alert("2-0:"+tempprcpcd + "/" + drugtmspeccal + "/" + temp_drugtms);
- medtims += fCarec_GetFillZeno(temp_drugtms,4,0) + "^"; //전체 시간대
- meddays += temp_meddays + "^"; //전체 일자
- cnt++;
- }
- }
- }
- }
- //---------------------------------------------(20081031)
- //alert("chk1_성능좋음");
- //---------------------------------------------
- //시간대 총컬럼 갯수를 정렬한다.
- //---------------------------------------------
- addCol_Cnt = cnt;
- ////////alert("변경전 sMeddays="+meddays+"/sMedtims="+medtims);
-
- var sMedtims = sortHashKeys2(medtims, cnt); //시간대 문자열 정렬(오름차순)
- var sMeddays = sortHashKeys(meddays, cnt); //일자 문자열 정렬(오름차순) //0918
- ////////alert("변경후 sMeddays="+sMeddays+"/sMedtims="+sMedtims);
-
- //--------------------------------------------
- //컬럼 숨김 계속 지정하기 위해...
- //투약기록 그리드 기본/펼치기 모드 이벤트(뒤의 마지막필드5개 숨기기)
- //--------------------------------------------
- fSelectOpenMoe();
- //--------------------------------------------
- //헤더시간대의 갯수만큼 컬럼추가
- //cnt : 추가해야할 총 컬럼수
- //--------------------------------------------
- var tempString = "";
- sGrdCap = (grd_title1+"|"+grd_title2).split("|");
- group3.grd_druglist.setCellProperty("Head", 20, "text", "처방적용일");
-
- var temp_tims = 0;
- for(var k = 1; k <= cnt; k++){
- var nCol = group3.grd_druglist.appendContentsCol();
- group3.grd_druglist.setCellProperty("Body", nCol, "text", "bind:carecfactnm"+nCol);
- group3.grd_druglist.setCellProperty("Body", nCol, "tooltiptext", "bind:carecfactnm"+nCol);
- group3.grd_druglist.setCellProperty("Body", nCol, "align", "left");
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("carecfactnm"+nCol)) ){
- ds_main_warddruginfo_warddruglist.addColumn("carecfactnm"+nCol, "string");
- }
-
- group3.grd_druglist.setFormatColProperty(group3.grd_druglist.getCellCount("Body")-1, "size", 45);
-
- //일자
- tempString = utlf_transNullToEmpty(sMeddays[k-1]).toString();
- addCol_Array[k-1] = sMedtims[k-1];
- sGrdCapDay += tempString.substr(4,2) + "/" + tempString.substr(6,2) + "^";
- //시각(0918)
- temp_tims = sMedtims[k-1] % 2400;
- temp_tims = Math.abs(Number(temp_tims)).toString();
- temp_tims = fCarec_GetFillZeno(temp_tims, 4,0);
- sGrdCapTims += temp_tims + "^";
-
- group3.grd_druglist.setCellProperty("Head", nCol, "text", tempString.substr(4,2) + "/" + tempString.substr(6,2));
- group3.grd_druglist.setCellProperty("Head", group3.grd_druglist.getCellCount("Head")-1, "text", temp_tims);
- }
-
- for( var i=(group3.grd_druglist.getCellCount("Body")-1) ; i>=grd_colcnt ; i-- ){
- if( group3.grd_druglist.getCellProperty("Head", i-1, "text") == group3.grd_druglist.getCellProperty("Head", i, "text") ){
- group3.grd_druglist.mergeContentsCell("head", 0, i-1, 0, i, i-1, false);
- }
- }
- //컬럼 타이틀 변경
- sCaption = grd_title1 + sGrdCapDay + "|" + grd_title2 + sGrdCapTims;
- var inst_cnt = 0;
- var tims = "";
- var drugtmspec = "";
- var prcphistno = "";
- var execprcpno = "";
- var execcarestatcd = "";
- var iudflag = "";
- var carecfact = "";
- var carecfactcd = "";
- var carecfactnm = "";
- var medrexistyn = "";
- var execprcpuniqno = "";
- var execdd = "";
- var prcpdd = ""
- var exectm = "";
- var signno = "";
- var signflag = "";
- var col_index = 0;
- var forarr = "";
- var prcphistno_array = "";
- var prcpuniqno_array = "";
- var prcp_array = "";
- var drugtmspeccal = "";
- var timesch = "";
- var drugdd = ds_main_cond.getColumn(0, "orddd");
- var tdrugdd = getDateAddc(drugdd, 1);
- var duty = ds_main_cond.getColumn(0, "duty");
- var calcdd = "";
- var medrexecdd = "";
- var medrexectm = "";
- var hiddenYN = new Array;
- //------------------------------
- //forarr : 자료존재 번호XML 태그
- //
- //추가 컬럼만큼 /forarr을 만든다.(컴럼의 상세정보를 반영하기 위해서)
- //------------------------------
- for( var x=0 ; x<ds_main_warddruginfo_warddruglist.rowcount ; x++ ){
- for( var y=0 ; y<addCol_Array.length ; y++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "forarr"+(grd_colcnt+y), "string", "", x);
- }
- }
- //------------------------------
- //모든 필드숨김기
- //------------------------------
- //test
- for( var z=0 ; z<=(grd_colcnt+addCol_Cnt) ; z++ ){
- hiddenYN[z] = "true"; //0923
- }
- //------------------------------
- //for : 자료존재 번호에 대한 상세 정보 XML 태그
- //------------------------------
- //조회data(xHiddenWardDrugPath) -> 화면data(xWardDrugListPath) -> xHiddenWardDrugPath 컬럼에 대한 상세정보를 반영(for)함
- //인스턴스 맵핑
- //------------------------------
- var prcpnohidden = "";
- var prcpnobefore = "";
- var prcpnonow = "";
- var prcpnosavecnt = 1; //컬럼위치를 잡기위해서
-
- var execprcpqty =""; //(2008112)
- var execprcpvol =""; //(2008112)
-
- var preantiyn = ""; //(20081211) 예방적항생제여부
-
- //alert("chk2_성능좋음");
- //-------------------20080604
- ////////////alert("전체row:" + getNodesetCount(xHiddenWardDrugPath));
- for( var m=0 ; m<ds_hidden_warddruginfo_warddruglist.rowcount ; m ){
-
- //------------------------(20081014)
- if( ds_hidden_warddruginfo_warddruglist.getColumn(m, "validateyn1") != "Y" ){
- m++;
- continue;
- }
- //------------------------(20081014)
-
- //DISPLAY 대상이 되는 자료만 화면을 만든다.(의미없음)
- //전부보임
- if( ds_hidden_warddruginfo_warddruglist.getColumn(m, "dispflaggroup") != "Y" ){
- m++;
- continue;
- }
- tims = ds_hidden_warddruginfo_warddruglist.getColumn(m, "tims");
- //----------(20080912)
- calctims = ds_hidden_warddruginfo_warddruglist.getColumn(m, "calctims");
- //----------(20080912)
- drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec").split(" ");
- drugtmspeccal = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugbasetmspec").split(" ");
- var drugtmspec_recalc1 = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec_recalc1").split(" "); //처방적용일기준으로
- var drugtmspec_recalc2 = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec_recalc2").split(" "); //조회일자기준으로
-
- var dispddarray = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "dispddarray").split(" "); //실질투약일
- var disptmarray = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "disptmarray").split(" "); //실질투약시간대
- var dispflagarray = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "dispflagarray").split("/"); //조회일자에 따른 투약여부(실패)
- var todaydrugtimes = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "todaydrugtimes").split("/"); //---(20080920)당일투약대상자만 보이기 위해서
-
- var antiastrids = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "antiastrids").split("/");
- var antiastrnms = ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "antiastrnms").split("/");
- //---------------(20080912)
- //for(var n = 0; n < tims; n++){
- for( var n=0 ; n<calctims ; n++ ){
- //---------------(20080912)
- if(n == 0){
- prcp_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcphistno_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- prcpuniqno_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- }else{
- prcp_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcphistno_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- prcpuniqno_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- }
- execprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcpdd");
- execcarestatcd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execcarestatcd");
- carecfact = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(m, "carecfact"));
- carecfactcd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "carecfactcd");
- execprcpuniqno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- medrexistyn = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexistyn");
- prcphistno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- execdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execdd");
- exectm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "exectm");
- signno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "signno");
- signflag = ds_hidden_warddruginfo_warddruglist.getColumn(m, "signflag");
- medrexecdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexecdd");
- medrexectm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexectm");
- execprcpvol = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpvol");
- execprcpqty = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpqty");
- preantiyn = ds_hidden_warddruginfo_warddruglist.getColumn(m, "preantiyn");
- if(medrexistyn == "Y"){
- iudflag = "-";
- }else if(medrexistyn == "N"){
- iudflag = "";
- }
- if(iudflag == "-" && signflag == "N"){
- carecfactnm = utlf_transNullToEmpty(ds_init_M0381list_M0381.getColumn(ds_init_M0381list_M0381.findRow("cdid", carecfactcd), "cdnm")) + " " + carecfact;
- }else{
- carecfactnm = utlf_transNullToEmpty(ds_init_M0381list_M0381.getColumn(ds_init_M0381list_M0381.findRow("cdid", carecfactcd), "cdnm")) + " " + carecfact;
- }
-
- //인스턴스 정보 set
- if( !utlf_isNull(drugtmspec[n]) && !utlf_isNull(drugtmspec) ){
- if( utlf_isNull(this.objects[xWardDrugListPath+inst_cnt+"for"]) ){
- dsf_createDs(xWardDrugListPath+inst_cnt+"for", [{col:"execprcpno"},
- {col:"execcarestatcd"},
- {col:"pastexeccarestatcd"},
- {col:"iudflag"},
- {col:"carecfactnm"},
- {col:"carecfactcd"},
- {col:"carecfact"},
- {col:"execprcpuniqno"},
- {col:"prcphistno"},
- {col:"execdd"},
- {col:"medrexecdd"},
- {col:"medrexectm"},
- {col:"medrexistyn"},
- {col:"signno"},
- {col:"signflag"},
- {col:"drugtmspec"},
- {col:"drugtmspeccal"},
- {col:"drugtmspec_recalc1"},
- {col:"drugtmspec_recalc2"},
- {col:"dispdd"},
- {col:"disptm"},
- {col:"currentflag"},
- {col:"currentdd"},
- {col:"currenttm"},
- {col:"execprcpvol"},
- {col:"execprcpqty"},
- {col:"preantiyn"},
- {col:"dispflag"},
- {col:"todaydrug"},
- {col:"antiastrid"},
- {col:"antiastrnm"}]);
- }
-
- var objDsxWardDrugListPath = eval(xWardDrugListPath+inst_cnt+"for");
-
- for( var i=0 ; i<=n ; i++ ){
- if( objDsxWardDrugListPath.rowcount <= i ){
- objDsxWardDrugListPath.addRow();
- }
- }
-
- dsf_makeValue(objDsxWardDrugListPath, "execprcpno", "string", execprcpno, n);
- dsf_makeValue(objDsxWardDrugListPath, "execcarestatcd", "string", execcarestatcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "pastexeccarestatcd", "string", execcarestatcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "iudflag", "string", iudflag, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfactnm", "string", carecfactnm, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfactcd", "string", carecfactcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfact", "string", carecfact, n);
- dsf_makeValue(objDsxWardDrugListPath, "execprcpuniqno", "string", execprcpuniqno, n);
- dsf_makeValue(objDsxWardDrugListPath, "prcphistno", "string", prcphistno, n);
- dsf_makeValue(objDsxWardDrugListPath, "execdd", "string", execdd, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexecdd", "string", medrexecdd, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexectm", "string", medrexectm, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexistyn", "string", medrexistyn, n);
- dsf_makeValue(objDsxWardDrugListPath, "signno", "string", signno, n);
- dsf_makeValue(objDsxWardDrugListPath, "signflag", "string", signflag, n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec", "string", utlf_transNullToEmpty(drugtmspec[n]), n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspeccal", "string", utlf_transNullToEmpty(drugtmspeccal[n]), n);
-
- //-----------------------------------(20080605추가)
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec_recalc1", "string", utlf_transNullToEmpty(drugtmspec_recalc1[n]), n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec_recalc2", "string", utlf_transNullToEmpty(drugtmspec_recalc2[n]), n);
- dsf_makeValue(objDsxWardDrugListPath, "dispdd", "string", utlf_transNullToEmpty(dispddarray[n]), n);
- dsf_makeValue(objDsxWardDrugListPath, "disptm", "string", utlf_transNullToEmpty(disptmarray[n]), n);
-
- //-----------------------------------(20080802추가)
- dsf_makeValue(objDsxWardDrugListPath, "currentflag", "string", "", n); //현재시간반영여부
- dsf_makeValue(objDsxWardDrugListPath, "currentdd", "string", "", n); //현재시간체크후 설정된일자
- dsf_makeValue(objDsxWardDrugListPath, "currenttm", "string", "", n); //현재시간체크후 설정된시간
- //-----------------------------------
- //-----------------------------------(20081112추가)
- dsf_makeValue(objDsxWardDrugListPath, "execprcpvol", "string", execprcpvol, n); //exip의 용량
- dsf_makeValue(objDsxWardDrugListPath, "execprcpqty", "string", execprcpqty, n); //exip의 수량
- //-----------------------------------
- //-----------------------------------(20081211추가)
- dsf_makeValue(objDsxWardDrugListPath, "preantiyn", "string", preantiyn, n); //medr의 예방적항생제
- //-----------------------------------
-
- var querydd = ds_main_cond.getColumn(0, "orddd");
- if (utlf_transNullToEmpty(dispddarray[n]) == querydd || utlf_transNullToEmpty(dispddarray[n]) == getDateAddc(querydd, 1) ) {
- ////////////alert(dispddarray[n] + "/" + querydd + "/" + getDateAddc(querydd, 1));
- dispflagarray[n] = "Y";
- } else {
- dispflagarray[n] = "N";
- }
-
- dsf_makeValue(objDsxWardDrugListPath, "dispflag", "string", dispflagarray[n], n);
- //-----------------------------------(20080920)
- dsf_makeValue(objDsxWardDrugListPath, "todaydrug", "string", utlf_transNullToEmpty(todaydrugtimes[n]), n); //현재시간체크후 설정된시간
- //-----------------------------------
-
- dsf_makeValue(objDsxWardDrugListPath, "antiastrid", "string", utlf_transNullToEmpty(antiastrids[n]), n);
- dsf_makeValue(objDsxWardDrugListPath, "antiastrnm", "string", utlf_transNullToEmpty(antiastrnms[n]), n);
- //-----------------------------------
- //hidden자료->화면자료로 상세정보이동시 컬럼위치를 찾는 방법
- //
- //일자를 찾고, 시간대를 찾는다.
- //-----------------------------------
- //col_index = (grd_colcnt + isSearchArrayIndex(addCol_Array, drugtmspec[n]));
- //row별로 반영되는 컬럼위치 찾기
- var sGrdCap0 = sCaption.split("|");
- var sGrdCap1 = sGrdCap0[0].split("^"); //첫줄: 일자
- var sGrdCap2 = sGrdCap0[1].split("^"); //두번째줄: 시간대
-
- var tdispdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "dispdd"); //절대일자
- var tdisptm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "disptm"); //절대시간대
- // var tdispddyy = tdispdd.substring(0,4).toString();
- //
- // tdispdd = tdispdd.replace(tdispddyy,"").toString();
- //
- // var tdispddmm = tdispdd.substring(0,2).toString();
- // var tdispdddd = tdispdd.replace(tdispddmm,"").toString();
-
- var tdispddyy = utlf_transNullToEmpty(tdispdd).substr(0,4);
- var tdispddmm = utlf_transNullToEmpty(tdispdd).substr(4,2);
- var tdispdddd = utlf_transNullToEmpty(tdispdd).substr(6,2);
-
- tdispdd = tdispddmm + "/" + tdispdddd;
-
- for (var col1=0;col1<sGrdCap1.length;col1++) {
- if (sGrdCap1[col1] == tdispdd) {
- for (var col2=col1;col2<sGrdCap2.length;col2++) {
- if (sGrdCap2[col2] == tdisptm) {
- break;
- }
- }
- break;
- }
- }
- col_index = col2;
- //-----------------------------------
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr" + col_index)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr" + col_index, "string");
- }
-
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "forarr" + col_index));
- timesch = utlf_transNullToEmpty(fSetTimsSetting(forarr.split(" ").length));
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "carecfactnm" + col_index, "string", timesch + carecfactnm, inst_cnt); //이곳에서 발생
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "forarr" + col_index, forarr + (n+1) + " ");
-
- //test
- // calcdd = getDateAddc(drugdd, parseInt(drugtmspec[n] / 2400));
- // if(calcdd == drugdd ||
- // prcpdd == drugdd && calcdd == tdrugdd){
- if( objDsxWardDrugListPath.getColumn(n, "dispflag") == "Y" ){
- hiddenYN[col_index] = "false";
- }
- // }
- }
- m++;
-
- }
-
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "execprcpnoarr", prcp_array);
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "prcphistnoarr", prcphistno_array);
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "execuniqnoarr", prcpuniqno_array);
- ////////////alert("inst_cnt:" + inst_cnt);
- inst_cnt++;
-
- }
-
- //---------------------------------------
- //조회조건의 (근무구분)에 대해서 자료 컬럼 중 근무시간에 해당하는 자료만 보이고 , 나머지는 숨김
- //---------------------------------------
- var nGrdColCnt = grd_colcnt+addCol_Cnt;
-
- if( nGrdColCnt > group3.grd_druglist.getCellCount("Body")-1 ){
- nGrdColCnt = group3.grd_druglist.getCellCount("Body")-1;
- }
-
- for( var a=grd_colcnt ; a<=nGrdColCnt ; a++ ){
- if(duty != "All"){//근무조건
- //dyty조건
- if(fCarec_JobTimeYN(sMedtims[a-grd_colcnt], duty) == "Y"){ //기준시간에서 Interval 시간계산(근무시간(D/E/N)
- group3.grd_druglist.setRealColSize(a, 45);
- }else{
- group3.grd_druglist.setRealColSize(a, 0);
- }
- }
- if(hiddenYN[a] == "true"){//투약일 조건
- group3.grd_druglist.setRealColSize(a, 0);
- }
- }
- //--------------------(20081031)확인 결과 위에서 속도를 차지함
- //컬럼 타이틀 변경
- //grd_druglist.caption = grd_title1 + sGrdCapDay + "|" + grd_title2 + sGrdCapTims;
- //투약 시간 셀 color 변경
- fDrugCellColorChg();
- //당일투약기준으로 화면의 자료 display를 재설정한다.(20080920)
-
- fDrugCellDispChg();
- }
- //
- //function fAddBaseDrugTime_OLD(){
- //
- // var rows = grd_druglist.rows;
- // var tims = 0;
- // var drugtmspec = "";
- // var drugtms = "";
- // var sColCnt = grd_druglist.cols - grd_druglist.fixedcols - grd_colcnt;//시간 컬럼을 제외한 나머지 컬럼갯수 빼기(17)
- // var sGrdCap = "";
- // var prcpdd = model.getValue("/root/main/cond/orddd"); //처방일자(조회일)
- // var meddays = "";
- // var medtims = "";
- // var cnt = 0;
- // var sGrdCapDay = "";
- // var sGrdCapTims = "";
- // var execdd = "";
- // var temp_drugtms = "";
- // var temp_meddays = "";
- // var timsYN = false;
- // var daysYN = false;
- //
- // //그리드에 추가 할 컬럼 조사 및 정렬
- // for(var i = 1; i <= rows - 2; i++){
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + i + "]/drugtmspec");
- // tims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- // if(drugtmspec != ""){
- // for(var j = 1; j <= tims; j++){
- // drugtms = drugtmspec.split(" ");
- // temp_drugtms = drugtms[j-1]; //0900
- // temp_meddays = getDateAddc(prcpdd, parseInt(drugtms[j-1] / 2400)); //20080425
- //
- // timsYN = careIsSearchString(medtims, temp_drugtms); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- // daysYN = careIsSearchString(meddays, temp_meddays); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- //
- // //총컬럼갯수를 알기 위해서 전체 시간대를 찾는다.
- // if(timsYN == false || daysYN == false){
- // medtims += temp_drugtms + "^"; //전체 시간대
- // meddays += temp_meddays + "^"; //전체 일자
- // cnt++;
- // }
- // }
- // }
- // }
- //
- // addCol_Cnt = cnt;
- // var sMedtims = sortHashKeys(medtims, cnt); //시간대 문자열 정렬(오름차순)
- // var sMeddays = sortHashKeys(meddays, cnt); //일자 문자열 정렬(오름차순)
- //
- // var tempString = "";
- // sGrdCap = grd_druglist.caption.split("|");
- // //컬럼 숨김 계속 지정하기 위해...
- // fSelectOpenMoe(); //투약기록 그리드 기본/펼치기 모드 이벤트(뒤의 마지막필드5개 숨기기)
- //
- // var temp_tims = 0;
- // //컬럼추가
- // for(var k = 1; k <= cnt; k++){
- // grd_druglist.addColumn("ref:carecfactnm" + grd_druglist.cols + "; type:output; ", false);
- // grd_druglist.colWidth(grd_druglist.cols - 1) = 50;
- // tempString = sMeddays[k-1].toString();
- // addCol_Array[k-1] = sMedtims[k-1];
- // sGrdCapDay += tempString.substr(4,2) + "/" + tempString.substr(6,2) + "^";
- // temp_tims = sMedtims[k-1] % 2400;
- // temp_tims = Math.abs(Number(temp_tims)).toString();
- // temp_tims = fCarec_GetFillZeno(temp_tims, 4,0);
- // sGrdCapTims += temp_tims + "^";
- // }
- //
- // var inst_cnt = 1;
- // var tims = "";
- // var drugtmspec = "";
- // var prcphistno = "";
- // var execprcpno = "";
- // var execcarestatcd = "";
- // var iudflag = "";
- // var carecfact = "";
- // var carecfactcd = "";
- // var carecfactnm = "";
- // var medrexistyn = "";
- // var execprcpuniqno = "";
- // var execdd = "";
- // var prcpdd = ""
- // var exectm = "";
- // var signno = "";
- // var signflag = "";
- // var col_index = 0;
- // var forarr = "";
- // var prcphistno_array = "";
- // var prcpuniqno_array = "";
- // var prcp_array = "";
- // var drugtmspeccal = "";
- // var timesch = "";
- // var drugdd = model.getValue("/root/main/cond/orddd");
- // var tdrugdd = getDateAddc(drugdd, 1);
- // var duty = model.getValue("/root/main/cond/duty");
- // var calcdd = "";
- // var medrexecdd = "";
- // var medrexectm = "";
- // var hiddenYN = new Array;
- //
- // //------------------------------
- // //forarr : 자료존재 번호XML 태그
- // //------------------------------
- //
- // ////////////alert ("getNodesetCount(xWardDrugListPath):" + getNodesetCount(xWardDrugListPath) )
- // for(var x = 1; x <= getNodesetCount(xWardDrugListPath); x++){
- // ////////////alert("addCol_Array.length:" + addCol_Array.length);
- // for(var y = 0; y < addCol_Array.length; y++){
- // ////////////alert("y:" + xWardDrugListPath + "[" + x + "]/forarr" + (grd_colcnt + y));
- // model.makeValue(xWardDrugListPath + "[" + x + "]/forarr" + (grd_colcnt + y), "");
- // }
- // }
- //
- // //필드숨김기
- // for(var z = 0; z <= grd_colcnt + addCol_Cnt; z++){
- // hiddenYN[z] = "true";
- // }
- //
- // //------------------------------
- // //for : 자료존재 번호에 대한 상세 정보 XML 태그
- // //------------------------------
- // //인스턴스 맵핑
- // for(var m = 1; m <= getNodesetCount(xHiddenWardDrugPath); m){
- // tims = model.getValue(xHiddenWardDrugPath + "[" + m + "]/tims");
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspec").split(" ");
- // drugtmspeccal = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/drugbasetmspec").split(" ");
- // for(var n = 0; n < tims; n++){
- // if(n == 0){
- // prcp_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcphistno_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // prcpuniqno_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // }else{
- // prcp_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcphistno_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // prcpuniqno_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // }
- // execprcpno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcpdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcpdd");
- // execcarestatcd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execcarestatcd");
- // carecfact = model.getValue(xHiddenWardDrugPath + "[" + m + "]/carecfact");
- // carecfactcd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/carecfactcd");
- // execprcpuniqno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // medrexistyn = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexistyn");
- // prcphistno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // execdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execdd");
- // exectm = model.getValue(xHiddenWardDrugPath + "[" + m + "]/exectm");
- // signno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/signno");
- // signflag = model.getValue(xHiddenWardDrugPath + "[" + m + "]/signflag");
- // medrexecdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexecdd");
- // medrexectm = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexectm");
- // if(medrexistyn == "Y"){
- // iudflag = "-";
- // }else if(medrexistyn == "N"){
- // iudflag = "";
- // }
- // if(iudflag == "-" && signflag == "N"){
- // carecfactnm = model.getValue("/root/init/M0381list/M0381[cdid ='" + carecfactcd + "']/cdnm") + " " + carecfact;
- // }else{
- // carecfactnm = model.getValue("/root/init/M0381list/M0381[cdid ='" + carecfactcd + "']/cdnm") + " " + carecfact;
- // }
- // //인스턴스 정보 set
- // if(drugtmspec[n] != "" && drugtmspec!= ""){
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]", "");
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execprcpno", execprcpno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execcarestatcd", execcarestatcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/pastexeccarestatcd", execcarestatcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/iudflag", iudflag);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfactnm", carecfactnm);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfactcd", carecfactcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfact", carecfact);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execprcpuniqno", execprcpuniqno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/prcphistno", prcphistno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execdd", execdd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexecdd", medrexecdd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexectm", medrexectm);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexistyn", medrexistyn);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/signno", signno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/signflag", signflag);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/drugtmspec", drugtmspec[n]);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/drugtmspeccal", drugtmspeccal[n]);
- //
- // col_index = (grd_colcnt + isSearchArrayIndex(addCol_Array, drugtmspec[n]));
- // forarr = model.getValue(xWardDrugListPath + "[" + inst_cnt+ "]/forarr" + col_index);
- //
- // timesch = fSetTimsSetting(forarr.split(" ").length);
- //
- // model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/carecfactnm" + col_index, timesch + carecfactnm);
- // model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/forarr" + col_index, forarr + (n+1) + " ");
- //
- // calcdd = getDateAddc(drugdd, parseInt(drugtmspec[n] / 2400));
- // if(calcdd == drugdd ||
- // prcpdd == drugdd && calcdd == tdrugdd){
- // hiddenYN[col_index] = "false";
- // }
- // }
- // m++;
- // }
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/execprcpnoarr", prcp_array);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/prcphistnoarr", prcphistno_array);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/execuniqnoarr", prcpuniqno_array);
- // inst_cnt++;
- // }
- //
- // //조회조건의 (근무구분)에 대해서 자료 컬럼 중 근무시간에 해당하는 자료만 보이고 , 나머지는 숨김
- // for(var a = grd_colcnt; a <= grd_colcnt + addCol_Cnt; a++){
- // if(duty != "All"){//근무조건
- // //dyty조건
- // if(fCarec_JobTimeYN(sMedtims[a-grd_colcnt], duty) == "Y"){ //기준시간에서 Interval 시간계산(근무시간(D/E/N)
- // grd_druglist.colhidden(a) = false;
- // }else{
- // grd_druglist.colhidden(a) = true;
- // }
- // }
- // if(hiddenYN[a] == "true"){//투약일 조건
- // grd_druglist.colhidden(a) = true;
- // }
- // }
- //
- //// //컬럼 타이틀 변경
- //// grd_druglist.caption = grd_title1 + sGrdCapDay + "|" + grd_title2 + sGrdCapTims;
- //
- // //투약 시간 셀 color 변경
- // fDrugCellColorChg();
- //}
- function fSetTimsSetting(len){
- if(len == 1){
- //return ①;
- return '';
- }else if(len == 2){
- return '②';
- }else if(len == 3){
- return '③';
- }else if(len == 4){
- return '④';
- }else if(len == 5){
- return '⑤';
- }else if(len == 6){
- return '⑥';
- }else if(len == 7){
- return '⑦';
- }else if(len == 8){
- return '⑧';
- }else{}
- return '';
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Mix선택 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingMix(){
- var row = ds_main_warddruginfo_warddruglist.rowposition;
- var col = "";
- var tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- var orgprcpclscd = ds_main_warddruginfo_warddruglist.getColumn(row, "orgprcpclscd");
- var drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec");
- var prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpmixno");
- var mixflag = true;
-
- //-----------(20080924)
- //mixno cancel은 fSettingMixCancle에서 처리한다.
- if( utlf_isNull(prcpmixno) ) return;
- //-----------(20080924)
-
- if( utlf_isNull(drugtmspec) ){
- sysf_messageBox("기준시간을 ","C001");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- return;
- }
- if(orgprcpclscd != "A6"){
- sysf_messageBox("주사/수액만 Mix 할 수 있습니다.","C999");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- return;
- }
- for( var i=0 ; i<row ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno") == prcpmixno &&
- ds_main_warddruginfo_warddruglist.getColumn(i, "tims") != tims ){
- mixflag = false;
- }
- }
- if(mixflag == true){
- for( var j=0 ; j<eval(xWardDrugListPath+row+"for").rowcount ; j++ ){
- //#n개가 있어도 처음exip에만 mixno를 넣고 있군.0925
- fChangeValueStatus(row, j);
- ds_main_warddruginfo_warddruglist.rowposition = ds_main_warddruginfo_warddruglist.rowposition+1;
- group3.grd_druglist.setCellPos(4);
- group3.grd_druglist.setFocus();
- }
- }else if(mixflag == false){
- sysf_messageBox("횟수가 동일한 처방만 Mix 할 수 있습니다.","C999");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- }else{}
- //////alert("mixno기록");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Mix취소 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingMixCancle(){
- //////alert("mixno삭제1");
- var row = group3.grd_druglist.currentrow;
- var drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec").split(" ");
- var tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
-
- for( var i=0 ; i<eval(xWardDrugListPath+row+"for").rowcount ; i++ ){
- fChangeValueStatus(row, i);
- }
- //////alert("mixno삭제2");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Remark등록
- * @param :
- * @return :
- * @---------------------------------------------------
- */
-
- //변경없음
- function fSetRemarkReg(){
- var rows = group3.grd_druglist.rowcount;
- var drugtmspec = "";
- var tims = "";
- var col = "";
- var row = "";
- var cnt = 0;
- var execcarestatcd = "";
- var forarr = "";
- var timesch = "";
-
- for( var i=0 ; i<group3.grd_druglist.selectcount ; i++ ){
- for( var j=group3.grd_druglist.selectstartrow[i] ; j<=group3.grd_druglist.selectendrow[i] ; j++ ){
- for( var k=group3.grd_druglist.selectstartcol[i] ; k<=group3.grd_druglist.selectendcol[i] ; k++ ){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr" + col, "string");
- }
-
- col = k;
- row = j;
- drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec").split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "forarr" + col)).split(" ");
-
- if( !utlf_isNull(forarr) ){
- for( var l=0 ; l<forarr.length-1 ; l++ ){
- execcarestatcd = eval(xWardDrugListPath+row+"for").getColumn(forarr[l]-1, "execcarestatcd");
- if( utlf_isNull(execcarestatcd) || execcarestatcd == "N" ){
- sysf_messageBox("미확인 상태에서는 Remark등록을 ","E001");
- return;
- }else{
- cnt++;
- }
- }
- }
- }
- }
- }
-
- if(cnt == 0){
- sysf_messageBox("Remark등록할 범위를 정확히","C002");
- return;
- }
-
- var inst_row = group3.grd_druglist.currentrow;
- var grd_row = group3.grd_druglist.currentrow;
- var grd_col = group3.grd_druglist.currentcol;
- var setRemarkInfo = "";
- if(cnt == 1){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr" + grd_col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr" + grd_col, "string");
- }
-
- sRemarkIndex = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_row, "forarr" + grd_col));
- setRemarkInfo = dsf_getDsCSV(eval(xWardDrugListPath+inst_row+"for"), sRemarkIndex-1);
- frmf_setParameter("SPMNR03400_param", setRemarkInfo);
- }else{
- frmf_setParameter("SPMNR03400_param1", "");
- frmf_setParameter("SPMNR03400_param2", "");
- frmf_setParameter("SPMNR03400_param4", "");
- frmf_setParameter("SPMNR03400_param5", "");
-
- }
-
- frmf_modal("SPMNR03400","SPMNR03400",null,"","","","","","","","","","M"); //yjh : 커밋
- var carecfactcd = frmf_getParameter("SPMNR03400_RtnParam1"); //간호사REMARK(상용REMARK코드)
- var carecfact = frmf_getParameter("SPMNR03400_RtnParam2"); //간호전달사항(REMARK직접입력)
- var carecfactnm = frmf_getParameter("SPMNR03400_RtnParam3"); //상용REMARK코드의 명칭+REMARK직접입력사항
- var antiastrid = frmf_getParameter("SPMNR03400_RtnParam4");
- var antiastrnm = frmf_getParameter("SPMNR03400_RtnParam5");
- var paramYN = frmf_getParameter("SPMNR03400_RtnParamYN"); //리턴 여부
-
- //alert(antiastrid);
- frmf_setParameter("SPMNR03400_RtnParam1", "");
- frmf_setParameter("SPMNR03400_RtnParam2", "");
- frmf_setParameter("SPMNR03400_RtnParam3", "");
- frmf_setParameter("SPMNR03400_RtnParam4", "");
- frmf_setParameter("SPMNR03400_RtnParam5", "");
- frmf_setParameter("SPMNR03400_RtnParamYN", "");
- if(paramYN == "Y"){
-
- //------------(20081205)
- toprow = group3.grd_druglist.vscrollbar.max;
- toprowflag = "Y";
- //------------(20081205)
-
- for( var i=0 ; i<group3.grd_druglist.selectcount ; i++ ){
- for( var j=group3.grd_druglist.selectstartrow[i] ; j<=group3.grd_druglist.selectendrow[i] ; j++ ){
- for( var k=group3.grd_druglist.selectstartcol[i] ; k<=group3.grd_druglist.selectendcol[i] ; k++ ){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr" + col, "string");
- }
- col = k;
- row = j;
- drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec").split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "forarr" + col)).split(" ");
- timesch = fSetTimsSetting(forarr.length-1); //????
-
- if( !utlf_isNull(forarr) ){
- for( var l=0 ; l<forarr.length-1 ; l++ ){
- //---------------(20081211)
- //예방적항생제
- var objDsxWardDrugListPath = eval(xWardDrugListPath+row+"for");
- var preantiyn = objDsxWardDrugListPath.getColumn(forarr[l]-1, "preantiyn");
- var preantimsg = "예방적항생제";
-
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "carecfactcd", carecfactcd);
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("carecfactnm" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("carecfactnm" + col, "string");
- }
-
- if (preantiyn == "Y") { //예방적항생제인경우
- carecfactnm = fnReplace(carecfactnm,preantimsg,'');
- carecfact = fnReplace(carecfact,preantimsg,'');
-
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "carecfactnm", carecfactnm + " " + preantimsg);
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "carecfact", carecfact + " " + preantimsg);
- ds_main_warddruginfo_warddruglist.setColumn(row, "carecfactnm" + col, timesch + carecfactnm + " " + preantimsg);
-
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "antiastrid", antiastrid);
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "antiastrnm", antiastrnm);
-
- } else {
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "carecfactnm", carecfactnm);
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "carecfact", carecfact);
- ds_main_warddruginfo_warddruglist.setColumn(row, "carecfactnm" + col, timesch + carecfactnm);
-
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "antiastrid", antiastrid);
- objDsxWardDrugListPath.setColumn(forarr[l]-1, "antiastrnm", antiastrnm);
-
- }
- //---------------(20081211)
-
- //입력/수정 상태값 변경
- fChangeValueStatus(row, forarr[l]-1);
- }
- }
- }
- }
- }
- }
-
- ds_main_warddruginfo_warddruglist.rowposition = 0;
- //------------------(20081205)
- if (toprowflag == "Y") {
- if( group3.grd_druglist.vscrollbar.max > toprow ){trace("1111");
- group3.grd_druglist.vscrollbar.pos = toprow;
- }
- toprowflag = "N";
- }
- //------------------(20081205)
- }
- //function fSetRemarkReg_OLD(){
- // var rows = grd_druglist.rows;
- // var drugtmspec = "";
- // var tims = "";
- // var col = "";
- // var row = "";
- // var cnt = 0;
- // var execcarestatcd = "";
- // var forarr = "";
- // var timesch = "";
- // for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- // col = grd_druglist.selectedCells.item(i).col;
- // row = grd_druglist.selectedCells.item(i).row -1;
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- // tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- // forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
- // if(forarr != ""){
- // for(var j = 0; j < forarr.length-1; j++){
- // execcarestatcd = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd");
- // if(execcarestatcd == "" || execcarestatcd == "N"){
- // messageBox("미확인 상태에서는 Remark등록을 ","E001");
- // return;
- // }else{
- // cnt++;
- // }
- // }
- // }
- // }
- // if(cnt == 0){
- // messageBox("Remark등록할 범위를 정확히","C002");
- // return;
- // }
- // var inst_row = grd_druglist.row - 1;
- // var grd_row = grd_druglist.row;
- // var grd_col = grd_druglist.col;
- // var setRemarkInfo = "";
- // if(cnt == 1){
- // sRemarkIndex = model.getValue(xWardDrugListPath +"[" + inst_row + "]/forarr" + grd_col);
- // setRemarkInfo = model.instances(0).selectNodes(xWardDrugListPath + "[" + inst_row + "]/for[" + sRemarkIndex + "]");
- // setParameter("SPMNR03400_param", getNodeListCSV(setRemarkInfo));
- // }else{
- // setParameter("SPMNR03400_param1", "");
- // setParameter("SPMNR03400_param2", "");
- // }
- // modal("SPMNR03400");
- // var carecfactcd = getParameter("SPMNR03400_RtnParam1");
- // var carecfact = getParameter("SPMNR03400_RtnParam2");
- // var carecfactnm = getParameter("SPMNR03400_RtnParam3");
- // var paramYN = getParameter("SPMNR03400_RtnParamYN");
- // setParameter("SPMNR03400_RtnParam1", "");
- // setParameter("SPMNR03400_RtnParam2", "");
- // setParameter("SPMNR03400_RtnParam3", "");
- // setParameter("SPMNR03400_RtnParamYN", "");
- //
- // if(paramYN == "Y"){
- // for(var k = 0; k < grd_druglist.selectedCells.length; k++){
- // col = grd_druglist.selectedCells.item(k).col;
- // row = grd_druglist.selectedCells.item(k).row -1;
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- // tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- // forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
- // timesch = fSetTimsSetting(forarr.length-1);
- // if(forarr != ""){
- // for(var l = 0; l < forarr.length-1; l++){
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactcd", carecfactcd);
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactnm", carecfactnm);
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfact", carecfact);
- // model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, timesch + carecfactnm);
- //
- // //입력/수정 상태값 변경
- // fChangeValueStatus(row, forarr[l]);
- // }
- // }
- // }
- // }
- // grd_druglist.row = 1;
- // model.refresh();
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기준시간 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //warddruginfo에는 정보가 부분만 있음(마스타정보와,상세중1첫번째 자료만 넘긴다)
- function fSetDrugBaseTime(){
-
- var inst_row= group3.grd_druglist.currentrow;
- var rows = group3.grd_druglist.rowcount;
- var cols = group3.grd_druglist.getCellCount("Body");
- var tims = 0;
- var count = 0;
-
- //---------------(20080912)
- var calctims = 0;
- //---------------(20080912)
-
- //임시INSTANCE제거
- ds_temp_warddruginfo_warddruglist.clearData();
- baseCol_Array = new Array;
-
- if( group3.grd_druglist.selectcount > 0 ){
- tims = ds_main_warddruginfo_warddruglist.getColumn(group3.grd_druglist.selectstartrow[0], "tims");
- //---------------(20080912)
- calctims = ds_main_warddruginfo_warddruglist.getColumn(group3.grd_druglist.selectstartrow[0], "calctims");
- //---------------(20080912)
-
- ds_temp_warddruginfo_warddruglist_for.clearData();
- //횟수가 동일한 처방만 추출
- for( var i=0 ; i<group3.grd_druglist.selectcount ; i++ ){
- for( var j=group3.grd_druglist.selectstartrow[i] ; j<=group3.grd_druglist.selectendrow[i] ; j++ ){
- row = j;
-
- if( tims == ds_main_warddruginfo_warddruglist.getColumn(row, "tims") ){
- //-----------------(20080912)
- if(calctims == ds_main_warddruginfo_warddruglist.getColumn(row, "calctims") ){
- if(!isSearchArrayString(baseCol_Array, row)){
- baseCol_Array[baseCol_Array.length] = row;
- //xWardDrugListPath +"[" + row + "]" ==> "/root/temp/warddruginfo"
- var nRow = ds_temp_warddruginfo_warddruglist.addRow();
- ds_temp_warddruginfo_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, row);
-
- for( var k=0 ; k<eval(xWardDrugListPath+row+"for").rowcount ; k++ ){
- var nRow2 = ds_temp_warddruginfo_warddruglist_for.addRow();
- ds_temp_warddruginfo_warddruglist_for.copyRow(nRow2, eval(xWardDrugListPath+row+"for"), k);
- }
- }
- } else {
- sysf_messageBox("외용제끼리 별도로 처리하십시오","I9999");
- return;
- }
- //-----------------(20080912)
- }else{
- sysf_messageBox("횟수가 동일한 처방만 동시에 기준시간을 변경할 수 있습니다.","I9999");
- return;
- }
-
- var objDsxWardDrugListPath = eval(xWardDrugListPath+row+"for");
-
- for( var k=0 ; k<objDsxWardDrugListPath.rowcount ; k++ ){
- //---------(20081211)
- //예방적항생제인 경우를 생각해봐야 할것 같음(미확인이나 저장을 해야하는 경우가 있는것임)
- if( objDsxWardDrugListPath.getColumn(k, "medrexecdd") != "00000000"){
- count++;
- }
- //---------(20081211)
- }
- }
- }
- }
- if( ds_temp_warddruginfo_warddruglist.rowcount == 1 ){
- //-----------------(20080912)
- if( count == ds_temp_warddruginfo_warddruglist.getColumn(0, "tims") ){
- sysf_messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- return;
- } else if(count == ds_temp_warddruginfo_warddruglist.getColumn(0, "calctims") ){
- //외용제는 caletims가 무조건 1이고 , tims은 1회이상일수 있다.
- sysf_messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- return;
- }
- //-----------------(20080912)
- }else if( ds_temp_warddruginfo_warddruglist.rowcount > 1 ){
- if(count > 0){
- sysf_messageBox("선택한 처방 중 이미 기록된 내용이 있어 함께 변경할 수","I004");
- return;
- }
- }
- //기준시간 변경하기 전 변경된 내용을 저장
- if(fChangeDrugInfo() == "true"){
- sysf_messageBox("변경된 내용을 저장 후 진행하세요.","I9999");
- return;
- }
-
- //변경된 시간은 넘어가지 않음(문제점)
- //warddruginfo에는 화면에 보여줄 자료만 있으므
- //var setDrugBaseTimeList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist");
- //var setDrugBaseTimeDetlList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist/for");
-
- frmf_setParameter("SPMNR03300_param1", dsf_getDsCSV(ds_temp_warddruginfo_warddruglist));
- frmf_setParameter("SPMNR03300_param2", dsf_getDsCSV(ds_temp_warddruginfo_warddruglist_for));
- //------------(20081205)
- //toprow = grd_druglist.toprow;
- toprowflag = "Y";
- //------------(20081205)
-
- frmf_modal("SPMNR03300","SPMNR03300",null,"","","","","","","","","","M"); //yjh : 커밋
- var RtnParamYN = frmf_getParameter("SPMNR03300_RtnParamYN");
-
- fClickDrugListBefore(); //------------(20081031)
- if(RtnParamYN == "Y"){
-
- if(screen_mode == "pat"){
- fClickDrugList(screen_mode, group3.swtpatList.pat.grd_patlist.currentrow);
- }else if(screen_mode == "act"){
- fClickDrugList(screen_mode, group3.swtpatList.act.grd_actlist.currentrow);
- }
- }
- fClickDrugListAfter(); //------------(20081031)
- //------------------(20081205)test중
- //fClickDrugListAfter 모듈안에 아래의 기능이 있음
- //if (toprowflag == "Y") {
- // if (grd_druglist.rows > toprow) {
- // grd_druglist.toprow = toprow;
- // }
- // toprowflag = "N";
- //}
- //model.refresh();
- //------------------(20081205)
-
- frmf_setParameter("SPMNR03300_param", "");
- frmf_setParameter("SPMNR03300_RtnParamYN", "");
- }
- //function fSetDrugBaseTime_OLD(){
- //
- // var inst_row = grd_druglist.row - 1;
- // var rows = grd_druglist.rows;
- // var cols = grd_druglist.cols;
- // var tims = 0;
- // var count = 0;
- //
- // model.removeNodeSet("/root/temp/warddruginfo/warddruglist");
- // baseCol_Array = new Array;
- //
- // if(grd_druglist.selectedCells.length > 0){
- // tims = model.getValue(xWardDrugListPath + "[" + (grd_druglist.selectedCells.item(0).row -1) + "]/tims");
- // for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- // row = grd_druglist.selectedCells.item(i).row -1;
- // if(tims == model.getValue(xWardDrugListPath +"[" + row + "]/tims")){
- // if(!isSearchArrayString(baseCol_Array, row)){
- // baseCol_Array[baseCol_Array.length] = row;
- // model.duplicate("/root/temp/warddruginfo", xWardDrugListPath +"[" + row + "]");
- // }
- // }else{
- // messageBox("횟수가 동일한 처방만 동시에 기준시간을 변경할 수 있습니다.","I9999");
- // return;
- // }
- // for(var j = 1; j <= getNodesetCount(xWardDrugListPath + "[" + row + "]/for"); j++){
- // if(model.getValue(xWardDrugListPath + "[" + row + "]/for[" + j + "]/medrexecdd") != "00000000"){
- // count++;
- // }
- // }
- // }
- // }
- // if(getNodesetCount("/root/temp/warddruginfo/warddruglist") == 1){
- // if(count == model.getValue("/root/temp/warddruginfo/warddruglist/tims")){
- // messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- // return;
- // }
- // }else if(getNodesetCount("/root/temp/warddruginfo/warddruglist") > 1){
- // if(count > 0){
- // messageBox("선택한 처방 중 이미 기록된 내용이 있어 함께 변경할 수","I004");
- // return;
- // }
- // }
- // //기준시간 변경하기 전 변경된 내용을 저장
- // if(fChangeDrugInfo() == "true"){
- // messageBox("변경된 내용을 저장 후 진행하세요.","I9999");
- // return;
- // }
- // var setDrugBaseTimeList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist");
- // var setDrugBaseTimeDetlList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist/for");
- // setParameter("SPMNR03300_param1", getNodeListCSV(setDrugBaseTimeList));
- // setParameter("SPMNR03300_param2", getNodeListCSV(setDrugBaseTimeDetlList));
- // modal("SPMNR03300");
- // var RtnParamYN = getParameter("SPMNR03300_RtnParamYN");
- // if(RtnParamYN == "Y"){
- // if(screen_mode == "pat"){
- // fClickDrugList(screen_mode, grd_patlist.row);
- // }else if(screen_mode == "act"){
- // fClickDrugList(screen_mode, grd_actlist.row);
- // }
- // }
- // setParameter("SPMNR03300_param", "");
- // setParameter("SPMNR03300_RtnParamYN", "");
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미확인(Acting 취소)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetNurseConfrim(){
- fSetDrug("N");
- }
- /**
- * @group :
- * @ver : 2008.12.01
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미확인(예방적항생제)(Acting 취소)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //20081201
- function fSetNurseConfrimPreAnti(){
- fSetDrug("M");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugActing(){
- fSetDrug("R");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약X 반환가능
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRtnPosActing(){
- fSetDrug("P");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약X 반환불가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRtnImposActing(){
- fSetDrug("I");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 퇴원당일 남은약
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetLeaveRemain(){
- fSetDrug("L");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Acting이벤트시 공통 함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrug(actingflag, nCol){
- var rows = group3.grd_druglist.rowcount;
- var tims = "";
- var drugtmspec = "";
- var col = "";
- var row = "";
- var dccomcountyn = "";
- var messageyn = "N";
- var messageactyn = "N";
- var messagenarcyn = "N";
- var messagenarccnfmyn = "N";
- var messagenarcstat1yn = "N";
- var messagenarcstat5yn = "N";
- var prnmessageyn = "N";
- var medrexecdd = "";
- var medrexectm = "";
- var prcpdd = "";
- var prcpno = "";
- var issdeptcd = ""; //2011.10.20 KJS 추가
- var psydept = ""; //2011.10.20 KJS 추가
- var for_arr = "";
- var cell_color = "";
- var careprnexecflag = "";
- var spcldrug = "";
- var sprcphistno = "";
- var sexecprcpno = "";
- var sexecprcpuniqno = "";
- var sinstcd = sysf_getUserInfo("dutplceinstcd");
- var rtnmsg = "";
- var rtnstat = "";
- var rtnprcpcd = "";
- var prcpkindnm = "";
- var careinrmdd = utlf_transNullToEmpty(ds_main_paminfo_pamlist.getColumn(0, "careinrmdd"));
- var careinrmtm = utlf_transNullToEmpty(ds_main_paminfo_pamlist.getColumn(0, "careinrmtm"));
- var careinrmdd2 = "";
- var careinrmtm2 = "";
- var acttimeflag = ds_main_cond.getColumn(0, "acttimeflag");
- var medrexecdd = ds_main_cond.getColumn(0, "currentday");
- var medrexectm = ds_main_cond.getColumn(0, "currenttime");
- var calcdd = utlf_transNullToEmpty(ds_main_paminfo_pamlist.getColumn(0, "calcdd"));
- var calctm = utlf_transNullToEmpty(ds_main_paminfo_pamlist.getColumn(0, "calctm"));
- var calcdd2 = "";
- var calctm2 = "";
- var anticheck = "";
- //if( !utlf_isNull(careinrmdd) ){
- if( careinrmdd != null || careinrmdd != "" ){
- careinrmdd2 = careinrmdd.substr(4,2)+"/"+careinrmdd.substr(6,2);
- }
- //if( !utlf_isNull(careinrmtm) ){
- if( careinrmtm != null || careinrmtm != "" ){
- careinrmtm2 = careinrmtm.substr(0,2)+":"+careinrmtm.substr(2,2);
- }
- //if( !utlf_isNull(calcdd2) ){
- if( calcdd2 != null || calcdd2 != "" ){
- calcdd2 = calcdd.substr(4,2)+"/"+calcdd.substr(6,2);
- }
- //if( !utlf_isNull(calctm2) ){
- if( calctm2 != null || calctm2 != "" ){
- calctm2 = calctm.substr(0,2)+":"+calctm.substr(2,2);
- }
-
- var nSelectcount = 0;
-
- if( utlf_isNull(nCol) ){
- nSelectcount = group3.grd_druglist.selectcount;
- }else{
- nSelectcount = 1;
- }
- //그리드에서 선택상태인 셀들의 collection 객체를 반환하는 속성이다
- for( var i=0 ; i<nSelectcount ; i++ ){
- var nSelectstartrow = -1;
- var nSelectendrow = -1;
- var nSelectstartcol = -1;
- var nSelectendcol = -1;
-
- if( utlf_isNull(nCol) ){
- nSelectstartrow = group3.grd_druglist.selectstartrow[i];
- nSelectendrow = group3.grd_druglist.selectendrow[i];
- nSelectstartcol = group3.grd_druglist.selectstartcol[i];
- nSelectendcol = group3.grd_druglist.selectendcol[i];
- }else{
- nSelectstartrow = 0;
- nSelectendrow = ds_main_warddruginfo_warddruglist.rowcount-1;
- nSelectstartcol = nCol;
- nSelectendcol = nCol;
- }
-
- var bFor = false;
-
- for( var l=nSelectstartrow ; l<=nSelectendrow ; l++ ){
- if( bFor ){
- break;
- }
-
- for( var k=nSelectstartcol ; k<=nSelectendcol ; k++ ){
- if( 23 < k ){ //yjh : 그리드 동적컬럼 이외 컬럼들이 에러발생으로 추가
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr" + col, "string");
- }
-
- col = k;
- row = l;
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+col)) ){
- cell_color = "";
- }else{
- cell_color = ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col);
- }
-
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "forarr" + col)).split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- dccomcountyn = ds_main_warddruginfo_warddruglist.getColumn(row, "dccomcountyn");
- prcpdd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpdd");
- prcpno = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpno");
- issdeptcd = ds_main_warddruginfo_warddruglist.getColumn(row, "issdeptcd");
- psydept = ds_main_warddruginfo_warddruglist.getColumn(row, "psydept");
- prcpkindnm = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpkindnm");
- prcpgenrflag = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpgenrflag");
- anticheck = ds_main_warddruginfo_warddruglist.getColumn(row, "anticheck");
- var pid = ds_main_warddruginfo_warddruglist.getColumn(row, "pid");
- var indd = ds_main_warddruginfo_warddruglist.getColumn(row, "indd");
- var cretno = ds_main_warddruginfo_warddruglist.getColumn(row, "cretno");
- var prcpcd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpcd");
- var dispdd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "dispddarray"));
- var disptm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "disptmarray"));
- var idx = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(row, "forarr" + col)).replace(/^\s*/,'').replace(/\s*$/, '');
- var arr = dispdd.split(' ');
- var selectdd = arr[idx-1];
- var arr2 = disptm.split(' ');
- var selecttm = arr2[idx-1];
- //----------------------------------------------- 투약기록일시 제어
- // 병동 투약기록은 입실시간 이후
- if(prcpgenrflag == 'I'){
- if (acttimeflag == "true") {
- if(careinrmdd > medrexecdd) {
- sysf_messageBox("입실시간은 "+careinrmdd2+"일 "+careinrmtm2+"시 입니다.\n입실시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- } else if (careinrmdd == medrexecdd) {
- if(careinrmtm > medrexectm){
- sysf_messageBox("입실시간은 "+careinrmdd2+"일 "+careinrmtm2+"시 입니다.\n입실시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- }
- }
- } else {
- if(careinrmdd > selectdd) {
- sysf_messageBox("입실시간은 "+careinrmdd2+"일 "+careinrmtm2+"시 입니다.\n입실시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- } else if(careinrmdd == selectdd){
- if (careinrmtm > selecttm) {
- sysf_messageBox("입실시간은 "+careinrmdd2+"일 "+careinrmtm2+"시 입니다.\n입실시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- }
- }
- }
- } else {trace(calcdd2+"<>"+calctm2);
- // 병동 외 투약기록은 내원시간 이후
- if(acttimeflag == "true") {
- if(calcdd > medrexecdd) {
- sysf_messageBox("내원시간은 "+calcdd2+"일 "+calctm2+"시 입니다.\n내원시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- } else if(calcdd == medrexecdd) {
- if(calctm > medrexectm) {
- sysf_messageBox("내원시간은 "+calcdd2+"일 "+calctm2+"시 입니다.\n내원시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- }
- }
- } else {
- if(calcdd > selectdd) {
- sysf_messageBox("내원시간은 "+calcdd2+"일 "+calctm2+"시 입니다.\n내원시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- } else if (calcdd == selectdd) {
- if (calctm > selecttm) {
- sysf_messageBox("내원시간은 "+calcdd2+"일 "+calctm2+"시 입니다.\n내원시간 이전 시간으로 투약기록이 불가합니다.\n기준시간을 변경하세요.", "I");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- bFor = true;
- break;
- }
- }
- }
- }
- //----------------------------------------------- 투약기록일시 제어
- //-----------(20081011)
- //prcpdd = model.getValue(xWardDrugListPath + "[" + row + "]/prcpdd");
- var prcphopedd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcphopedd");
- //-----------(20081011)
- careprnexecflag = ds_main_warddruginfo_warddruglist.getColumn(row, "careprnexecflag");
- spcldrug = ds_main_warddruginfo_warddruglist.getColumn(row, "spcldrug");
- //--------------------------------------------------------------------------(20080913)
- var sdrughang = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpkindnm");
- var prcphistcd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcphistcd");
- var sdrughangflag = "";
- if ( sdrughang.indexOf('항암') != -1 ) {
- sdrughangflag = "Y"; //항암
- } else {
- sdrughangflag = "N";
- }
- ////////////alert(actingflag + ":" + sdrughang + ":" + sdrughangflag + ":" +prcphistcd);
- //항암프로토콜로 발생된 것은 검정색 D/C인 경우만 반환가능을 지정할수 있다.
- if(sdrughangflag == "Y" && actingflag == "P" && prcphistcd != "D" && prcphistcd != "E" ){
- if(messageyn == "N"){
- sysf_messageBox("항암 처방은 의사D/C이전에는 투약X 반환가능을 지정 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messageyn = "Y";
- }
- } else if( actingflag == "P" && (prcpkindnm == "PW" || prcpkindnm == " PW" || prcpkindnm == "P+S" || prcpkindnm ==" P+S") ) {
- //20120413_KNUH_Start 파우더일경우 반환가능 입력하지 못하도록 수정.
- if(messageyn == "N") {
- sysf_messageBox("Powder 처방은 투약X 반환가능을 지정 할 수", "I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messageyn = "Y";
- }
- } else if(careprnexecflag == "P" && (actingflag == "P" || actingflag == "L")) { //prn처방에 대한 action시
- //if(careprnexecflag == "P" && (actingflag == "P" || actingflag == "L")){ //prn처방에 대한 action시
- //--------------------------------------------------------------------------(20080913)
- if(prnmessageyn == "N"){
- sysf_messageBox("PRN 처방은 투약X 반환가능, 퇴원당일 남은약을 지정 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- prnmessageyn = "Y";
- }
- } else if(dccomcountyn == "Y" && !utlf_isNull(cell_color) && cell_color != "white") {
- if(messageyn == "N"){
- sysf_messageBox("D/C확정된 처방은 변경 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messageyn = "Y";
- }
- // } else if( narcrtnstat == "2" && (actingflag == "N" || actingflag == "P")){ //마약반납확인 후 액팅수정(미확인/투약X-반환가능)불가 정상투약/투약X-반환불가는 잔량이 수정되지 않으므로 기록수정가능
- // //--------------------------------------------------------------------------(20090507)
- // if(messageyn == "N"){
- // messageBox("마약 잔량반납이 이루어진 처방은 미확인, 투약X 반환가능으로 수정 할 수","I004");
- // messageyn = "Y";
- // }
- } else if (anticheck == "N") {
- // 승인 상태가 아닌 제한항생제 투약기록 제어 2012.12.10 KJS
- /* [anticheck] Y: 승인, N: 미승인, Normal: 제한항생제 아님 */
- sysf_messageBox("승인이나 차용불출 상태가 아닌 제한항생제는 투약기록 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messageyn = "Y";
- } else if(dccomcountyn == "N" && !utlf_isNull(cell_color) && cell_color != "white") {
- for(var j = 0; j < forarr.length-1; j++){
- rtnstat = "";
- var objDsxWardDrugListPath = eval(xWardDrugListPath+row+"for");
- var execprcpno = objDsxWardDrugListPath.getColumn(forarr[j]-1, "execprcpno");
- var execdd = objDsxWardDrugListPath.getColumn(forarr[j]-1, "execdd");
- var execcarestatcd = objDsxWardDrugListPath.getColumn(forarr[j]-1, "execcarestatcd");
- if( !utlf_isNull(forarr[j]) ){
- if( actingflag == objDsxWardDrugListPath.getColumn(forarr[j]-1, "execcarestatcd") ){
- if(messageactyn == "N"){
- sysf_messageBox("동일한 투약기록을 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messageactyn = "Y";
- }
- }
- /*
- else if((execcarestatcd=="N")&&(execdd!="00000000"&&execdd!=""&&execdd!="-")){
- // 간호사가 발행한 시행부서 처방의 prcpauthflag가 '0'으로 발행되어 임시로 메세지처리로 사용자오류 막기위함(김숙인ITC와 이야기함)_20090630(ByJA)
- messageBox("이미 투약이 된 시행부서처방입니다.\n정보지원팀으로 연락하여 처방내역을 삭제하시기바랍니다.","I");
- }
- */
- else {
- fJudgCheck(pid, indd, cretno, prcpcd, prcpno, execprcpno, execdd, actingflag);
- if (spcldrug == "M" ) {
- sprcphistno = objDsxWardDrugListPath.getColumn(forarr[j]-1, "prcphistno");
- sexecprcpno = objDsxWardDrugListPath.getColumn(forarr[j]-1, "execprcpno");
- sexecprcpuniqno = objDsxWardDrugListPath.getColumn(forarr[j]-1, "execprcpuniqno");
- ds_endsave_endcond.setColumn(0, "prcpdd", prcpdd);
- ds_endsave_endcond.setColumn(0, "prcpno", prcpno);
- ds_endsave_endcond.setColumn(0, "prcphistno", sprcphistno);
- ds_endsave_endcond.setColumn(0, "execprcpno", sexecprcpno);
- ds_endsave_endcond.setColumn(0, "execprcpuniqno", sexecprcpuniqno);
- ds_endsave_endcond.setColumn(0, "instcd", sinstcd);
- ds_endsave_endcond.setColumn(0, "srchflag", "narc");
- //--------(20101105) 경북대 s1
- var sPathEndCond2 = "/root/endsave2/endcond2"; //enddd 확인 결과(조회)
- ds_endsave2_endcond2.setColumn(0, "prcpdd", ds_endsave_endcond.getColumn(0, "prcpdd"));
- ds_endsave2_endcond2.setColumn(0, "prcpno", ds_endsave_endcond.getColumn(0, "prcpno"));
- ds_endsave2_endcond2.setColumn(0, "prcphistno", ds_endsave_endcond.getColumn(0, "prcphistno"));
- ds_endsave2_endcond2.setColumn(0, "execprcpno", ds_endsave_endcond.getColumn(0, "execprcpno"));
- ds_endsave2_endcond2.setColumn(0, "execprcpuniqno", ds_endsave_endcond.getColumn(0, "execprcpuniqno"));
- ds_endsave2_endcond2.setColumn(0, "instcd", ds_endsave_endcond.getColumn(0, "instcd"));
- ds_endsave2_endcond2.setColumn(0, "srchflag", ds_endsave_endcond.getColumn(0, "srchflag"));
- //--------(20101105) 경북대 e1
- var oParam = {};
- oParam.id = "TRMNR00610";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetEndddList";
- oParam.inds = "endcond=ds_endsave_endcond";
- oParam.outds = "ds_endsave_endresult=endresult ds_endsave_narcresult=narcresult";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00610";
- tranf_submit(oParam);
- //--------(20101105) 경북대 s2
- var oParam = {};
- oParam.id = "TRMNR00611";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetEndddList2";
- oParam.inds = "endcond2=ds_endsave2_endcond2";
- oParam.outds = "ds_endsave2_narcresult2=narcresult2";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00611";
- tranf_submit(oParam);
- var snarcstat = ds_endsave2_narcresult2.getColumn(0, "narcstat");
- //--------(20101105) 경북대 e2
- if ( ds_endsave_narcresult.rowcount > 0 ){
- rtnstat = ds_endsave_narcresult.getColumn(0, "rtnstat");
- rtnprcpcd = ds_endsave_narcresult.getColumn(0, "prcpcd");
- }
- }
-
- var sExprBack = group3.grd_druglist.getCellProperty("Body", col, "background").replace("'')", "");
- if ( !utlf_isNull(rtnstat)
- && ( rtnstat == "1" && (actingflag == "N" || actingflag == "P" || actingflag == "I" || objDsxWardDrugListPath.getColumn(forarr[j]-1, "execcarestatcd") == "I")
- || rtnstat == "2" && (actingflag == "N" || actingflag == "P" || actingflag == "I" || objDsxWardDrugListPath.getColumn(forarr[j]-1, "execcarestatcd") == "I"))
- ) {////마약반납확인 후 액팅수정(미확인/투약X-반환가능/투약X-반환불가)불가 정상투약/퇴원당일남은약는 잔량이 수정되지 않으므로 기록수정가능
- // if ( spcldrug == "M" && (actingflag == "N" || actingflag == "P") ){////마약반납확인 후 액팅수정(미확인/투약X-반환가능)불가 정상투약/투약X-반환불가는 잔량이 수정되지 않으므로 기록수정가능
- if ( rtnstat == "1" || utlf_isNull(rtnstat)){
- if (rtnstat == "1" && messagenarcyn == "N"){
- rtnmsg = sysf_messageBox("잔량이 신청된 마약처방이 존재합니다. \n 투약기록 수정시 잔량신청이 취소됩니다. \n 투약기록 ","Q003");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messagenarcyn = "Y";
- }
- if ( (messagenarcyn == "Y" && rtnmsg == "6") ){
- if(actingflag == "P"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", yellowishgreen, row);
- } else if(actingflag == "I"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+red+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", red, row);
- } else if(actingflag == "R"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", yellow, row);
- } else if(actingflag == "L"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", sky, row);
- }else if(actingflag == "N"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", gray, row);
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("carecfactnm" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("carecfactnm" + col, "string");
- }
-
- //주석
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactnm", "");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactcd", "");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfact", "");
- ds_main_warddruginfo_warddruglist.setColumn(row, "carecfactnm" + col, "");
- //flag
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "preantiyn", "N");
- }
- //입력/수정 상태값 변경
- fChangeValueStatus(row, forarr[j]-1);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "execcarestatcd", actingflag);
- //----------(20081211)확인중
- //미확인 또는 예방적항생제(미확인) : 둘다 미확인임으로 투약기록일자/시간정보 clear
- if(actingflag == "N" || actingflag == "M" ){
- //----------(20081211)
- medrexecdd = "00000000";
- medrexectm = "0000";
- } else {
- if( ds_main_cond.getColumn(0, "acttimeflag") == "true" ){
- medrexecdd = ds_main_cond.getColumn(0, "currentday");
- medrexectm = ds_main_cond.getColumn(0, "currenttime");
- //-------------------------------(20080802)
- ////////////alert(medrexectm);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currentflag", "Y");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currentdd", medrexecdd);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currenttm", medrexectm);
- //model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, medrexectm); //현재시간설정여부알림(화면상만)
- //-------------------------------
- } else {
- drugtmspec = objDsxWardDrugListPath.getColumn(forarr[j]-1, "drugtmspeccal");
- //alert("drugtmspec:" + drugtmspec);
- //-------------(20081011)
- //medrexecdd = getDateAddc(prcpdd, parseInt(drugtmspec / 2400)); //처방발생일
- medrexecdd = getDateAddc(prcphopedd, parseInt(drugtmspec / 2400)); //처방희망일
- //-------------(20081011)
- medrexectm = Number(drugtmspec) % 2400;
- medrexectm = fCarec_GetFillZeno(Math.abs(Number(medrexectm)), 4,0);
- //alert("medrexecdd:" + medrexecdd + "/" + medrexectm);
- }
- }
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "medrexecdd", medrexecdd);
- if( !utlf_isNull(medrexectm) ){
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "medrexectm", medrexectm + "00");
- }
- }
- } else if (rtnstat == "2") {
- if(messagenarccnfmyn == "N"){
- sysf_messageBox("마약잔량반납이 완료된 처방이 존재합니다. 약제팀 연락하여 반납확인 취소 후 투약기록 수정","I008");//하십시오
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- messagenarccnfmyn = "Y";
- }
- }
- //---------------(20101105) 경북대
- // 원본
- // rtnstat = 3 : 미신청
- // rtnstat = 4 : 불출
- // } else if ( (rtnstat == "3" && actingflag != "P") || rtnstat == "4" ){
- // if((rtnstat == "3" && actingflag != "P") && messagenarcstat1yn == "N" ){
- // messageBox(rtnprcpcd + " 마약은 불출신청 후 투약기록을 ","C003");//진행하십시오
- // messagenarcstat1yn = "Y";
- //
- // model.setAttribute("Narc_Menu_Param", "");
- // var sParam = sParam = "I,op";
- // model.setAttribute("Narc_Menu_Param", sParam);
- // model.setAttribute("SMADT30400_Fromdd", model.getValue(sPathNarcResult+"/rtnmsgprcpdd"));
- // modal("SMADT30400","1","15","128");
- // model.setAttribute("SMADT30400_Fromdd", "");
- // }
- // if(rtnstat == "4" && messagenarcstat5yn == "N" ){
- // messageBox(rtnprcpcd + " 마약은 부서확인 후 투약기록을 ","C003");//진행하십시오
- // messagenarcstat5yn = "Y";
- //
- // model.setAttribute("Narc_Menu_Param", "");
- // var sParam = sParam = "I,op";
- // model.setAttribute("Narc_Menu_Param", sParam);
- // model.setAttribute("SMADT30400_Fromdd", model.getValue(sPathNarcResult+"/rtnmsgprcpdd"));
- // modal("SMADT30400","1","15","128");
- // model.setAttribute("SMADT30400_Fromdd", "");
- // }
- //20110108_KNUH_Start 셀프마약은 제외하도록한다. + 셀프마약과 파우더 처방인 'P+S' 처방일때도 부서확인 없이 .._ 손성훈.
- } else if ( psydept == "N" && spcldrug == "M" /*&& actingflag == "R"*/ && actingflag != "P" && snarcstat != "6" && sdrughang.indexOf('self') == -1 && sdrughang.indexOf('P+S') == -1 ) {
- // 투약기록은 부서확인이후에 가능하도록 한다.
- // 마약 보유하는 특수부서(수술실, 일일수술실, 마취회복실)은 부서확인 없이 투약기록 가능하도록
- // [투약X 반환가능]일 경우 부서확인 없이 투약기록 가능하도록 수정 2012.12.06 KJS
- if ( sysf_messageBox(" "
- + rtnprcpcd
- + "\n\n 마약은 부서확인 이후 투약기록이 가능합니다."
- + "\n 부서확인을 시행하시겠습니까?"
- + "\n\n※ [정상투약], [투약X-반환불가], [퇴원당일 남은약] : 부서확인 이후 투약 기록 가능 "
- + "\n※ [투약X-반환가능] : 불출되기 전이거나 부서확인 이후 투약 기록 가능", "Q999") == 6 ) {
- messagenarcstat5yn = "Y";
- sysf_setModelAttribute("Narc_Menu_Param", "");
- var sParam = sParam = "I,op";
- sysf_setModelAttribute("Narc_Menu_Param", sParam);
- sysf_setModelAttribute("SMADT30400_Fromdd", ds_endsave_narcresult.getColumn(0, "rtnmsgprcpdd"));
-
- frmf_modal("SMADT30400","SMADT30400",null,null,1,15,128,"","","","","","M");
-
- sysf_setModelAttribute("SMADT30400_Fromdd", "");
- }
- //---------------(20101105) 경북대
- } else if ( psydept == "N" && actingflag == "P" && snarcstat != "1" && snarcstat != "2" && snarcstat != "6" && !utlf_isNull(snarcstat) && sdrughang.indexOf('self') == -1 && sdrughang.indexOf('P+S') == -1 ) {
- if ( sysf_messageBox(" "
- + rtnprcpcd
- + "\n\n 마약이 불출된 이후에는 부서확인을 해야 기록이 가능합니다. "
- + "\n 부서확인을 시행하시겠습니까?"
- + "\n\n※ [정상투약], [투약X-반환불가], [퇴원당일 남은약] : 부서확인 이후 투약 기록 가능 "
- + "\n※ [투약X-반환가능] : 불출되기 전이거나 부서확인 이후 투약 기록 가능", "Q999") == 6 ) {
- messagenarcstat5yn = "Y";
- sysf_setModelAttribute("Narc_Menu_Param", "");
- var sParam = sParam = "I,op";
- sysf_setModelAttribute("Narc_Menu_Param", sParam);
- sysf_setModelAttribute("SMADT30400_Fromdd", ds_endsave_narcresult.getColumn(0, "rtnmsgprcpdd"));
-
- frmf_modal("SMADT30400","SMADT30400",null,null,1,15,128,"","","","","","M");
-
- sysf_setModelAttribute("SMADT30400_Fromdd", "");
- }
- } else {
- if(actingflag == "R"){
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", yellow, row);
- } else if(actingflag == "P") {
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", yellowishgreen, row);
- } else if(actingflag == "I") {
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+red+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", red, row);
- } else if(actingflag == "L") {
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", sky, row);
- //-------------(20081211)
- } else if(actingflag == "N") {
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", gray, row);
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("carecfactnm" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("carecfactnm" + col, "string");
- }
-
- //주석
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactnm", "");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactcd", "");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfact", "");
- ds_main_warddruginfo_warddruglist.setColumn(row, "carecfactnm" + col, "");
- //flag
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "preantiyn", "N");
- } else if(actingflag == "M") {
- var preantimsg = "예방적항생제";
-
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+gray+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellow+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+yellowishgreen+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+red+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+sky+"' : ", "");
- sExprBack = sExprBack.replace("currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ", "");
-
- sExprBack += "currow == "+row+" && self.col == "+col+" ? '"+orange+"' : ";
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+col, "string", orange, row);
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("carecfactnm" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("carecfactnm" + col, "string");
- }
-
- //주석
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactnm", preantimsg);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfactcd", "");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "carecfact", preantimsg);
- ds_main_warddruginfo_warddruglist.setColumn(row, "carecfactnm" + col, preantimsg);
- //flag
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "preantiyn", "Y");
- //-------------(20081211)
- } else {
- }
- //입력/수정 상태값 변경
- fChangeValueStatus(row, forarr[j]-1);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "execcarestatcd", actingflag);
- //----------(20081211)확인중
- //미확인 또는 예방적항생제(미확인) : 둘다 미확인임으로 투약기록일자/시간정보 clear
- if(actingflag == "N" || actingflag == "M" ){
- //----------(20081211)
- medrexecdd = "00000000";
- medrexectm = "0000";
- } else {
- if(ds_main_cond.getColumn(0, "acttimeflag") == "true"){
- medrexecdd = ds_main_cond.getColumn(0, "currentday");
- medrexectm = ds_main_cond.getColumn(0, "currenttime");
- //-------------------------------(20080802)
- ////////////alert(medrexectm);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currentflag", "Y");
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currentdd", medrexecdd);
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "currenttm", medrexectm);
- //model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, medrexectm); //현재시간설정여부알림(화면상만)
- //-------------------------------
- } else {
- drugtmspec = objDsxWardDrugListPath.getColumn(forarr[j]-1, "drugtmspeccal");
- //alert("drugtmspec:" + drugtmspec);
- //-------------(20081011)
- //medrexecdd = getDateAddc(prcpdd, parseInt(drugtmspec / 2400)); //처방발생일
- medrexecdd = getDateAddc(prcphopedd, parseInt(drugtmspec / 2400)); //처방희망일
- //-------------(20081011)
- medrexectm = Number(drugtmspec) % 2400;
- medrexectm = fCarec_GetFillZeno(Math.abs(Number(medrexectm)), 4,0);
- //alert("medrexecdd:" + medrexecdd + "/" + medrexectm);
- }
- }
- //-------------(20080731)test:정상
- ////////////alert("일자----------:" + medrexecdd + "/ 시간:" + medrexectm);
- //-------------(20080731)
- //--------------------------(20080731)TEST중
- //미투약리스트에서 과거를 선택하고 현재시각으로 하면 어떻게 되야 하는건가요?
- //시간대를 읽어서 다시 생성하는 로직
- //--------------------------
- /*
- var tempTimet = "";
- var tempTimej = "";
- if (actingflag == "N") {
- } else {
- if(model.getValue("/root/main/cond/acttimeflag") == "true"){
- //-----------
- var tempforarr = getNodesetCount(xWardDrugListPath + "[" + row + "]/for");
- //////////alert("1:"+ tempforarr+ "/" + forarr[j]);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/drugtmspeccal",medrexectm);
- for(var t = 1; t <= tempforarr; t++){
- //////////alert("2:"+t);
- tempTimej = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + t + "]/drugtmspeccal");
- if (t == tempforarr) {
- tempTimet += tempTimej
- } else {
- tempTimet += tempTimej + " ";
- }
- //////////alert("3:"+tempTimet);
- }
- //////////alert ("시간대:" + tempTimet);
- //-----------
- } else {
- }
- }
- }
- */
- //--------------------------
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "medrexecdd", medrexecdd);
- if( !utlf_isNull(medrexectm) ){
- objDsxWardDrugListPath.setColumn(forarr[j]-1, "medrexectm", medrexectm + "00");
- }
- }//if ( spcldrug == "M" && (actingflag == "N" || actingflag == "P") )
-
- sExprBack += "'')";
-
- for( var m=grd_colcnt ; m<group3.grd_druglist.getCellCount("Body") ; m++ ){
- group3.grd_druglist.setCellProperty("Body", m, "background", "BIND(color"+m+")");//sExprBack);
- group3.grd_druglist.setCellProperty("Body", m, "background2", "BIND(color"+m+")");//sExprBack);
- group3.grd_druglist.setCellProperty("Body", m, "selectbackground", "BIND(color"+m+")");//sExprBack);
- }
-
- }//end if( actingflag == model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd") )
- }//if(forarr[j] != "")
- }//for(var j = 0; j < forarr.length-1; j++)
- } else {
- }//else if(dccomcountyn == "N" && cell_color != "white")
- }
- }
- }
- } //for(var i = 0; i < grd_druglist.selectedCells.length; i++)
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- //-----------(20081121:test) grd_druglist.row = 1;가 있는데, 막고 테스트 진행함)
- //grd_druglist.row = 1;
- //숨겨진필드로 이동한다.
- //grd_druglist.select(grd_druglist.row,grd_druglist.colref("engnm")) = true;
- //grd_druglist.col = grd_druglist.colref("engnm");
- //grd_druglist.select(1,col) = true;
- //-----------(20081121)
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 시간별 일괄 투약(기존Acting이 없을 경우만...)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugAllActing(drugstat, pCol){
- var rows = group3.grd_druglist.rowcount;
- var col = pCol;
- //for(var i = 2; i <= rows-1; i++ ){
- //grd_druglist.select(2, col, rows-1, col) = true; //XP에서 구현 불가능
- //}
-
- //ds_main_warddruginfo_warddruglist.rowposition = 3;
- group3.grd_druglist.setCellPos(pCol);
- group3.grd_druglist.setFocus();
-
- fSetDrug(drugstat, col);
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 내용 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickSave(signflagyn){
- //-------------(20081121)
- toprow = group3.grd_druglist.vscrollbar.pos;
-
- if( group3.swtpatList.tabindex == 0 ){
- toprow2 = group3.swtpatList.pat.grd_patlist.vscrollbar.pos;
- }else{
- toprow2 = group3.swtpatList.act.grd_actlist.vscrollbar.pos;
- }
-
- toprowflag = "Y";
- //-------------(20081121)
- //--------------------------(20080627)
- //상단에 정보가 없이 투약기록을 연다.
- //그러면 투약기록에서 환자선택시 상단으로 올리고
- //저장전에 다시 한번 내린다.
- //-------------------------------------
- //상단정보가 없을경우 인증저장시 오류
- //var signgenrflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- //java.sql.SQLException: ORA-01400: NULL을 ("EMR"."MRIMESPI"."SIGNGENRFLAG") 안에 삽입할 수 없습니다
- //himed.his.emr.emrreclib.elctcert.dao.ElctCertMngtDAOImpl.insElctCertInfo() at line 128 in ElctCertMngtDAOImpl.java
- /*
- var tempioflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- if ( tempioflag == "" ) {
- // 환자정보 조회
- var tempPamInfo = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo",tempPamInfo,"pamlist"); //환자정보내리기
- //messageBox("상단정보가 존재하지 않습니다.저장할 수 없습니다.","E999");
- //return;
- }
- tempioflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- */
- //------------------(20080917)
- //상단정보를 이용하지 않고, 환자리스트에서 ordtype를 이용한다.(20080721)
- /*
- if ( grd_patlist.row <= 0 ) {
- messageBox("환자를 선택하십시오 ","E999");
- return;
- }
- var tempioflag = model.getValue(xWardPatListPath + "[" + grd_patlist.row + "]/ordtype");
- if ( tempioflag == "" ) {
- messageBox("원무정보를 확인하십시오 ","E999");
- return;
- }
- */
- var pGrdTemp = "";
- var temppatlistPath = ""; //0929
- //var xWardPatListPath = "/root/main/wardpatinfo/wardpatlist";
- //var xWardActListPath = "/root/main/wardactinfo/wardactlist";
- if(screen_mode == "pat"){
- pGrdTemp = group3.swtpatList.pat.grd_patlist;
- temppatlistPath = eval(xWardPatListPath); //0929
-
- }else if(screen_mode == "act"){
- pGrdTemp = group3.swtpatList.act.grd_actlist;
- temppatlistPath = eval(xWardActListPath); //0929
- }
- if ( pGrdTemp.currentrow < 0 ) {
- sysf_messageBox("환자를 선택하십시오 ","E999");
- return;
- }
- var tempioflag = temppatlistPath.getColumn(pGrdTemp.currentrow, "ordtype"); //0929
-
- if( ds_main_cond.getColumn(0, "wardcd") == "0000000000" ){
- xOpfromdt = temppatlistPath.getColumn(pGrdTemp.currentrow, "opfromdt");
- }
-
- //////alert( pGrdTemp.caption +"/"+ pGrdTemp.row +"/"+tempioflag ) ; //0924
-
- if( utlf_isNull(tempioflag) ){
- sysf_messageBox("원무정보를 확인하십시오 ","E999");
- return;
- }
- //------------------(20080917)
-
-
- var rows = group3.grd_druglist.rowcount;
- var drugtmspec = "";
- var carebasetmspec = "";
- var tims = "";
- var iudflag = "";
- var inst_cnt = 0;
- var prcpdd = "";
- var prcpno = "";
- var issdeptcd = "";
- var psydept = "";
- var prcphistno = "";
- var execprcpno = "";
- var carertnyn = "";
- var execprcptims = "";
- var pid = "";
- var indd = "";
- var cretno = "";
- var prcpvol = "";
- //20110107_KNUH_Start 김병국
- var drprcpetc7 = "";
- var drprcpetc8 = "";
- //20110107_KNUH_End
- var fluidflag = "";
- var mixno = "";
- var mixyn = "";
- var carecfact = "";
- var carecfactcd = "";
- var carecfactnm = "";
- var carebasedd = "";
- var carebasetm = "";
- var execcarestatcd = "";
- var pastexeccarestatcd = "";
- var prcpcd = "";
- var carebasetmspec = "";
- var execprcpuniqno = "";
- var acttimeflag = ds_main_cond.getColumn(0, "acttimeflag");
- var currentday = ds_main_cond.getColumn(0, "currentday");
- var currenttime = ds_main_cond.getColumn(0, "currenttime");
- var execdd = "";
- var exectm = "";
- var prcpclscd = "";
- var drugrateqty = "";
- var spcldrug = "";
- var signno = "";
- var recdd = utlf_getCurrentDate();
- var rectm = utlf_getCurrentTime();
- var recsaveflag = "N";
- var signflag = "02";
- //---------------------------(20080721)
- //상단정보를 이용하지 않고 환자리스트정보를 이용한다.
- //var signgenrflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- var signgenrflag = tempioflag;
- //---------------------------
- var formcd = "0000002476";
- var orddeptcd = "";
- var orddrid = "";
- var patnm = "";
- var medrexecdd = "";
- var medrexectm = "";
- var prcpkindnm = "";
- var orddrnm = "";
- var prcpnm = "";
- var narcrtnstat = "";
- var narcrtnyn = "N";
- var narcprcpnm = "";
-
- //-----------------(20080802)
- var currentflag = "";
- var currentdd = "";
- var currenttm = "";
- //-----------------(20080802)
-
- //-----------------(20081211)
- var preantiyn = "";
- //-----------------(20081211)
- var antiastrid = "";
-
- //-------------------(20080820)
- //저장전 사전 체크기능
- ds_send_savedata_drugreportinfo.clearData();
-
- //xOpfromdt = "201401061700";
-
- if( !utlf_isNull(xOpfromdt) ){
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
-
- preantiyn = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "preantiyn"));
-
- //if (xDrMode == "Y" && preantiyn == "Y") {
- if (preantiyn == "Y") {
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- iudflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "iudflag"));
- signflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "signflag"));
- medrexecdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexecdd"));
- medrexectm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexectm")).substr(0, 4);
-
- if((iudflag == "I") ||
- (iudflag == "U") ||
- (iudflag == "-" && signflagyn == "Y" && signflag == "N")){//임시저장한 상태에서 수정없이 인증저장하는 경우
-
- // 수술예방적항생제 투여시간 확인 2014.01.06 KJS
- xOpfromdt = utlf_transNullToEmpty(xOpfromdt);
-
- var opfromdd = xOpfromdt.substr(0, 8);
- var opfromtm = xOpfromdt.substr(8, 4);
- var strOpfromdt = opfromdd.substr(0, 4) + "-" + opfromdd.substr(4, 2) + "-" + opfromdd.substr(6, 2) + " "+
- opfromtm.substr(0, 2) + ":" + opfromtm.substr(2, 2);
- var strMedrexecdt = medrexecdd.substr(0, 4) + "-" + medrexecdd.substr(4, 2) + "-" + medrexecdd.substr(6, 2) + " "+
- medrexectm.substr(0, 2) + ":" + medrexectm.substr(2, 2);
-
- if (opfromdd == medrexecdd) {
- var timedif = eval(utlf_getTimeInterval(medrexectm, opfromtm)) / 60;
-
- if (timedif > 60 || timedif < 0) {
- rtnmsg = sysf_messageBox( "수술예방적 항생제 투여시간은 수술시작(절개)시간 전 1시간 이내 투약이 요구됩니다.\r\n\r\n" +
- "수술시작(절개)시간: " + strOpfromdt + "\r\n" +
- "투약기록시간 : " + strMedrexecdt + "\r\n\r\n" +
- "이 시간으로 투약기록을 진행하시겠습니까?", "Q999");
- if (rtnmsg != "6") {
- return;
- }
- }
- } else {
- rtnmsg = sysf_messageBox( "수술예방적 항생제 투여일자가 수술일과 상이합니다.\r\n" +
- "수술예방적 항생제 투여시간은 수술시작(절개)시간 전 1시간 이내 투약이 요구됩니다.\r\n\r\n" +
- "수술시작(절개)시간: " + strOpfromdt + "\r\n" +
- "투약기록시간 : " + strMedrexecdt + "\r\n\r\n" +
- "이 시간으로 투약기록을 진행하시겠습니까?", "Q999");
- if (rtnmsg != "6") {
- return;
- }
- }
- }
- }
- }
- }
- }
-
- //return;
-
- //---------(20081203)
- //for(var i = 1; i < rows; i++){
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- //---------
- narcrtnstat = "";
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- iudflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "iudflag"));
- signflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "signflag"));
- if((iudflag == "I") ||
- (iudflag == "U") ||
- (iudflag == "-" && signflagyn == "Y" && signflag == "N")){//임시저장한 상태에서 수정없이 인증저장하는 경우
-
- //--------------------
- //node에 해당하는 노드 하나만 남기고, 같은 node Name 을 갖는 노드들은 삭제시켜준다.
- //다른 노드들을 삭제시키고 남겨진 노드의 속성이나 value 값은공백으로 세팅이 된다.
- //노드 하나만 남기고 다른 노드들을 삭제하지만,
- //남겨진 하나의 노드에 설정되었던 값들도 삭제되므로 주의해서 사용해야 한다.
-
- //변수로
- carebasetmspec = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec"));
- drugtmspec = carebasetmspec.split(" ");
- prcpdd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd"));
- prcpcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
- prcpno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno"));
- issdept = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "issdept"));
- psydept = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "psydept"));
- carertnyn = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "carertnyn"));
- execprcptims = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "tims"));
- pid = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "pid"));
- indd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "indd"));
- cretno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "cretno"));
- prcpvol = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpvol"));
- drprcpetc7 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drprcpetc7"));
- drprcpetc8 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drprcpetc8"));
- mixno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"));
- prcpclscd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd"));
- drugrateqty = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drugrateqty"));
- spcldrug = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug"));
- orddeptcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddeptcd"));
- orddrid = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddrid"));
- patnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "patnm"));
- prcpkindnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpkindnm"));
- orddrnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddrnm"));
- prcpnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpnm"));
- prcpcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
- narcrtnstat = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "rtnstat"));//마약잔량신청상태
- if ( narcrtnstat == "1" ){
- if ( narcrtnyn == "N" ) {
- narcrtnyn = "Y"
- }
- }
-
- if( utlf_isNull(mixno) ){
- mixyn = "N";
- }else{
- mixyn = "Y";
- }
- prcphistno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "prcphistno"));
- execprcpno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execprcpno"));
- carecfact = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfact"));
- carecfactcd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfactcd"));
- carecfactnm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfactnm"));
- carebasedd = getDateAddc(prcpdd, drugtmspec[j] / 2400);
- carebasetm = fCarec_GetFillZeno(Math.abs(Number(drugtmspec[j]) % 2400), 4,0) + "00";
- execcarestatcd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execcarestatcd"));
- pastexeccarestatcd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "pastexeccarestatcd"));
- execprcpuniqno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execprcpuniqno"));
- signno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "signno"));
- execdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execdd")); //과거실행일자(exip.execdd)
-
- medrexecdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexecdd")); //투약일자
- medrexectm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexectm"));
- //alert(medrexecdd + "/" + medrexectm);
-
-
- //---------------------------(20080802)
- // 현재시간설정정보
- currentflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currentflag")); //현재시간설정flag
- currentdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currentdd")); //현재시간설정시일자
- currenttm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currenttm")); //현재시간설정시시간
- //---------------------------(20080802)
-
- //---------------------------(20081211)
- preantiyn = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "preantiyn")); //예방적항생제
- //---------------------------(20081211)
- antiastrid = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "antiastrid")); //예방적항생제 AST 확인자
-
-
- // 심사기준 점검 2013.09.04 KJS
- //fJudgCheck(pid, indd, cretno, prcpcd, prcpno, execprcpno, execdd, execcarestatcd);
-
- //값 반영
- ds_hidden_drugreportinfo.setColumn(0, "wardcd", ds_main_cond.getColumn(0, "wardcd"));
- ds_hidden_drugreportinfo.setColumn(0, "prcpdd", prcpdd);
- ds_hidden_drugreportinfo.setColumn(0, "prcpno", prcpno);
- ds_hidden_drugreportinfo.setColumn(0, "issdeptcd", issdeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "psydept", psydept);
- ds_hidden_drugreportinfo.setColumn(0, "prcphistno", prcphistno);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpno", execprcpno);
-
- //20110107_KNUH_Start 일회용량, 일회수량 추가.
- ds_hidden_drugreportinfo.setColumn(0, "drprcpetc7", drprcpetc7);
- ds_hidden_drugreportinfo.setColumn(0, "drprcpetc8", drprcpetc8);
- //20110107_KNUH_End
-
- if( utlf_isNull(carertnyn) ){
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", "N");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", carertnyn);
- }
- ds_hidden_drugreportinfo.setColumn(0, "execprcptims", execprcptims);
- ds_hidden_drugreportinfo.setColumn(0, "pid", pid);
- ds_hidden_drugreportinfo.setColumn(0, "indd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "orddd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "signno", signno);
- ds_hidden_drugreportinfo.setColumn(0, "recdd", recdd);
- ds_hidden_drugreportinfo.setColumn(0, "rectm", rectm);
- ds_hidden_drugreportinfo.setColumn(0, "recsaveflag", recsaveflag);
- ds_hidden_drugreportinfo.setColumn(0, "signflag", "02");
- ds_hidden_drugreportinfo.setColumn(0, "signgenrflag", signgenrflag);
- ds_hidden_drugreportinfo.setColumn(0, "formcd", formcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddeptcd", orddeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddrid", orddrid);
- ds_hidden_drugreportinfo.setColumn(0, "cretno", cretno);
- ds_hidden_drugreportinfo.setColumn(0, "prcpvol", prcpvol);
- ds_hidden_drugreportinfo.setColumn(0, "patnm", patnm);
- ds_hidden_drugreportinfo.setColumn(0, "fluidflag", fluidflag);
- ds_hidden_drugreportinfo.setColumn(0, "mixno", mixno);
- ds_hidden_drugreportinfo.setColumn(0, "mixyn", mixyn);
- ds_hidden_drugreportinfo.setColumn(0, "carecfact", carecfact);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactcd", carecfactcd);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactnm", carecfactnm);
- ds_hidden_drugreportinfo.setColumn(0, "carebasedd", carebasedd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetm", carebasetm);
-
- if(execcarestatcd == "N" && pastexeccarestatcd == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", "-");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", execcarestatcd);
- }
- ds_hidden_drugreportinfo.setColumn(0, "prcpcd", prcpcd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetmspec", carebasetmspec);
- ds_hidden_drugreportinfo.setColumn(0, "acttimeflag", acttimeflag);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpuniqno", execprcpuniqno);
-
- //-------------------------------------------
- //현재일자(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currentday", currentday);
- //현재시간(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currenttime", currenttime);
- //-------------------------------------------
-
- ds_hidden_drugreportinfo.setColumn(0, "iudflag", iudflag);
- ds_hidden_drugreportinfo.setColumn(0, "pastexecdd", execdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexecdd", medrexecdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexectm", medrexectm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpclscd", prcpclscd);
- ds_hidden_drugreportinfo.setColumn(0, "drugrateqty", drugrateqty);
- ds_hidden_drugreportinfo.setColumn(0, "spcldrug", spcldrug);
- ds_hidden_drugreportinfo.setColumn(0, "prcpkindnm", prcpkindnm);
- ds_hidden_drugreportinfo.setColumn(0, "orddrnm", orddrnm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpnm", prcpnm);
- ds_hidden_drugreportinfo.setColumn(0, "signflagyn", signflagyn);
- ds_hidden_drugreportinfo.setColumn(0, "rtnstat", narcrtnstat);
- if(iudflag == "-" && signflagyn == "Y" && signflag == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "1");//임시저장 후 인증저장
- }else if(signflagyn == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "0");//임시저장
- }else if(signflagyn == "Y"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "2");//인증저장
- }else{}
- //--------------------------(20081203)
- //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- //건별인증은 dispyn ='N'
- //하단의 일자별인 경우만 보임
- //20081204 APP에서 인증저장시에도 다시 한번 더 반영함
- ds_hidden_drugreportinfo.setColumn(0, "dispyn", "N");
- //--------------------------(20081203)
-
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", ""); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", ""); // 공인인증 처리후 데이터
- //---------------------------(20080802)
- // 현재시간설정정보
- ds_hidden_drugreportinfo.setColumn(0, "currentflag", currentflag); //현재시간설정flag
- ds_hidden_drugreportinfo.setColumn(0, "currentdd", currentdd); //현재시간설정시일자
- ds_hidden_drugreportinfo.setColumn(0, "currenttm", currenttm); //현재시간설정시시간
- //---------------------------(20080802)
-
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "preantiyn", preantiyn); //예방적항생제추가
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "antiastrid", antiastrid);
-
- ds_send_savedata_drugreportinfo.addRow();
- ds_send_savedata_drugreportinfo.copyRow(inst_cnt, ds_hidden_drugreportinfo, 0);
- inst_cnt++;
- }
- }
- // if ( narcrtnstat == "1" ){
- // narcprcpnm += "["+ prcpcd +"]"
- // }
- }
- if(inst_cnt > 0){
- //------------------------------------
- //반환사유확인 후 진행여부 결과 받음
- var endflag = fnEndddSave();
- if ( endflag == false) return;
-
- //------------------------------------
-
- }else{
- sysf_messageBox("저장 할 내용이","I004");
- return;
- }
- //------------------------(20080820)
- //------------------------(20080820)
- //다시 초기화
- currentflag = "";
- currentdd = "";
- currenttm = "";
- inst_cnt = 0;
- //------------------------(20080820)
-
- //------------------------(20081211)
- preantiyn = "N";
- //------------------------(20081211)
-
- //------------------------(20080902)
- var signDates = new Array;
- var signDateCnt = 0;
- var signdispdd = "";
- //------------------------(20080902)
-
- //--------------------------(20080917)
- Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- //--------------------------(20080917)
-
- ds_send_savedata_drugreportinfo.clearData();
-
- //--------------------------(20081203)테스트해야함
-
- //for(var i = 1; i < rows; i++){
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- //--------------------------
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- iudflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "iudflag"));
- signflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "signflag"));
- if((iudflag == "I") ||
- (iudflag == "U") ||
- (iudflag == "-" && signflagyn == "Y" && signflag == "N")){//임시저장한 상태에서 수정없이 인증저장하는 경우
-
- //--------------------
- //node에 해당하는 노드 하나만 남기고, 같은 node Name 을 갖는 노드들은 삭제시켜준다.
- //다른 노드들을 삭제시키고 남겨진 노드의 속성이나 value 값은공백으로 세팅이 된다.
- //노드 하나만 남기고 다른 노드들을 삭제하지만,
- //남겨진 하나의 노드에 설정되었던 값들도 삭제되므로 주의해서 사용해야 한다.
-
- //변수로
- carebasetmspec = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec"));
- drugtmspec = carebasetmspec.split(" ");
- prcpdd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd"));
- prcpcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
- prcpno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno"));
- issdeptcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "issdeptcd"));
- psydept = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "psydept"));
- carertnyn = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "carertnyn"));
- execprcptims = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "tims"));
- pid = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "pid"));
- indd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "indd"));
- cretno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "cretno"));
- prcpvol = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpvol"));
-
- //20110107_KNUH_Start 일회용량, 일회수량추가.
- drprcpetc7 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drprcpetc7"));
- drprcpetc8 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drprcpetc8"));
- //20110107_KNUH_End
- mixno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"));
- prcpclscd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd"));
- drugrateqty = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drugrateqty"));
- spcldrug = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug"));
- orddeptcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddeptcd"));
- orddrid = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddrid"));
- patnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "patnm"));
- prcpkindnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpkindnm"));
- orddrnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "orddrnm"));
- prcpnm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpnm"));
- prcpcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
-
- narcrtnstat = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "rtnstat"));//마약잔량신청상태
- if( utlf_isNull(mixno) ){
- mixyn = "N";
- }else{
- mixyn = "Y";
- }
- prcphistno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "prcphistno"));
- execprcpno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execprcpno"));
- carecfact = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfact"));
- carecfactcd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfactcd"));
- carecfactnm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "carecfactnm"));
- carebasedd = getDateAddc(prcpdd, drugtmspec[j] / 2400);
- carebasetm = fCarec_GetFillZeno(Math.abs(Number(drugtmspec[j]) % 2400), 4,0) + "00";
- execcarestatcd= utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execcarestatcd"));
- pastexeccarestatcd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "pastexeccarestatcd"));
- execprcpuniqno= utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execprcpuniqno"));
- signno = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "signno"));
- execdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "execdd")); //과거실행일자(exip.execdd)
-
- medrexecdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexecdd")); //투약일자
- medrexectm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "medrexectm"));
- //alert(medrexecdd + "/" + medrexectm); //-----1011
-
- //---------------------------(20080802)
- // 현재시간설정정보
- currentflag = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currentflag")); //현재시간설정flag
- currentdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currentdd")); //현재시간설정시일자
- currenttm = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "currenttm")); //현재시간설정시시간
- //---------------------------(20080802)
- //---------------------------(20081211)
- preantiyn = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "preantiyn")); //예방적항생제
- //---------------------------(20081211)
- antiastrid = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "antiastrid")); //예방적항생제 AST 확인자
- //--------------------------(20080902)
- signdispdd = utlf_transNullToEmpty(objDsxWardDrugListPath.getColumn(j, "dispdd")); //화면상의 일자
-
- ////////////alert( "전체loop:" + signdispdd + "/"+ medrexecdd + "/" + currentdd);
- if ( signDates.length == 0) {
- signDateCnt =0;
- signDates[signDateCnt] = "";
- }
- // if (signdayFind(signDates,medrexecdd) == true ) { //------(투약일자)
- // signDateCnt ++;
- // signDates[signDateCnt] = medrexecdd;
- // //////////alert("b:" + signDates[signDateCnt] +"/" + medrexecdd);
- // }
- if (signdayFind(signDates,signdispdd) == true ) { //------(투약일자)
- signDateCnt ++;
- signDates[signDateCnt] = signdispdd;
- ////////////alert("b:" + signDates[signDateCnt] +"/" + signdispdd);
- }
- if (signdayFind(signDates,currentdd) == true ) { //------(현재일자)
- signDateCnt ++;
- signDates[signDateCnt] = currentdd;
- ////////////alert("c:" + signDates[signDateCnt] +"/" + currentdd);
- }
- //--------------------------(20080902)
-
- //값 반영
- ds_hidden_drugreportinfo.setColumn(0, "wardcd", ds_main_cond.getColumn(0, "wardcd"));
- ds_hidden_drugreportinfo.setColumn(0, "rtnstat", narcrtnstat);
-
- ds_hidden_drugreportinfo.setColumn(0, "prcpdd", prcpdd);
- ds_hidden_drugreportinfo.setColumn(0, "prcpno", prcpno);
- ds_hidden_drugreportinfo.setColumn(0, "issdeptcd", issdeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "psydept", psydept);
- ds_hidden_drugreportinfo.setColumn(0, "prcphistno", prcphistno);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpno", execprcpno);
-
- if( utlf_isNull(carertnyn) ){
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", "N");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", carertnyn);
- }
- ds_hidden_drugreportinfo.setColumn(0, "execprcptims", execprcptims);
- ds_hidden_drugreportinfo.setColumn(0, "pid", pid);
- ds_hidden_drugreportinfo.setColumn(0, "indd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "orddd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "signno", signno);
- ds_hidden_drugreportinfo.setColumn(0, "recdd", recdd);
- ds_hidden_drugreportinfo.setColumn(0, "rectm", rectm);
- ds_hidden_drugreportinfo.setColumn(0, "recsaveflag", recsaveflag);
- ds_hidden_drugreportinfo.setColumn(0, "signflag", "02");
- ds_hidden_drugreportinfo.setColumn(0, "signgenrflag", signgenrflag);
- ds_hidden_drugreportinfo.setColumn(0, "formcd", formcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddeptcd", orddeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddrid", orddrid);
- ds_hidden_drugreportinfo.setColumn(0, "cretno", cretno);
- ds_hidden_drugreportinfo.setColumn(0, "prcpvol", prcpvol);
- ds_hidden_drugreportinfo.setColumn(0, "patnm", patnm);
- ds_hidden_drugreportinfo.setColumn(0, "fluidflag", fluidflag);
- ds_hidden_drugreportinfo.setColumn(0, "mixno", mixno);
- ds_hidden_drugreportinfo.setColumn(0, "mixyn", mixyn);
- ds_hidden_drugreportinfo.setColumn(0, "carecfact", carecfact);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactcd", carecfactcd);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactnm", carecfactnm);
- ds_hidden_drugreportinfo.setColumn(0, "carebasedd", carebasedd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetm", carebasetm);
-
- //20110107_KNUH_Start 일회용량, 일회수량추가.
- ds_hidden_drugreportinfo.setColumn(0, "drprcpetc7", drprcpetc7);
- ds_hidden_drugreportinfo.setColumn(0, "drprcpetc8", drprcpetc8);
- //20110107_KNUH_End 일회용량, 일회수량추가.
-
- if(execcarestatcd == "N" && pastexeccarestatcd == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", "-");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", execcarestatcd);
- }
- ds_hidden_drugreportinfo.setColumn(0, "prcpcd", prcpcd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetmspec", carebasetmspec);
- ds_hidden_drugreportinfo.setColumn(0, "acttimeflag", acttimeflag);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpuniqno", execprcpuniqno);
-
- //-------------------------------------------
- //현재일자(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currentday", currentday);
- //현재시간(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currenttime", currenttime);
- //-------------------------------------------
-
- ds_hidden_drugreportinfo.setColumn(0, "iudflag", iudflag);
- ds_hidden_drugreportinfo.setColumn(0, "pastexecdd", execdd);
-
- ds_hidden_drugreportinfo.setColumn(0, "medrexecdd", medrexecdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexectm", medrexectm);
-
- ds_hidden_drugreportinfo.setColumn(0, "prcpclscd", prcpclscd);
- ds_hidden_drugreportinfo.setColumn(0, "drugrateqty", drugrateqty);
- ds_hidden_drugreportinfo.setColumn(0, "spcldrug", spcldrug);
- ds_hidden_drugreportinfo.setColumn(0, "prcpkindnm", prcpkindnm);
- ds_hidden_drugreportinfo.setColumn(0, "orddrnm", orddrnm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpnm", prcpnm);
- ds_hidden_drugreportinfo.setColumn(0, "signflagyn", signflagyn);
- if(iudflag == "-" && signflagyn == "Y" && signflag == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "1");//임시저장 후 인증저장
- }else if(signflagyn == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "0");//임시저장
- }else if(signflagyn == "Y"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "2");//인증저장
- }else{}
- //--------------------------(20080921)
- //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- //건별인증은 dispyn ='N'
- //하단의 일자별인 경우만 보임
- //20081204 APP에서 인증저장시에도 다시 한번 더 반영함
- ds_hidden_drugreportinfo.setColumn(0, "dispyn", "N");
- //--------------------------(20080921)
-
- if(signflagyn == "Y"){
- //----------------(20081112)
- //sign_row = inst_cnt; //저장대상으므로 inst_cnt를 사용하면 안됨
- sign_row = i; //row
-
- sign_saverow = i;
- sign_savecol = j;
- //signdispdd = model.getValue(xWardDrugListPath + "[" + i + "]/for[" + j + "]/dispdd"); //화면상의 일자
- //----------------(20081112)
-
-
- if( utlf_isNull(vsettime) ){
- Sign.certchkflag = "Y";
- } else {
- var res2 = utlf_getTimeInterval(vsettime, utlf_getCurrentTime(), 'hhmmss');
-
- if(res2 > signtime* 60 || res2 < 0) {
- Sign.certchkflag = "Y";
- } else {
- Sign.certchkflag = "N";
- }
-
- }
-
- //-------------(20080924)
- if(Sign.signprocess() == false){//인증저장 데이터 생성
-
- return;
- }
- //------------(20080924)
-
-
- Sign.certreload = false;
-
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", ""); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", ""); // 공인인증 처리후 데이터
- }
- //---------------------------(20080802)
- // 현재시간설정정보
- ds_hidden_drugreportinfo.setColumn(0, "currentflag", currentflag); //현재시간설정flag
- ds_hidden_drugreportinfo.setColumn(0, "currentdd", currentdd); //현재시간설정시일자
- ds_hidden_drugreportinfo.setColumn(0, "currenttm", currenttm); //현재시간설정시시간
- //---------------------------(20080802)
-
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "preantiyn", preantiyn); //예방적항생제
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "antiastrid", antiastrid); //예방적항생제 AST확인자
-
- ds_send_savedata_drugreportinfo.addRow();
- ds_send_savedata_drugreportinfo.copyRow(inst_cnt, ds_hidden_drugreportinfo, 0);
- inst_cnt++;
- }
- }
- }
-
-
- // //alert("중지"); //-----1011
- // return;
-
- //-----------------------(20080820)
- //return;
- //-----------------------(20080820)
- if(inst_cnt > 0){
- ds_hidden_rtnmsg.clearData();
- frmf_setFocus();
-
- vsettime = utlf_getCurrentTime();
-
- dsf_setDefaultVal(ds_send_savedata_drugreportinfo, "all");
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNR00601";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqExeDrugActingInfo";
- oParam.inds = "reqcond=ds_send_savedata_drugreportinfo tempUserInfo=ds_tempuserInfo";
- oParam.outds = "ds_hidden_rtnmsg=rtnmsg";
- oParam.async = false;
- oParam.callback = "cf_TXMNR00601";
- tranf_submit(oParam);
- if( arErrorCode.pop("TXMNR00601") > -1 ){
- var sRtnMsgStat = utlf_transNullToEmpty(ds_hidden_rtnmsg.getColumn(0, "rtnmsgstat"));
-
- if( sRtnMsgStat == "0" || sRtnMsgStat == "5" ){
-
- sysf_messageBox(ds_hidden_rtnmsg.getColumn(0, "rtnmsg"), "C003");//마약 및 향정약은 불출신청 후 투약기록을 , 마약 및 향정약은 부서확인 후 투약기록을
-
- sysf_setModelAttribute("Narc_Menu_Param", "");
- var sParam = sParam = "I,op";
- sysf_setModelAttribute("Narc_Menu_Param", sParam);
- sysf_setModelAttribute("SMADT30400_Fromdd", ds_hidden_rtnmsg.getColumn(0, "rtnmsgprcpdd"));
-
- frmf_modal("SMADT30400","SMADT30400",null,"",1,15,128,"","","","","","M");
-
- sysf_setModelAttribute("SMADT30400_Fromdd", "");
- }else if ( sRtnMsgStat.substring(0,3) == "emc" ){
-
- sysf_messageBox(ds_hidden_rtnmsg.getColumn(0, "rtnmsg"),"C003");//경구,외용은 투약신청이나 선처치지정후 투약기록을
-
- var sPatInfo = ds_main_paminfo_pamlist.getColumn(0, "pid")+"▦"
- + ds_main_paminfo_pamlist.getColumn(0, "indd")+"▦"
- + ds_main_paminfo_pamlist.getColumn(0, "cretno")+"▦"
- + "om▦"
- + sRtnMsgStat.substring(3)+"▩";
- frmf_setParameter("SMMNE001_Param",sPatInfo);
-
- frmf_modal("SMMNE00100","SMMNE00100",null,"","","","","","","","","","M");
-
- }else {
- //-----------------------------------------------(20080901)
- // 투약기록을 일자별로 XLST를 만들기 위해서
- //java.sql.SQLException: ORA-01400: NULL을 ("EMR"."MRIMESPI"."SIGNGENRFLAG") 안에 삽입할 수 없습니다
- //himed.his.emr.emrreclib.elctcert.dao.ElctCertMngtDAOImpl.insElctCertInfo() at line 128 in ElctCertMngtDAOImpl.java
- //오류로 임시로막음
- //-----------------------------------------------
- ////////alert("test");
- //--------------------------(20080917)
- //Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- //--------------------------(20080917)
-
-
- fnWorkddSign(signDates);
-
- //-----------------------------------------------(20080901)
- // messageBox("성공적으로","I001"); // [TASK번호:37895, 요청번호:8895] 투약기록후 저장완료 메시지 삭제_20091027(ByJA)
- }
- }
-
- fClickDrugListBefore(); //------------(20081031)
- if(screen_mode == "pat"){
- fClickDrugList(screen_mode, group3.swtpatList.pat.grd_patlist.currentrow);
- }else if(screen_mode == "act"){
- fClickDrugList(screen_mode, group3.swtpatList.act.grd_actlist.currentrow);
- fGetActList();
- fSetActTopInfo();
- }else{}
- fClickDrugListAfter(); //------------(20081031)
-
- }else{
- sysf_messageBox("저장 할 내용이","I004");
- return;
- }
-
- //-----------------------(20080819)
- //저장한후 현재시각을 초기화 한다.
- ds_main_cond.setColumn(0, "acttimeflag", "");
- ds_main_cond.setColumn(0, "currentday", "");
- ds_main_cond.setColumn(0, "currenttime", "");
-
- //-----------------------(20080819)
-
- if( group3.swtpatList.tabindex == 0 ){
- group3.swtpatList.pat.grd_patlist.vscrollbar.pos = toprow2;
- }else{
- group3.swtpatList.act.grd_actlist.vscrollbar.pos = toprow2;
- }
-
- }
- function cf_TXMNR00601(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //------------------------------------------(20080902)
- function fnWorkddSign(signDates) {
- //-----------------------------------------------(20080901)
- // 투약기록을 일자별로 XLST를 만들기 위해서
- //-----------------------------------------------
- var sPathSign = ds_signinfo_reqsigncond;
-
- //----------------------(20081012)
- var pGrd = group3.swtpatList.pat.grd_patlist;
- var pPath = ds_main_wardpatinfo_wardpatlist;
-
- if(screen_mode == "act"){
- pGrd = group3.swtpatList.act.grd_actlist;
- pPath = ds_main_wardactinfo_wardactlist;
- }
- //----------------------(20081012)
- var signDate = "";
-
- for( var i=0 ; i<signDates.length ; i++ ){
- signDate = "" + signDates[i];
-
- if( !utlf_isNull(signDate) ){
- signDate = signDate.replace("-","");
-
- var spid = pPath.getColumn(pGrd.currentrow, "pid"); //등록번호 (필수)
- var sinstcd = "";//model.getValue("/root/main/wardpatinfo/wardpatlist/instcd"); //기관코드 (사용X)
- var sindd = pPath.getColumn(pGrd.currentrow, "indd"); //입원일자 (필수)
- var scretno = pPath.getColumn(pGrd.currentrow, "cretno");//생성번호 (사용X)
- var sprcpdd = ""; //처방일자 (PRN시 필수)
- var sprcpno = ""; //처방번호 (확인사항)
- var sworkdd = signDate; //model.getValue("/root/main/cond/orddd"); //투약일(일자그룹일때만 (필수)
- var slistflag = "90"; //작업구분 (필수)
- var snursnm = sysf_getUserName(); //간호사명추가 (필수)
- var shngnm = pPath.getColumn(pGrd.currentrow, "patnm"); //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
-
- sPathSign.setColumn(0, "pid", spid); //desc="등록번호"
- sPathSign.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- sPathSign.setColumn(0, "indd", sindd); //desc="입원일자"
- sPathSign.setColumn(0, "cretno", scretno); //desc="생성번호"
- sPathSign.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- sPathSign.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- sPathSign.setColumn(0, "workdd", sworkdd); //desc="투약일"
- sPathSign.setColumn(0, "listflag", slistflag); //desc="작업구분"
- sPathSign.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- sPathSign.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- sPathSign.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- sPathSign.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
-
- var pFlag = "Drug"; //저장구분 (Drug : 투약기록)
- var pNode1 = "ds_signinfo_reqsigncond"; //조회할 조건 PATH(의미없음)
- var pNode2 = "ds_signinfo_signdruginfo_signdruglist"; //Return 리스트 PATH
-
- var pIoflag = pPath.getColumn(pGrd.currentrow, "ordtype"); //---(20080917)
-
- fCare_SignNode(pFlag, pNode1, pNode2,spid,sindd,scretno,pIoflag);
- //fCare_SignNode(pFlag, pNode1, pNode2, pPid, pIndd, pCretno, pIoflag){
- }
- }
- }
- //------------------------------------------(20080902)
- /**
- * @group :
- * @ver : 2007.12.15
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 인증데이터 생성 함수
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //------투약기록용
- function fMake_SignData(){
-
- /*
- <signinfo>
- <signdata>
- <pid>29953</pid>
- <hngnm>T입0820</hngnm>
- <prcpdd>20080821</prcpdd>
- <execdd>20080821</execdd>
- <prcpkindnm/>
- <prcpmixno/>
- <prcpcd>DSSL500</prcpcd>
- <prcpnm>Disal tab. 500mg (Salsalate)</prcpnm>
- <prcpvolnm>1500mg</prcpvolnm>
- <prcpqtynm>3T</prcpqtynm>
- <abbrnm>PO</abbrnm>
- <exectm>130000</exectm>
- <nursnm>김보성</nursnm>
- <execcarestatnm>정상투약</execcarestatnm>
- <carecfactnm> </carecfactnm>
- <orddrnm>김만수</orddrnm>
- </signdata>
- </signinfo>
- */
-
- var execcarestatcd = ds_hidden_drugreportinfo.getColumn(0, "execcarestatcd");
- var medrexecdd = ds_hidden_drugreportinfo.getColumn(0, "medrexecdd");
- var medrexectm = ds_hidden_drugreportinfo.getColumn(0, "medrexectm");
-
- //이윤주 수정
-
- if (signgbn == "Z") {
- //테스트
- }
- else {
-
-
-
- //----------------------(20081112)
- //var prcpvol = grd_druglist.labelMatrix((sign_row+1), 5);
- //var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), 6);
- //var prcpqty = grd_druglist.labelMatrix((sign_row+1), 7);
- //var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), 8);
-
- //var prcpvol = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpvol"));
- //var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpvolunitflag"));
- //var prcpqty = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpqty"));
- //var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpqtyunitflag"));
- //var prcptims = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcptims"));
-
- //소숫점3자리에서 반올림
- //prcptims = prcptims.replace("#","");
- //prcpvol = fnRound(prcpvol/prcptims,3);
- //prcpqty = fnRound(prcpqty/prcptims,3);
-
- var objDsxWardDrugListPath = eval(xWardDrugListPath+sign_saverow+"for");
-
- var prcpvol = objDsxWardDrugListPath.getColumn(sign_savecol, "execprcpvol");
- //var drprcpetc7 = model.getValue(xWardDrugListPath + "[" + sign_saverow + "]/for[" + sign_savecol + "]/drprcpetc7");
- var prcpvolunitflag = group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "prcpvolunitflag"));
- var prcpqty = objDsxWardDrugListPath.getColumn(sign_savecol, "execprcpqty");
- //var drprcpetc8 = model.getValue(xWardDrugListPath + "[" + sign_saverow + "]/for[" + sign_savecol + "]/drprcpetc8");
- var prcpqtyunitflag = group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "prcpqtyunitflag"));
-
- //alert( prcpvol + "/" + prcpvolunitflag + "/" + prcpqty + "/" +prcpqtyunitflag);
- //----------------------(20081112)
-
- ds_send_signinfo_signdata.setColumn(0, "pid", ds_hidden_drugreportinfo.getColumn(0, "pid"));
- ds_send_signinfo_signdata.setColumn(0, "hngnm", ds_hidden_drugreportinfo.getColumn(0, "patnm"));
- ds_send_signinfo_signdata.setColumn(0, "prcpdd", ds_hidden_drugreportinfo.getColumn(0, "prcpdd")); //처방일자
-
- if(medrexecdd == "00000000"){ //투약일자
- ds_send_signinfo_signdata.setColumn(0, "execdd", "");
- }else{
- ds_send_signinfo_signdata.setColumn(0, "execdd", medrexecdd);
- }
- /*
- ,CASE WHEN a.careprnexecflag = 'P' THEN 'PRN' ELSE '' END || ' ' ||
- CASE WHEN a.anticncrprtlno <> 0 THEN '항암' ELSE '' END || ' ' ||
- CASE WHEN a.dccountyn = 'Y' AND a.selfdrugflag = 'Y' THEN 'self D/C'
- WHEN a.dccountyn = 'Y' then 'D/C'
- WHEN a.selfdrugflag = 'Y' then 'self'
- END prcpkindnm
- //처방종류명 (다른업무에서 투약기록관련인증정보를 생성시 어려운 항목
- */
- ds_send_signinfo_signdata.setColumn(0, "prcpkindnm", ds_hidden_drugreportinfo.getColumn(0, "prcpkindnm"));
- ds_send_signinfo_signdata.setColumn(0, "prcpmixno", ds_hidden_drugreportinfo.getColumn(0, "mixno")); //MIXNO
- ds_send_signinfo_signdata.setColumn(0, "prcpcd", ds_hidden_drugreportinfo.getColumn(0, "prcpcd")); //처방코드
- ds_send_signinfo_signdata.setColumn(0, "prcpnm", ds_hidden_drugreportinfo.getColumn(0, "prcpnm")); //처방명
-
- //20110107_KNUH_Start김병국
- //model.makeValue("/root/send/signinfo/signdata/prcpvolnm", drprcpetc7 + prcpvolunitflag); //용량단위명칭(용량+용량단위명칭)
- //model.makeValue("/root/send/signinfo/signdata/prcpqtynm", drprcpetc8 + prcpvolunitflag); //용량단위명칭(용량+용량단위명칭)
- //20110107_KNUH_End김병국
-
- ds_send_signinfo_signdata.setColumn(0, "prcpvolnm", prcpvol + prcpvolunitflag); //용량단위명칭(용량+용량단위명칭)
- ds_send_signinfo_signdata.setColumn(0, "prcpqtynm", prcpqty + prcpqtyunitflag); //수량단위명칭(수량+수량단위명칭)
-
- //투여방법약어명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- //-----------------(20081112)
- //model.makeValue("/root/send/signinfo/signdata/abbrnm", grd_druglist.labelMatrix((sign_row+1), 10));
- ds_send_signinfo_signdata.setColumn(0, "abbrnm", group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "abbrnm")));
- //-----------------
-
- if(medrexectm == "000000"){ //투약시간
- ds_send_signinfo_signdata.setColumn(0, "exectm", "");
- }else{
- ds_send_signinfo_signdata.setColumn(0, "exectm", medrexectm);
- }
- ds_send_signinfo_signdata.setColumn(0, "nursnm", sysf_getUserName()); //간호사명칭
- if( utlf_isNull(execcarestatcd) ){
- execcarestatcd = "N";
- }
- //미확인,정상투약,투약X-반환가능,투약X-반환불가,퇴원당일남은약
- //(다른업무에서 투약기록관련인증정보를 생성시 정상투약,)
- ds_send_signinfo_signdata.setColumn(0, "execcarestatnm", ds_hidden_actmenu_menu.getColumn(ds_hidden_actmenu_menu.findRow("cd", execcarestatcd), "nm"));
- //간호사REMARK CODE에 대한 REMARK 명칭((다른업무에서 투약기록관련인증정보를 생성시 공백)
- ds_send_signinfo_signdata.setColumn(0, "carecfactnm", ds_hidden_drugreportinfo.getColumn(0, "carecfactnm"));
- //진료의명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- ds_send_signinfo_signdata.setColumn(0, "orddrnm", ds_hidden_drugreportinfo.getColumn(0, "orddrnm"));
-
- Sign.addnode("/signdata", ds_send_signinfo_signdata.saveXML());
-
- //Sign.signedInfos[1] 는 없음
- ////////////alert("fmake_signdata"+ Sign.signedInfos[1] );
- }
- }
- //----------투약기록-INTERFACE용 (test완료)
- //TEST용
- //function fMake_SignData_interface(){
- //
- // //////////alert("fMake_SignData---------시작");
- // /*
- // <signinfo>
- // <signdata>
- // <pid>29953</pid>
- // <hngnm>T입0820</hngnm>
- // <prcpdd>20080821</prcpdd>
- // <execdd>20080821</execdd>
- // <prcpkindnm/>
- // <prcpmixno/>
- // <prcpcd>DSSL500</prcpcd>
- // <prcpnm>Disal tab. 500mg (Salsalate)</prcpnm>
- // <prcpvolnm>1500mg</prcpvolnm>
- // <prcpqtynm>3T</prcpqtynm>
- // <abbrnm>PO</abbrnm>
- // <exectm>130000</exectm>
- // <nursnm>김보성</nursnm>
- // <execcarestatnm>정상투약</execcarestatnm>
- // <carecfactnm> </carecfactnm>
- // <orddrnm>김만수</orddrnm>
- // </signdata>
- // </signinfo>
- // */
- //
- // var ssigndruglist = "/root/signinfo/signdruginfo/signdruglist";
- //
- // var spid = model.getValue(ssigndruglist + "[" + sSignRow + "]/pid");
- // var shngnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/hngnm");
- // var sprcpdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpdd");
- // var sexecdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/execdd");
- // /*
- // ,CASE WHEN a.careprnexecflag = 'P' THEN 'PRN' ELSE '' END || ' ' ||
- // CASE WHEN a.anticncrprtlno <> 0 THEN '항암' ELSE '' END || ' ' ||
- // CASE WHEN a.dccountyn = 'Y' AND a.selfdrugflag = 'Y' THEN 'self D/C'
- // WHEN a.dccountyn = 'Y' then 'D/C'
- // WHEN a.selfdrugflag = 'Y' then 'self'
- // END prcpkindnm
- // //처방종류명 (다른업무에서 투약기록관련인증정보를 생성시 어려운 항목
- // */
- // var sprcpkindnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpkindnm");
- // var sprcpmixno = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpmixno");
- // var sprcpcd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpcd");
- // var sprcpnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpnm");
- // var sprcpvolnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpvolnm");
- // var sprcpqtynm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpqtynm");
- // var sabbrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/abbrnm");
- // var sexectm = model.getValue(ssigndruglist + "[" + sSignRow + "]/exectm");
- // var snursnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/nursnm");
- // var sexeccarestatnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/execcarestatnm");
- // var scarecfactnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/carecfactnm");
- // var sorddrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/orddrnm");
- //
- // model.resetInstanceNode("/root/send/signinfo/signdata");
- // model.makeValue("/root/send/signinfo/signdata/pid", spid );
- // model.makeValue("/root/send/signinfo/signdata/hngnm", shngnm );
- // model.makeValue("/root/send/signinfo/signdata/prcpdd", sprcpdd ); //처방일자
- //
- // if(sexecdd == "00000000"){ //투약일자
- // model.makeValue("/root/send/signinfo/signdata/execdd", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/execdd", sexecdd);
- // }
- //
- // model.makeValue("/root/send/signinfo/signdata/prcpkindnm", sprcpkindnm );
- // model.makeValue("/root/send/signinfo/signdata/prcpmixno", sprcpmixno ); //MIXNO
- //
- // model.makeValue("/root/send/signinfo/signdata/prcpcd", sprcpcd ); //처방코드
- // model.makeValue("/root/send/signinfo/signdata/prcpnm", sprcpnm ); //처방명
- // model.makeValue("/root/send/signinfo/signdata/prcpvolnm", sprcpvolnm ); //용량단위명칭(용량+용량단위명칭)
- // model.makeValue("/root/send/signinfo/signdata/prcpqtynm", sprcpqtynm ); //수량단위명칭(수량+수량단위명칭)
- // //투여방법약어명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- // model.makeValue("/root/send/signinfo/signdata/abbrnm", sabbrnm );
- //
- // if(sexectm == "000000"){ //투약시간
- // model.makeValue("/root/send/signinfo/signdata/exectm", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/exectm", sexectm);
- // }
- // model.makeValue("/root/send/signinfo/signdata/nursnm", snursnm); //간호사명칭
- // if(sexeccarestatnm == "") sexeccarestatnm = "N";
- //
- // //미확인,정상투약,투약X-반환가능,투약X-반환불가,퇴원당일남은약
- // //(다른업무에서 투약기록관련인증정보를 생성시 정상투약,)
- // model.makeValue("/root/send/signinfo/signdata/execcarestatnm", sexeccarestatnm);
- // //간호사REMARK CODE에 대한 REMARK 명칭((다른업무에서 투약기록관련인증정보를 생성시 공백)
- // model.makeValue("/root/send/signinfo/signdata/carecfactnm", scarecfactnm);
- // //진료의명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- // model.makeValue("/root/send/signinfo/signdata/orddrnm", sorddrnm);
- // //--------------------------(20080902)
- // //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- // //건별인증은 dispyn ='N'
- // model.makeValue("/root/send/signinfo/signdata/dispyn", "N");
- // //--------------------------(20080902)
- //
- // Sign.addnode("/root/send/signinfo/signdata");
- // //////////alert("fMake_SignData---------종료");
- // //Sign.signedInfos[1] 는 없음
- // ////////////alert("fmake_signdata"+ Sign.signedInfos[1] );
- //}
-
- //원본(20080825)
- //function fMake_SignData_OLD(){
- //
- // var execcarestatcd = model.getValue("/root/hidden/drugreportinfo/execcarestatcd");
- // var medrexecdd = model.getValue("/root/hidden/drugreportinfo/medrexecdd");
- // var medrexectm = model.getValue("/root/hidden/drugreportinfo/medrexectm");
- // var prcpvol = grd_druglist.labelMatrix((sign_row+1), 5);
- // var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), 6);
- // var prcpqty = grd_druglist.labelMatrix((sign_row+1), 7);
- // var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), 8);
- // model.resetInstanceNode("/root/send/signinfo/signdata");
- // model.makeValue("/root/send/signinfo/signdata/pid", model.getValue("/root/hidden/drugreportinfo/pid"));
- // model.makeValue("/root/send/signinfo/signdata/hngnm", model.getValue("/root/hidden/drugreportinfo/patnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpdd", model.getValue("/root/hidden/drugreportinfo/prcpdd"));
- // if(medrexecdd == "00000000"){
- // model.makeValue("/root/send/signinfo/signdata/execdd", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/execdd", medrexecdd);
- // }
- // model.makeValue("/root/send/signinfo/signdata/prcpkindnm", model.getValue("/root/hidden/drugreportinfo/prcpkindnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpmixno", model.getValue("/root/hidden/drugreportinfo/mixno"));
- // model.makeValue("/root/send/signinfo/signdata/prcpcd", model.getValue("/root/hidden/drugreportinfo/prcpcd"));
- // model.makeValue("/root/send/signinfo/signdata/prcpnm", model.getValue("/root/hidden/drugreportinfo/prcpnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpvolnm", prcpvol + prcpvolunitflag);
- // model.makeValue("/root/send/signinfo/signdata/prcpqtynm", prcpqty + prcpqtyunitflag);
- // model.makeValue("/root/send/signinfo/signdata/abbrnm", grd_druglist.labelMatrix((sign_row+1), 10));
- // if(medrexectm == "000000"){
- // model.makeValue("/root/send/signinfo/signdata/exectm", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/exectm", medrexectm);
- // }
- // model.makeValue("/root/send/signinfo/signdata/nursnm", getUserName());
- // if(execcarestatcd == ""){
- // execcarestatcd = "N";
- // }
- // model.makeValue("/root/send/signinfo/signdata/execcarestatnm", model.getValue("/root/hidden/actmenu/menu[cd ='" + execcarestatcd + "']/nm"));
- // model.makeValue("/root/send/signinfo/signdata/carecfactnm", model.getValue("/root/hidden/drugreportinfo/carecfactnm"));
- // model.makeValue("/root/send/signinfo/signdata/orddrnm", model.getValue("/root/hidden/drugreportinfo/orddrnm"));
- // Sign.addnode("/root/send/signinfo/signdata");
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미투약 환자 리스트 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetActList(){
- var pid = "";
- var indd = "";
- var cretno = "";
- var comppid = "";
- var compprcpdd = "";
- var prcptims = "";
- var prcpdd = "";
- var row = -1;
- var drugtmspec = "";
- var calcdate = "";
- var prcpdd_Array = new Array;
- var pid_Array = new Array;
- var cnt = 1;
- if( group3.swtpatList.act.grd_actlist.currentrow > -1 ){
- pid = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "pid");
- indd = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "indd");
- cretno = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "cretno");
- prcpdd = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "prcpdd");
- }
- // model.resetInstanceNode("/root/send/reqdata");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- if( ds_main_cond.getColumn(0, "wardcd") == spcldept ){
- ds_send_reqdata.setColumn(0, "spclyn", "Y");
- group3.swtpatList.act.grd_actlist.setFormatColProperty(group3.swtpatList.act.grd_actlist.getBindCellIndex("body", "existyn"), "size", 20);
- } else {
- group3.swtpatList.act.grd_actlist.setFormatColProperty(group3.swtpatList.act.grd_actlist.getBindCellIndex("body", "existyn"), "size", 0);
- }
-
- ds_main_warddruginfo_warddruglist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNR00605";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWardActList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_wardactinfo_wardactlist=wardactlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00605";
- tranf_submit(oParam);
-
- for( var i=0 ; i<ds_main_wardactinfo_wardactlist.rowcount ; i++ ){
- if( pid == ds_main_wardactinfo_wardactlist.getColumn(i, "pid") &&
- indd == ds_main_wardactinfo_wardactlist.getColumn(i, "indd") &&
- cretno == ds_main_wardactinfo_wardactlist.getColumn(i, "cretno") &&
- prcpdd == ds_main_wardactinfo_wardactlist.getColumn(i, "prcpdd") ){
- row = i;
- }
- }
- ds_main_wardactinfo_wardactlist.rowposition = row;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약카드 출력(A2:경구, A4:외용, A61:주사, A60:수액)
- * @param : sLineFlag : "Y" - 투약worklist에서 호출 시 투약카드에 점선기능 추가
- * @return :
- * @---------------------------------------------------
- */
- function fClickDrugPrint(sLineFlag){
- ds_send_medicard_warddruglist.clearData();
- //model.makeNode("/root/send/medicard");
- var prt_row = ds_temp.getColumn(0, "row");
- var prt_col = ds_temp.getColumn(0, "col");
- if( utlf_isNull(prt_row) || prt_row > 4){
- sysf_messageBox("1 ~ 4줄만 입력할수 있습니다.","I999");
- return;
- }
- if( utlf_isNull(prt_col) || prt_col > 4 ){
- sysf_messageBox("1 ~ 4 칸만 입력할수 있습니다.","I999");
- return;
- }
- var rows = group3.grd_druglist.rowcount;
- var prcpclscd = "";
- var prcptims = "";
- var mthdcd = "";
- var prcpmixno = "";
- var drugbasetmspec = "";
- var viewroomcd = ""; //20090629
- var todaydrug = ""; //20090629
- var medicardcnt = 1;//경구
- //var medicardcnt5 = 1;//주사
- //var medicardcnt7 = 1;//외용
- var prtTims_Array = new Array;
- var prtMthd_Array = new Array;
- var prtBaseTims_Array = new Array;
- var prtMix_Array = new Array;
- var k=0;
- //model.removeNodeSet("/root/send/medicard");
-
- //model.makeNode("/root/send/medicard/warddruglist");
-
- for( var i=0 ; i<rows ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "check") == "1" ){
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- mthdcd = ds_main_warddruginfo_warddruglist.getColumn(i, "mthdcd");
- prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- drugbasetmspec = ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec");
- viewroomcd = group3.caption57.value; //20090629
- todaydrug = ds_main_warddruginfo_warddruglist.getColumn(i, "todaydrug"); //20090629
-
- if(todaydrug == "Y"){ // 조회당일 화면에 표시된것만_20090629
- if(prcpclscd == "A2"){//경구
- if(isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd) == -1){
- prtBaseTims_Array[medicardcnt] = drugbasetmspec;
- prtMthd_Array[medicardcnt] = mthdcd;
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }else{
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd));
- }
- }
-
- //if(prcpclscd == "A60" || prcpclscd == "A61"){//주사
- if(prcpclscd == "A60"){//주사_의정부간호사 이언희선생님 요청으로 수액제외함_20090529(ByJA)
- if( utlf_isNull(prcpmixno) || isSearchArrayIndex(prtMix_Array, prcpmixno) == -1){
- prtMix_Array[medicardcnt] = prcpmixno;
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }else{
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", isSearchArrayIndex(prtMix_Array, prcpmixno));
- }
- }
-
- if(prcpclscd == "A4"){//외용
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }
- }
-
- // 투약카드 출력 시 사용
- var drugtmspect = "";
- var drugtmspectime = "";
- var tmpdrugtmspect = "";
- var drugtmspectlist = "";
- var tims = "";
- var space;
- drugtmspect = ds_main_warddruginfo_warddruglist.getColumn(i, "drugtmspec_recalc1"); // drugbasetmspec
- drugtmspect = drugtmspect.split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
-
- // 횟수별 시간공백지정
- if(tims < 4){
- space = " ";
- }else{
- space = " ";
- }
-
- // Sort기능
- var tempmin=0, tempmax=0;
- for( var j=1 ; j<drugtmspect.length ; j++ ){
- if(Number(drugtmspect[j-1]) > Number(drugtmspect[j])){
- tempmin = drugtmspect[j];
- drugtmspect[j] = drugtmspect[j-1];
- drugtmspect[j-1] = tempmin;
- }
- }
- for( var j=0 ; j<drugtmspect.length ; j++ ){
- if(Number(drugtmspect[j]) > Number(drugtmspect[j+1])){
- tempmax = drugtmspect[j];
- drugtmspect[j] = drugtmspect[j+1];
- drugtmspect[j+1] = tempmax;
- }
- }
-
- for( var j=0 ; j<drugtmspect.length ; j++ ){
- if( !utlf_isNull(drugtmspect[j]) ){
- tmpdrugtmspect = Number(drugtmspect[j]);
- if(tmpdrugtmspect > 1200){
- if(tmpdrugtmspect >= 1300){
- tmpdrugtmspect = tmpdrugtmspect - 1200;
- }
- if(tmpdrugtmspect < 1000){
- tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
- }
- if(String(tmpdrugtmspect).substr(2,2) == "00"){
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "P" + space;
- }else{
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "P" + space;
- }
- }else if(tmpdrugtmspect <= 1200){
- if(tmpdrugtmspect < 1000){
- tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
- }
- if(String(tmpdrugtmspect).substr(2,2) == "00"){
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "A" + space;
- }else{
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "A" + space;
- }
- }
- }
- ds_main_warddruginfo_warddruglist.setColumn(i, "tempdrugtmspeccal", drugtmspectime);
- } // end for 투약카드
- /*
- grd_drugprt.addRow();
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/last" , medicardcnt-1);
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/row" , model.getValue("/root/temp/row"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/col" , model.getValue("/root/temp/col"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/roomcd" , model.getValue(xWardDrugListPath+"["+i+"]/roomcd"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/pid" , model.getValue(xWardDrugListPath+"["+i+"]/pid"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/patnm" , model.getValue(xWardDrugListPath+"["+i+"]/patnm"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/sexage" , model.getValue(xWardDrugListPath+"["+i+"]/sexage"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcpcd" , model.getValue(xWardDrugListPath+"["+i+"]/prcpcd"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcpvol" , model.getValue(xWardDrugListPath+"["+i+"]/prcpvol"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcpvolunitflag" , model.getValue(xWardDrugListPath+"["+i+"]/prcpvolunitflag"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcpqty" , model.getValue(xWardDrugListPath+"["+i+"]/prcpqty"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcpqtyunitflag" , model.getValue(xWardDrugListPath+"["+i+"]/prcpqtyunitflag"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prcptims" , model.getValue(xWardDrugListPath+"["+i+"]/prcptims"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/tempdrugtmspeccal", model.getValue(xWardDrugListPath+"["+i+"]/tempdrugtmspeccal"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/abbrnm" , model.getValue(xWardDrugListPath+"["+i+"]/abbrnm"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/prtabbrnm" , model.getValue(xWardDrugListPath+"["+i+"]/prtabbrnm"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/soding" , model.getValue(xWardDrugListPath+"["+i+"]/soding"));
- model.makeValue("/root/send/medicard/warddruglist["+k+"]/astyn" , model.getValue(xWardDrugListPath+"["+i+"]/astyn"));
- k++;
- */
- } // end if check
- } // end for
- // 원본
- /*
- for(var j = 1; j < rows; j++){
- model.makeValue(xWardDrugListPath + "[" + j + "]/last" , medicardcnt-1);
- model.makeValue(xWardDrugListPath + "[" + j + "]/row" , model.getValue("/root/temp/row"));
- model.makeValue(xWardDrugListPath + "[" + j + "]/col" , model.getValue("/root/temp/col"));
- model.makeValue(xWardDrugListPath + "[" + j + "]/sLineFlag" , sLineFlag); // 20090629
- //model.makeValue(xWardDrugListPath + "[" + j + "]/viewroomcd" , model.getValue("/root/main/cond/roomcd")); // 원본_20090629
- model.makeValue(xWardDrugListPath + "[" + j + "]/viewroomcd" , viewroomcd); // 20090629
- model.makeNode("/root/send/medicard");
- if(model.getValue("/root/main/warddruginfo/warddruglist[" + j + "]/check") =="true") {
- model.duplicate("/root/send/medicard", "/root/main/warddruginfo/warddruglist[" + j + "]");
- }
- }
- */
-
-
- /** <addon>
- *개발일시: 2010.05.28
- *개발자: 양천덕
- *요청병원: 세종병원
- *요청파트: 간호
- *개발내용: 투약라벨 출력형식 변경 및 오류 수정 처리
- </addon>
- */
- for( var InsSoding=0 ; InsSoding<=medicardcnt ; InsSoding++ ){
- for( var j=0 ; j<rows ; j++ ){
- if(InsSoding == ds_main_warddruginfo_warddruglist.getColumn(j, "soding") ){
- ds_main_warddruginfo_warddruglist.setColumn(j, "last", medicardcnt-1);
- ds_main_warddruginfo_warddruglist.setColumn(j, "row", ds_temp.getColumn(0, "row"));
- ds_main_warddruginfo_warddruglist.setColumn(j, "col", ds_temp.getColumn(0, "col"));
- ds_main_warddruginfo_warddruglist.setColumn(j, "sLineFlag", sLineFlag); // 20090629
- //model.makeValue(xWardDrugListPath + "[" + j + "]/viewroomcd" , model.getValue("/root/main/cond/roomcd")); // 원본_20090629
- ds_main_warddruginfo_warddruglist.setColumn(j, "viewroomcd", viewroomcd); // 20090629
-
- if( ds_main_warddruginfo_warddruglist.getColumn(j, "check") == "1" ){
- var nRow = ds_send_medicard_warddruglist.addRow();
- ds_send_medicard_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, j);
- ds_send_medicard_warddruglist.setColumn(nRow, "viewroomcd", ds_send_medicard_warddruglist.getColumn(nRow, "roomcd"));
- //alert(instance1.selectNodesXml("/root/send/medicard"));
- }
- }
- }
- }
-
- if(medicardcnt > 1){
-
- // exeReportPreview("RPMNR00600", "XMLSTR" , "" , "" , "true" , "", "", "", "", "true"); // 미리보기 기능 없음
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "root/send/medicard/warddruglist", ds_send_medicard_warddruglist); // 데이터셋
- rptf_setNodeListToDOM(objDOM, "root/send/medicard5/warddruglist", ds_send_medicard_warddruglist); // 데이터셋
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- objParam.xml_data_XML2 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- objParam.xml_data_XML3 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=0;printdialog=0;print=1;zoom=0;";
-
- rptf_exeReportPreview30(["RPMNR00600"],[objParam], option); // 미리보기 기능 있음 TEST용
- } else{
- if(prcpclscd == "A61"){
- sysf_messageBox("수액은 출력되지 않습니다.","I");
- }else{
- //2010.11.16_KNUH_수정
- //messageBox("투약카드 출력항목이 아닙니다","I");
- sysf_messageBox("출력할 내용이","I004");
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayIndex2(baseCol_Array1, sData1, baseCol_Array2, sData2){
- for(var i = 0; i <= baseCol_Array1.length; i++){
- if(baseCol_Array1[i] == sData1 && baseCol_Array2[i] == sData2){
- return i;
- }
- }
- return -1;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 주사라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //------------(20080929로직변경됨)
- function fClickInjPrint(){
- ds_hidden_medicard8_warddruglist.clearData();
-
- //2. 바코드 라벨 환경설정
- var barcdRef = "ds_data_setupinfo";
- var portOpenTF = fSetNursBarcdInfo(barcdRef); // CareCom.js
-
- var pid = ds_main_patinfo.getColumn(0, "pid");
- var patnm = ds_main_patinfo.getColumn(0, "patnm");
- var sexage = ds_main_patinfo.getColumn(0, "sexage");
- var roomcd = ds_main_patinfo.getColumn(0, "roomcd");
- var prcpcd = "";
- var prcptims = "";
- var prcpvol = "";
- var prcpqty = "";
- var execprcpvol = "";
- var execprcpqty = "";
- var prcpvolunitflag = "";
- var prcpqtyunitflag = "";
- var abbrnm = "";
- var ast = "";
- var prcpdelivefact = "";
- var prcpdd = "";
- var medirectm = "";
- var totalmedirectm = "";
- var prcpclscd = "";
- var drugtmspec;
-
- var disp1 = ""; //주사기(체액주의)
- var disp2 = ""; //손모양(접촉주의)
- var disp3 = ""; //마스크(공기주의)
- var infcinfo = "";
-
- var preanti = ""; //수술예방적항생제 ast 결과 표시 위해
- var preantiast = ""; //수술예방적항생제 ast 결과 라벨 출력 parameter
-
- //var labelyn = "FALSE"; //20101116_주석처리
- ds_codelist.filter("");
-
- if( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='002' && cdid=='"+group3.group5.cmb_ward.value+"'"), "cdid")) ){
- roomcd = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "typedetl");
- }
-
- ds_codelist.filter("cdgrupid=='U29'");
-
- for( var idx=0 ; idx<group3.grd_druglist.rowcount ; idx++ ){
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(idx, "prtprcpclscd");
- if ( prcpclscd != "A60" && prcpclscd != "A62" && prcpclscd != "A6" && ds_main_warddruginfo_warddruglist.getColumn(idx, "check") == "1" ){ //수액믹스 주사제 제외.
- ds_main_warddruginfo_warddruglist.setColumn(idx, "check", "0"); //1001
- }
- }
-
- for( var i=0 ; i<ds_main_warddruginfo_warddruglist.rowcount ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "check") == "1" &&
- (ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd") == "A60" || ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd") == "A62" ||
- ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd") == "A6") ){
-
- var nRow = ds_hidden_medicard8_warddruglist.addRow();
- ds_hidden_medicard8_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, i);
-
- dsf_createDs("ds_hidden_medicard8_warddruglist"+nRow+"for");
- eval("ds_hidden_medicard8_warddruglist"+nRow+"for").assign(eval(xWardDrugListPath+i+"for"));
- }
- }
-
- if( ds_hidden_medicard8_warddruglist.rowcount <= 1 && utlf_isNull(ds_hidden_medicard8_warddruglist.getColumn(0, "prcpcd")) ){
- sysf_messageBox("선택된 믹스주사를 제외한 주사제가 존재하지 않습니다.","I007");
- return;
- }
-
- for( var jdx=0 ; jdx<ds_hidden_medicard8_warddruglist.rowcount && !utlf_isNull(ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpcd")) ; jdx++ ){
- var objDsxHiddenMediCard8 = eval("ds_hidden_medicard8_warddruglist"+jdx+"for");
-
- medirectm = "";
-
-
- //prcpcd = model.getValue(xHiddenMediCard8 + "["+jdx+"]/prcpcdprt"); //20101116_KNUH
- prcpcd = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpnm");
-
- prcptims = ds_hidden_medicard8_warddruglist.getColumn(jdx, "tims");
- prcpvol = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpvol");
- prcpqty = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpqty");
- execprcpvol = objDsxHiddenMediCard8.getColumn(0, "execprcpvol");//1회별 용량 20091120 김홍점
- execprcpqty = objDsxHiddenMediCard8.getColumn(0, "execprcpqty");//1회별 수량 20091120 김홍점
-
- prcpvolunitflag = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpvolunitflag");
- prcpqtyunitflag = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpqtyunitflag");
- abbrnm = ds_hidden_medicard8_warddruglist.getColumn(jdx, "abbrnm");
- ast = ds_hidden_medicard8_warddruglist.getColumn(jdx, "ast");
- prcpdelivefact = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpdelivefact");
- prcpdd = ds_hidden_medicard8_warddruglist.getColumn(jdx, "prcpdd");
- //drugtmspec = (model.getValue(xHiddenMediCard8 + "["+jdx+"]/drugtmspec_recalc1")).split(" ");
- drugtmspec = utlf_transNullToEmpty(ds_hidden_medicard8_warddruglist.getColumn(jdx, "disptmarray")).split(" ");
- execprcptims = ds_hidden_medicard8_warddruglist.getColumn(jdx, "tims")/drugtmspec.length;//회수 20091120 김홍점
- totalmedirectm = "";
-
- disp1 = ds_hidden_medicard8_warddruglist.getColumn(jdx, "disp1");
- disp2 = ds_hidden_medicard8_warddruglist.getColumn(jdx, "disp2");
- disp3 = ds_hidden_medicard8_warddruglist.getColumn(jdx, "disp3");
- disp4 = ds_hidden_medicard8_warddruglist.getColumn(jdx, "disp4");
-
- //KJS 2014.01.05 수술예방적항생제
- preanti = ds_hidden_medicard8_warddruglist.getColumn(jdx, "execcarestatcd");
-
- if(disp1 == "Y" || disp2 == "Y" || disp3 == "Y") {
-
- infcinfo ="";
-
- if(disp3 == "Y") {
- infcinfo += "[ A ]";
- }
- if(disp1 == "Y") {
- infcinfo += "[ B ]";
- }
-
- if(disp2 == "Y") {
- infcinfo += "[ C ]";
- }
- if(disp4 == "Y") {
- infcinfo += "[ D ]";
- }
-
- }
- // ER과 병동과 동일하므로 분기문 주석처리함 2014.01.05 KJS
- // // 응급의료센터와 일반병동 구분하여 주사라벨출력_20090602
- // if ( !isNull(model.getValue("/root/code/codeinfo/codelist/cdid"))
- // && model.getValue("/root/code/codeinfo/codelist/cdid") == model.getValue("/root/main/cond/wardcd") ) {
- //
- //// // 응급의료센터의 경우 1회용량으로 출력
- //// 20110128_KNUH_Start
- //// prcpvol = (prcpvol/prcptims);
- //// prcpqty = (prcpqty/prcptims);
- ////
- //// // 소수점 셋째자리까지 ---------------------------------(20091020)
- //// // 소수점 첫째자리까지 ------------(신미진ITC재변경 요청_20091027)
- //// var prcpvollist = String(prcpvol).split(".");
- //// var prcpqtylist = String(prcpqty).split(".");
- //// if(prcpvollist.length > 1){
- //// prcpvol = prcpvollist[0] + "." + prcpvollist[1].substr(0,1);
- //// }
- //// if(prcpqtylist.length > 1){
- //// prcpqty = prcpqtylist[0] + "." + prcpqtylist[1].substr(0,1);
- //// }
- //// //20101116_KNUH 수정
- //// //labelyn = fPrtCareInjLabel("ermedirec", barcdRef, pid, patnm, sexage, prcpcd, prcpvol+prcpvolunitflag, prcpqty+prcpqtyunitflag, abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), "ED "+roomcd, medirectm, totalmedirectm, portOpenTF);
- //// //20110128_KNUH_Start
- //// //fPrtCareInjLabel("ermedirec", barcdRef, pid, patnm, sexage, prcpcd, prcpvol+prcpvolunitflag, prcpqty+prcpqtyunitflag, abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), "ED "+roomcd, medirectm, totalmedirectm, portOpenTF);
- //// fPrtCareInjLabel("ermedirec", barcdRef, pid, patnm, sexage, prcpcd, execprcpvol+prcpvolunitflag, execprcpqty+prcpqtyunitflag, abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), "ED "+roomcd, medirectm, totalmedirectm, portOpenTF);
- ////
- //
- // // 총 투약시간 응급실도 1회용량에 횟수별로 조회되도록 변경함.
- // for (var kdx = 0 ; kdx < drugtmspec.length ; kdx++) {
- // if (kdx == 0 ){
- // totalmedirectm += drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- // } else {
- // totalmedirectm += " " + drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- // }
- // }
- //
- // // 횟수별로 출력되도록 , 회수는 안보이도록
- // for (var kdx = 0 ; kdx < drugtmspec.length ; kdx++) {
- // medirectm = drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- // //20101116_KNUH 수정
- // //labelyn = fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, execprcpvol+prcpvolunitflag, execprcpqty+prcpqtyunitflag , abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF);
- // fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, execprcpvol+prcpvolunitflag, execprcpqty+prcpqtyunitflag , abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF, infcinfo);
- // //fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, prcpvol+prcpvolunitflag, prcpqty+prcpqtyunitflag +"/#"+ prcptims, abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF);
- // }
- // } else {
- // 총 투약시간
- for( var kdx=0 ; kdx<drugtmspec.length ; kdx++ ){
- if( kdx == 0 ){
- totalmedirectm += drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- } else {
- totalmedirectm += " " + drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- }
- }
-
- // 횟수별로 출력되도록 , 회수는 안보이도록
- for( var kdx=0 ; kdx<drugtmspec.length ; kdx++ ){
- medirectm = drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2,4);
-
- var i = kdx;
- var carecfactcd = objDsxHiddenMediCard8.getColumn(i, "carecfactcd");
- var antiastrnm = objDsxHiddenMediCard8.getColumn(i, "antiastrnm");
- var preantiast = "";
-
- //alert(model.getValue("/root/code/codeinfo/codelist[cdgrupid ='W17']/cdid"));
- ds_codelist.filter("");
-
- if ( preanti == "M" //예방적항생제일 경우 AST 결과 표기 2014.01.05 KJS
- && ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "W17"), "cdid") == "Y" ){
- if (carecfactcd < '21' || carecfactcd > '32') { //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
- sysf_messageBox("수술 예방적항생제의 경우\r\nCefa계 혹은 Pc계 AST 결과를 Remark로 반드시 등록하세요", "E999");
- return;
- }
- }
-
- ds_codelist.filter("cdgrupid=='U29'");
-
- if (carecfactcd == "21") {
- preantiast = "Cefa AST(+) ";
- }
- if (carecfactcd == "22") {
- preantiast = "Cefa AST(-) ";
- }
- if (carecfactcd == "23") {
- preantiast = "Pc AST(+) ";
- }
- if (carecfactcd == "24") {
- preantiast = "Pc AST(-) ";
- }
- if (carecfactcd == "25") {
- preantiast = "SM AST(+) ";
- }
- if (carecfactcd == "26") {
- preantiast = "SM AST(-) ";
- }
- if (carecfactcd == "27") {
- preantiast = "기타 AST(+) ";
- }
- if (carecfactcd == "28") {
- preantiast = "기타 AST(-) ";
- }
- //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
- if (carecfactcd == "30") {
- preantiast = "AST 결과 양성 ";
- }
- if (carecfactcd == "31") {
- preantiast = "AST 결과 음성 ";
- }
- //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
-
- if( !utlf_isNull(preantiast) ){
- preantiast += "확인:" + antiastrnm;
- }
- //20101116_KNUH 수정
- //labelyn = fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, execprcpvol+prcpvolunitflag, execprcpqty+prcpqtyunitflag , abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF);
- fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, execprcpvol+prcpvolunitflag, execprcpqty+prcpqtyunitflag , abbrnm, ast, prcpdelivefact, prcpdd, "", utlf_getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF, infcinfo, preantiast);
- //fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, prcpvol+prcpvolunitflag, prcpqty+prcpqtyunitflag +"/#"+ prcptims, abbrnm, ast, prcpdelivefact, prcpdd, "", getCurrentTime(), roomcd, medirectm, totalmedirectm, portOpenTF);
- }
- // }
-
- /*
- for( var kdx = 0 ; kdx < drugtmspec.length ; kdx++){
- if (kdx == 0 ){
- medirectm += drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- } else {
- medirectm += "," + drugtmspec[kdx].substring(0,2) + ":" + drugtmspec[kdx].substring(2);
- }
- }
-
- fPrtCareInjLabel("medirec", barcdRef, pid, patnm, sexage, prcpcd, prcpvol, prcpqty, abbrnm, ast, prcpdelivefact, prcpdd,"", getCurrentTime(), roomcd, medirectm, portOpenTF);
- */
- }
-
- /* 20101116_KNUH
- if(labelyn == "TRUE"){
- fsetLabelPrntInfo("injlabel", grd_patlist.row, grd_actlist.row); // 라벨출력정보 저장_20100319
- }
- */
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수액라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //------------(20080929로직변경됨)
- function fClickHydPrint(){
- ds_send_medicard8_warddruglist.clearData();
-
- var rows = group3.grd_druglist.rowcount;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- //----------------------
- //1-1. 자동체크하기1: 동일MIXNO가 체크되어 있으면 자동 체크하기
- //----------------------
- var chkMixnoi = "";
- var chkMixnoj = "";
- var chkflag = "";
- var chkcnt = 0;
- for( var i=0 ; i<rows ; i++ ){
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(i, "check");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- if(prcpclscd != "A61") continue;
-
- if (chkflag != "1" ) { //체크가 안되어있는것 중에서
- chkMixnoi = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- if ( !utlf_isNull(chkMixnoi) ){ //mixno가 있는경우
- for( var j=0 ; j<rows ; j++ ){ //동일mix가 체크되어 있으면
- chkMixnoj = ds_main_warddruginfo_warddruglist.getColumn(j, "prcpmixno");
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(j, "check");
- if ( i != j && chkMixnoi == chkMixnoj && chkflag == "1") {
- ds_main_warddruginfo_warddruglist.setColumn(i, "check", "1"); //체크자신의 체크로 변경함
- j=rows;
- chkcnt ++;
- }
- }
- }
- }
- }
-
- if (chkcnt >0) {
- sysf_messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n동일mixno의 다른 항목도 자동출력 선택 되었습니다. ","E999");
- }
- //----------------------
- //1-2. 자동체크하기1: 출력대상아닌것은 체크풀기
- //----------------------
- chkMixnoi = "";
- chkMixnoj = "";
- chkflag = "";
- chkcnt = 0;
- var sapnoyndept = "";
- var sapnoynall = "";
- var sapnoyn = "";
- var sapnoprtyn = "true";
- var disp1 = "";
- var disp2 = "";
- var disp3 = "";
- var infcinfo ="";
- var abbrnm = "";
-
- for( var i=0 ; i<rows ; i++ ){
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(i, "check");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
-
- disp1 = ds_main_warddruginfo_warddruglist.getColumn(i, "disp1");
- disp2 = ds_main_warddruginfo_warddruglist.getColumn(i, "disp2");
- disp3 = ds_main_warddruginfo_warddruglist.getColumn(i, "disp3");
- disp4 = ds_main_warddruginfo_warddruglist.getColumn(i, "disp4");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
-
-
- if(disp1 == "Y" || disp2 == "Y" || disp3 == "Y") {
- infcinfo ="";
-
- if(disp3 == "Y") {
- infcinfo += "[ A ]";
- }
- if(disp1 == "Y") {
- infcinfo += "[ B ]";
- }
-
- if(disp2 == "Y") {
- infcinfo += "[ C ]";
- }
- if(disp4 == "Y") {
- infcinfo += "[ D ]";
- }
-
-
- }
-
- if(prcpclscd != "A61") continue;
-
- sapnoprtyn = "true"; //수액라벨출력 가능
- if (chkflag == "1" ) { //체크되어있는것 중에서
- sapnoyn = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "sapnoyn"));
- sapnoyndept = sapnoyn.substr(1,1); //수액기준정보자료에 수액 & 부서로 자료가 있는지 여부(0이면 없는경우)
- sapnoynall = sapnoyn.substr(2,1); //수액기준정보자료에 수액 & 공통로 자료가 있는지 여부(0이면 없는경우)
- if (sapnoyndept == "N") { //부서에 자료가 있는데 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false";
- } else if (sapnoyndept == "0" && sapnoynall == "N") {//부서에 자료가 없고, 공통에 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false"; //수액라벨출력 불가
- }
- if (sapnoprtyn == "false") {
- chkMixnoi = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- if ( !utlf_isNull(chkMixnoi) ){ //mixno가 있으면서
- for( var j=0 ; j<rows ; j++ ){
- chkMixnoj = ds_main_warddruginfo_warddruglist.getColumn(j, "prcpmixno");
- if ( chkMixnoi == chkMixnoj ) { //같은 mixno이면 출력을 해제한다.
- //model.setValue(xWardDrugListPath + "[" + j + "]/check","true");
- ds_main_warddruginfo_warddruglist.setColumn(j, "check", "0"); //1001
- chkcnt++;
- }
- }
- }
- }
- }
- }
- if (chkcnt >0) {
- sysf_messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n수액기준정보에 수액no적용정보가 'N'로 설정된 자료가 있습니다. \n수액라벨출력을 해제합니다.","E999");
- }
- //----------------------
- //3. 출력내역정리하기
- //---------------------- 작업중...........
- var subcnt = 0; //해당번호
- var prcptimscalc ="";
- var mainpre_prcpmixno = "999999999"; //main이전mixno
- var subnow_prcpmixno = ""; //sub현재mixno
- var startrow = "";
- //전체
- // 원본_20090601
-
- for( var i=0 ; i<rows ; i++ ){
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- // 수술예방적 항생제 AST 결과 필수 입력
- var execcarestatcd = objDsxWardDrugListPath.getColumn(0, "execcarestatcd");
- var preantiast = "";
-
- if (execcarestatcd == "M") {
- var carecfactcd = objDsxWardDrugListPath.getColumn(0, "carecfactcd");
- var antiastrnm = objDsxWardDrugListPath.getColumn(0, "antiastrnm");
- ds_codelist.filter("");
-
- if ((carecfactcd < '21' || carecfactcd > '32') //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
- && ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "W17"), "cdid") == "Y") {
- sysf_messageBox("수술 예방적항생제의 경우\r\nCefa계 혹은 Pc계 AST 결과를 Remark로 반드시 등록하세요", "E999");
- return;
- }
-
- ds_codelist.filter("cdgrupid=='U29'");
-
- if (carecfactcd == "21") {
- preantiast = "Cefa AST(+) ";
- }
- if (carecfactcd == "22") {
- preantiast = "Cefa AST(-) ";
- }
- if (carecfactcd == "23") {
- preantiast = "Pc AST(+) ";
- }
- if (carecfactcd == "24") {
- preantiast = "Pc AST(-) ";
- }
- if (carecfactcd == "25") {
- preantiast = "SM AST(+) ";
- }
- if (carecfactcd == "26") {
- preantiast = "SM AST(-) ";
- }
- if (carecfactcd == "27") {
- preantiast = "기타 AST(+) ";
- }
- if (carecfactcd == "28") {
- preantiast = "기타 AST(-) ";
- }
- //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
- if (carecfactcd == "30") {
- preantiast = "AST 결과 양성 ";
- }
- if (carecfactcd == "31") {
- preantiast = "AST 결과 음성 ";
- }
- //171129_AYS_칠곡 AST 결과양성/음성 기준자료 추가에 따른 수정(주사라벨정상출력)
-
- if ( !utlf_isNull(preantiast) ) {
- preantiast += "확인:" + antiastrnm;
- }
- }
-
- var todaydrug = ds_main_warddruginfo_warddruglist.getColumn(i, "todaydrug");
- if(prcpclscd == "A61" && todaydrug == "Y"){ // 체크된 것 &&수액 && 조회당일 화면에 표시된것만
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "check") == "1" ){
- prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"); //현재mixno
- prcptims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- prcptimscalc = ds_main_warddruginfo_warddruglist.getColumn(i, "calctims"); //------------(20080912)
- abbrnm = ds_main_warddruginfo_warddruglist.getColumn(i, "abbrnm"); //------------(20120608 투여경로 추가 삽입)
- startrow = i;
- if (mainpre_prcpmixno != prcpmixno) { //main 이전mixno가 다른경우
- //횟수만큼
- for( var j=0 ; j<prcptimscalc ; j++ ){ //for(var j = 0; j < prcptims; j++){ //--------(20080912)
- subcnt ++;
- //startrow부터 같은 mixno를 찾는다.
- for( var k=startrow ; k<rows ; k++ ){
- subnow_prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(k, "prcpmixno"); //현재mixno
- if (prcpmixno != subnow_prcpmixno) {
- // i = k; //main첨자를 sub에서 증가한 것 만큼 더한다.
- // i--; //i가 전체 main loop로 돌아가면 자동 증가되므로 -1를 해준다.
- k = rows; //k loop를 벗어남
- } else {
- //mixno가 연속해서 없는 경우에는 다른것으로 인식하기 위해서 구분한다.
- if ( k > startrow && utlf_isNull(prcpmixno) && utlf_isNull(subnow_prcpmixno) ){
- k=rows;
- } else {
- ds_main_warddruginfo_warddruglist.setColumn(k, "soding", subcnt);
- var nRow = ds_send_medicard8_warddruglist.addRow();
- ds_send_medicard8_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, k);
- }
- }
- }
- }
- mainpre_prcpmixno = prcpmixno;
- if( utlf_isNull(prcpmixno) ) mainpre_prcpmixno = "999999999"; //mix no가 지정되지 않은것이 연속으로 되어 있는경우, 구분하기 위해서
- }
- }
- }
- } // end for(i)
- // 횟수적용안됨_20090601
- /*
- var calctims = model.getValue(xMediCard8 + "[" + j + "]/soding");
- for(var i=1; i<rows; i++){
- var check = model.getValue(xWardDrugListPath + "[" + i + "]/check");
- var todaydrug = model.getValue(xWardDrugListPath + "[" + i + "]/todaydrug");
- var prcptimscalc = model.getValue(xWardDrugListPath + "[" + i + "]/calctims"); // 횟수
- if(check == "true" && todaydrug == "Y"){ // 체크된 것 && 조회당일 화면에 표시된것만
- for(var j=0; j<prcptimscalc; j++){ // 횟수만큼
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
- }
- }
- }
- for(var i=1; i<=getNodesetCount(xMediCard8); i++){
- var check = model.getValue(xMediCard8 + "[" + i + "]/check");
- var prcpclscd = model.getValue(xMediCard8 + "[" + i + "]/prtprcpclscd");
- var todaydrug = model.getValue(xMediCard8 + "[" + i + "]/todaydrug");
- if(check == "true" && prcpclscd == "A61" && todaydrug == "Y"){ // 체크된 것 &&수액 && 조회당일 화면에 표시된것만
- var soding = model.getValue(xMediCard8 + "[" + i + "]/soding"); // 출력지정번호(동일mixno끼리는 동일한 soding번호 가지고 있다.)
- var mixno = model.getValue(xMediCard8 + "[" + i + "]/prcpmixno");
- var prcpno = model.getValue(xMediCard8 + "[" + i + "]/prcpno");
- if(soding == "-" || soding == ""){ // 출력지정 안되어 있는 경우
- subcnt++;
- model.makeValue(xMediCard8 + "[" + i + "]/soding", subcnt);
- if(mixno != ""){
- //같은 mixno찾기
- for(var j=1; j<=getNodesetCount(xMediCard8); j++){
- if(mixno == model.getValue(xMediCard8 + "[" + j + "]/prcpmixno")){
- if((prcpno == model.getValue(xMediCard8 + "[" + j + "]/prcpno"))){
- model.makeValue(xMediCard8 + "[" + j + "]/soding", subcnt);
- subcnt++;
- }
- model.makeValue(xMediCard8 + "[" + j + "]/soding", subcnt);
- }
- }
- }
- }
- }
- }// end for(i)
-
- // 총 출력매수 구하기(soding의 최대값)
- for(var i=1; i<=getNodesetCount(xMediCard8); i++){
- var maxcnt=0;
- var soding = Number(model.getValue(xMediCard8 + "[" + i + "]/soding")); // 출력지정번호
- if(maxcnt<soding){
- maxcnt = soding;
- }
- subcnt = maxcnt;
- }
- */
-
- //수액
- if (subcnt > 0) {
- //if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- //------------------(20081024)
- if ( ds_data_setupinfo.rowcount <=0 ){
- //messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- //return;
- //1. 바코드 라벨 설정값 조회
- fGetBarCodeInfo(frmf_getScreenID());
-
- // 노드값을 컬럼 값으로 가져옴에 따라 DS 로 변환 처리 ---------------------------------------------------
-
- //XML string 값을 파라미터로 넘김
- //성공시 : 'success' 실패시 : 'error' 값을 리턴함
- var sParamObj = new Object();
- sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
-
- var pXmlStr = ds_barcdprntsetup.getColumn(0, "prntsetupinfo");
-
- var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
-
- sysf_trace(succYn);
-
- // => retrun DS
- // : ds_data_setupinfo(prntkind, commkind)
- // : ds_data_comm01(setupval)
- // : ds_data_comm02(comm, databit, stopbit, baudrate, parity, setupval)
- // : ds_data_comm03(setupval)
- // : ds_data_blank(left, top)
-
- // ------------------------------------------------------------------------------------------------------------
- }
- //------------------(20081024)
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- //fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); //CommAX.PortOpen(true)이 있음(20081024)
- //2. 바코드 라벨 환경설정
- lzzfMakeBrcdPrntObjHanDo("CommAX"); // 추가_20090522(ByJA)
- var portOpenTF = fSetNursBarcdInfo("ds_data_setupinfo"); //CommAX.PortOpen(true)이 있음20090522 김홍점 사토 추가 carecom.js
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- /** <addon>
- *개발일시: 2010.05.13
- *개발자: 양천덕
- *요청병원: 세종병원
- *요청파트: 간호
- *개발내용: 바코드 출력 형식 변경으로 수정 처리(수액라벨)
- </addon>
- */
- barcdRef = "/root/main/barcdprntsetup/prntsetupinfo";
- pid = ds_main_patinfo.getColumn(0, "pid");
- roomcd = ds_main_patinfo.getColumn(0, "roomcd");
- patnm = ds_main_patinfo.getColumn(0, "patnm");
- sexage = ds_main_patinfo.getColumn(0, "sexage");
- orddd = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "orddd")).substr(4,2) + "/" + utlf_transNullToEmpty(ds_main_cond.getColumn(0, "orddd")).substr(6,2);
- rntnode = xMediCard8;
- prncnt = 1;
- ds_codelist.filter("");
-
- if ( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='002' && cdid=='"+group3.group5.cmb_ward.value+"'"), "cdid")) ){
- roomcd = ds_main_wardpatinfo_wardpatlist.getColumn(ds_main_wardpatinfo_wardpatlist.rowposition, "typedetl");
- }
-
- ds_codelist.filter("cdgrupid=='U29'");
-
- var barcdRefcnt = 0;//getNodesetCount(xBarCordPath);
-
- if( !utlf_isNull(this.objects["ds_data_pcllist"]) ){
- barcdRefcnt = ds_data_pcllist.rowcount;
- }
-
- var barcdMode = "" ;
- for( var i=0 ; i<barcdRefcnt ; i++ ){
-
- var barCord = ds_data_pcllist.getColumn(i, "barnm");
-
- if(barCord == "RPMNZ00006"){
- barcdMode = "1";
- break;
- }else if(barCord == "RPMNZ00008"){
- barcdMode = "2";
- break;
- }
- }
-
- if( utlf_isNull(barcdMode) ){
- barcdMode = "1";
- }
-
- if(barcdMode == "2"){
- fPrtFluidLabel2(barcdRef, pid, roomcd, patnm, sexage, orddd, rntnode, subcnt, infcinfo, abbrnm, preantiast);
- return;
- }else{
- fPrtFluidLabel(barcdRef, pid, roomcd, patnm, sexage, orddd, rntnode, subcnt, infcinfo, abbrnm, preantiast);
- }
-
-
- // var nodecnt = getNodesetCount(xMediCard8);
- // var prev_soding = "";
- // var prcpvol = "";
- // var prcpvolunitflag = "";
- // var prcpqty = "";
- // var prcpqtyunitflag = "";
- // var drugspdunitflag = "";
- // var labelcnt = 0;
- // var labelindex = 0;
- // var sDate = model.getValue("/root/main/cond/orddd").substr(4,2) + "/" + model.getValue("/root/main/cond/orddd").substr(6,2);
- // var soding = "";
- // var last = "";
- // var overcnt = 1;
- // var iHeight = 0;
- // var sTempData = "";
- // var sLabelData_Array = new Array;
- // var iLeft = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left"));
- // var iTop = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top"));
- // if(iLeft == "" || iLeft == "-"){
- // iLeft = 0;
- // }
- // if(iTop == "" || iTop == "-"){
- // iTop = 0;
- // }
- //
- // var esc = String.fromCharCode(27); // 추가_20090522(ByJA)
- // var sPrntKind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind"); // 추가_20090522(ByJA)
- // var sLabelSndMsg;
- //
- // var pageno = 1;
- //
- // //20101116_KNUH
- // //var labelyn = "FALSE";
- //
- // /*수액 라벨 출력*/
- // for(var j = 1; j <= nodecnt; j++){
- // if(j == 1 || prev_soding != model.getValue(xMediCard8 + "[" + j + "]/soding")){
- // /*환자정보 라벨 출력*/
- // prev_soding = model.getValue(xMediCard8 + "[" + j + "]/soding");
- // // SATO일 경우
- // if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
- // // 시작위치 셋팅 (A1aaaabbbb:출력 용지 규격(aaaa:세로크기_최대 2848, bbbb:가로크기_최대 832))
- // sLabelSndMsg = "";
- // sLabelSndMsg = esc + "A" + esc + "A103500500";
- //
- // // 출력할 데이터 생성
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+10 , iLeft+50, "(" + model.getValue("/root/main/patinfo/pid") + ")", 1, 1);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+60 , iLeft+50, model.getValue("/root/main/patinfo/roomcd"), 2, 2);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+160, iLeft+50, model.getValue("/root/main/patinfo/patnm") , 2, 2);
- //
- // // 종료 및 출력물 출력수량
- // sLabelSndMsg += esc + "Q1" + esc + "Z";
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- // CommAX.SendMsg(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // sLabelSndMsg = esc + "A" + esc + "A103500500";
- //
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+10, iLeft+50 , model.getValue("/root/main/patinfo/roomcd"), 1, 1);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+10, iLeft+130, model.getValue("/root/main/patinfo/patnm") , 1, 1);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+10, iLeft+250, model.getValue("/root/main/patinfo/sexage") , 1, 1);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+10, iLeft+350, sDate , 1, 1);
- // }
- // // SATO가 아닐 경우(기존)
- // else{
- // sLabelSndMsg = "";
- // sLabelSndMsg = BP_StartFormat;
- // //-----------------------------(20080917)
- // //이름과 등록번호 크게 출력하기
- // //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- // //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- // //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- //
- // sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- // sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- // sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- // sLabelSndMsg += fCareBP_EndFormat(1);
- // //-----------------------------(20080917)
- //
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- //
- // CommAX.SendMessage(sLabelSndMsg);
- // //////alert(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // sLabelSndMsg = BP_StartFormat;
- //
- // sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- // sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- // sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- // sLabelSndMsg += fCarePrintOutA(iLeft + 345, iTop + 10, 4, "N", sDate,"");
- // }
- // } // end if 환자정보 라벨 출력
- //
- // prcpvol = model.getValue(xMediCard8 + "[" + j + "]/prcpvol");
- // prcpvolunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpvolunitflag");
- //
- // prcpqty = model.getValue(xMediCard8 + "[" + j + "]/prcpqty");
- // prcpqtyunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpqtyunitflag");
- //
- // drugspdunitflag = model.getValue(xMediCard8 + "[" + j + "]/drugspdunitflag");
- //
- // //---------------(20080927)
- // //1일횟수로 나눈다.
- // var tims = model.getValue(xMediCard8 + "[" + j + "]/tims");
- // if (tims > 0 ) {
- // //prcpvol = prcpvol / tims;
- // //prcpqty = prcpqty / tims;
- // prcpvol = (prcpvol / tims);
- // prcpqty = (prcpqty / tims);
- //
- // // 소수점 셋째자리까지 ------------(20091020)
- // var prcpvollist = String(prcpvol).split(".");
- // var prcpqtylist = String(prcpqty).split(".");
- // if(prcpvollist.length > 1){
- // prcpvol = prcpvollist[0] + "." + prcpvollist[1].substr(0,3);
- // }
- // if(prcpqtylist.length > 1){
- // prcpqty = prcpqtylist[0] + "." + prcpqtylist[1].substr(0,3);
- // }
- // }
- // //---------------(20080927)
- //
- // sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag + ( isNull(drugspdunitflag) ? "" : "/" + drugspdunitflag);
- // iHeight = ((labelcnt + overcnt) * 30) + 30;
- //
- // if(model.getValue(xMediCard8 + "[" + j + "]/todaydrug")=="Y"){
- // // SATO일 경우
- // if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+iHeight, iLeft+30 , model.getValue(xMediCard8 + "[" + j + "]/prcpcdprt"), 1, 1);
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+iHeight, iLeft+205, sTempData, 1, 1);
- // }
- // // SATO가 아닐 경우(기존)
- // else{
- // //--------------------(20081118):원래대로
- // sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/prcpcdprt"), ""); //원본
- //
- // ////처방 영문명, 폰트 축소(안됨)
- // //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 0, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- // //--------------------(20081118)
- //
- // sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + iHeight, 3, "N", sTempData, "");
- // }
- // }
- // labelcnt++;
- //
- // soding = Number(model.getValue(xMediCard8 + "[" + j + "]/soding"));
- // last = model.getValue(xMediCard8 + "[" + j + "]/last");
- //
- // /*수액정보 라벨 출력*/
- // if(j == nodecnt || prev_soding != model.getValue(xMediCard8 + "[" + (j+1) + "]/soding")){
- // // SATO일 경우
- // if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
- // sLabelSndMsg += CommAX.PrtImgOut(iTop+220, iLeft+230 , subcnt + " - " + soding, 1, 1);
- //
- // // 종료 및 출력물 출력수량
- // sLabelSndMsg += esc + "Q1" + esc + "Z";
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- // CommAX.SendMsg(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // overcnt = 1;
- // labelcnt = 0;
- // sLabelSndMsg = esc + "A" + esc + "A103500500";
- // }
- // // SATO가 아닐 경우(기존)
- // else{
- // // 총수 - 현위치
- //
- // //----------(20080927)
- // //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
- // sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", subcnt + " - " + soding, "");
- // //----------(20080927)
- // sLabelSndMsg += fCareBP_EndFormat(1);
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- //
- // CommAX.SendMessage(sLabelSndMsg);
- // //////alert(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // overcnt = 1;
- // labelcnt = 0;
- // sLabelSndMsg = BP_StartFormat;
- // }
- // }else if((labelcnt + overcnt) == 5){
- // // SATO일 경우
- // if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){
- // // 종료 및 출력물 출력수량
- // sLabelSndMsg += esc + "Q1" + esc + "Z";
- //
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- //
- // CommAX.SendMsg(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // overcnt = 0;
- // labelcnt = 0;
- // sLabelSndMsg = esc + "A" + esc + "A103500500";
- // }
- // // SATO가 아닐 경우(기존)
- // else{
- // sLabelSndMsg += fCareBP_EndFormat(1);
- // sLabelData_Array[labelindex] = sLabelSndMsg;
- //
- // CommAX.SendMessage(sLabelSndMsg);
- // //////alert(sLabelSndMsg);
- //
- // labelindex = labelindex + 1;
- // overcnt = 0;
- // labelcnt = 0;
- // sLabelSndMsg = BP_StartFormat;
- // }
- // }else{} // end if 수액정보 라벨 출력
- //
- // } // end for
- // /*순서 뒤집기*/
- // /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- // CommAX.SendMessage(sLabelData_Array[k]);
- // }*/
- //
- // /* 20101116_KNUH주석처리.start
- // // 20100322
- // if(sPrntKind == "2" || sPrntKind == "6" || sPrntKind == "7"){ // SATO일 경우
- // var Message = "";
- // Message = CommAX.Message;
- // if(Message == null || Message == ""){
- // labelyn = "TRUE";
- // }
- // }else{ // SATO가 아닐 경우(기존)
- // labelyn = portOpenTF;
- // }
- // if(labelyn == "TRUE"){
- // fsetLabelPrntInfo("hydlabel", grd_patlist.row, grd_actlist.row); // 라벨출력정보 저장_20100319
- // }
- // 20101116_KNUH주석처리.end */
- //
- // //-----------(20081031)
- // CommAX.PortOpen(false);
- // //CommAX.PortClose();
- // //-----------(20081031)
- }else{
- sysf_messageBox("수액이 존재하지","E007");
- }
- }
- ///-----------------(20081210)
- //약그리드 확대/축소 기능
- function fDruglist_Extend(workflag){
- switch (workflag) {
-
- case "pat":
- if( group3.btnExtend.text == "축소" ){
- group3.btnExtend.text = "확대"; //축소되었으므로 확대시켜야한다.
- //group3.swtpatList.visible = true ;
- //linpatListRight.visible = true ; // 오류수정
-
- group3.grd_druglist.position.left = 220;
- group3.grd_druglist.position.width = 970;
-
- group3.bolall.position.left = 227; //--(20081216)
- }
- break;
- case "drug":
- if( group3.btnExtend.text == "축소" ){
- group3.btnExtend.text = "확대"; //축소되었으므로 확대시켜야한다.
- //group3.swtpatList.visible = true ;
- //linpatListRight.visible = true ;
-
- group3.grd_druglist.position.left = 220;
- group3.grd_druglist.position.width = 970;
-
- group3.bolall.position.left = 227; //--(20081216)
- } else {
- group3.btnExtend.text = "축소"; //확대되었으므로 축소시켜야한다.
- //group3.swtpatList.visible = false ;
- //linpatListRight.visible = false ;
-
- group3.grd_druglist.position.left = 0;
- group3.grd_druglist.position.width = 1185;
-
- group3.bolall.position.left = 7; //--(20081216)
- }
- break;
- }
- }
- ///-----------------(20081210)
- ///-----------------(20081208 임시작업분)
- function fClickHydPrint_TEMP(){
- return;
- //수액라벨 간호itc에서 임시테스트용으로 작성한 소스임(20081209)
- model.removeNodeSet("/root/send/medicard8/warddruglist");
- var rows = grd_druglist.rows-1;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- //----------------------
- //1-1. 자동체크하기1: 동일MIXNO가 체크되어 있으면 자동 체크하기
- //----------------------
- var chkMixnoi = "";
- var chkMixnoj = "";
- var chkflag = "";
- var chkcnt = 0;
- for(var i = 1; i < rows; i++){
- chkflag = model.getValue(xWardDrugListPath + "[" + i + "]/check");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd != "A61") continue;
-
- if (chkflag != "true" ) { //체크가 안되어있는것 중에서
- chkMixnoi = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- if ( chkMixnoi != "") { //mixno가 있는경우
- for (var j=1;j<rows;j++) { //동일mix가 체크되어 있으면
- chkMixnoj = model.getValue(xWardDrugListPath + "[" + j + "]/prcpmixno");
- chkflag = model.getValue(xWardDrugListPath + "[" + j + "]/check");
- if ( i != j && chkMixnoi == chkMixnoj && chkflag == "true") {
- model.setValue(xWardDrugListPath + "[" + i + "]/check","true"); //체크자신의 체크로 변경함
- j=rows;
- chkcnt ++;
- }
- }
- }
- }
- }
-
- if (chkcnt >0) {
- messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n동일mixno의 다른 항목도 자동출력 선택 되었습니다. ","E999");
- }
- //----------------------
- //1-2. 자동체크하기1: 출력대상아닌것은 체크풀기
- //----------------------
- chkMixnoi = "";
- chkMixnoj = "";
- chkflag = "";
- chkcnt = 0;
- var sapnoyndept = "";
- var sapnoynall = "";
- var sapnoyn = "";
- var sapnoprtyn = "true";
-
- for(var i = 1; i < rows; i++){
- chkflag = model.getValue(xWardDrugListPath + "[" + i + "]/check");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd != "A61") continue;
-
- sapnoprtyn = "true"; //수액라벨출력 가능
- if (chkflag == "true" ) { //체크되어있는것 중에서
- sapnoyn = model.getValue(xWardDrugListPath + "[" + i + "]/sapnoyn");
- sapnoyndept = sapnoyn.substr(1,1); //수액기준정보자료에 수액 & 부서로 자료가 있는지 여부(0이면 없는경우)
- sapnoynall = sapnoyn.substr(2,1); //수액기준정보자료에 수액 & 공통로 자료가 있는지 여부(0이면 없는경우)
- if (sapnoyndept == "N") { //부서에 자료가 있는데 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false";
- } else if (sapnoyndept == "0" && sapnoynall == "N") {//부서에 자료가 없고, 공통에 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false"; //수액라벨출력 불가
- }
- if (sapnoprtyn == "false") {
- chkMixnoi = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- if ( chkMixnoi != "") { //mixno가 있으면서
- for (var j=1;j<rows;j++) {
- chkMixnoj = model.getValue(xWardDrugListPath + "[" + j + "]/prcpmixno");
- if ( chkMixnoi == chkMixnoj ) { //같은 mixno이면 출력을 해제한다.
- //model.setValue(xWardDrugListPath + "[" + j + "]/check","true");
- model.setValue(xWardDrugListPath + "[" + j + "]/check","false"); //1001
- chkcnt++;
- }
- }
- }
- }
- }
- }
- if (chkcnt >0) {
- messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n수액기준정보에 수액no적용정보가 'N'로 설정된 자료가 있습니다. \n수액라벨출력을 해제합니다.","E999");
- }
- //----------------------
- //3. 출력내역정리하기
- //---------------------- 작업중...........
- var subcnt = 0; //해당번호
- var prcptimscalc ="";
- var mainpre_prcpmixno = "999999999"; //main이전mixno
- var subnow_prcpmixno = ""; //sub현재mixno
- var startrow = "";
- //전체
- for(var i = 1; i < rows; i++){
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd == "A61"){//수액
- if(model.getValue(xWardDrugListPath + "[" + i + "]/check") == "true"){
- prcpmixno = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno"); //현재mixno
- prcptims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- prcptimscalc = model.getValue(xWardDrugListPath + "[" + i + "]/calctims"); //------------(20080912)
- startrow = i;
- if (mainpre_prcpmixno != prcpmixno) { //main 이전mixno가 다른경우
- //횟수만큼
- for(var j = 0; j < prcptimscalc; j++){ //for(var j = 0; j < prcptims; j++){ //--------(20080912)
- subcnt ++;
- //startrow부터 같은 mixno를 찾는다.
- for(var k = startrow; k < rows; k++){
- subnow_prcpmixno = model.getValue(xWardDrugListPath + "[" + k + "]/prcpmixno"); //현재mixno
- if (prcpmixno != subnow_prcpmixno) {
- // i = k; //main첨자를 sub에서 증가한 것 만큼 더한다.
- // i--; //i가 전체 main loop로 돌아가면 자동 증가되므로 -1를 해준다.
- k = rows; //k loop를 벗어남
- } else {
- //mixno가 연속해서 없는 경우에는 다른것으로 인식하기 위해서 구분한다.
- if ( k > startrow && prcpmixno =="" && subnow_prcpmixno == "") {
- k=rows;
- } else {
- model.setValue("/root/main/warddruginfo/warddruglist[" + k + "]/soding", subcnt);
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + k + "]");
- }
- }
- }
- }
- mainpre_prcpmixno = prcpmixno;
- if (prcpmixno == "") mainpre_prcpmixno = "999999999"; //mix no가 지정되지 않은것이 연속으로 되어 있는경우, 구분하기 위해서
- }
- }
- }
- }
-
- //수액
- if (subcnt > 0) {
- //if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- //------------------(20081024)
- if ( getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo") <=0 ) {
- //messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- //return;
- fGetBarCodeInfo(getScreenID());
- }
- //------------------(20081024)
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); //CommAX.PortOpen(true)이 있음(20081024)
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- var nodecnt = getNodesetCount(xMediCard8);
- var prev_soding = "";
- var prcpvol = "";
- var prcpvolunitflag = "";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var labelcnt = 0;
- var labelindex = 0;
- var sDate = model.getValue("/root/main/cond/orddd").substr(4,2) + "/" + model.getValue("/root/main/cond/orddd").substr(6,2);
- var soding = "";
- var last = "";
- var overcnt = 1;
- var iHeight = 0;
- var sTempData = "";
- var sLabelData_Array = new Array;
- var iLeft = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left"));
- var iTop = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top"));
- if(iLeft == "" || iLeft == "-"){
- iLeft = 0;
- }
- if(iTop == "" || iTop == "-"){
- iTop = 0;
- }
-
- /*수액 라벨 출력*/
- var sLabelSndMsg = BP_StartFormat;
- for(var j = 1; j <= nodecnt; j++){
- //하단
- if(j == 1 || prev_soding != model.getValue(xMediCard8 + "[" + j + "]/soding")){
- /*환자정보 라벨 출력*/
- prev_soding = model.getValue(xMediCard8 + "[" + j + "]/soding");
- //-----------------------------(20080917)
- //이름과 등록번호 크게 출력하기
- //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
-
- //-----------하단의 성별/나이(20081208)
- sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- //-----------
-
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCareBP_EndFormat(1);
- //-----------------------------(20080917)
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- sLabelSndMsg = BP_StartFormat;
- //-----------상단의 등록번호(20081208)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- //sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- //sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 180, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/pid"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 280, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- //-----------
-
- }
- prcpvol = model.getValue(xMediCard8 + "[" + j + "]/prcpvol");
- prcpvolunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpvolunitflag");
-
- prcpqty = model.getValue(xMediCard8 + "[" + j + "]/prcpqty");
- prcpqtyunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpqtyunitflag");
- //---------------(20080927)
- //1일횟수로 나눈다.
- var tims = model.getValue(xMediCard8 + "[" + j + "]/tims");
- if (tims > 0 ) {
- prcpvol = prcpvol / tims;
- prcpqty = prcpqty / tims;
- }
- //---------------(20080927)
-
- sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag;
- iHeight = ((labelcnt + overcnt) * 30) + 30;
-
- //--------------------(20081208)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/prcpcd"), ""); //원본
- //sLabelSndMsg += fCarePrintOutA(iLeft + 220, iTop + iHeight, 3, "N", sTempData, "");
- ////처방 영문명, 폰트 축소(안됨)
-
- //1. 한글,특수문자(이미지)과 영문(텍스트)을 분리해서 보냄 ===> //이미지로 보내서 속도가 아주 떨어짐
- //2. 한번에 보내는 버퍼용량이 제한이 있음
-
- //대한5%포도당가생리식염액 1000ml (Dextrose, Electrolytes)
- //sLabelSndMsg += fCarePrintOutH(iLeft + 10, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- CommAX.SendMessage(sLabelSndMsg);
- sLabelSndMsg = "";
- sLabelSndMsg += fCarePrintOutH(iLeft + 10, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- CommAX.SendMessage(sLabelSndMsg);
- sLabelSndMsg = "";
- sLabelSndMsg += fCarePrintOutA(iLeft + 230, iTop + iHeight, 3, "N", sTempData, "");
- //--------------------(20081208)
- labelcnt++;
- soding = Number(model.getValue(xMediCard8 + "[" + j + "]/soding"));
- last = model.getValue(xMediCard8 + "[" + j + "]/last");
- /*수액정보 라벨 출력*/
- if(j == nodecnt || prev_soding != model.getValue(xMediCard8 + "[" + (j+1) + "]/soding")){
- // 총수 - 현위치
-
- //----------(20080927)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
-
- //------------------(20081208)
- var Mixno = "mixno";
- var DrugTime = "10:00";
-
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 180, 1, "N", Mixno, "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 210, 1, "N", DrugTime, "");
- //------------------(20081208)
-
- sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", subcnt + " - " + soding, "");
- //----------(20080927)
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 1;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else if((labelcnt + overcnt) == 5){
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 0;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else{}
- }
- /*순서 뒤집기*/
- /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- CommAX.SendMessage(sLabelData_Array[k]);
- }*/
- //-----------(20081031)
- CommAX.PortOpen(false);
- //CommAX.PortClose();
- //-----------(20081031)
- }else{
- messageBox("수액이 존재하지","E007");
- }
- }
- //----------(20080929이전버젼)
- function fClickHydPrint_OLD(){
- model.removeNodeSet("/root/send/medicard8/warddruglist");
- var rows = grd_druglist.rows-1;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- for(var i = 1; i < rows; i++){
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- prcpmixno = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- prcptims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- //------------(20080912)
- var prcptimscalc = model.getValue(xWardDrugListPath + "[" + i + "]/calctims");
- //------------(20080912)
- if(prcpclscd == "A61"){//수액
- if(model.getValue(xWardDrugListPath + "[" + i + "]/check") == "true"){
- //--------(20080912)
- //for(var j = 0; j < prcptims; j++){
- for(var j = 0; j < prcptimscalc; j++){
- //--------(20080912)
- if((prcpmixno == "" || isSearchArrayIndex(prtMix_Array, prcpmixno) == -1) && j == 0){
- medicardcnt8++;
- prtMix_Array[medicardcnt8] = prcpmixno;
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", medicardcnt8 + acctims);
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
-
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }else if(j > 0){
- acctims++;
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", Number(isSearchArrayIndex(prtMix_Array, prcpmixno)) + Number(acctims));
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
-
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }else{
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", Number(isSearchArrayIndex(prtMix_Array, prcpmixno)) + Number(acctims));
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }
- }
- }
- }
- }
- //수액
- if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- if ( getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo") <=0 ) {
- messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- return;
- }
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- var nodecnt = getNodesetCount(xMediCard8);
- var prev_soding = "";
- var prcpvol = "";
- var prcpvolunitflag = "";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var labelcnt = 0;
- var labelindex = 0;
- var sDate = model.getValue("/root/main/cond/orddd").substr(4,2) + "/" + model.getValue("/root/main/cond/orddd").substr(6,2);
- var soding = "";
- var last = "";
- var overcnt = 1;
- var iHeight = 0;
- var sTempData = "";
- var sLabelData_Array = new Array;
- var iLeft = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left"));
- var iTop = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top"));
- if(iLeft == "" || iLeft == "-"){
- iLeft = 0;
- }
- if(iTop == "" || iTop == "-"){
- iTop = 0;
- }
-
- /*수액 라벨 출력*/
- var sLabelSndMsg = BP_StartFormat;
- for(var j = 1; j <= nodecnt; j++){
- if(j == 1 || prev_soding != model.getValue(xMediCard8 + "[" + j + "]/soding")){
- /*환자정보 라벨 출력*/
- prev_soding = model.getValue(xMediCard8 + "[" + j + "]/soding");
- //-----------------------------(20080917)
- //이름과 등록번호 크게 출력하기
- //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCareBP_EndFormat(1);
- //-----------------------------(20080917)
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- sLabelSndMsg = BP_StartFormat;
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- }
- prcpvol = model.getValue(xMediCard8 + "[" + j + "]/prcpvol");
- prcpvolunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpvolunitflag");
-
- prcpqty = model.getValue(xMediCard8 + "[" + j + "]/prcpqty");
- prcpqtyunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpqtyunitflag");
- //---------------(20080927)
- //1일횟수로 나눈다.
- var tims = model.getValue(xMediCard8 + "[" + j + "]/tims");
- if (tims > 0 ) {
- prcpvol = prcpvol / tims;
- prcpqty = prcpqty / tims;
- }
- //---------------(20080927)
-
- sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag;
- iHeight = ((labelcnt + overcnt) * 30) + 30;
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/prcpcd"), "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 220, iTop + iHeight, 3, "N", sTempData, "");
- labelcnt++;
- soding = Number(model.getValue(xMediCard8 + "[" + j + "]/soding"));
- last = model.getValue(xMediCard8 + "[" + j + "]/last");
- /*수액정보 라벨 출력*/
- if(j == nodecnt || prev_soding != model.getValue(xMediCard8 + "[" + (j+1) + "]/soding")){
- // 총수 - 현위치
-
- //----------(20080927)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", totcnt + " - " + soding, "");
- //----------(20080927)
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 1;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else if((labelcnt + overcnt) == 5){
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- //////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 0;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else{}
- }
- /*순서 뒤집기*/
- /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- CommAX.SendMessage(sLabelData_Array[k]);
- }*/
- }else{
- messageBox("수액이 존재하지","E007");
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPatLabelPrint(sSndMsg){
- //출력매수
- //sSndMsg = sSndMsg + "^PQ1";
- //끝
- sSndMsg = sSndMsg + "^XZ";
- CommAX.SendMessage(sSndMsg);
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단정보 셋팅
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPatInfo(pid, indd, cretno, instcd, orddd, ordtype){
- var row = group3.grd_druglist.currentrow;
- if(top_pid != pid){
- if(ordtype == "I" || ordtype == "D"){
- // 상단 세팅을 위한 파라미터
- condparam = "I" + "▦" + pid
- + "▦" + indd
- + "▦" + cretno
- + "▦" + instcd
- + "▦" + orddd;
- }else if(ordtype == "E"){
- // 상단 세팅을 위한 파라미터
- condparam = "E" + "▦" + pid
- + "▦" + indd
- + "▦" + cretno
- + "▦" + instcd
- + "▦";
- }else{}
- if(ordtype == "I" || ordtype == "E" || ordtype == "D"){
- //frmf_setParameter("condparam", condparam);
-
- //상단 세팅 화면 사이즈 작게 띄움
- //----------------------(20080618이전버젼)
- //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- //top_pid = pid;
- //----------------------(20080618이후버젼)
- //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
- var useyn = appf_initPatientInfo(condparam);
-
- //var useyn = frmf_getParameter("SPMMO08900_rtn_useyn"); // 입원,외래 원무환자정보 존재 "Y" / 존재하지 않을 경우 "N"
- if(useyn == true) { // 원무환자정보 있을 경우만 다음 단계 진행
- top_pid = pid;
- group3.btn_save.enable = true;
- group3.btn_tempsave.enable = true;
- } else {
- sysf_messageBox("원무정보가 없습니다. 투약기록일 할 수 업습니다.","E999");
- group3.btn_save.enable = false;
- group3.btn_tempsave.enable = false;
- }
- //---------------------
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 리스트 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDrugListClick(){
- var row = group3.grd_druglist.currentrow;
- var col = group3.grd_druglist.currentcol;
- var drugstat = ds_main_cond.getColumn(0, "drugstat"); //ACTING구분
-
- //데이터 컬럼을 클릭시
- if( col >= grd_colcnt){ //해당 셀을 누를 경우 해당하는 자료만
- if(fChkPrcpStat()) {
- var nRowPos = ds_main_warddruginfo_warddruglist.rowposition;
- var nColPos = group3.grd_druglist.currentcell;
-
- ds_main_warddruginfo_warddruglist.enableevent = false;
-
- fSetDrug(drugstat); //Acting이벤트시 공통 함수(ACTING구분 파라미터)상단으로 올라감
-
- ds_main_warddruginfo_warddruglist.enableevent = true;
-
- ds_main_warddruginfo_warddruglist.rowposition = nRowPos;
- group3.grd_druglist.setCellPos(nColPos);
- group3.grd_druglist.setFocus();
- if(grd_colcnt <= col){
- //-----------(20081121:test) grd_druglist.row = 1;가 있는데, 막고 테스트 진행함)
- //grd_druglist.row = 1;
- //숨겨진필드로 이동한다.
- // grd_druglist.select(grd_druglist.row,grd_druglist.colref("engnm")) = true;
- // grd_druglist.col = grd_druglist.colref("engnm");
- //-----------(20081121)
- }
- }
- }else{}
-
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 디스플레이(환자리스트)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPatTopInfo(){
- var mouserow = group3.swtpatList.pat.grd_patlist.currentrow;
- var patcnt = ds_main_wardpatinfo_wardpatlist.rowcount;
- var row = group3.swtpatList.pat.grd_patlist.currentrow;
- var pid = ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid");
- var indd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "indd");
- var cretno = ds_main_wardpatinfo_wardpatlist.getColumn(row, "cretno");
- var instcd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "instcd");
- var ordtype = ds_main_wardpatinfo_wardpatlist.getColumn(row, "ordtype");
- var orddd = ds_main_cond.getColumn(0, "orddd");
- var roomcd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "roomcd");
- var patnm = ds_main_wardpatinfo_wardpatlist.getColumn(row, "patnm");
- var sexage = ds_main_wardpatinfo_wardpatlist.getColumn(row, "sexage");
-
- if( ds_main_cond.getColumn(0, "wardcd") == "0000000000" ){
- xOpfromdt = ds_main_wardpatinfo_wardpatlist.getColumn(row, "opfromdt");
- var preantidt = utlf_transNullToEmpty(ds_main_wardpatinfo_wardpatlist.getColumn(row, "preantidt"));
-
- if (xDrMode = "dr") {
- if( !utlf_isNull(preantidt) && preantidt != "-" ){
- ds_main_cond.setColumn(0, "currentday", preantidt.substr(0, 8));
- ds_main_cond.setColumn(0, "currenttime", preantidt.substr(8,4));
- }
- else {
- ds_main_cond.setColumn(0, "currentday", utlf_getCurrentDate());
- ds_main_cond.setColumn(0, "currenttime", utlf_getCurrentTime().substr(0,4));
- }
- }
- }
-
- ds_main_patinfo.setColumn(0, "roomcd", roomcd);
- ds_main_patinfo.setColumn(0, "pid", pid);
- ds_main_patinfo.setColumn(0, "patnm", patnm);
- ds_main_patinfo.setColumn(0, "sexage", sexage);
- ds_main_patinfo.setColumn(0, "opfromdt", xOpfromdt);
-
- //-----------------(20080912) 응급의료센터는 병실정보가 배드정보이므로 병실세팅하면 안�.20090601 김홍점
- if( !utlf_isNull(ds_codelist.getColumn(0, "cdid") ) && ds_codelist.getColumn(0, "cdid") != ds_main_cond.getColumn(0, "wardcd") ){
- ds_main_cond.setColumn(0, "roomcd", roomcd);
- }
-
- //-----------------(20080912)
-
- if(mouserow > -1 && mouserow < patcnt){
- fSetPatInfo(pid,indd,cretno,instcd,orddd,ordtype);
- }
-
- if(mouserow > -1 && mouserow < patcnt){
-
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("drg", row);
- fClickDrugListAfter(); //------------(20081031)
-
- }
- ds_main_paminfo_pamlist.clearData();
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo); //환자정보내리기
-
- if( utlf_isNull(ds_main_paminfo_pamlist.getColumnInfo("sectioncd")) ){
- ds_main_paminfo_pamlist.addColumn("sectioncd", "string");
- ds_main_paminfo_pamlist.setColumn(0, "sectioncd", ds_main_paminfo_pamlist.getColumn(0, "basetypecd"));
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @-------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 디스플레이(미투약리스트)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetActTopInfo(){
- var mouserow = group3.swtpatList.act.grd_actlist.currentrow;
- var patcnt = ds_main_wardactinfo_wardactlist.rowcount;
- var row = group3.swtpatList.act.grd_actlist.currentrow;
- var pid = ds_main_wardactinfo_wardactlist.getColumn(row, "pid");
- var indd = ds_main_wardactinfo_wardactlist.getColumn(row, "indd");
- var cretno = ds_main_wardactinfo_wardactlist.getColumn(row, "cretno");
- var instcd = ds_main_wardactinfo_wardactlist.getColumn(row, "instcd");
- var ordtype = ds_main_wardactinfo_wardactlist.getColumn(row, "ordtype");
- var orddd = "";//ds_main_wardactinfo_wardactlist.getColumn(row, "prcpdd");
- var roomcd = ds_main_wardactinfo_wardactlist.getColumn(row, "roomcd");
- var patnm = ds_main_wardactinfo_wardactlist.getColumn(row, "patnm");
- var sexage = ds_main_wardactinfo_wardactlist.getColumn(row, "sexage");
- ds_main_patinfo.setColumn(0, "roomcd", roomcd);
- ds_main_patinfo.setColumn(0, "pid", pid);
- ds_main_patinfo.setColumn(0, "patnm", patnm);
- ds_main_patinfo.setColumn(0, "sexage", sexage);
- if(mouserow > -1 && mouserow < patcnt){
- fSetPatInfo(pid,indd,cretno,instcd,orddd,ordtype);
- }
- if(mouserow > -1 && mouserow < patcnt){
-
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("act", row);
- fClickDrugListAfter(); //------------(20081031)
-
- }
- ds_main_paminfo_pamlist.clearData();
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo); //환자정보내리기
-
- if( utlf_isNull(ds_main_paminfo_pamlist.getColumnInfo("sectioncd")) ){
- ds_main_paminfo_pamlist.addColumn("sectioncd", "string");
- ds_main_paminfo_pamlist.setColumn(0, "sectioncd", ds_main_paminfo_pamlist.getColumn(0, "basetypecd"));
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상태값 변경 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangeValueStatus(row, forarr){
- var objDsxWardDrugListPath = eval(xWardDrugListPath+row+"for");
- var iudflag = objDsxWardDrugListPath.getColumn(forarr, "iudflag");
-
- if(iudflag == "-"){
- objDsxWardDrugListPath.setColumn(forarr, "iudflag", "U");
- }else if( utlf_isNull(iudflag) ){
- objDsxWardDrugListPath.setColumn(forarr, "iudflag", "I");
- }else{}
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약 시간 셀 color 변경
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDrugCellColorChg(){
- var rows = group3.grd_druglist.rowcount;
- var execcarestatcd = "";
- var spcldrug = "";
- var dccomcountyn = "";
- var forarr = "";
- var todaydrugflag = ""; //---(20080920)
-
- var sExprBack = "EXPR(";
-
- for( var i=0 ; i<rows ; i++ ){
- //AST.ADBMDRUG(약품기본정보)spcldrug(특별약품구분(코드군 A0006 참조))
- spcldrug = ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug");
- //D/C확정여부
- dccomcountyn = ds_main_warddruginfo_warddruglist.getColumn(i, "dccomcountyn");
- for( var j=0 ; j<addCol_Array.length ; j++ ){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr"+(grd_colcnt+j))) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr"+(grd_colcnt+j), "string");
- }
-
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "forarr"+(grd_colcnt+j))).split(" ");
- if( !utlf_isNull(forarr) ){
- for( var k=0 ; k<forarr.length-1 ; k++ ){
- //간호Acting진행상태(N(미확인)/R(정상투약)/P(투약X-반환가능)/I(투약X-반환불가)/L(퇴원당일 남은약)
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- execcarestatcd = objDsxWardDrugListPath.getColumn(forarr[k]-1, "execcarestatcd");
-
- //--------------------------------------
- //원본:조건체크없이 설정했음
- //수정:조회일 기준으로 투약대상이 아니면 색상을 표시하지 않는다.
-
- todaydrugflag = objDsxWardDrugListPath.getColumn(forarr[k]-1, "todaydrug"); //--(0920)
- if (todaydrugflag == "Y") { //--(0920)
- if(execcarestatcd == "N" ||execcarestatcd == "-"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+gray+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", gray, i);
- }
- }else if(execcarestatcd == "R"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+yellow+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", yellow, i);
- }
- }else if(execcarestatcd == "P"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+yellowishgreen+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", yellowishgreen, i);
- }
- }else if(execcarestatcd == "I"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+red+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", red, i);
- }
- }else if(execcarestatcd == "L"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+sky+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", sky, i);
- }
- //-------------(20081201)
- }else if(execcarestatcd == "M"){
- sExprBack += "currow == "+i+" && self.col == "+(j+grd_colcnt)+" ? '"+orange+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+(j+grd_colcnt))) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+(j+grd_colcnt))) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+(j+grd_colcnt), "string", orange, i);
- }
- //-------------(20081201)
- }else{}
- }
- //--------------------------------------
- }
- }
- }
- }
-
- sExprBack += "'')";
-
- for( var i=grd_colcnt ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "background", "BIND(color"+i+")");//sExprBack);
- group3.grd_druglist.setCellProperty("Body", i, "background2", "BIND(color"+i+")");//sExprBack);
- group3.grd_druglist.setCellProperty("Body", i, "selectbackground", "BIND(color"+i+")");//sExprBack);
- }
-
- //bfprcpequalyn : 전일처방 비교 getbfprcpequalyninfo 추가 김홍점 'N'일때 색깔표현
- for( var i=4 ; i<16 ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "background", "EXPR(bfprcpequalyn == 'N' ? '#cceeee' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "background2", "EXPR(bfprcpequalyn == 'N' ? '#cceeee' : '')");
- }
-
- for( var i=1 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- if( i<=grd_colcnt-3 || i==grd_colcnt-1 ){
- //-----------------------------(20080731)
- //마약,향정신성인 경우
- //if(spcldrug == "M"){
- group3.grd_druglist.setCellProperty("Body", i, "font", "EXPR(spcldrug == 'M' || spcldrug == 'H' ? 'Dotum,9,bold' : 'Dotum,9')");
- group3.grd_druglist.setCellProperty("Body", i, "selectfont", "EXPR(spcldrug == 'M' || spcldrug == 'H' ? 'Dotum,9,bold' : 'Dotum,9')");
-
- //D/C확정여부
- group3.grd_druglist.setCellProperty("Body", i, "color", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "color2", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "selectcolor", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- }
- }
- //-----------------------------
- }
- //-------------------------------------(20080920)
- // todaydrug 을 기준으로 화면에 보이는 것을 재 설정한다.
- function fDrugCellDispChg(){
- var pGrd = group3.grd_druglist;
- var rows = pGrd.rowcount;
- var cols = pGrd.getCellCount("Body");
- var execcarestatcd = "";
- var spcldrug = "";
- var dccomcountyn = "";
- var forarr = "";
- var todaydrugflag = "";
-
- //-----------------------------
- //column 설정
- //화면에 보이는 자료에 대해서 색상이 없는경우는 colwidth = 0으로 설정한다.
- //-----------------------------
- for( var col=grd_colcnt ; col<cols ; col++ ){
- var dispyn = false; //보이지 않아야 하는 컬럼
- for( var row=0 ; row<rows ; row++ ){
- //if (pGrd.rowheight(row) != 0) { //----(20080923)
-
- if ( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+col)) &&
- (ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == gray ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == yellow ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == yellowishgreen ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == red ||
- //-------------(20081201)
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == orange ||
- //-------------(20081201)
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == sky) ){
- dispyn = true;
- }
- //}
- }
- if (dispyn == false) {
- pGrd.setRealColSize(col, 0);
- pGrd.setFormatColProperty(col, "size", 0);
- }
- }
- //-----------------------------
- //row 설정
- //화면에 보이는 자료에 대해서 색상이 없는경우는 rowheight = 0으로 설정한다.
- //-----------------------------
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("flagRowHidden")) ){
- ds_main_warddruginfo_warddruglist.addColumn("flagRowHidden", "string");
- }
-
- for( var ii=0 ; ii<ds_main_warddruginfo_warddruglist.rowcount ; ii++ ){
- ds_main_warddruginfo_warddruglist.setColumn(ii, "flagRowHidden", "0");
- }
-
- for( var row=0 ; row<rows ; row++ ){
- var dispyn = false; //보이지 않아야 하는 컬럼
- for( var col=grd_colcnt ; col<cols ; col++ ){
- if( pGrd.getRealColSize(col) != 0 ){ //----(20080925)
- if ( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+col)) &&
- (ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == gray ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == yellow ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == yellowishgreen ||
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == red ||
- //-----------(20081201)
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == orange ||
- //-----------(20081201)
- ds_main_warddruginfo_warddruglist.getColumn(row, "color"+col) == sky) ){
- dispyn = true;
- }
- }
- }
- if (dispyn == false) {
- ds_main_warddruginfo_warddruglist.setColumn(row, "flagRowHidden", "1");
- //pGrd.setRealRowSize(row, 0);
- }
- }
-
- for( var i=0 ; i<ds_main_warddruginfo_warddruglist.rowcount ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "flagRowHidden") == "1" && !utlf_isNull(this.objects[xWardDrugListPath+i+"for"]) ){
- var objDs = this.removeChild(xWardDrugListPath+i+"for");
- delete objDs;
- objDs = null;
- }
- }
-
- for( var i=0 ; i<ds_main_warddruginfo_warddruglist.rowcount ; i++ ){
- if( utlf_isNull(this.objects[xWardDrugListPath+i+"for"]) ){
- for( var j=(i+1) ; j<ds_main_warddruginfo_warddruglist.rowcount ; j++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(j, "flagRowHidden") != "1" && !utlf_isNull(this.objects[xWardDrugListPath+j+"for"]) ){
- dsf_createDs(xWardDrugListPath+i+"for");
- eval(xWardDrugListPath+i+"for").copyData(eval(xWardDrugListPath+j+"for"));
-
- var objDs = this.removeChild(xWardDrugListPath+j+"for");
- delete objDs;
- objDs = null;
-
- break;
- }
- }
- }
- }
-
- ds_main_warddruginfo_warddruglist.filter("flagRowHidden!='1'");
- }
- //-------------------------------------(20080920)
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Tree 셋팅
- * @param : Object gridObj - 그리드 오브텍트
- Integer levelcol - Depth 컬럼 위치
- Integer targetcol - 아웃라인 생성 컬럼 위치
- Boolean collapsed - Expand 설정
- * @return :
- * @---------------------------------------------------
- */
- function careSetTree( gridObj, levelcol, targetcol, collapsed ) {
- // 그리드 아웃라이바 초기화
- gridObj.outlinebar=0;
- var prcpmixno = "0";
- var prcpclscd = "";
- //tree 및 레벨설정
- for(var j = gridObj.fixedRows; j < gridObj.rows; j++)
- {
- gridObj.IsSubtotal(j) = false;
- }
- gridObj.refresh();
- mixno_Array = new Array;
- //tree 및 레벨설정
- for(var i = gridObj.fixedRows; i < gridObj.rows; i++)
- {
- prcpmixno = model.getValue(xWardDrugListPath + "[" + (i-1) + "]/prcpmixno");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + (i-1) + "]/prcpclscd");
- if(prcpmixno != ""){
- try {
- if(mixno_Array[parseInt(prcpmixno)] == null){
- gridObj.IsSubtotal(i) = true;
- gridObj.outlinelevel(i) = 1; //인스턴스 levl 값임
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "1");
- mixno_Array[parseInt(prcpmixno)] = "Y";
- }else if(mixno_Array[parseInt(prcpmixno)] == "Y"){
- gridObj.IsSubtotal(i) = true;
- gridObj.outlinelevel(i) = 2; //인스턴스 levl 값임
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "2");
- }else{}
- } catch(e) {
- ////////////alert("i:"+i+",levelcol:"+levelcol);
- }
- }else{
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "0");
- }
- }
- // tree 대상 컬럼 및 형태 설정
- gridObj.outlinecol=targetcol; //연결선이 표현되는 컬럼
- gridObj.outlinebar=2; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
- gridObj.treecolor="#948777"
- // 자식 트리 접기
- if(collapsed != null) {
- setCollapsed(gridObj, collapsed);
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayString(baseCol_Array, row){
- for(var i = 0; i <= baseCol_Array.length; i++){
- if((baseCol_Array[i]) == row){
- return true;
- }
- }
- return false;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayIndex(baseCol_Array, sData){
- for(var i = 0; i <= baseCol_Array.length; i++){
- if((baseCol_Array[i]) == sData){
- return i;
- }
- }
- return -1;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기준시간 변경전 변경된 내용이 있는지 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangeDrugInfo(){
- var rows = group3.grd_druglist.rowcount;
- var drugtmspec = "";
- var tims = "";
- var stat = "false";
- var iudflag = "";
- for( var i=0 ; i<rows ; i++ ){
- drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(i, "drugtmspec").split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- for( var j=0 ; j<rows ; j++ ){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("iudflag" + utlf_transNullToEmpty(drugtmspec[j]))) ){
- iudflag = "";
- }else{
- iudflag = ds_main_warddruginfo_warddruglist.getColumn(i, "iudflag" + utlf_transNullToEmpty(drugtmspec[j]));
- }
-
- if(iudflag != "-" && !utlf_isNull(iudflag) ){
- return "true";
- }
- }
- }
- return "false";
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 그리드 기본/펼치기 모드 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSelectOpenMoe(){
- if( group3.rdo_openmode.value == "O" ){ //펼치기
- group3.grd_druglist.setFormatColProperty(grd_colcnt-8, "size", 100); //기준시간setting(drugtmspeccal)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-7, "size", 80); //처방remark(prcpdelivefact)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-6, "size", 55); //처방의(orddrnm)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-5, "size", 100); //처방시간(fstrgstdt)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-4, "size", 70); //처방적용일(prcphopedd)
- //grd_druglist.colHidden(grd_colcnt - 2) = false; //수액라벨출력여부(sapnoyn)(20080929)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-3, "size", 0); //수액라벨출력여부(sapnoyn)(20081114)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-2, "size", 70); //처방영문명(20081118)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-1, "size", 0); //depth(depth)
- }else if( group3.rdo_openmode.value == "B" ){ //기본
- group3.grd_druglist.setFormatColProperty(grd_colcnt-8, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-7, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-6, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-5, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-4, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-3, "size", 0); //수액라벨출력여부(sapnoyn)(20080929)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-2, "size", 0); //처방영문명(20081118)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-1, "size", 0);
- }else {}
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 문자열 정렬
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //일자별정렬
- function sortHashKeys(col, cnt){
- var sColArray = new Array; //파라미터를 배열 구조로 변경 저장
- var sCol = col.split("^");
- var temp = "";
- for(var i = 0; i < cnt; i++){
- sColArray[i] = Number(sCol[i]);
- }
- //sColArray.sort();
- for(i = 0; i < sColArray.length; i++){
- for(j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = sColArray[i];
- sColArray[i] = sColArray[j];
- sColArray[j] = temp;
- }
- }
- }
- return sColArray;
- }
- //시간대정렬(20080918)
- function sortHashKeys2(col, cnt){
- var sColArray = new Array; //파라미터를 배열 구조로 변경 저장
- var sCol = col.split("^");
- var temp = "";
- for(var i = 0; i < cnt; i++){
- sColArray[i] = Number(sCol[i]);
- }
- //sColArray.sort();
- for(i = 0; i < sColArray.length; i++){
- for(j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = sColArray[i];
- sColArray[i] = sColArray[j];
- sColArray[j] = temp;
- }
- }
- }
- ////////alert("1");
- //가공
- var sColArraytemp0 = new Array;
- var sColArraytemp1 = new Array;
- var sColArraytemp2 = new Array;
- var sColArraytemp3 = new Array;
- var sColArraytemp4 = new Array;
-
- var cnt0 = -1;
- var cnt1 = -1;
- var cnt2 = -1;
- var cnt3 = -1;
- var cnt4 = -1;
- ////////alert("2");
- for(i = 0; i < sColArray.length; i++){
- var tempv = parseInt(sColArray[i]);
- //////////alert(tempv);
-
- if (tempv < 0) {
- ////////alert("나누기전:" +tempv);
- tempv = tempv / 2400 ;
- ////////alert("나누기후:" +tempv.toString().getTruncate());
-
- if (tempv.toString().getTruncate() == 0) {
- cnt0++;
- sColArraytemp0[cnt0] = sColArray[i];
- ////////alert(sColArraytemp0[cnt0]);
-
- }else if(tempv.toString().getTruncate() == -1) {
- cnt1++;
- sColArraytemp1[cnt1] = sColArray[i];
- }else if(tempv.toString().getTruncate() == -2) {
- cnt2++;
- sColArraytemp2[cnt2] = sColArray[i];
- }else if (tempv.toString().getTruncate() == -3) {
- cnt3++;
- sColArraytemp3[cnt3] = sColArray[i];
- }else if (tempv.toString().getTruncate() == -4) {
- cnt4++;
- sColArraytemp4[cnt4] = sColArray[i];
- }
- }
- }
- ////////alert("3");
- var totcnt = -1;
- for (i=0;i<sColArraytemp4.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp4[i];
- ////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp3.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp3[i];
- ////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp2.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp2[i];
- ////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp1.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp1[i];
- ////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp0.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp0[i];
- ////////alert(sColArray[totcnt]);
- }
- ////////alert("4");
- return sColArray;
- }
- //기준시간setting정렬(0930)
- function sortHashKeysString(sColString){
- var sColArray = new Array;
-
- //string -> 배열로
- var sCol = sColString.split(" ");
- var temp = "";
- for(var i = 0; i < sCol.length; i++){
- //sColArray[i] = Number(sCol[i]);
- sColArray[i] = fCarec_GetFillZeno(sCol[i],4,0);
- sColArray[i] = sColArray[i].toString().replace(":",""); //-----(20080919)
- }
- //배열 정렬
- for(var i = 0; i < sColArray.length; i++){
- for(var j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = fCarec_GetFillZeno(sColArray[i],4,0);
- sColArray[i] = fCarec_GetFillZeno(sColArray[j],4,0);
- sColArray[j] = fCarec_GetFillZeno(temp,4,0);
- }
- }
- }
- //중복제거
- // sColString = "";
- // for(var i = 0; i < sColArray.length; i++){
- // if ( sColArray[i] == "") continue;
- //
- // for(var j = i+1; j < sColArray.length; j++){
- // if ( sColArray[i] == sColArray[j]) sColArray[j] = "";
- // }
- // }
- //배열 -> string
- sColString = "";
- for(var i = 0; i < sColArray.length; i++){
- //if (sColArray[i] == "0000") continue; //---0919
- sColString += sColArray[i] + " ";
- }
- //마지막 " " 제거
- sColString = utlf_transNullToEmpty(sColString).substr(0,sColString.length-1);
- //string 리턴
- return sColString;
- }
- //--------------------(20080605)
- // 음수끼리의 정렬은 반대임(기능추가)
- // -1800 < -2000 임 시간이므로(오류가 있음) -1800 -2000 이 되어야함
- // -1800 < -4000 인 경우는 날짜가 달라짐(0918) -4000 -1800 이 되어야함
- // return false를 리터하면 change하라
- //--------------------
- function sort2(a,b){
-
- var temp1,temp2;
- var temp1mok,temp2mok;
-
- // 두변수가 전부 음수인 경우(음수,음수) -1800 < -2000
- // a을 비교한다.
- //////////alert("비교:" + parseInt(a) + "/" + parseInt(b))
- if ( parseInt(a) < 0 && parseInt(b) < 0 ) { //: 작은순정렬(큰순<작은순)
- if(parseInt(a) < parseInt(b)){
- return true; //no change
- }else if(parseInt(a) > parseInt(b)){
- return false; //change
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- } else {
- //그외경우 (음수,양수/양수,음수/양수,양수) //: 큰순정렬(작은순->큰순)
- if(parseInt(a) > parseInt(b)){
- return true; //no change
- }else if(parseInt(a) < parseInt(b)){
- return false; //change
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- }
- }
- //function sort2_OLD(a,b){
- // if(parseInt(a) > parseInt(b)){
- // return true;
- // }else if(parseInt(a) < parseInt(b)){
- // return false;
- // }else{
- // var sort = new Array(a,b);
- // sort.sort();
- // return (sort[0] == a)? false:true;
- // }
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : grid mouse down
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- // function fMouseDownGridRow(){
- // var rows = group3.grd_druglist.rowcount;
- // var row = group3.grd_druglist.currentrow;
- // var col = group3.grd_druglist.currentcol;
- //
- // if( row <= rows && rows > 0 && row > -1 ){
- // if(col >= grd_colcnt){
- // window.setPopupMenu(true, "/root/hidden/drg_popmenu1/menu", "name", "func", false);
- // }else{
- // window.setPopupMenu(true, "/root/hidden/drg_popmenu2/menu", "name", "func", false);
- // }
- // }
- // }
- /**
- * @---------------------------------------------------
- * @desc : 전체 문장에서 특정 문장이 있는지를 검사하는 함수
- * @param : strSrc - 전체 문장
- * @param : strFind - 찾을 문장
- * @return : boolean
- * @---------------------------------------------------
- */
- function careIsSearchString(strSrc, strFind){
- strSrc = strSrc.split("^");
- for(var i = 0; i < strSrc.length; i++){
- if(strFind == strSrc[i]){
- return true;
- }
- }
- return false;
- }
- /*
- 20080809
- prcpno별로 drugbasetmspec_TM를 기준으로
- model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")에 값설정 한다.
- */
- function fndrugcalcbefore() {
- var querydrugddfr = ds_main_cond.getColumn(0, "orddd"); //조회일(투약(예정)일 (화면에 나와야하는 일자)
- var querydrugddto = getDateAddc(querydrugddfr, 1); //조회일(투약(예정)일+1 (화면에 나와야하는 일자)
- var prcpdd = "";
- var prcpno = "";
- var prcphistno = "";
- var drugbasetmspec_tm = "";
- var fridx = 0;
- var toidx = 0;
- var rows = ds_hidden_warddruginfo_warddruglist.rowcount;
-
- for( var i=0 ; i<rows ; i++ ){
- ////////////alert( "읽기:" +prcpdd + "/" + prcpno + "/" + prcphistno );
- if( i == 0 ){
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- //prcphistno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno");
-
- fridx = 0;
- toidx = 0;
- ////////////alert("시작:"+ i + "/" + drugbasetmspec_tm+ "/");
- }
- if (
- prcpdd == ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd") &&
- prcpno == ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno") //&&
- //prcphistno == model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno")
- ) {
-
- drugbasetmspec_tm += utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec_tm")) + " ";
- ////////////alert("같음:"+ i + "/" + drugbasetmspec_tm+ "/");
- } else {
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- //prcphistno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno");
-
- //반영을 위한 값설정
- toidx = i-1;
- drugbasetmspec_tm = drugbasetmspec_tm.substring(0,drugbasetmspec_tm.length-1);
- ////////////alert("다름1:" + i + "/" + drugbasetmspec_tm+ "/");
- //반영
- for( var j=fridx ; j<=toidx ; j++ ){
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugtmspec", drugbasetmspec_tm);
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugbasetmspec", drugbasetmspec_tm);
- }
- ////////////alert("다름2:" + i + "/" + drugbasetmspec_tm+ "/");
- //초기화
- fridx = i;
- drugbasetmspec_tm = "";
- drugbasetmspec_tm += ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec_tm") + " ";
- ////////////alert("다름3:" + i + "/" + drugbasetmspec_tm+ "/");
- }
- if( i == (rows-1) ){
- //반영을 위한 값설정
- toidx = i;
- drugbasetmspec_tm = drugbasetmspec_tm.substring(0,drugbasetmspec_tm.length-1);
-
- ////////////alert("종료1:" + i + "/" + drugbasetmspec_tm+ "/");
- //반영
- for( var j=fridx ; j<=toidx ; j++ ){
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugtmspec", drugbasetmspec_tm);
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugbasetmspec", drugbasetmspec_tm);
- }
- ////////////alert("종료2:" + i + "/" + drugbasetmspec_tm+ "/");
- }
- }
- }
- /*
- 20080529
- 조회자료에서 기준시간setting을 편집한다.
- 시간대를 row별로 반영한다.
- */
- function fndrugcalc() {
- var querydrugddfr = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "orddd")); //조회일(투약(예정)일 (화면에 나와야하는 일자)
- var querydrugddto = utlf_transNullToEmpty(getDateAddc(utlf_transNullToEmpty(querydrugddfr), 1)); //조회일(투약(예정)일+1 (화면에 나와야하는 일자)
- for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
- //------------------------------------------------------------------------------------------
- //drugtmspec : 조회해온 표준시간대(표준시간대+변경된시간대, 단 투약시간대는 반영되지 않았음)
- // 변경하지 않는다.
- //------------------------------------------------------------------------------------------
- var drugtmspec = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugtmspec")); //1 부터임(질의문에서 받아온 시간 그대로)
- var prcphopedd = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphopedd"));
- var prcpcd = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
- var drugdd = "";
- var drugtm = "";
- var i_init = i
- var drugtmspeccal1 = ""; //조회자료에 대한 DRUGDD,DRUGTM
- var drugtmspeccal2 = ""; //조회기간에 대한(조회일~조회일+1) 을 연산한것으로 변경한 것
- var dispddarray = ""; //투약(예정)일
- var disptmarray = ""; //투약(예정)시간
- var dispflagarray = ""; //조회기간안의 투약(예정)일 여부 flag(화면상계산의미없음)전부보임
-
- var todaydrugtimes = ""; //질의문을 기준으로 화면에 보일자료 (20080920)
-
- var antiastrids = "";
- var antiastrnms = "";
-
- if( !utlf_isNull(drugtmspec) ){
- array_drugtmspec = drugtmspec.split(" ");
- for( var j=0 ; j<array_drugtmspec.length ; j++ ){
-
- //------------------------------------------------------------
- //처방적용일기준으로 표준 시간대를 계산한다.[절대시간대]
- //------------------------------------------------------------
- //처방적용희망일+설정된시간(표준시간대또는 변경된시간대):실질적인 투약일/투약시간을 찾는다.
- //------------------------------------------------------------
- drugdd = getDateAddc(prcphopedd, parseInt(utlf_transNullToEmpty(array_drugtmspec[j]) / 2400));
- drugtm = Number(utlf_transNullToEmpty(array_drugtmspec[j])) % 2400;
- drugtm = Math.abs(Number(drugtm)).toString();
- //------------------------------------------------------------
- //투약된일자가 있으면
- //투약된일자와 투약된시간대를 반영한다.
- //
- //변경시간은 반영된 상태이고,
- //투약일(medr.execdd)이 있으면 투약일로 설정한다.
- //------------------------------------------------------------
- var execdrugdd = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "execdd"));
- var execdrugtm = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "exectm"));
- //------------(20080710) 투약기록과 시행일자가 분리되었음
- // if (execdrugdd != "" && execdrugdd != "00000000") drugdd = execdrugdd;
- // if (execdrugtm != "" && execdrugtm != "000000") drugtm = execdrugtm.substring(0,4);
- ////////////alert("drugtmspeccal1:" + drugtmspeccal1);
- drugtmspeccal1 += fCarec_GetFillZeno(drugtm,4,0) + " ";
- drugtm = fCarec_GetFillZeno(drugtm,4,0);
- //투약(예정)일을 찾는다.
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispdd", drugdd);
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "disptm", drugtm);
- //투약(예정)일을 string형태로 생성한다.
- dispddarray += drugdd + " ";
- disptmarray += drugtm + " ";
- //------------------------------------------------------------
- //화면에 표시하기 위하여 조회일자를 기준으로 시간대를 다시 계산한다.[24시간 기준대로]//[상대시간대]
- //------------------------------------------------------------
- //실질적인 투약일을 구한것을 기준으로
- //조회일과의 일수차를 계산하여
- //투약시간대와 일수를 감안하여 재계산한다.
- //------------------------------------------------------------
- var dispdd2 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "dispdd")); //의미없음(dispdd와 동일)
- var disptm2 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "disptm"));
- var intervaldd = utlf_getDateInterval(querydrugddfr,dispdd2); //투약(예정)일-조회일 일수
-
- if (intervaldd >= 0 ) {
- disptm2 = Number(disptm2) + (Number(intervaldd) * 2400); //일수 반영한 시간대
- } else {
- disptm2 = (-Number(disptm2) + (Number(intervaldd) * 2400))
- }
- drugtmspeccal2 += fCarec_GetFillZeno(disptm2,4,0) + " "; //drugtmspeccal 만든다.
- //------------------------------------------------------------
- //자료들 중 화면에 표시해야 하는 것들을 표시한다.:
- //
- //조회일<= 투약(예정)일 and 투약(예정)일 <= 조회일+1
- //------------------------------------------------------------
- //test
- if (querydrugddfr <= dispdd2 && dispdd2 <= querydrugddto) {
- ////////////alert(querydrugddfr + "/" +drugdd +"/" + dispdd2 + "/" + querydrugddto);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflag", "string", "Y", i); //화면에 표시대상FLAG
- dispflagarray += "Y" + "/";
- } else {
- dispflagarray += "" + "/";
- }
-
- todaydrugtimes += utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "todaydrug")) + "/"; //-----(20080920)
-
- antiastrids += utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "antiastrid")) + "/";
- antiastrnms += utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(i, "antiastrnm")) + "/";
- ////////alert(todaydrugtimes);
-
- i++;
- }
- //------------------------------------------------------------
- //위에서 계산대 정보를 각 row에 반영한다.
- //------------------------------------------------------------
- drugtmspeccal1 = drugtmspeccal1.substring(0,drugtmspeccal1.length-1);
- drugtmspeccal2 = drugtmspeccal2.substring(0,drugtmspeccal2.length-1);
-
- dispddarray = dispddarray.substring(0,dispddarray.length-1);
- disptmarray = disptmarray.substring(0,disptmarray.length-1);
- dispflagarray = dispflagarray.substring(0,dispflagarray.length-1);
-
- todaydrugtimes = utlf_transNullToEmpty(todaydrugtimes.substring(0,todaydrugtimes.length-1)); //(20080920)
-
- antiastrids = utlf_transNullToEmpty(antiastrids.substring(0,antiastrids.length-1));
- antiastrnms = utlf_transNullToEmpty(antiastrnms.substring(0,antiastrnms.length-1));
-
- i=i_init; //시작첨자
- for( var j=0 ; j<array_drugtmspec.length ; j++ ){
-
- if( ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd") == "DTMD100J" ){
- //////////alert("DTMD100J:" +drugtmspeccal2);
- }
-
- //처방적용일기준으로 표준 시간대를 계산한다.
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspec_recalc1", "string", drugtmspeccal1, i);
- //조회일자를 기준으로 시간대를 다시 계산한다(화면표시용)
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspec_recalc2", "string", drugtmspeccal2, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspeccal", "string", drugtmspeccal2, i);
-
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispddarray", "string", dispddarray, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "disptmarray", "string", disptmarray, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflagarray", "string", dispflagarray, i);
-
- dispflagarray = dispflagarray.replace("/","");
- if ( dispflagarray.length > 0) {
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflaggroup", "string", "Y", i);
- }
- //실질적인 당일투약대상또는 투약한 대상
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "todaydrugtimes", "string", todaydrugtimes, i);
-
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "antiastrids", "string", antiastrids, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "antiastrnms", "string", antiastrnms, i);
-
- i++;
- }
- i--;
- drugtmspeccal1 = "";
- drugtmspeccal2 = "";
- dispddarray = "";
- disptmarray = "";
- dispflagarray = "";
- } else {
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspec_recalc1", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspec_recalc2", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspeccal", "");
-
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispddarray", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "disptmarray", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispflagarray", "");
-
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "todaydrugtimes", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "antiastrids", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "antiastrnms", "");
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.19
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 반환사유내역등록기능
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fnEndddSave() {
-
- var sPathSave = ds_send_savedata_drugreportinfo; //저장원본
-
- var sPathEndResult = ds_endsave_endresult; //enddd 확인 결과(결과)
-
- var sPathEndSave = ds_endsave_endinfo_list; //반환사유정보생성path
- var sRows = sPathSave.rowcount; //저장원본총갯수
- var sRowsEnd = 0;
- var sTempExecdd = "";
- var sinstcd = sysf_getUserInfo("dutplceinstcd");
- var sEndFlag = false;
- var sprcpdd = "";
- var sprcpno = "";
- var sprcphistno = "";
- var sexecprcpno = "";
- var sexecprcpuniqno = "";
- var sinstcd = "";
- var sioflag = "";
- var enddd = ""; //(20080731)
- var endddflag = true; //(20080820) 처음만 물어본다.
- var rtnstat = "";
-
- for( var row=0 ; row<sRows ; row++ ){
- ////////////alert (sRows + "/" + row);
-
- sTempExecdd = sPathSave.getColumn(row, "execcarestatcd");
- sEndFlag = false;
-
- //간호Acting진행상태(N(미확인)/R(정상투약)/P(투약X-반환가능)/I(투약X-반환불가)/L(퇴원당일 남은약)
- //Execcarestatcd = model.getValue(xWardDrugListPath + "[" + i + "]/for[" + forarr[k] + "]/execcarestatcd");
-
- //-------------------------------------------------------------------------
- //ACTING된후 미확인으로 전환되거나, 투약X-반환가능인경우 ACTING이 취소된다
- //마감이 되어 있으면 사유팝업을 이용한다.
- //-------------------------------------------------------------------------
- ////////////alert(sTempExecdd);
- if ( sTempExecdd == "N" || sTempExecdd == "P") {
- // <pastexecdd>20080618</pastexecdd> //exip의 실시일자
- // <medrexecdd>20080617</medrexecdd> //medr의 투약일자(현재시점:20080619에서는 투약일자=실시일자이다.
-
- sprcpdd = sPathSave.getColumn(row, "prcpdd");
- sprcpno = sPathSave.getColumn(row, "prcpno");
- sprcphistno = sPathSave.getColumn(row, "prcphistno");
- sexecprcpno = sPathSave.getColumn(row, "execprcpno");
- sinstcd = sysf_getUserInfo("dutplceinstcd");
- sioflag = "I";
-
- sTempExecdd = sPathSave.getColumn(row, "pastexecdd"); //---------(20080820)
- ////////////alert(sTempExecdd);
- //acting된것
- if (sTempExecdd != "00000000" ) {
- //현재시점의 마감을 확인한다.
-
- //model.removeNodeset(sPathEndResult+"/enddd");
- //model.makeNode(sPathEndResult+"/enddd");
-
- sPathEndCond.setColumn(0, "prcpdd", sprcpdd);
- sPathEndCond.setColumn(0, "prcpno", sprcpno);
- sPathEndCond.setColumn(0, "prcphistno", sprcphistno);
- sPathEndCond.setColumn(0, "execprcpno", sexecprcpno);
- sPathEndCond.setColumn(0, "instcd", sinstcd);
- sPathEndCond.setColumn(0, "ioflag", sioflag);
- sPathEndCond.setColumn(0, "srchflag", "");
- sPathEndCond.setColumn(0, "execprcpuniqno", "");
-
- var oParam = {};
- oParam.id = "TRMNR00610";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetEndddList";
- oParam.inds = "endcond=ds_endsave_endcond";
- oParam.outds = "ds_endsave_endresult=endresult ds_endsave_narcresult=narcresult";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00610";
- tranf_submit(oParam);
-
- ////////////alert(model.getValue(sPathEndResult + "/enddd"));
- /*
- if ((model.getValue(sPathEndResult + "/enddd") == "00000000") ||
- (model.getValue(sPathEndResult + "/enddd") == "") ||
- (model.getValue(sPathEndResult + "/enddd") == "-")) {
- */
-
- //--------test(20080731)
- enddd = utlf_transNullToEmpty(ds_endsave_endresult.getColumn(0, "enddd"));
- enddd = enddd.substr(0,8);
-
- ////////////alert("마감일자:" + enddd);
- //return
- //----------------------
-
- if ( enddd == "99991231") {
- sEndFlag = false;
- } else {
- sEndFlag = true;
- }
- }
-
- if ( sEndFlag ) {
- //check: acting된것인데, enddd가 있는경우에 미확인으로 처리할경우인지를 확인해야함
- sRowsEnd++;
-
- ds_endsave_endinfo_list.setColumn(0, "prcpdd", sprcpdd);
- ds_endsave_endinfo_list.setColumn(0, "prcpno", sprcpno);
- ds_endsave_endinfo_list.setColumn(0, "prcphistno", sprcphistno);
- ds_endsave_endinfo_list.setColumn(0, "execprcpno", sexecprcpno);
- ds_endsave_endinfo_list.setColumn(0, "instcd", sinstcd);
- ds_endsave_endinfo_list.setColumn(0, "ioflag", sioflag);
-
- ////////////alert("반환사유 테스트");
- if( ds_endsave_endinfo_list.rowcount > 0 ){
-
- //-------------------------
- //처음만 물어본다.
- if ( endddflag == true) {
- //if (messageBox("이미 마감된 투약처방입니다. 정말 취소 ","Q003","") != 6) {
- if (sysf_messageBox("저장대상 자료중 이미 마감된 투약처방이 존재합니다. 정말 취소작업을 ","Q003","") != 6) {
- return false;
- } else {
- endddflag = false;
- }
- }
- //-------------------------
-
- var objArg = new Object();
- objArg.arg_ds_endinfo_result_list = ds_endsave_endinfo_list;
-
- frmf_modal("SPPAS03000","SPPAS03000",objArg,"",2,100,100,"","","","","","M");
- }
- }
- }
-
- }
- return true;
- }
- /**
- * @group :
- * @ver : 2008.08.01
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : worklist 호출
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
-
- //------------------(20080801)
- function fnWorkListCall() {
-
- var sWardCd = ds_main_cond.getColumn(0, "wardcd");
- //응급실 환자 투약기록 화면을 통해서 투약워크리스트 띄울 경우 roomcd에 베드 정보를 가져가는 오류사항 수정_20091109_SMY
- //var sRoomCd = model.getValue("/root/main/patinfo/roomcd");
- var sRoomCd = ds_main_cond.getColumn(0, "roomcd");
- var sPid = ds_main_patinfo.getColumn(0, "pid");
- var sPatNm = ds_main_patinfo.getColumn(0, "patnm");
- var sDd = ds_main_cond.getColumn(0, "orddd");
- if( utlf_isNull(sPid) ){
- sysf_messageBox("환자가 선택되지 않았습니다.","E999");
- return;
- }
- frmf_setParameter("SMMNR06300_Param", sWardCd);
- frmf_setParameter("SMMNR06300_Param1", sRoomCd);
- frmf_setParameter("SMMNR06300_Param2", sPid);
- frmf_setParameter("SMMNR06300_Param3", sPatNm);
- frmf_setParameter("SMMNR06300_Param4", sDd);
- //20110209 경북대 : 구역정보추가
- frmf_setParameter("SMMNR06300_Zonecd", ds_main_cond.getColumn(0, "zonecd"));
-
- ////////////alert(sPid);
- //------------------------(20080910)
- //그리드를 선택한 자료를 worklist에 전달한다.
- var sCnt = 5;
- var sParamNm = "";
- var sParamValue = "";
- //var sPath = "/root/main/warddruginfo/warddruglist";
-
- frmf_setParameter("SMMNR06300_Param5", "N0");
- for( var row=0 ; row<group3.grd_druglist.rowcount ; row++ ){
- sParamValue = "";
- if( ds_main_warddruginfo_warddruglist.getColumn(row, "check") == "1" ){
- sParamValue = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpdd");
- sParamValue += "/" + ds_main_warddruginfo_warddruglist.getColumn(row, "prcpno");
-
- sCnt ++;
- frmf_setParameter("SMMNR06300_Param5", "Y"+sCnt);
- sParamNm = "SMMNR06300_Param" + sCnt;
- frmf_setParameter(sParamNm, sParamValue);
- }
- }
- //------------------------(20080910)
-
- //modal("SMMNR06300");
- frmf_modal("SMMNR06300","SMMNR06300",null,"",1,"","","","","","","","M");
- }
- //------------------(20080801)
-
-
-
- //------------------(20080829)
- //TEST
- // 투약기록 통합기록을 위한 자료 추출질의문 -- 작업 중(LOOP만큼 호출할것)
- function fnSignSaveCall(workflag) {
- var spid = "13573600"; //desc="등록번호"(필수)
- var sinstcd = "012"; //desc="기관코드"(사용X)
- var sindd = "20081003"; //desc="입원일자"(필수)
- var scretno = "1"; //desc="생성번호"(사용X)
- var sprcpdd = ""; //desc="처방일자"(PRN시 필수아닌것 같음)
- var sprcpno = ""; //desc="처방번호"(확인사항)
- var sworkdd = "20081215"; //desc="투약일" (일자그룹일때만 (필수))
- var slistflag = "90"; //desc="작업구분"(필수)
- var snursnm = "간호사명"; //desc="간호사명추가"(필수)
- var shngnm = "환자명"; //desc="환자명추가" (필수)
- var smedrexecdd = ""; //desc="화면에서저장할투약일자"(사용X)
- var smedrexectm = ""; //desc="화면에서저장할투약시간"(사용X)
-
- ds_signinfo_reqsigncond.setColumn(0, "pid", spid); //desc="등록번호"
- ds_signinfo_reqsigncond.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- ds_signinfo_reqsigncond.setColumn(0, "indd", sindd); //desc="입원일자"
- ds_signinfo_reqsigncond.setColumn(0, "cretno", scretno); //desc="생성번호"
- ds_signinfo_reqsigncond.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- ds_signinfo_reqsigncond.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- ds_signinfo_reqsigncond.setColumn(0, "workdd", sworkdd); //desc="투약일"
- ds_signinfo_reqsigncond.setColumn(0, "listflag", slistflag); //desc="작업구분"
- ds_signinfo_reqsigncond.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- ds_signinfo_reqsigncond.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- ds_signinfo_reqsigncond.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- ds_signinfo_reqsigncond.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
- ds_signinfo_signdruginfo_signdruglist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNR00609";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetSignDrugList";
- oParam.inds = "reqsigncond=ds_signinfo_reqsigncond";
- oParam.outds = "ds_signinfo_signdruginfo_signdruglist=signdruglist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00609";
- tranf_submit(oParam);
- }
- //------------------(20080829)
- /**
- * @group :
- * @ver : 2008.08.31
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 관련 인증저장(interface제공한 web에서 사용)(iprc단위 1개 처리용)
- * : 따라서 여러개의 iprc이면 n번 호출해야한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /* // TEST용
- function fnSignSaveWork() {
-
- var sSignPath = "/root/signinfo/signdruginfo/signdruglist";
- var sSignPathCount = getNodesetCount(sSignPath);
- var sPathSignSave = "/root/signinfo/signsave/signdata";
- if ( sSignPathCount <= 0 ) {
- messageBox("자료가 존재하지 않습니다. ","E999");
- return;
- }
-
- model.removenode("/root/send/savedata");
- for(var j = 1; j <= getNodesetCount(sSignPath); j++){
-
- sSignRow= j; //전역변수(프로그램내)
- if(Sign.signprocess() == false){//인증저장 데이터 생성fMake_SignData 호출
- return;
- }
- ////////////alert("j=" + j);
-
- var temppid = model.getValue(sSignPath + "[j]/pid"); //pid
- var temporddd = model.getValue(sSignPath + "[j]/orddd"); //입원일자
- var tempsignno = ""; //서명번호
- var tempcretno = model.getValue(sSignPath + "[j]/cretno"); //생성번호
- var temporddeptcd = model.getValue(sSignPath + "[j]/orddeptcd"); //진료부서코드
- var temporddrid = model.getValue(sSignPath + "[j]/orddrid"); //진료의사id
-
- model.makeValue(sPathSignSave + "[j-1]/pid", temppid); //pid
- model.makeValue(sPathSignSave + "[j-1]/orddd", temporddd); //입원일자
- model.makeValue(sPathSignSave + "[j-1]/signno", tempsignno); //서명번호
- model.makeValue(sPathSignSave + "[j-1]/cretno", tempcretno); //생성번호
- model.makeValue(sPathSignSave + "[j-1]/recdd", getCurrentDate()); //실제기록이 이루어진 기록일자
- model.makeValue(sPathSignSave + "[j-1]/rectm", getCurrentTime()); //실제기록이 이루어진 기록시간
- model.makeValue(sPathSignSave + "[j-1]/recsaveflag", "Y"); //전자서명인적정보변경여부
- model.makeValue(sPathSignSave + "[j-1]/signflag", "02"); //서명자료구분(02:간호)
- model.makeValue(sPathSignSave + "[j-1]/signgenrflag", "I"); //외래/입원구분
- model.makeValue(sPathSignSave + "[j-1]/formcd", "0000002476"); //투약기록 서식번호
- model.makeValue(sPathSignSave + "[j-1]/orddeptcd", temporddeptcd); //진료부서코드
- model.makeValue(sPathSignSave + "[j-1]/orddrid", temporddrid); //진료부서ID
- model.makeValue(sPathSignSave + "[j-1]/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue(sPathSignSave + "[j-1]/signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
- }
- }
- */
- //-----------------------------
- //TEST 일자별 인증정보 생성하기
- //-----------------------------
- function fnSignSaveWork() {
- var signDate = "20081212"
- var sPathSign = "/root/signinfo";
-
- var spid = "13573600"; //등록번호 (필수)
- var sinstcd = "";//model.getValue("/root/main/wardpatinfo/wardpatlist/instcd"); //기관코드
- var sindd = "20081003"; //입원일자 (필수)
- var scretno = "2"; //생성번호
-
- var sprcpdd = ""; //처방일자 (PRN시 필수)
- var sprcpno = ""; //처방번호 (확인사항)
- var sworkdd = "20081215"; //model.getValue("/root/main/cond/orddd"); //투약일(일자그룹일때만 (필수)
- var slistflag = "90"; //고정 //작업구분 (필수)
- var snursnm = "간호사명"; //간호사명추가 (필수)
- var shngnm = "이정희" //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
- ds_signinfo_reqsigncond.setColumn(0, "pid", spid); //desc="등록번호"
- ds_signinfo_reqsigncond.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- ds_signinfo_reqsigncond.setColumn(0, "indd", sindd); //desc="입원일자"
- ds_signinfo_reqsigncond.setColumn(0, "cretno", scretno); //desc="생성번호"
- ds_signinfo_reqsigncond.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- ds_signinfo_reqsigncond.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- ds_signinfo_reqsigncond.setColumn(0, "workdd", sworkdd); //desc="투약일"
- ds_signinfo_reqsigncond.setColumn(0, "listflag", slistflag); //desc="작업구분"
- ds_signinfo_reqsigncond.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- ds_signinfo_reqsigncond.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- ds_signinfo_reqsigncond.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- ds_signinfo_reqsigncond.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
- var pFlag = "Drug"; //저장구분 (Drug : 투약기록)
- var pNode1 = "ds_signinfo_reqsigncond"; //조회할 조건 PATH(의미없음)
- var pNode2 = "ds_signinfo_signdruginfo_signdruglist"; //Return 리스트 PATH
-
- var pIoflag = "I"; //---(20080917)
-
- fCare_SignNode(pFlag, pNode1, pNode2,spid,sindd,scretno,pIoflag);
- }
- //------------------------(20080902)
- //일자별 인증정보를 묶을 일자를 찾는다
- //넣어야 할지는 판단한다.
- function signdayFind(signDates,findDate) {
- var sreturn = false;
- if (findDate == "00000000" || utlf_isNull(findDate) ){
- } else {
- ////////////alert("signDates.length:"+ signDates.length);
- for (var i=0;i<signDates.length;i++) {
- ////////////alert("비교:" + signDates[i] + "/" + findDate);
- sreturn = true;
- if ( signDates[i] == findDate) {
- sreturn = false;
- break;
- }
- }
- }
- return sreturn;
- }
- //------------------------(20080902)
- /**
- * @group :
- * @ver : 2008.10.10
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약내역 리스트 정리
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //---------------(20081015)진행중 사용하지말것
- function fnClearGrid() {
- ds_main_patinfo.setColumn(0, "roomcd", "");
- ds_main_patinfo.setColumn(0, "pid", "");
- ds_main_patinfo.setColumn(0, "patnm", "");
- ds_main_patinfo.setColumn(0, "sexage", "");
-
- if( screen_mode == "pat" ){
- fClickDrugList("drg", -1);
- }else if( screen_mode == "act" ){
- fClickDrugList("act", -1);
- }else{}
- }
- //---------------(20081010)
- //---------------(20081014)
- /*
- 20081014
- validate
- hidden의 instance에 있는 drugtmspec 의 항목의 split 수와 calctims수를 확인한다.
- */
- function fndrugcalcCheck() {
- var drugtmspec = "";
- var calctims = "";
- var validateYN = "";
-
- var prcpdd = "";
- var prcpno = "";
- var prcphistno = "";
- var execprcpno = "";
- var spid = "";
- var prcpcd = "";
- var mthdcd = "";
- var execprcpuniqno = "";
- var timscnt = 0;
- var prcptimscalc= "";
- var drugerrmsg = "";
- var drugerrPath = "/root/drugerrinfo";
-
- ds_drugerrinfo_drugerrlist.clearData();
-
- var drugerrcnt = -1;
-
- for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
- drugtmspec = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugtmspec");
- calctims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "calctims");
-
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- prcphistno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphistno");
- execprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execprcpno");
- execprcpuniqno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execprcpuniqno");
-
- spid = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid");
- prcpcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- mthdcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "mthdcd");
- prcptims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcptims");
- var execcarestatcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execcarestatcd");
- var prcphistcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphistcd");
- var fstrgstdt = ds_hidden_warddruginfo_warddruglist.getColumn(i, "fstrgstdt");
- var orddrnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "orddrnm");
- var indd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "indd");
- var cretno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "cretno");
- var prcpclscd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpclscd");
- var wardcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "wardcd");
-
- validateYN = "Y"; //정상자료
- timscnt = drugtmspec.split(" ").length;
- //-------------------(20081105)
- drugtmspec = fntrim(drugtmspec);
- if( utlf_isNull(drugtmspec) ){
- //-------------------(20081105)
- validateYN = "N"; //이상자료
- timscnt = 0;
- }
- if( timscnt != calctims ) validateYN = "N"; //이상자료
- //alert( timscnt + "/" + calctims + "/" +validateYN + "/" + drugtmspec + "/");
- if (validateYN == "N") {
- if( utlf_isNull(drugtmspec) ){
- drugerrmsg += "용법(" + mthdcd + ")의 횟수에 대한 시간대정보(" + drugtmspec + "없음)가 존재하지 않습니다("+ prcpcd +") \n"
- } else {
- drugerrmsg += "용법(" + mthdcd + ")의 횟수에 대한 시간대정보갯수(" + timscnt + ")와 " +
- " 처방("+ prcpcd + ")에 대한 횟수(" + prcptims + ")가 다릅니다. \n"
- }
- drugerrcnt ++;
- ds_drugerrinfo_drugerrlist.addRow();
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcpdd", prcpdd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcpno", prcpno);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcphistno", prcphistno);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "execprcpno", execprcpno);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "execprcpuniqno", execprcpuniqno);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcpcd", prcpcd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "drugtmspec", drugtmspec);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "execcarestatcd", execcarestatcd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcphistcd", prcphistcd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "exipfstrgstdt", fstrgstdt);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "orrdnm", orddrnm);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "prcpclscd", prcpclscd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "pid", spid);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "indd", indd);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "cretno", cretno);
- ds_drugerrinfo_drugerrlist.setColumn(drugerrcnt, "wardcd", wardcd);
- }
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "validateyn1", "string", validateYN, i);
- }
-
- if( !utlf_isNull(drugerrmsg) ){
- drugerrmsg += "" +
- " \n" +
- " 투약기준시간관리에서 용법에 대한 자료를 확인하십시오( " + (drugerrcnt+1) +" 건 )";
-
- sysf_messageBox( "투약기준시간관리에 등록된 \n\n" + drugerrmsg ,"E999");
- }
- }
- //---------------(20081014)
- //fClickDrugListBefore(); //------------(20081031)
- //fClickDrugListAfter(); //------------(20081031)
-
- //-------------------(20081031)
- function fClickDrugListBefore() {
- group3.grd_druglist.visible = false;
- group3.bolall.visible = false;
- //grpalert.visible = true;
- callLoadingWindow("");
- }
- function fClickDrugListAfter() {
- group3.grd_druglist.visible = true;
- group3.bolall.visible = true;
- removeLoadingWindow();
- //--------------(20081121)
- //숨겨진 상태에서는 포커스가 설정되지 않는다.
- //저장전 위치로 저장이후 재조회시 위치이동시킴
- if( toprowflag == "Y" ){
- if( group3.grd_druglist.vscrollbar.max > toprow ){
- group3.grd_druglist.vscrollbar.pos = toprow;
- }
- toprowflag = "N";
- }
- //--------------(20081121)
- }
- //--------원무팀의 입원등록에서 사용하는 것 이용함
- function callLoadingWindow(msg){
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시
- // body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:435px; top:339px; width:330px; height:120px;");
- // var ivrObjt = document.all("ivr_progress");
- // if( msg == '' || msg == '-' ){
- // msg = "투약기록 조회 중 입니다...";
- // }
- // ivrObjt.model.setValue("/root/main/msg", msg);
- // ivrObjt.model.refresh();
- this.setWaitCursor(true);
- }
- function removeLoadingWindow(){
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시 지우기
- //body.removeChild("ivr_progress");
- this.setWaitCursor(false);
- }
- function WaitLoadingWindow(idx) {
- // var msg = "투약기록 조회 중 입니다...";
- // //var msg = "투약기록 조회(" + idx + ") 중 입니다...";
- // var ivrObjt = document.all("ivr_progress");
- // model.setFocus("ivr_progress");
- // ivrObjt.model.setFocus("caption75");
- //
- // ivrObjt.model.setValue("/root/main/msg", msg);
- // ivrObjt.model.refresh();
- // //model.setFocus("output33");
- // model.refresh();
- this.setWaitCursor(true);
- }
- //-------------------(20081031)
- //-------------------(20081105)
- function fntrim(tmpValue) {
- for(;tmpValue.indexOf(" ")!= -1;) {
- tmpValue = tmpValue.replace(" ","");
- }
- return tmpValue;
- }
- //-------------------(20081105)
- //-------------------(20081211)
- // tmpvalue : 원본 문자열
- // str1 : 찾고자 하는 문자열
- // str2 : 바꾸고자 문자열
- function fnReplace(tmpValue,str1,str2) {
- for(;tmpValue.indexOf(str1)!= -1;) {
- tmpValue = tmpValue.replace(str1,str2);
- }
- return tmpValue;
- }
- //-------------------(20081211)
- //--------------------(20081112)
- //sDigit 에서 반올림
- function fnRound(sValue,sDigit) {
- var rtnValue ;
- var stemp = Math.pow(10,sDigit);
- rtnValue = sValue;
- rtnValue = rtnValue * stemp;
- rtnValue = rtnValue / stemp;
- rtnValue = Math.round(rtnValue);
- return rtnValue;
- }
- //--------------------(20081112)
- /**
- * @group :
- * @ver : 2010.03.16
- * @by : 김진아
- * @-----------------------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 라벨출력정보 저장(수액,주사라벨 출력시 호출한다.)
- * @param : labelflag 라벨구분자(injlabel:주사라벨/)
- patgrdrow 환자리스트 그리드에서 선택된 로우
- actgrdrow 미투약리스트 그리드에서 선택된 로우
- * @return :
- * @-----------------------------------------------------------------
- */
- function fsetLabelPrntInfo(labelflag, patgrdrow, actgrdrow) {
- switch (labelflag) {
- case "injlabel":
- model.removeNodeset("/root/send/savedata/labelprntinfo");
- model.makeNode("/root/send/savedata/labelprntinfo");
- model.copyNode("/root/send/savedata/labelprntinfo", "/root/hidden/medicard8");
- break;
- case "hydlabel":
- model.removeNodeset("/root/send/savedata/labelprntinfo");
- model.makeNode("/root/send/savedata/labelprntinfo");
- model.copyNode("/root/send/savedata/labelprntinfo", "/root/send/medicard8");
- break;
- }
- submit("TXMNR00602");
-
- fClickDrugListBefore(); //------------(20081031)
- if(screen_mode == "pat"){
- grd_patlist.row = patgrdrow;
- fClickDrugList(screen_mode, grd_patlist.row);
- }else if(screen_mode == "act"){
- grd_actlist.row = actgrdrow;
- fClickDrugList(screen_mode, grd_actlist.row);
- fGetActList();
- }else{}
- fClickDrugListAfter(); //------------(20081031)
- }
- /**
- * @group :
- * @ver : 2007.06.08
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : ER의 응급 리스트 조회 CareCom.js로 빼냄
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /*function fGetZoneList(){
-
- model.removeNodeset("/root/send/reqdata");
- model.makeNode("/root/send/reqdata");
- model.copynode("/root/send/reqdata", xCondPath);
- submit("TRMNR06302");
- }*/
- function fnZoneDisp(pFlag) {
-
- //응급의료센터(2280200000)인 경우
- //병동정보대신에 구역정보가 보임)(20080620)
- if ( !utlf_isNull(ds_codelist.getColumn(ds_codelist.findRowExpr("cdgrupid=='002' && cdid=='"+group3.group5.cmb_ward.value+"'"), "cdid")) ){
- group3.group5.caption18.visible = false;
- group3.group5.cmb_room.visible = false;
- group3.group5.cap_Zone.visible = true;
- group3.group5.cmb_Zone.visible = true;
- var zonecd = ds_main_paminfo_pamlist.getColumn(0, "sectioncd");
- if( !utlf_isNull(zonecd) && zonecd != "-" ){
- group3.group5.cmb_Zone.value = ds_main_paminfo_pamlist.getColumn(0, "sectioncd");
- } else {
- group3.group5.cmb_Zone.value = "-";
- }
- } else {
- group3.group5.caption18.visible = true;
- group3.group5.cmb_room.visible = true;
- group3.group5.cap_Zone.visible = false;
- group3.group5.cmb_Zone.visible = false;
- if ( pFlag != "init"){
- fGetRoomList();
- ds_main_cond.setColumn(0, "pid", "");
- ds_main_cond.setColumn(0, "hngnm", "");
- ds_main_cond.setColumn(0, "indd", "");
- ds_main_cond.setColumn(0, "cretno", "");
- ds_main_cond.setColumn(0, "roomcd", "");
- ds_main_cond.setColumn(0, "settingrnid", "");
- ds_main_cond.setColumn(0, "zonecd", "");
-
- ds_main_warddruginfo_warddruglist.clearData();
- ds_hidden_warddruginfo_warddruglist.clearData();
- }
- }
- }
-
- function fmisetting(){
- var setid = sysf_getUserId();
- var setdeptcd = sysf_getUserInfo("dutplcecd");
-
- //model.removeNodeset("/root/send");
-
- //model.removeNodeset("/root/hidden/setting/settingrn");
-
- ds_temp_send_reqdata.setColumn(0, "wardcd", ds_main_cond.getColumn(0, "wardcd"));
-
- //내환자세팅한 간호사 조회
- var oParam = {};
- oParam.id = "TRMNW10910";
- oParam.service = "wardcareapp.WardCareMngt";
- oParam.method = "reqGetSettingRnList";
- oParam.inds = "req=ds_temp_send_reqdata";
- oParam.outds = "ds_init_settinginfo_settingrn=settingrn";
- oParam.async = false;
- oParam.callback = "cf_TRMNW10910";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TRMNW10910") > -1 ){
- ds_main_cond.setColumn(0, "settingrnid", "");
-
- if( ds_init_settinginfo_settingrn.rowcount > 0 && ds_init_settinginfo_settingrn.getColumn(0, "settingrnnm") == "-" ){
- ds_init_settinginfo_settingrn.setColumn(0, "settingrnid", "");
- }
-
- group3.group5.cmb_settingrn.index = 0;
-
- for( var i=0 ; i<ds_init_settinginfo_settingrn.rowcount ; i++ ){
- if( ds_init_settinginfo_settingrn.getColumn(i, "settingrnid") == setid ){
- ds_main_cond.setColumn(0, "settingrnid", setid);
- }
- }
- }
-
- return;
- }
- function cf_TRMNW10910(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
-
- // 액팅 심사기준 점검
- function fJudgCheck(pid, indd, cretno, prcpcd, prcpno, execprcpno, execdd, execcarestatcd) {
-
- // 투약상태가 '미확인', '투약X-반환가능'일 경우 pass
- if (execcarestatcd == "N" || execcarestatcd == "P") {
-
- } else {
- //저장된 acting 갯수
- var curdate = utlf_getCurrentDate();
-
- ds_send_judginfo.setColumn(0, "pid", pid);
- ds_send_judginfo.setColumn(0, "indd", indd);
- ds_send_judginfo.setColumn(0, "cretno", cretno);
- ds_send_judginfo.setColumn(0, "prcpcd", prcpcd);
- ds_send_judginfo.setColumn(0, "prcpno", prcpno);
- ds_send_judginfo.setColumn(0, "execprcpno", execprcpno);
- ds_send_judginfo.setColumn(0, "execdd", execdd);
- ds_send_judginfo.setColumn(0, "workdd", curdate);
- ds_send_judginfo.setColumn(0, "sdate", curdate);
- ds_send_judginfo.setColumn(0, "edate", curdate);
-
- var oParam = {};
- oParam.id = "TRMNR00612";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetActingCount";
- oParam.inds = "req=ds_send_judginfo";
- oParam.outds = "ds_main_judginfo_judglist=judglist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00612";
- tranf_submit(oParam);
-
- var rsltCalcCD = ds_main_judginfo_judglist.getColumn(0, "calcscorcd");
- var rsltPrcpnm = ds_main_judginfo_judglist.getColumn(0, "prcpnm");
- var rsltDayno = ds_main_judginfo_judglist.getColumn(0, "drugdayno");
- var rsltTims = eval(ds_main_judginfo_judglist.getColumn(0, "drugtims"));
- var rsltActcnt = eval(ds_main_judginfo_judglist.getColumn(0, "actcnt"));
-
-
-
- //화면 상 지정된 acting 갯수
- for( var i=0 ; i<ds_main_warddruginfo_warddruglist.rowcount ; i++ ){
- //점검하려는 처방코드 검색
- var chk_prcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- var chk_prcpno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno");
-
- if (chk_prcpcd == prcpcd) {
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
- var cnt = objDsxWardDrugListPath.rowcount;
- for( var j=0 ; j<cnt ; j++ ){
- chk_iudflag = objDsxWardDrugListPath.getColumn(j, "iudflag");
- chk_execcarestatcd = objDsxWardDrugListPath.getColumn(j, "execcarestatcd");
- chk_execprcpno = objDsxWardDrugListPath.getColumn(j, "execprcpno");
- if (prcpno == chk_prcpno && execprcpno == chk_execprcpno) {
- //점검할 대상은 제외
- } else {
- //변화가 있는 값이랑 비교
- if (chk_iudflag != '-') {
- //바꾸려는 값이 계산되는 값인 경우
- if (chk_execcarestatcd == "N" || chk_execcarestatcd == "P") {
-
- } else {
- rsltActcnt ++;
- }
- }
- }
- }
- }
- }
-
- if (rsltTims <= rsltActcnt) {
- sysf_messageBox("Acting 횟수가 심사 기준을 초과하였습니다.\r\n\r\n" +
- "* 처방명: " + rsltPrcpnm + " [" + rsltCalcCD + "]\r\n" +
- "* 심사 기준 횟수: " + rsltTims + "회/" + rsltDayno + "일\r\n" +
- "* 기 Acting 횟수: " + rsltActcnt + "회/" + curdate.substr(0, 4) + "-" + curdate.substr(4, 2) + "-" + curdate.substr(6, 2) + " (투약기록 실제시간 기준)\r\n\r\n" +
- "※ Acting 심사 기준을 확인하시려면 '심사기준' 버튼을 클릭하세요.", "I999");
- }
- }
-
- }
- function fChkPrcpStat() {
- var row = group3.grd_druglist.currentrow;
-
- var prcpno = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpno");
- var prcpdd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpdd");
- var dccountyn = ds_main_warddruginfo_warddruglist.getColumn(row, "dccountyn");
-
- if( utlf_isNull(dccountyn) ){
- dccountyn = "N"
- }
-
- ds_send_req.setColumn(0, "prcpno", prcpno);
- ds_send_req.setColumn(0, "prcpdd", prcpdd);
-
- var oParam = {};
- oParam.id = "TRMNR00613";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetPrcpStatInfo";
- oParam.inds = "req=ds_send_req";
- oParam.outds = "ds_temp_prcpinfo_prcplist=prcplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00613";
- tranf_submit(oParam);
-
- var dccoutnyn2 = ds_temp_prcpinfo_prcplist.getColumn(0, "dccountyn");
-
- if( utlf_isNull(dccoutnyn2) ){
- dccoutnyn2 = "N"
- }
-
- if(dccountyn != dccoutnyn2) {
- sysf_messageBox("처방 상태가 변경되어 재조회됩니다.", "I");
- fSearch();
- return false;
- }
- return true;
- }
- function fChkPrcpStatAll() {
- var prcpno;
- var prcpdd;
- var dccountyn;
- var dccountyn2;
-
- var prcpHeader = "prcpdd▦prcpno▩";
- var prcpData = "";
-
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- prcpdd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno");
-
- prcpData += prcpdd + "▦"
- + prcpno + "▩";
- }
-
- if( utlf_isNull(prcpData) ){
- return false;
- }
-
- dsf_setCSVToDs("ds_send_req_prcplist", prcpHeader + prcpData);
-
- var oParam = {};
- oParam.id = "TRMNR00614";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetPrcpStatInfoAll";
- oParam.inds = "req=ds_send_req_prcplist";
- oParam.outds = "ds_temp_prcpinfo_prcplist=prcplist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00614";
- tranf_submit(oParam);
-
- var prcpdd2;
- var prcpno2;
-
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- prcpdd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno");
-
- prcpData += prcpdd + "▦"
- + prcpno + "▩";
- dccountyn = ds_main_warddruginfo_warddruglist.getColumn(i, "dccountyn");
- dccountyn2 = ds_temp_prcpinfo_prcplist.getColumn(ds_temp_prcpinfo_prcplist.findRowExpr("prcpdd=='"+prcpdd+"' && prcpno=='"+prcpno+"'"), "dccountyn");
-
- if(dccountyn != dccountyn2) {
- sysf_messageBox("처방 상태가 변경되어 재조회됩니다.", "I");
- fSearch();
- return false;
- }
- }
-
- return true;
- }
- ]]></Script>
|