SMMNR04100_SJH.js 255 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011
  1. /*
  2. 간호Item시간Setting(SMMNR00700.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. var xTotalItemPath = "/root/main/patsetting/totaltem";
  7. var xPatInfoPath = "/root/main/paminfo/pamlist";
  8. var xItemSetListPath = "/root/main/patsetting/set/itemsetinfo/itemsetlist";
  9. var xItemDtlListPath = "/root/main/patsetting/set/itemdtlinfo/itemdtllist";
  10. var xPatItemLIstPath = "/root/main/patsetting/patiteminfo/patitemlist";
  11. var xCareExecRecPath = "/root/main/careexecinfo/careexeclist";
  12. var xPatPrcpDDLIstPath = "/root/main/patsetinfo/drorderlist/prcpddlist";
  13. var xDrOrderListPath = "/root/main/patsetinfo/drorderlist/timesetlist";
  14. var xTimeListPath = "/root/main/patsetinfo/timesetlist/timesetlist";
  15. var xPrcpListPath = "/root/main/patsetinfo/prcplist/timesetlist";
  16. var xCathListPath = "/root/main/info/cathinfo/cathlist";
  17. var xInstruListPath = "/root/main/info/instruinfo/instrulist";
  18. var xCareExecAttrPath = "/root/main/careexecinfo/attrlist";
  19. var xNurseBasicInfoPath = "/root/main/nurseinfo/nursebasicinfo";
  20. var xNurseBasicSignPath = "/root/hidden/nursebasicinfo/nursebasiclist";
  21. var xNurseBasicSignPath2 = "/root/hidden/nursebasicinfo/nursebasicinfo";
  22. var xNurseBasicParamPath = "/root/temp/nursebasicparam";
  23. var xPrcpComboListPath = "/root/temp/itemmappinfo/itemmapplist";
  24. var xPatCathListPath = "/root/main/patsetinfo/cathinfo/cathlist"
  25. var xPatInstruListPath = "/root/main/patsetinfo/cathinfo/instrulist"
  26. var xTempNurseInfoPath = "/root/temp/nursebasicinfo";
  27. var xTempPatItemLIstPath = "/root/temp/patiteminfo/patitemlist";
  28. var xTempPrcpDDListPath = "/root/temp/setinfo/prcpddlist";
  29. var xTempItemSetListPath = "/root/temp/setinfo/timesetlist";
  30. var xTempCareExecRecPath = "/root/temp/careexecinfo/careexeclist";
  31. var xTempCareExecAttrPath = "/root/temp/careexecinfo/attrlist";
  32. var xViewAttrNodePath = "/root/temp/viewinfo/rtnattrlist";
  33. var xViewSizeNodePath = "/root/temp/viewinfo/rtnallsizelist";
  34. var xResultPath = "/root/certtemp/recinfo";
  35. var currentdate = "";//오늘날짜
  36. var currenttime = "";//현재시간
  37. var grd_title = "수행^미해당^구분^기본간호 항목^최소 시행주기^최소 시행주기"; //그리드 타이틀
  38. var col_cnt = new Array();//Row별 컬럼 개수
  39. var grd_ColCnt = 6;//fixed 컬럼 개수
  40. var max_colcnt = 0;//컬럼 추가 개수
  41. var grd_RowCnt = 10;
  42. var instance_seq = 0;
  43. var sOrdDD = "";
  44. var sPid = "";
  45. var sCretNo = "";
  46. var sInstcd = "";
  47. var sOrdType= "";
  48. var sWardCD = "";
  49. var sRoomCD = "";
  50. var sSizeList = "";
  51. var sIntm = "";
  52. var sSaveDataFlag = "";
  53. var sMakeSingFunc = "sign";
  54. var sRecDD = new Array();
  55. var sBasicNursCurrRow = 0;//20091104 김홍점 데이타수정한 행이 그대로 보이도록 수정하기위한 라인지정
  56. //---------(20110228) 경북대
  57. var gcurrentpid = "";
  58. var gpidPath = "/root/temp/mypatsettinginfo/settingpatient/settingpatientlist"
  59. //---------(20110228) 경북대
  60. //경북대 응급실 관련 변수 (2011.03.03 Ahn)
  61. var eERDEPTCD = "";
  62. var eERFLAG = "";
  63. // 경북대 환자 콤보 리스트 경로
  64. var patPidPath = "/root/temp/mypatsettinginfo/patientgrup/patientgruplist";
  65. //경북대 기록지 구분용 (기록 유무 표시) _ 2011.03.10 (ahn)
  66. var eRECFLAG = "erCareExec"; // 간호수행기록
  67. /**
  68. * @group :
  69. * @ver : 2007.07.26
  70. * @by : 이은영
  71. * @---------------------------------------------------
  72. * @type : function
  73. * @access : public
  74. * @desc : 화면 초기화
  75. * @param :
  76. * @return :
  77. * @---------------------------------------------------
  78. */
  79. function fInitialize(pFlag){
  80. model.setValue(ipt_recdd.attribute("ref"), getCurrentDate());
  81. model.setValue(ipt_rectm.attribute("ref"), getCurrentTime().substr(0,4));
  82. ipt_recdd.refresh();
  83. ipt_rectm.refresh();
  84. var instcd = getUserInfo("dutplceinstcd");
  85. if(pFlag == null){
  86. currentdate = getCurrentDate();
  87. currenttime = getCurrentTime();
  88. //병동코드 조회
  89. fGetCareComWardList();
  90. //------------(20110209) 경북대
  91. //내환자 조회
  92. //fGetSettingPatientList("false");
  93. //fGetSettingPatientList_type3("false");
  94. //------------(20110209) 경북대
  95. }
  96. // 환자정보 조회
  97. model.removenode("/root/main/paminfo");
  98. var sPamInfo = getGlobalVariable("paminfo");
  99. if(sPamInfo.length > 0) {
  100. model.makeNode("/root/main/paminfo");
  101. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist"); //환자정보내리기
  102. }
  103. sOrdType = model.getValue(xPatInfoPath+"/ioflag");
  104. sPid = model.getValue(xPatInfoPath+"/pid");
  105. sInstcd = model.getValue(xPatInfoPath+"/instcd");
  106. sCretNo = model.getValue(xPatInfoPath+"/cretno");
  107. sWardCD = model.getValue(xPatInfoPath+"/wardcd");
  108. sRoomCD = model.getValue(xPatInfoPath+"/roomcd");
  109. //상단에 INTM 정보가 존재하지 않아 임시 세팅
  110. //sIntm = model.getValue(xPatInfoPath+"/intm");
  111. sIntm = "0000";
  112. if(sOrdType == "O"){ // 외래
  113. sOrdDD = model.getValue(xPatInfoPath+"/orddd");
  114. }else{ // 입원, 특수주사, 가정간호, 응급실
  115. sOrdDD = model.getValue(xPatInfoPath+"/indd");
  116. }
  117. if(pFlag == null){
  118. var Screen_Param = "";
  119. Screen_Param = getScreenMenuParameter();
  120. if(Screen_Param == "" || Screen_Param == "null"){
  121. Screen_Param = opener.javascript.getParameter("SMMNR04100_Param");
  122. }
  123. if(Screen_Param == ""){
  124. Screen_Param = "Item";
  125. }
  126. if(model.getValue("/root/main/cadexyn") =="Y") { //카덱스관리에서 연결
  127. Screen_Param = "CareExec";
  128. }
  129. model.setValue("/root/main/cond/screenvalue", Screen_Param);
  130. }else{
  131. Screen_Param = model.getValue("/root/main/cond/screenvalue");
  132. }
  133. //----------------------------------------------
  134. // 응급의료센터 부서코드 추출_ 경북대 (2011.03.03 Ahn)
  135. model.makeValue("/root/send/cdgrupid", "'002'");
  136. model.makeValue("/root/send/srchdd" , getCurrentDate()); // 조회기준일자
  137. model.makeNode("/root/code/codeinfo");
  138. if(submit("TRMNW00001", false)){
  139. eERDEPTCD = model.getvalue("/root/code/codeinfo/codelist[cdgrupid='002']/cdid");
  140. }
  141. //-----------------------------------------------
  142. // 상단 정보가 없는 경우
  143. if(sPid == ""){
  144. switch(Screen_Param){
  145. case "Item" :
  146. btn_setting.selected = true;
  147. model.toggle("patsetting");
  148. break;
  149. case "CareExec" :
  150. btn_careexec.selected = true;
  151. model.toggle("careexec");
  152. //model.refresh();
  153. break;
  154. case "Cath" :
  155. btn_catheter.selected = true;
  156. model.toggle("catheter");
  157. break;
  158. default:
  159. btn_setting.selected = true;
  160. model.toggle("patsetting");
  161. break;
  162. }
  163. fChkTgtPatInfo(Screen_Param, "disable");
  164. messageBox("환자를 선택하십시요","I");
  165. //model.close();
  166. }else{
  167. fChkTgtPatInfo(Screen_Param, "able");
  168. model.setValue("/root/main/cond/careexeccond/pid",sPid);
  169. model.setValue("/root/main/cond/careexeccond/hngnm",model.getValue(xPatInfoPath+"/hngnm2"));
  170. model.setValue("/root/main/cond/careexeccond/sa",model.getValue(xPatInfoPath+"/sex")+"/"+model.getValue(xPatInfoPath+"/age"));
  171. model.setValue("/root/main/cond/careexeccond/stnddd",getCurrentDate());
  172. model.setValue("/root/main/cond/careexeccond/stndtm",getCurrentTime().substr(0,4));
  173. model.setValue("/root/main/cond/careexeccond/srchflag","N");
  174. //model.toggle("setting");
  175. // if(pFlag == null){
  176. // fGetCareComRoomList(sWardCD);
  177. // fGetCareComPatList(sWardCD, sRoomCD);
  178. // }
  179. // if(pFlag == null || pFlag == "SrchPat"){
  180. // cmb_wardcd.value = sWardCD;
  181. // cmb_roomcd.value = sRoomCD;
  182. // cmb_pid.value = sPid;
  183. // cmb_mypat.value = sPid;
  184. // }else if(pFlag == "SettingPat"){
  185. // cmb_mypat.value = sPid;
  186. // }
  187. //--------------------------------------
  188. // 응급실인 경우 구역정보 추가 (2011.03.03 Ahn)
  189. fGetWardChngInfo("Y", pFlag);
  190. if(pFlag == null || pFlag == "SettingPat"){
  191. if(model.getValue("/root/temp/mypatsettinginfo/roomcdgrup/roomcdgruplist") == ""){
  192. fGetCareComRoomList(sWardCD);
  193. addComboItem("cmb_roomcd", "-", "", "above");
  194. cmb_roomcd.refresh();
  195. }
  196. //alert("sWardCD : " + sWardCD + "sRoomCD : " + sRoomCD + "cmb_zone" + cmb_zone.value);
  197. fGetCareComPatList(sWardCD, sRoomCD, cmb_zone.value, eRECFLAG); // 환자 조회시 구역코드 추가 (2011.03.03 Ahn)
  198. cmb_wardcd.value = sWardCD;
  199. if(instcd == '032'){
  200. if(model.getValue("/root/main/cond/settingrnid") == ""){
  201. cmb_roomcd.value = sRoomCD;
  202. }else{
  203. cmb_roomcd.value = "";
  204. }
  205. }else{
  206. cmb_roomcd.value = "";
  207. }
  208. cmb_pid.value = sPid;
  209. ipt_pid.value = sPid;
  210. cmb_mypat.value = sPid;
  211. }else if(pFlag == "SrchPat"){
  212. //cmb_mypat.value = sPid;
  213. }
  214. if(model.getValue("/root/main/cond/settingrnid") == ""){
  215. fSettingnurid();
  216. }
  217. fGetWardPatList();
  218. if(Screen_Param == "Item"){
  219. fSreachPatItemInfo();
  220. fSearchTimeSet();
  221. fGetMainCath();
  222. //submit("TRMNR04101");
  223. btn_setting.selected = true;
  224. model.toggle("patsetting");
  225. }else if(Screen_Param == "CareExec"){
  226. model.removenodeset(xCareExecRecPath);
  227. grd_careexecreclist.rebuild();
  228. fGetCareExecInfo();
  229. fGetNurseRecord(); // 기본간호 조회
  230. btn_careexec.selected = true;
  231. model.toggle("careexec");
  232. model.refresh();
  233. }else if(Screen_Param == "Cath"){
  234. fSreachCatheterInfo("ALL");
  235. btn_catheter.selected = true;
  236. model.toggle("catheter");
  237. }else{
  238. fSreachPatItemInfo();
  239. fSearchTimeSet();
  240. fGetMainCath();
  241. //submit("TRMNR04101");
  242. btn_setting.selected = true;
  243. model.toggle("patsetting");
  244. }
  245. }
  246. }
  247. //--------------(20110209) 경북대
  248. /**
  249. * @group :
  250. * @ver : 2010.12.09
  251. * @by : 양천덕
  252. * @---------------------------------------------------
  253. * @type : function
  254. * @access : public
  255. * @desc : 간호일지용 내환자 조회
  256. * @param :
  257. * @return :
  258. * @---------------------------------------------------
  259. */
  260. function fGetSettingPatientList_type3(pFlag){
  261. //model.removenode("/root/send");
  262. var sRefresh = "true";
  263. if( !isNull(pFlag)){
  264. sRefresh = pFlag
  265. }
  266. if(submit("TRMNR00920", sRefresh)){
  267. }
  268. }
  269. //--------------(20110209) 경북대
  270. /**
  271. * @group :
  272. * @ver : 2007.07.26
  273. * @by : 최경용
  274. * @---------------------------------------------------
  275. * @type : function
  276. * @access : public
  277. * @desc : 메인화면 카테터
  278. * @param :
  279. * @return :
  280. * @---------------------------------------------------
  281. */
  282. function fGetMainCath(){
  283. model.removenode("/root/send");
  284. model.makeValue("/root/send/pid",sPid);
  285. model.makeValue("/root/send/orddd",sOrdDD);
  286. model.makeValue("/root/send/cretno",sCretNo);
  287. submit("TRMNR04107", false);
  288. fGetMappingItem("main");
  289. grd_instru.rebuild();
  290. }
  291. /**
  292. * @group :
  293. * @ver : 2007.08.31
  294. * @by : 최경용
  295. * @---------------------------------------------------
  296. * @type : function
  297. * @access : public
  298. * @desc : 우측 팝업 메뉴 설정
  299. * @param :
  300. * @return :
  301. * @---------------------------------------------------
  302. */
  303. function fMouseDownGridRow(recflag) {
  304. if ( recflag == "G" ){
  305. var rows = grd_instrulist.rows;
  306. var row = grd_instrulist.mouseRow;
  307. var arrrow = grd_instrulist.mergeArea(row,1).split(",");;
  308. var rowindex = arrrow[2];
  309. var opflag = model.getValue(xInstruListPath + "[" + rowindex + "]/opflag");
  310. var cathseqno = model.getValue(xInstruListPath + "[" + rowindex + "]/cathseqno");
  311. if(row + 1 <= rows && rows > 1 && row > 0){
  312. if(opflag != "05" && cathseqno != ""){
  313. setPopupMenu("grd_instrulist", false, "/root/main/cond/instrumenu/menu", "name", "func");
  314. }
  315. }else{
  316. window.setPopupMenu(false);
  317. }
  318. } else {
  319. var rows = grd_patcatheter.rows;
  320. var row = grd_patcatheter.mouseRow;
  321. var arrrow = grd_patcatheter.mergeArea(row,1).split(",");;
  322. var rowindex = arrrow[2];
  323. var opflag = model.getValue(xCathListPath + "[" + rowindex + "]/opflag");
  324. var cathseqno = model.getValue(xCathListPath + "[" + rowindex + "]/cathseqno");
  325. if(row + 1 <= rows && rows > 1 && row > 0){
  326. if(opflag != "05" && cathseqno != ""){
  327. setPopupMenu("grd_patcatheter", false, "/root/main/cond/cathmenu/menu", "name", "func");
  328. }
  329. }else{
  330. window.setPopupMenu(false);
  331. }
  332. }
  333. }
  334. /**
  335. * @group :
  336. * @ver : 2007.08.31
  337. * @by : 최경용
  338. * @---------------------------------------------------
  339. * @type : function
  340. * @access : public
  341. * @desc : 카테터 삽입
  342. * @param :
  343. * @return :
  344. * @---------------------------------------------------
  345. */
  346. function fAddCathChange(){
  347. var rowindex = grd_patcatheter.row;
  348. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  349. var row = arrrow[0];
  350. if(grd_patcatheter.rowStatus(row) == "0" && model.getValue(xCathListPath + "[" + row + "]/iudflag") == "I"){
  351. grd_patcatheter.rowStatus(row) = "2";
  352. }
  353. fSetCath("01");
  354. }
  355. /**
  356. * @group :
  357. * @ver : 2007.08.31
  358. * @by : 최경용
  359. * @---------------------------------------------------
  360. * @type : function
  361. * @access : public
  362. * @desc : 카테터 교환
  363. * @param :
  364. * @return :
  365. * @---------------------------------------------------
  366. */
  367. function fSetCathChange(){
  368. var rowindex = grd_patcatheter.row;
  369. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  370. var row = arrrow[0];
  371. if(grd_patcatheter.rowStatus(row) == 0 && model.getValue(xCathListPath + "[" + row + "]/status") == "i"){
  372. grd_patcatheter.rowStatus(row) = 2;
  373. }
  374. fSetCath("02");
  375. }
  376. /**
  377. * @group :
  378. * @ver : 2008.05.09
  379. * @by : 이은영
  380. * @---------------------------------------------------
  381. * @type : function
  382. * @access : public
  383. * @desc : 카테터 세척
  384. * @param :
  385. * @return :
  386. * @---------------------------------------------------
  387. */
  388. function fSetCathWash(){
  389. var rowindex = grd_patcatheter.row;
  390. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  391. var row = arrrow[0];
  392. if(grd_patcatheter.rowStatus(row) == 0 && model.getValue(xCathListPath + "[" + row + "]/status") == "i"){
  393. grd_patcatheter.rowStatus(row) = 2;
  394. }
  395. fSetCath("03");
  396. }
  397. /**
  398. * @group :
  399. * @ver : 2008.05.09
  400. * @by : 이은영
  401. * @---------------------------------------------------
  402. * @type : function
  403. * @access : public
  404. * @desc : 카테터 흡인
  405. * @param :
  406. * @return :
  407. * @---------------------------------------------------
  408. */
  409. function fSetCathSuct(){
  410. var rowindex = grd_patcatheter.row;
  411. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  412. var row = arrrow[0];
  413. if(grd_patcatheter.rowStatus(row) == 0 && model.getValue(xCathListPath + "[" + row + "]/status") == "i"){
  414. grd_patcatheter.rowStatus(row) = 2;
  415. }
  416. fSetCath("04");
  417. }
  418. /**
  419. * @group :
  420. * @ver : 2007.08.31
  421. * @by : 최경용
  422. * @---------------------------------------------------
  423. * @type : function
  424. * @access : public
  425. * @desc : 카테터 제거
  426. * @param :
  427. * @return :
  428. * @---------------------------------------------------
  429. */
  430. function fSetCathRemove(){
  431. var rowindex = grd_patcatheter.row;
  432. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  433. var row = arrrow[0];
  434. if(grd_patcatheter.rowStatus(row) == 0 && model.getValue(xCathListPath + "[" + row + "]/status") == "i"){
  435. grd_patcatheter.rowStatus(row) = 2;
  436. }
  437. fSetCath("05");
  438. }
  439. /**
  440. * @group :
  441. * @ver : 2007.08.31
  442. * @by : 최경용
  443. * @---------------------------------------------------
  444. * @type : function
  445. * @access : public
  446. * @desc : 기구 제거
  447. * @param :
  448. * @return :
  449. * @---------------------------------------------------
  450. */
  451. function fSetInstruRemove(){
  452. var rowindex = grd_instrulist.row;
  453. var arrrow = grd_instrulist.mergeArea(rowindex,1).split(",");;
  454. var row = arrrow[0];
  455. if(grd_instrulist.rowStatus(row) == 0 && model.getValue(xInstruListPath + "[" + row + "]/status") == "i"){
  456. grd_instrulist.rowStatus(row) = 2;
  457. }
  458. var rowindex = grd_instrulist.row;
  459. var rows = grd_instrulist.rows;
  460. var arrrow = grd_instrulist.mergeArea(rowindex,1).split(",");;
  461. var row = arrrow[2];
  462. var itemindex = 1;
  463. var itemcd = model.getValue(xInstruListPath + "[" + row + "]/itemcd");
  464. if(model.getValue(xInstruListPath + "[" + row + "]/opflag") == "05"){
  465. if(saveflag == "05"){
  466. messageBox("이미 제거되었습니다.","E9999");
  467. }else if(saveflag == "01"){
  468. for(var i = 1; i < rows; i++){
  469. if(itemcd == model.getValue(xInstruListPath + "[" + i + "]/itemcd")){
  470. itemindex = i;
  471. }
  472. }
  473. fAddInstruRow(itemindex,"05");
  474. }else{}
  475. }else{
  476. fAddInstruRow(row,"05");
  477. }
  478. }
  479. function fAddInstruRow(row,saveflag){
  480. grd_instrulist.insertRow(row,"below",false,true);
  481. row++;
  482. model.setValue(xInstruListPath + "[" + row + "]/pid", model.getValue(xInstruListPath + "[" + (row-1) + "]/pid"));
  483. model.setValue(xInstruListPath + "[" + row + "]/orddd", model.getValue(xInstruListPath + "[" + (row-1) + "]/orddd"));
  484. model.setValue(xInstruListPath + "[" + row + "]/cretno", model.getValue(xInstruListPath + "[" + (row-1) + "]/cretno"));
  485. model.setValue(xInstruListPath + "[" + row + "]/itemcd", model.getValue(xInstruListPath + "[" + (row-1) + "]/itemcd"));
  486. model.setValue(xInstruListPath + "[" + row + "]/patseqno", model.getValue(xInstruListPath + "[" + (row-1) + "]/patseqno"));
  487. model.setValue(xInstruListPath + "[" + row + "]/itemnm", model.getValue(xInstruListPath + "[" + (row-1) + "]/itemnm"));
  488. //model.setValue(xCathListPath + "[" + row + "]/supnm", model.getValue(xCathListPath + "[" + (row-1) + "]/supnm"));
  489. model.setValue(xInstruListPath + "[" + row + "]/loc", model.getValue(xInstruListPath + "[" + (row-1) + "]/loc"));
  490. model.setValue(xInstruListPath + "[" + row + "]/carerecseqno", model.getValue(xInstruListPath + "[" + (row-1) + "]/carerecseqno"));
  491. model.setValue(xInstruListPath + "[" + row + "]/opflag", saveflag);
  492. model.setValue(xInstruListPath + "[" + row + "]/status", "i");
  493. model.refresh();
  494. fCatheterMerge("G");
  495. }
  496. /**
  497. * @group :
  498. * @ver : 2007.08.31
  499. * @by : 최경용
  500. * @---------------------------------------------------
  501. * @type : function
  502. * @access : public
  503. * @desc : 카테터 교환 및 제거 저장
  504. * @param :
  505. * @return :
  506. * @---------------------------------------------------
  507. */
  508. function fSetCath(saveflag){
  509. var rowindex = grd_patcatheter.row;
  510. var rows = grd_patcatheter.rows;
  511. var arrrow = grd_patcatheter.mergeArea(rowindex,1).split(",");;
  512. var row = arrrow[2];
  513. var itemindex = 1;
  514. var itemcd = model.getValue(xCathListPath + "[" + row + "]/itemcd");
  515. if(model.getValue(xCathListPath + "[" + row + "]/opflag") == "05"){
  516. if(saveflag == "05"){
  517. messageBox("이미 제거되었습니다.","E9999");
  518. }else if(saveflag == "01"){
  519. for(var i = 1; i < rows; i++){
  520. if(itemcd == model.getValue(xCathListPath + "[" + i + "]/itemcd")){
  521. itemindex = i;
  522. }
  523. }
  524. fAddCathRow(itemindex,saveflag);
  525. }else{}
  526. }else{
  527. fAddCathRow(row,saveflag);
  528. }
  529. }
  530. function fAddCathRow(row,saveflag){
  531. grd_patcatheter.insertRow(row,"below",false,true);
  532. row++;
  533. model.setValue(xCathListPath + "[" + row + "]/pid", model.getValue(xCathListPath + "[" + (row-1) + "]/pid"));
  534. model.setValue(xCathListPath + "[" + row + "]/orddd", model.getValue(xCathListPath + "[" + (row-1) + "]/orddd"));
  535. model.setValue(xCathListPath + "[" + row + "]/cretno", model.getValue(xCathListPath + "[" + (row-1) + "]/cretno"));
  536. model.setValue(xCathListPath + "[" + row + "]/itemcd", model.getValue(xCathListPath + "[" + (row-1) + "]/itemcd"));
  537. model.setValue(xCathListPath + "[" + row + "]/patseqno", model.getValue(xCathListPath + "[" + (row-1) + "]/patseqno"));
  538. model.setValue(xCathListPath + "[" + row + "]/itemnm", model.getValue(xCathListPath + "[" + (row-1) + "]/itemnm"));
  539. //model.setValue(xCathListPath + "[" + row + "]/supnm", model.getValue(xCathListPath + "[" + (row-1) + "]/supnm"));
  540. model.setValue(xCathListPath + "[" + row + "]/loc", model.getValue(xCathListPath + "[" + (row-1) + "]/loc"));
  541. model.setValue(xCathListPath + "[" + row + "]/carerecseqno", model.getValue(xCathListPath + "[" + (row-1) + "]/carerecseqno"));
  542. model.setValue(xCathListPath + "[" + row + "]/opflag", saveflag);
  543. model.setValue(xCathListPath + "[" + row + "]/status", "i");
  544. model.refresh();
  545. fGetMappingItem("addrow", row);
  546. fCatheterMerge("D");
  547. }
  548. /**
  549. * @group :
  550. * @ver : 2007.08.30
  551. * @by : 최경용
  552. * @---------------------------------------------------
  553. * @type : function
  554. * @access : public
  555. * @desc : 기구 및 삽관기록 조회
  556. * @param :
  557. * @return :
  558. * @---------------------------------------------------
  559. */
  560. function fSreachCatheterInfo(recflag){
  561. model.removenode("/root/send");
  562. model.makeValue("/root/send/pid",sPid);
  563. model.makeValue("/root/send/orddd",sOrdDD);
  564. model.makeValue("/root/send/cretno",sCretNo);
  565. model.makeValue("/root/send/recflag",recflag);//20090210 김홍점
  566. if (recflag == "D" ){
  567. model.makeValue("/root/send/cathcond",model.getValue("/root/main/cond/cathcond"));
  568. if(submit("TRMNR04106")){
  569. if(grd_patcatheter.rows > 0){
  570. fGetMappingItem("catheter");
  571. fCatheterMerge("D");
  572. }
  573. }
  574. } else if (recflag == "G" ){
  575. model.makeValue("/root/send/cathcond",model.getValue("/root/main/cond/instrucond"));
  576. if(submit("TRMNR04115")){
  577. if(grd_instrulist.rows > 0){
  578. fCatheterMerge("G");
  579. }
  580. }
  581. } else { //ALL search
  582. model.setValue("/root/main/cond/cathcond","S");
  583. model.setValue("/root/main/cond/instrucond","S");
  584. model.makeValue("/root/send/cathcond","S");
  585. if(submit("TRMNR04116")){
  586. if(grd_patcatheter.rows > 0){
  587. fGetMappingItem("catheter");
  588. fCatheterMerge("D");
  589. }
  590. if(grd_instrulist.rows > 0){
  591. fCatheterMerge("G");
  592. }
  593. }
  594. }
  595. }
  596. /**
  597. * @group :
  598. * @ver : 2007.08.31
  599. * @by : 최경용
  600. * @---------------------------------------------------
  601. * @type : function
  602. * @access : public
  603. * @desc : 기구 및 삽관기록 그리드 머지
  604. * @param :recflag : D -catheter G - instrument
  605. * @return :
  606. * @---------------------------------------------------
  607. */
  608. function fCatheterMerge(recflag){
  609. var grdObj = null;
  610. var grdNode = "";
  611. if ( recflag == "D" ){
  612. grdObj = grd_patcatheter;
  613. grdNode = xCathListPath;
  614. } else if ( recflag == "G" ){
  615. grdObj = grd_instrulist;
  616. grdNode = xInstruListPath;
  617. }
  618. var start_index = 1;
  619. var rows = grdObj.rows;
  620. grdObj.mergeCellsFixedRows = "byrow";//그리드 타이틀 부분 머지
  621. grdObj.mergeByFree(1, 1, 1, 1);
  622. for(var i = 0; i < rows; i++){
  623. //마지막일 경우 머지
  624. if(i == rows){
  625. grdObj.mergeByFree(start_index, 1, i, 1);
  626. grdObj.mergeByFree(start_index, 2, i, 2);
  627. //아이템명이 카테터가 제거된 경우 머지
  628. }else if(model.getValue(grdNode + "[" + i + "]/opflag") == "05"){
  629. grdObj.mergeByFree(start_index, 1, i, 1);
  630. grdObj.mergeByFree(start_index, 2, i, 2);
  631. start_index = i + 1;
  632. //아이템명이 변경된 경우 머지
  633. }else if(model.getValue(grdNode + "[" + i + "]/itemcd") != model.getValue(grdNode + "[" + (i+1) + "]/itemcd") ||
  634. //model.getValue(xCathListPath + "[" + i + "]/itemseqno") != model.getValue(xCathListPath + "[" + (i+1) + "]/itemseqno")){
  635. model.getValue(grdNode + "[" + i + "]/carerecseqno") != model.getValue(grdNode + "[" + (i+1) + "]/carerecseqno")){
  636. grdObj.mergeByFree(start_index, 1, i, 1);
  637. grdObj.mergeByFree(start_index, 2, i, 2);
  638. start_index = i + 1;
  639. }else{}
  640. }
  641. grdObj.refresh();
  642. }
  643. /**
  644. * @group :
  645. * @ver : 2007.08.30
  646. * @by : 최경용
  647. * @---------------------------------------------------
  648. * @type : function
  649. * @access : public
  650. * @desc : 기구 및 삽관기록 내용 저장
  651. * @param :
  652. * @return :
  653. * @---------------------------------------------------
  654. */
  655. function fSaveCathter(){
  656. var iudstatus = false;
  657. var sOpDD = "";
  658. var sOpTM = "";
  659. var sReservDD = "";
  660. var sReservTM = "";
  661. var sCareRecSeqNo = "";
  662. var sItemcd = "";
  663. model.removenode("/root/send");
  664. for(var i = 1; i < grd_patcatheter.rows; i++){
  665. if(grd_patcatheter.rowStatus(i) != 0){
  666. sOpDD = model.getValue(xCathListPath+"["+i+"]/opdd");
  667. sOpTM = model.getValue(xCathListPath+"["+i+"]/optm");
  668. sReservDD = model.getValue(xCathListPath+"["+i+"]/reservdd");
  669. sReservTM = model.getValue(xCathListPath+"["+i+"]/reservtm");
  670. sReservTM = model.getValue(xCathListPath+"["+i+"]/reservtm");
  671. sCareRecSeqNo = model.getValue(xCathListPath+"["+i+"]/carerecseqno");
  672. sItemcd = model.getValue(xCathListPath+"["+i+"]/itemcd");
  673. sOpFlag = model.getValue(xCathListPath+"["+i+"]/opflag");
  674. sCathSignNo = model.getValue(xCathListPath+"["+i+"]/signno");
  675. iudstatus = true;
  676. if((sOpDD != "" && sOpTM == "") || (sOpDD == "" && sOpTM != "")){
  677. messageBox("시행일시를 정확히","C001");
  678. grd_patcatheter.row = i;
  679. return;
  680. }
  681. if(sOpDD != "" && sOpTM != "" && !isValidDateTime(sOpDD+sOpTM,"YYYYMMDDhhmm")){
  682. messageBox("시행일시를 정확히","C001");
  683. grd_patcatheter.row = i;
  684. return;
  685. }
  686. if(sOpDD == "" && sOpTM == "" ){
  687. messageBox("시행일시를","C001");
  688. grd_patcatheter.row = i;
  689. return;
  690. }
  691. if((sReservDD != "" && sReservTM == "") || (sReservDD == "" && sReservTM != "")){
  692. messageBox("예약일시를 정확히","C001");
  693. grd_patcatheter.row = i;
  694. return;
  695. }
  696. if(sReservDD != "" && sReservTM != "" && !isValidDateTime(sReservDD+sReservTM,"YYYYMMDDhhmm")){
  697. messageBox("예약일시를 정확히","C001");
  698. grd_patcatheter.row = i;
  699. return;
  700. }
  701. //***************************************************************************************************************
  702. model.removeNodeset("/root/hidden/cathinfo");
  703. var sNodeCnt = eval(getNodesetCount("/root/hidden/cathinfo/cathlist")) + 1;
  704. model.makeNode("/root/hidden/cathinfo/cathlist["+sNodeCnt+"]");
  705. model.copyNode("/root/hidden/cathinfo/cathlist["+sNodeCnt+"]", xCathListPath+"["+i+"]");
  706. //인증저장 구현 부분
  707. if(Sign.signprocess() == true ){
  708. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  709. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  710. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);
  711. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", sCathSignNo);
  712. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  713. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", getCurrentDate());
  714. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", getCurrentTime());
  715. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  716. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  717. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  718. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0000002468");
  719. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  720. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  721. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/carerecseqno", sCareRecSeqNo);
  722. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum", i);
  723. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn", "N");
  724. //alert( Sign.signedInfos[1]);
  725. //alert( Sign.signedInfos[2]);
  726. //alert( Sign.signedInfos[4]);
  727. //alert( Sign.signedInfos[5]);
  728. //alert( Sign.signedInfos[3]);
  729. //return; // test 주석
  730. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  731. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  732. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  733. // ▶ 공인인증 처리후 데이터
  734. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  735. }else{
  736. return false;
  737. }
  738. //***************************************************************************************************************
  739. }
  740. }
  741. if(iudstatus == true){
  742. //model.removenode("/root/send");
  743. model.makeValue("/root/send/pid",sPid);
  744. model.makeValue("/root/send/orddd",sOrdDD);
  745. model.makeValue("/root/send/cretno",sCretNo);
  746. model.makeValue("/root/send/cathcond","vali");
  747. model.makeValue("/root/send/recflag","D");
  748. model.makeValue("/root/send/cathlist", grd_patcatheter.getUpdateData("update"));
  749. if(submit("TXMNR04102", false)){
  750. fMakeViewData("D");
  751. fSreachCatheterInfo("D");
  752. if(grd_patcatheter.rows > 1){
  753. fCatheterMerge("D");
  754. }
  755. }
  756. }else{
  757. messageBox("저장할 내용이","I004");
  758. }
  759. }
  760. /**
  761. * @group :
  762. * @ver : 2007.08.30
  763. * @by : 최경용
  764. * @---------------------------------------------------
  765. * @type : function
  766. * @access : public
  767. * @desc : 기구 및 삽관기록 내용 저장
  768. * @param :sSaveDataFlag = "3"
  769. * @return :
  770. * @---------------------------------------------------
  771. */
  772. function fSaveInstru(){
  773. var iudstatus = false;
  774. var sOpDD = "";
  775. var sOpTM = "";
  776. var sCareRecSeqNo = "";
  777. var sItemcd = "";
  778. sSaveDataFlag = "3";
  779. model.removenode("/root/send");
  780. for(var i = 1; i < grd_instrulist.rows; i++){
  781. if(grd_instrulist.rowStatus(i) != 0){
  782. sOpDD = model.getValue(xInstruListPath+"["+i+"]/opdd");
  783. sOpTM = model.getValue(xInstruListPath+"["+i+"]/optm");
  784. sCareRecSeqNo = model.getValue(xInstruListPath+"["+i+"]/carerecseqno");
  785. sItemcd = model.getValue(xInstruListPath+"["+i+"]/itemcd");
  786. sOpFlag = model.getValue(xInstruListPath+"["+i+"]/opflag");
  787. sCathSignNo = model.getValue(xInstruListPath+"["+i+"]/signno");
  788. iudstatus = true;
  789. if((sOpDD != "" && sOpTM == "") || (sOpDD == "" && sOpTM != "")){
  790. messageBox("시행일시를 정확히","C001");
  791. grd_patcatheter.row = i;
  792. return;
  793. }
  794. if(sOpDD != "" && sOpTM != "" && !isValidDateTime(sOpDD+sOpTM,"YYYYMMDDhhmm")){
  795. messageBox("시행일시를 정확히","C001");
  796. grd_patcatheter.row = i;
  797. return;
  798. }
  799. if(sOpDD == "" && sOpTM == "" ){
  800. messageBox("시행일시를","C001");
  801. grd_patcatheter.row = i;
  802. return;
  803. }
  804. //***************************************************************************************************************
  805. model.removeNodeset("/root/hidden/instruinfo");
  806. var sNodeCnt = eval(getNodesetCount("/root/hidden/instruinfo/instrulist")) + 1;
  807. model.makeNode("/root/hidden/instruinfo/instrulist["+sNodeCnt+"]");
  808. model.copyNode("/root/hidden/instruinfo/instrulist["+sNodeCnt+"]", xInstruListPath+"["+i+"]");
  809. //인증저장 구현 부분
  810. if(Sign.signprocess() == true ){
  811. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  812. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  813. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);
  814. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", sCathSignNo);
  815. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  816. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", getCurrentDate());
  817. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", getCurrentTime());
  818. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  819. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  820. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  821. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0900004376");
  822. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  823. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  824. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/carerecseqno", sCareRecSeqNo);
  825. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum", i);
  826. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn", "N");
  827. //alert( Sign.signedInfos[1]);
  828. //alert( Sign.signedInfos[2]);
  829. //alert( Sign.signedInfos[4]);
  830. //alert( Sign.signedInfos[5]);
  831. //alert( Sign.signedInfos[3]);
  832. //return; // test 주석
  833. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  834. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  835. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  836. // ▶ 공인인증 처리후 데이터
  837. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  838. }else{
  839. return false;
  840. }
  841. //***************************************************************************************************************
  842. }
  843. }
  844. if(iudstatus == true){
  845. //model.removenode("/root/send");
  846. model.makeValue("/root/send/pid",sPid);
  847. model.makeValue("/root/send/orddd",sOrdDD);
  848. model.makeValue("/root/send/cretno",sCretNo);
  849. model.makeValue("/root/send/cathcond","vali");
  850. model.makeValue("/root/send/recflag","G");
  851. model.makeValue("/root/send/instrulist", grd_instrulist.getUpdateData("update"));
  852. if(submit("TXMNR04108", false)){
  853. fMakeViewData("G");
  854. fSreachCatheterInfo("G");
  855. if(grd_instrulist.rows > 1){
  856. fCatheterMerge("G");
  857. }
  858. }
  859. }else{
  860. messageBox("저장할 내용이","I004");
  861. }
  862. }
  863. /**
  864. * @group :
  865. * @ver : 2007.08.29
  866. * @by : 최경용
  867. * @---------------------------------------------------
  868. * @type : function
  869. * @access : public
  870. * @desc : 시간 Setting 및 Dr.Order 조회
  871. * @param :
  872. * @return :
  873. * @---------------------------------------------------
  874. */
  875. function fSearchTimeSet(){
  876. model.removenode("/root/send");
  877. model.makeValue("/root/send/pid",sPid);
  878. model.makeValue("/root/send/orddd",sOrdDD);
  879. model.makeValue("/root/send/cretno",sCretNo);
  880. model.removeNodeset("/root/main/patsetinfo/timesetlist/timesetlist");
  881. model.removeNodeset(xPatPrcpDDLIstPath);
  882. model.removeNodeset("/root/main/patsetinfo/prcplist/timesetlist");
  883. grd_prcpinfo.rebuild();
  884. var nodecnt = "";
  885. var prcpdd = "";
  886. var cur_prcpdd = "";
  887. if(submit("TRMNR04105", false)){
  888. copyNodeset(xPatPrcpDDLIstPath,xTempPrcpDDListPath);
  889. copyNodeset(xTimeListPath,xTempItemSetListPath);
  890. }
  891. grd_timeset.refresh();
  892. model.refresh();
  893. }
  894. /**
  895. * @group :
  896. * @ver : 2007.08.29
  897. * @by : 최경용
  898. * @---------------------------------------------------
  899. * @type : function
  900. * @access : public
  901. * @desc : DrOrderList 클릭시 처방 조회
  902. * @param :
  903. * @return :
  904. * @---------------------------------------------------
  905. */
  906. function fClickDrOrderList(){
  907. var iRow = 0;
  908. if(grd_drorder.isCell(event.target)){
  909. model.removeNodeset("/root/main/patsetinfo/prcplist/timesetlist");
  910. iRow = grd_drorder.row;
  911. if(iRow < 1) return;
  912. model.removenode("/root/send");
  913. model.makeValue("/root/send/pid",model.getValue(xPatPrcpDDLIstPath+"["+iRow+"]/pid"));
  914. model.makeValue("/root/send/orddd",model.getValue(xPatPrcpDDLIstPath+"["+iRow+"]/orddd"));
  915. model.makeValue("/root/send/cretno",model.getValue(xPatPrcpDDLIstPath+"["+iRow+"]/cretno"));
  916. model.makeValue("/root/send/prcpdd",model.getValue(xPatPrcpDDLIstPath+"["+iRow+"]/prcpdd"));
  917. model.makeValue("/root/send/ordtype",sOrdType);
  918. model.makeValue("/root/send/deptcd",sWardCD);
  919. submit("TRMNR04111");
  920. grd_prcpinfo.mergeCells = "bycol";
  921. grd_prcpinfo.mergeCol(grd_drorder.colRef("rgstdt")) = true;
  922. grd_prcpinfo.mergeCol(grd_drorder.colRef("prcpnm")) = true;
  923. grd_prcpinfo.refresh();
  924. }
  925. }
  926. /**
  927. * @group :
  928. * @ver : 2007.07.27
  929. * @by : 이은영
  930. * @---------------------------------------------------
  931. * @type : function
  932. * @access : public
  933. * @desc : 환자별 항목 리스트 조회
  934. * @param :
  935. * @return :
  936. * @---------------------------------------------------
  937. */
  938. function fSreachPatItemInfo(){
  939. model.removeNodeset("/root/main/patsetinfo/attrinfo/attrlist");
  940. //model.removeNodeset("/root/main/patsetting/patiteminfo/patitemlist");
  941. grd_attrinfo.refresh();
  942. model.removenode("/root/send");
  943. model.makeValue("/root/send/pid", sPid);
  944. model.makeValue("/root/send/orddd", sOrdDD);
  945. model.makeValue("/root/send/cretno", sCretNo);
  946. model.makeValue("/root/send/instcd", sInstcd);
  947. model.makeValue("/root/send/intm", sIntm);
  948. model.makeValue("/root/send/ordtype", sOrdType);
  949. model.makeValue("/root/send/deptcd", cmb_wardcd.value);
  950. //화면 오픈시 아이템 세팅 정보가 없으면 부서기본 셋의 정보를 자동 저장함.
  951. //submit("TXMNR04106");
  952. grd_patitemlist.rebuildStyle();
  953. grd_patitemlist.refresh();
  954. // if(swt_recflag.selectedIndex == 1){
  955. // grd_clncobslist.rebuildStyle();
  956. // grd_inoutlist.rebuildStyle();
  957. // grd_cathlist.rebuildStyle();
  958. // grd_careexeclist.rebuildStyle();
  959. // }
  960. /** <addon>
  961. *개발일시 : 2010.06.01
  962. *개발자 : 양천덕
  963. *요청병원 : 세종병원
  964. *요청파트 : 간호
  965. *개발내용 : 조회 조건 변경으로 SUBMIT 변경
  966. </addon>
  967. */
  968. //if(submit("TRMNR04102")){
  969. if(submit("TRMNR04102_SJH")){
  970. grd_patitemlist.backcoloralternate = "transparent";
  971. for(var iItemRow=grd_patitemlist.fixedrows; iItemRow<=grd_patitemlist.rows-grd_patitemlist.fixedrows;iItemRow++){
  972. grd_patitemlist.rowStatus(iItemRow) = 0;
  973. fSettingGridStyle(iItemRow, "patitem");
  974. fSettingReadOlny(iItemRow);
  975. }
  976. grd_patitemlist.mergecells = "bycol";
  977. grd_patitemlist.mergecol(1) = true;
  978. grd_patitemlist.mergecol(2) = false;
  979. grd_patitemlist.mergecol(3) = false;
  980. grd_patitemlist.mergecol(4) = false;
  981. grd_patitemlist.mergecol(5) = false;
  982. grd_patitemlist.mergecol(6) = false;
  983. grd_patitemlist.mergecol(7) = false;
  984. grd_patitemlist.mergecol(8) = false;
  985. grd_patitemlist.mergecol(9) = false;
  986. grd_patitemlist.mergecol(10) = false;
  987. grd_patitemlist.mergecol(11) = false;
  988. grd_patitemlist.mergecol(12) = false;
  989. grd_patitemlist.mergecol(13) = false;
  990. grd_patitemlist.mergecol(14) = false;
  991. //grd_patitemlist.refresh();
  992. //fSettingTopDeptStyle();
  993. }
  994. model.copyNode("/root/temp/patiteminfo", "/root/main/patsetting/patiteminfo");
  995. grd_patitemlist.refresh();
  996. }
  997. function fSreachPatInfo(){
  998. model.toggle("setting");
  999. }
  1000. /**
  1001. * @group :
  1002. * @ver : 2007.07.26
  1003. * @by : 이은영
  1004. * @---------------------------------------------------
  1005. * @type : function
  1006. * @access : public
  1007. * @desc : 간호Item 조회
  1008. * @param : pFlag (total : 전체Item, set : SET명, setitem : SET별 Item 정보)
  1009. * @return :
  1010. * @---------------------------------------------------
  1011. */
  1012. function fSearchItemInfo(pFlag){
  1013. var sMainRecFlag = "";
  1014. var sItemCD = "";
  1015. model.removenode("/root/send");
  1016. switch(pFlag){
  1017. case "itemmngt": if(swt_recflag.selectedIndex == 1) return;
  1018. case "total" :
  1019. model.toggle("item");
  1020. model.toggle("ttlitem");
  1021. grd_clncobslist.rebuildStyle();
  1022. grd_inoutlist.rebuildStyle();
  1023. grd_cathlist.rebuildStyle();
  1024. grd_careexeclist.rebuildStyle();
  1025. if(submit("TRMNR04101")){
  1026. setTree(grd_clncobslist,11,0,false);
  1027. setTree(grd_inoutlist,11,0,false);
  1028. setTree(grd_cathlist,11,0,false);
  1029. setTree(grd_careexeclist,11,0,false);
  1030. btn_ttlitem.selected = true;
  1031. //fSettingTopDeptStyle();
  1032. for(var iRow=grd_patitemlist.fixedrows; iRow<=grd_patitemlist.rows-grd_patitemlist.fixedrows; iRow++){
  1033. if(grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemorigincd")) != "04" ){
  1034. fSettingGridStyle(iRow,"ttlitem");
  1035. }
  1036. }
  1037. //fSettingTopDeptStyle();
  1038. }
  1039. break;
  1040. case "set" :
  1041. model.toggle("set");
  1042. //model.makeValue("/root/send/orddeptcd", getUserInfo("posdeptcd"));
  1043. //model.makeValue("/root/send/orddeptcd", getUserInfo("dutplcecd"));
  1044. model.makeValue("/root/send/orddeptcd", model.getValue("/root/main/paminfo/pamlist/wardcd"));
  1045. if(submit("TRMNR04103")){
  1046. setTree(grd_itemsetlist,2,0,false);
  1047. model.removenodeset(xItemDtlListPath);
  1048. grd_itemdtllist.rebuild();
  1049. }
  1050. break;
  1051. case "itempopup" :
  1052. setParameter("SPMNR05900_ParamPat", "pid▦orddd▦cretno▩" + sPid +"▦" + sOrdDD+"▦" + sCretNo+ "▩");
  1053. modal("SPMNR05900", "1", "100","100","SPMNR05900", "/root/main/patsetting/patiteminfo", "/root/main/patsetitemlist");
  1054. fSendPatItemList("itempopup");
  1055. clearParameter("SPMNR05900_RtnRaram");
  1056. break;
  1057. }
  1058. }
  1059. /**
  1060. * @group :
  1061. * @ver : 2007.07.27
  1062. * @by : 이은영
  1063. * @---------------------------------------------------
  1064. * @type : function
  1065. * @access : public
  1066. * @desc : 그리드 클릭시 (트리 접기/펼치기)
  1067. * @param : pFlag (clincobs : 임상관찰, inout : intake/output, catheter : catheter, careexec : 간호수행)
  1068. * @return :
  1069. * @---------------------------------------------------
  1070. */
  1071. function fClicedGridRow(pFlag,pCtrlObj){
  1072. var iRow = 0;
  1073. var sDepth = 0;
  1074. var iDepth = 0;
  1075. var sCheck = "";
  1076. switch(pFlag){
  1077. case "ttlitem" : // 간호Item
  1078. var sCtrlObj = document.controls(pCtrlObj);
  1079. iRow = sCtrlObj.row;
  1080. if(iRow < 1) return;
  1081. sDepth = eval(sCtrlObj.valueMatrix(iRow,11));
  1082. if(sDepth > 1) return;
  1083. for(var i = iRow ; i<=sCtrlObj.rows - sCtrlObj.fixedrows; i++){
  1084. iDepth = eval(sCtrlObj.valueMatrix(i,11));
  1085. if(i!=iRow && iDepth == sDepth) break;
  1086. if(sCtrlObj.iscollapsed(i)){
  1087. sCtrlObj.iscollapsed(i) = false;
  1088. }else{
  1089. sCtrlObj.iscollapsed(i) = true;
  1090. }
  1091. }
  1092. break;
  1093. case "set" : // set 상세 항목 조회
  1094. iRow = grd_itemsetlist.row;
  1095. if(iRow < 1) return;
  1096. sDepth = eval(model.getValue(xItemSetListPath+"["+iRow+"]/levl"));
  1097. if(sDepth == 1) return;
  1098. model.removenode("/root/send");
  1099. model.makeValue("/root/send/setno", model.getValue(xItemSetListPath+"["+iRow+"]/setno"));
  1100. if(submit("TRMNR04104")){
  1101. grd_itemdtllist.mergecells = "bycol";
  1102. grd_itemdtllist.mergecol(0) = false;
  1103. grd_itemdtllist.mergecol(2) = false;
  1104. }
  1105. break;
  1106. case "itemdetl" :
  1107. iRow = grd_itemdtllist.row;
  1108. if(iRow < 1) return;
  1109. var iCol = grd_itemdtllist.col;
  1110. if(iCol == 0) return;
  1111. sCheck = model.getValue(xItemDtlListPath+"["+iRow+"]/check");
  1112. if(sCheck == "true"){
  1113. model.setValue(xItemDtlListPath+"["+iRow+"]/check","false");
  1114. }else{
  1115. model.setValue(xItemDtlListPath+"["+iRow+"]/check","true");
  1116. }
  1117. break;
  1118. }
  1119. }
  1120. /**
  1121. * @group :
  1122. * @ver : 2007.07.27
  1123. * @by : 이은영
  1124. * @---------------------------------------------------
  1125. * @type : function
  1126. * @access : public
  1127. * @desc : 환자별 항목 리스트에 항목 보내기
  1128. * @param : pFlag (clincobs : 임상관찰, inout : intake/output, catheter : catheter, careexec : 간호수행)
  1129. * @return :
  1130. * @---------------------------------------------------
  1131. */
  1132. function fSendPatItemList(pFlag, pCtrlObj, pRow){
  1133. var iSrchedItemRow = 0;
  1134. var iPatItemRow = 0;
  1135. var mainrecflag = "";
  1136. var itemcd = "";
  1137. var iRtnMsg = 0;
  1138. var sParamMsgItem = "";
  1139. var sPexrextyn = "";
  1140. switch(pFlag){
  1141. case "timelist":
  1142. sParamMsgItem = getParameter("SPMNR05000_ReturnItem");
  1143. grd_patitemlist.addRow(false);
  1144. iPatItemRow = grd_patitemlist.rows - grd_patitemlist.fixedrows;
  1145. //2008-07-28 추가
  1146. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supcdnm" , getArrayData(sParamMsgItem,1,3) );
  1147. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , getArrayData(sParamMsgItem,1,1) );
  1148. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemnm" , getArrayData(sParamMsgItem,1,1) );
  1149. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemcd" , getArrayData(sParamMsgItem,1,0) );
  1150. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsyn" , getArrayData(sParamMsgItem,1,4) );
  1151. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsprcpyn" , getArrayData(sParamMsgItem,1,9) );
  1152. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/intkyn" , getArrayData(sParamMsgItem,1,5) );
  1153. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/outptyn" , getArrayData(sParamMsgItem,1,6) );
  1154. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateyn" , getArrayData(sParamMsgItem,1,7) );
  1155. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateprcpyn" , getArrayData(sParamMsgItem,1,10) );
  1156. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruyn" , getArrayData(sParamMsgItem,1,15) );
  1157. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruprcpyn" , getArrayData(sParamMsgItem,1,16) );
  1158. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecyn" , getArrayData(sParamMsgItem,1,8) );
  1159. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecprcpyn" , getArrayData(sParamMsgItem,1,11) );
  1160. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pid" , sPid);
  1161. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/orddd" , sOrdDD);
  1162. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cretno" , sCretNo);
  1163. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemfromdt" , (getCurrentDate()+getCurrentTime()).toDate("YYYYMMDDhhmmss").getAddDate(-12,"h").getDateFormat("YYYYMMDDhhmmss"));
  1164. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemtodt" , "99991231235959");
  1165. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/refseq" , 0);
  1166. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/mainrecflag" , getArrayData(sParamMsgItem,1,12) );
  1167. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobs" , getArrayData(sParamMsgItem,1,4) );
  1168. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobsprcpyn" , getArrayData(sParamMsgItem,1,9) );
  1169. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_intake" , getArrayData(sParamMsgItem,1,5) );
  1170. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_output" , getArrayData(sParamMsgItem,1,6) );
  1171. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_catheter" , getArrayData(sParamMsgItem,1,7) );
  1172. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_cathprcpyn" , getArrayData(sParamMsgItem,1,10) );
  1173. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexec" , getArrayData(sParamMsgItem,1,8) );
  1174. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexecprcpyn" , getArrayData(sParamMsgItem,1,11) );
  1175. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instru" , getArrayData(sParamMsgItem,1,15) );
  1176. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instruprcpyn" , getArrayData(sParamMsgItem,1,16) );
  1177. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/ordtype" , sOrdType);
  1178. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemorigincd" , getArrayData(sParamMsgItem,1,14) );
  1179. if(getArrayData(sParamMsgItem,1,12) == "E" && getArrayData(sParamMsgItem,1,13) == "Y"){
  1180. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pexrextyn" , getArrayData(sParamMsgItem,1,13) );
  1181. }
  1182. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supsetno" , getArrayData(sParamMsgItem,1,17) );
  1183. grd_patitemlist.rowStatus(iPatItemRow)=1;
  1184. //요구사항 2008-05-28
  1185. fSettingGridStyle(iPatItemRow, "patitem");
  1186. fSettingReadOlny(iPatItemRow);
  1187. grd_patitemlist.topRow = iPatItemRow;
  1188. break;
  1189. case "ttlitem" : // 임상관찰
  1190. var sCtrlObj = document.controls(pCtrlObj);
  1191. var xItemListPath = "";
  1192. if(pRow== null){
  1193. iSrchedItemRow = sCtrlObj.row;
  1194. }else{
  1195. iSrchedItemRow = pRow;
  1196. }
  1197. if(iSrchedItemRow < 1) return;
  1198. switch(pCtrlObj){
  1199. case "grd_clncobslist" :
  1200. xItemListPath = xTotalItemPath+"/clncobslist";
  1201. break;
  1202. case "grd_inoutlist" :
  1203. xItemListPath = xTotalItemPath+ "/inoutlist";
  1204. break;
  1205. case "grd_cathlist":
  1206. xItemListPath = xTotalItemPath + "/cathlist";
  1207. break;
  1208. case "grd_careexeclist":
  1209. xItemListPath = xTotalItemPath + "/careexeclist";
  1210. break;
  1211. }
  1212. var sDepth = eval(model.getValue(xItemListPath+"["+iSrchedItemRow+"]/depth"));
  1213. var sSupcd = model.getValue(xItemListPath+"["+iSrchedItemRow+"]/supcd");
  1214. if(sDepth <= 1) return;
  1215. itemcd = model.getValue(xItemListPath+"["+iSrchedItemRow+"]/itemcd");
  1216. for(var i = grd_patitemlist.fixedrows ; i <= grd_patitemlist.rows - grd_patitemlist.fixedrows ; i ++){
  1217. if(grd_patitemlist.valueMatrix(i, grd_patitemlist.colref("itemcd")) == itemcd && grd_patitemlist.valueMatrix(i, grd_patitemlist.colref("itemorigincd")) == "00"){
  1218. //if(grd_patitemlist.findrow(itemcd, 0, grd_patitemlist.colref("itemcd")) > 0 ){
  1219. i = grd_patitemlist.rows;
  1220. iRtnMsg = messageBox("이미 등록된 항목입니다.", "Q003");
  1221. if(iRtnMsg != "6"){
  1222. return;
  1223. }
  1224. }
  1225. }
  1226. grd_patitemlist.addRow(false);
  1227. iPatItemRow = grd_patitemlist.rows - grd_patitemlist.fixedrows;
  1228. //2008-06-11 추가
  1229. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supcdnm" , model.getValue(xItemListPath+"[itemcd ='"+ sSupcd +"']/itemnm"));
  1230. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/itemnm"));
  1231. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemcd" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/itemcd"));
  1232. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobs"));
  1233. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1234. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/intkyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/intake"));
  1235. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/outptyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/output"));
  1236. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/catheter"));
  1237. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1238. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexec"));
  1239. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1240. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pid" , sPid);
  1241. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/orddd" , sOrdDD);
  1242. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cretno" , sCretNo);
  1243. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemfromdt" , (getCurrentDate()+getCurrentTime()).toDate("YYYYMMDDhhmmss").getAddDate(-12,"h").getDateFormat("YYYYMMDDhhmmss"));
  1244. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemtodt" , "99991231235959");
  1245. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/refseq" , 0);
  1246. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/mainrecflag" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/mainrecflag"));
  1247. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobs" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobs"));
  1248. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobsprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1249. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_intake" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/intake"));
  1250. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_output" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/output"));
  1251. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_catheter" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/catheter"));
  1252. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_cathprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1253. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexec" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexec"));
  1254. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexecprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1255. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instru"));
  1256. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1257. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instru" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instru"));
  1258. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instruprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1259. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supsetno" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/supsetno"));
  1260. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/ordtype" , sOrdType);
  1261. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemorigincd" , "00");
  1262. grd_patitemlist.rowStatus(iPatItemRow)=1;
  1263. //요구사항 2008-05-28
  1264. fSettingGridStyle(iPatItemRow, "patitem");
  1265. fSettingReadOlny(iPatItemRow);
  1266. grd_patitemlist.topRow = iPatItemRow;
  1267. break;
  1268. case "set" : // SET별 항목
  1269. for(var iSrchedItemRow=grd_itemdtllist.fixedrows; iSrchedItemRow<=grd_itemdtllist.rows-grd_itemdtllist.fixedrows;iSrchedItemRow++){
  1270. if(model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/check") == "true"){
  1271. mainrecflag = model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/mainrecflag");
  1272. itemcd = model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemcd");
  1273. sPexrextyn = model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/pexrextyn");
  1274. itemorigincd = model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemorigincd");
  1275. /*if(fDuplicateYN(itemcd, mainrecflag) == true){
  1276. return;
  1277. }*/
  1278. var sChkItem = "";
  1279. if(mainrecflag == "D" || (mainrecflag == "E" && sPexrextyn == "Y") || itemorigincd == "04" ){
  1280. sChkItem = "";
  1281. }else{
  1282. sChkItem = model.getValue(xPatItemLIstPath+"[itemcd ='"+itemcd+"']/itemcd");
  1283. }
  1284. if(sChkItem == ""){
  1285. grd_patitemlist.addRow(false);
  1286. iPatItemRow = grd_patitemlist.rows - grd_patitemlist.fixedrows;
  1287. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supcdnm" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/supnm"));
  1288. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemnm"));
  1289. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemcd" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemcd"));
  1290. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/clincobs"));
  1291. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1292. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/intkyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/intake"));
  1293. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/outptyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/output"));
  1294. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/catheter"));
  1295. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1296. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/careexec"));
  1297. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1298. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pid" , sPid);
  1299. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/orddd" , sOrdDD);
  1300. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cretno" , sCretNo);
  1301. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemfromdt" , (getCurrentDate()+getCurrentTime()).toDate("YYYYMMDDhhmmss").getAddDate(-12,"h").getDateFormat("YYYYMMDDhhmmss"));
  1302. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemtodt" , "99991231235959");
  1303. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/refseq" , 0);
  1304. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemnm" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemnm"));
  1305. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/mainrecflag" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/mainrecflag"));
  1306. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobs" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/clincobs"));
  1307. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobsprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1308. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_intake" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/intake"));
  1309. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_output" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/output"));
  1310. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_catheter" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/catheter"));
  1311. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_cathprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1312. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexec" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/careexec"));
  1313. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexecprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1314. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/ordtype" , sOrdType);
  1315. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemorigincd" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/itemorigincd"));
  1316. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pexrextyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/pexrextyn"));
  1317. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/instru"));
  1318. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1319. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instru" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/instru"));
  1320. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instruprcpyn" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1321. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supsetno" , model.getValue(xItemDtlListPath+"["+iSrchedItemRow+"]/supsetno"));
  1322. model.setValue(xItemDtlListPath+"["+iSrchedItemRow+"]/check","false");
  1323. grd_patitemlist.rowStatus(iPatItemRow)=1;
  1324. //요구사항 2008-05-28
  1325. fSettingGridStyle(iPatItemRow, "patitem");
  1326. fSettingReadOlny(iPatItemRow);
  1327. }
  1328. grd_patitemlist.topRow = iPatItemRow;
  1329. }
  1330. }
  1331. //fSettingTopDeptStyle();
  1332. grd_itemdtllist.rebuild();
  1333. return;
  1334. break;
  1335. case "ChngItem" :
  1336. var sAddItemNm = model.getValue("/root/temp/itemchngnm");
  1337. switch(pCtrlObj){
  1338. case "grd_clncobslist" :
  1339. xItemListPath = xTotalItemPath+"/clncobslist";
  1340. iSrchedItemRow = grd_clncobslist.row;
  1341. break;
  1342. case "grd_inoutlist" :
  1343. xItemListPath = xTotalItemPath+ "/inoutlist";
  1344. iSrchedItemRow = grd_inoutlist.row;
  1345. break;
  1346. case "grd_cathlist":
  1347. xItemListPath = xTotalItemPath + "/cathlist";
  1348. iSrchedItemRow = grd_cathlist.row;
  1349. break;
  1350. case "grd_careexeclist":
  1351. xItemListPath = xTotalItemPath + "/careexeclist";
  1352. iSrchedItemRow = grd_careexeclist.row;
  1353. break;
  1354. }
  1355. var sDepth = eval(model.getValue(xItemListPath+"["+iSrchedItemRow+"]/depth"));
  1356. var sSupcd = model.getValue(xItemListPath+"["+iSrchedItemRow+"]/supcd");
  1357. var sChngItemNm = model.getValue(xItemListPath+"["+iSrchedItemRow+"]/itemnm") + sAddItemNm ;
  1358. grd_patitemlist.addRow(false);
  1359. iPatItemRow = grd_patitemlist.rows - grd_patitemlist.fixedrows;
  1360. //2008-06-11 추가
  1361. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supcdnm" , model.getValue(xItemListPath+"[itemcd ='"+ sSupcd +"']/itemnm"));
  1362. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , sChngItemNm );
  1363. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemcd" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/itemcd"));
  1364. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobs"));
  1365. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1366. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/intkyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/intake"));
  1367. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/outptyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/output"));
  1368. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/catheter"));
  1369. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1370. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexec"));
  1371. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1372. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pid" , sPid);
  1373. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/orddd" , sOrdDD);
  1374. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cretno" , sCretNo);
  1375. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemfromdt" , (getCurrentDate()+getCurrentTime()).toDate("YYYYMMDDhhmmss").getAddDate(-12,"h").getDateFormat("YYYYMMDDhhmmss"));
  1376. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemtodt" , "99991231235959");
  1377. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/refseq" , 0);
  1378. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/mainrecflag" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/mainrecflag"));
  1379. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobs" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobs"));
  1380. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobsprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/clincobsprcpyn"));
  1381. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_intake" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/intake"));
  1382. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_output" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/output"));
  1383. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_catheter" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/catheter"));
  1384. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_cathprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/cathprcpyn"));
  1385. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexec" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexec"));
  1386. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexecprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/careexecprcpyn"));
  1387. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/ordtype" , sOrdType);
  1388. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemorigincd" , "04");
  1389. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/chngitemnm" , sChngItemNm);
  1390. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instru"));
  1391. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1392. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instru" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instru"));
  1393. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instruprcpyn" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/instruprcpyn"));
  1394. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supsetno" , model.getValue(xItemListPath+"["+iSrchedItemRow+"]/supsetno"));
  1395. grd_patitemlist.rowStatus(iPatItemRow)=1;
  1396. //요구사항 2008-05-28
  1397. fSettingGridStyle(iPatItemRow, "patitem");
  1398. fSettingReadOlny(iPatItemRow);
  1399. grd_patitemlist.topRow = iPatItemRow;
  1400. break;
  1401. case "itempopup" :
  1402. sParamMsgItem = getParameter("SPMNR05900_RtnRaram");
  1403. var sParamMsgItemList = sParamMsgItem.split("▩");
  1404. for(var i = 1 ; i < sParamMsgItemList.length -1 ; i ++){
  1405. var sParamPopupList = sParamMsgItemList[i];
  1406. grd_patitemlist.addRow(false);
  1407. iPatItemRow = grd_patitemlist.rows - grd_patitemlist.fixedrows;
  1408. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supcdnm" , getArrayData(sParamPopupList,0, 3));
  1409. if(getArrayData(sParamPopupList, 0, 13) == ""){
  1410. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , getArrayData(sParamPopupList,0, 1));
  1411. }else{
  1412. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/patitemnm" , getArrayData(sParamPopupList,0, 1) + "("+ getArrayData(sParamPopupList, 0, 13) +")" );
  1413. }
  1414. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemnm" , getArrayData(sParamPopupList,0, 1));
  1415. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemcd" , getArrayData(sParamPopupList,0, 0));
  1416. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsyn" , getArrayData(sParamPopupList,0, 4));
  1417. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/clincobsprcpyn" , getArrayData(sParamPopupList,0, 5));
  1418. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/intkyn" , getArrayData(sParamPopupList,0, 6));
  1419. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/outptyn" , getArrayData(sParamPopupList,0, 7));
  1420. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateyn" , getArrayData(sParamPopupList,0, 8));
  1421. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cateprcpyn" , getArrayData(sParamPopupList,0, 9));
  1422. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecyn" , getArrayData(sParamPopupList,0, 10));
  1423. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/careexecprcpyn" , getArrayData(sParamPopupList,0, 11));
  1424. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/pid" , sPid);
  1425. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/orddd" , sOrdDD);
  1426. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/cretno" , sCretNo);
  1427. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemfromdt" , (getCurrentDate()+getCurrentTime()).toDate("YYYYMMDDhhmmss").getAddDate(-12,"h").getDateFormat("YYYYMMDDhhmmss"));
  1428. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemtodt" , "99991231235959");
  1429. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/refseq" , 0);
  1430. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/mainrecflag" , getArrayData(sParamPopupList,0, 12));
  1431. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobs" , getArrayData(sParamPopupList,0, 4));
  1432. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_clincobsprcpyn" , getArrayData(sParamPopupList,0, 5));
  1433. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_intake" , getArrayData(sParamPopupList,0, 6));
  1434. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_output" , getArrayData(sParamPopupList,0, 7));
  1435. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_catheter" , getArrayData(sParamPopupList,0, 8));
  1436. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_cathprcpyn" , getArrayData(sParamPopupList,0, 9));
  1437. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexec" , getArrayData(sParamPopupList,0, 10));
  1438. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_careexecprcpyn" , getArrayData(sParamPopupList,0, 11));
  1439. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/ordtype" , sOrdType);
  1440. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/itemorigincd" , getArrayData(sParamPopupList,0, 14));
  1441. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruyn" , getArrayData(sParamPopupList,0, 15) );
  1442. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/instruprcpyn" , getArrayData(sParamPopupList,0, 16) );
  1443. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instru" , getArrayData(sParamPopupList,0, 15) );
  1444. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/org_instruprcpyn" , getArrayData(sParamPopupList,0, 16) );
  1445. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/supsetno" , getArrayData(sParamPopupList,0, 17) );
  1446. /** <addon>
  1447. *개발일시 : 2010.01.26
  1448. *개발자 : 양천덕
  1449. *요청병원 : 세종병원
  1450. *요청파트 : 간호
  1451. *개발내용 : FlowSheet 화면 사용으로 확장명 등록시 item명칭까지 같이 저장되던 부분 수정
  1452. </addon>
  1453. */
  1454. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/recfluidunit" , getArrayData(sParamPopupList,0, 18) );
  1455. if(getArrayData(sParamPopupList,0, 14) == "04" ){
  1456. /* 변경 후 */
  1457. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/chngitemnm" , getArrayData(sParamPopupList, 0, 13));
  1458. /* 변경 전
  1459. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/chngitemnm" , getArrayData(sParamPopupList,0, 1) + "("+ getArrayData(sParamPopupList, 0, 13) +")" );
  1460. */
  1461. }else{
  1462. model.setValue(xPatItemLIstPath+"["+iPatItemRow+"]/chngitemnm" , getArrayData(sParamPopupList, 0, 13));
  1463. }
  1464. grd_patitemlist.rowStatus(iPatItemRow)=1;
  1465. fSettingGridStyle(iPatItemRow, "patitem");
  1466. fSettingReadOlny(iPatItemRow);
  1467. }
  1468. grd_patitemlist.topRow = iPatItemRow;
  1469. break;
  1470. }
  1471. }
  1472. /**
  1473. * @group :
  1474. * @ver : 2007.09.07
  1475. * @by : 최경용
  1476. * @---------------------------------------------------
  1477. * @type : function
  1478. * @access : public
  1479. * @desc : item이 중복 등록 되었을경우 처리(사용자 요구로 사용안함)
  1480. * @param : itemcd : 아이템 코드, pFlag : 항목구분
  1481. * @return :
  1482. * @---------------------------------------------------
  1483. */
  1484. function fDuplicateYN(itemcd, pFlag){
  1485. var itemnm = "";
  1486. for(var i = 1; i <= grd_patitemlist.rows; i++){
  1487. itemnm
  1488. if(itemcd == model.getValue(xPatItemLIstPath + "[" + i + "]/itemcd")){
  1489. if(pFlag == "D" || pFlag == "cathter"){
  1490. itemnm = model.getValue(xPatItemLIstPath + "[" + i + "]/itemnm");
  1491. messageBox(itemnm + "이 중복등록되었으니\n부위를 등록하셔야 합니다.","E999");
  1492. return false;
  1493. }else{
  1494. itemnm = model.getValue(xPatItemLIstPath + "[" + i + "]/itemnm");
  1495. messageBox(itemnm + "이 중복 등록되었습니다.", "E999");
  1496. return true;
  1497. }
  1498. }
  1499. }
  1500. return false;
  1501. }
  1502. /**
  1503. * @group :
  1504. * @ver : 2007.07.28
  1505. * @by : 이은영
  1506. * @---------------------------------------------------
  1507. * @type : function
  1508. * @access : public
  1509. * @desc : 읽기전용 셋팅
  1510. * @param : pRow : 특정 Row
  1511. * @return :
  1512. * @---------------------------------------------------
  1513. */
  1514. function fSettingReadOlny(pRow){
  1515. //2008-07-21 추가(col CheckBox 삭제 부분)
  1516. var OrgColNm = new Array("org_clincobs","org_clincobsprcpyn","org_intake","org_output","org_catheter","org_cathprcpyn","org_instru","org_instruprcpyn","org_careexec","org_careexecprcpyn");
  1517. var ColNm = new Array("clincobsyn","clincobsprcpyn","intkyn","outptyn","cateyn","cateprcpyn","instruyn","instruprcpyn","careexecyn","careexecprcpyn");
  1518. for(var i=0; i<OrgColNm.length; i++){
  1519. grd_patitemlist.checkimage(i+5) = "../../../com/commonweb/images/checked.gif";
  1520. grd_patitemlist.uncheckimage(i+5) = "";
  1521. // && model.getValue(xPatItemLIstPath+"["+pRow+"]/"+ColNm[i]) == "N"
  1522. if(model.getValue(xPatItemLIstPath+"["+pRow+"]/"+OrgColNm[i]) == "Y" ){
  1523. grd_patitemlist.cellStyle("background-image",pRow,(i+5)) = "../../../com/commonweb/images/check.gif";
  1524. grd_patitemlist.cellStyle("background-position", pRow, (i+5)) = "center";
  1525. }
  1526. // 2008-07-21 체크박스 readonly 로직 변경
  1527. // if(model.getValue(xPatItemLIstPath+"["+pRow+"]/"+ColNm[i]) == "Y"){
  1528. // grd_patitemlist.isReadOnly(pRow,(i+5))=false;
  1529. // }else{
  1530. // grd_patitemlist.isReadOnly(pRow,(i+5))=true;
  1531. // }
  1532. }
  1533. }
  1534. /**
  1535. * @group :
  1536. * @ver : 2007.07.31
  1537. * @by : 이은영
  1538. * @---------------------------------------------------
  1539. * @type : function
  1540. * @access : public
  1541. * @desc : 환자별 항목에 Cell Style Setting
  1542. * @param : pRow : 특정 Row
  1543. * @return :
  1544. * @---------------------------------------------------
  1545. */
  1546. function fSettingGridStyle(pRow, pFlag){
  1547. var sMainRecFlag = model.getValue(xPatItemLIstPath+"["+pRow+"]/mainrecflag");
  1548. var sItemCD = model.getValue(xPatItemLIstPath+"["+pRow+"]/itemcd");
  1549. var sGridObj = "";
  1550. switch(pFlag){
  1551. case "patitem" :
  1552. var sCol = "";
  1553. switch(sMainRecFlag){
  1554. case "A" : // 임상관찰
  1555. sCol = 5;
  1556. //sGridObj = "grd_clncobslist";
  1557. break;
  1558. case "B" : // intake
  1559. sCol = 7;
  1560. //sGridObj = "grd_inoutlist";
  1561. break;
  1562. case "C" : // output
  1563. sCol = 8;
  1564. //sGridObj = "grd_inoutlist";
  1565. break;
  1566. case "D" : // catheter
  1567. sCol = 9;
  1568. //sGridObj = "grd_cathlist";
  1569. break;
  1570. case "E" : // 간호수행
  1571. sCol = 13;
  1572. //sGridObj = "grd_careexeclist";
  1573. break;
  1574. case "G" : //기구
  1575. sCol = 11;
  1576. //sGridObj = "grd_careexeclist";
  1577. break;
  1578. }
  1579. //if(swt_recflag.selectedIndex == 1) setRowStyle(sGridObj,"3",sItemCD,"itemcd","equal");
  1580. if(sCol != ""){
  1581. grd_patitemlist.cellStyle("background-color", pRow, sCol) = "#b7f9aa";
  1582. }
  1583. break;
  1584. case "ttlitem" :
  1585. setRowStyle("grd_clncobslist","3",sItemCD,"itemcd","equal");
  1586. setRowStyle("grd_inoutlist","3",sItemCD,"itemcd","equal");
  1587. setRowStyle("grd_cathlist","3",sItemCD,"itemcd","equal");
  1588. setRowStyle("grd_careexeclist","3",sItemCD,"itemcd","equal");
  1589. break;
  1590. }
  1591. }
  1592. /**
  1593. * @group :
  1594. * @ver : 2007.07.28
  1595. * @by : 이은영
  1596. * @---------------------------------------------------
  1597. * @type : function
  1598. * @access : public
  1599. * @desc : 그리드 변경시
  1600. * @param : pRow (patitem : 환자별 Item)
  1601. * @return :
  1602. * @---------------------------------------------------
  1603. */
  1604. function fChangedGridRow(pFlag){
  1605. var iRow = 0;
  1606. var iCol = 0;
  1607. var sItemCD = "";
  1608. var sPatSeqNo = "";
  1609. var sMainRecFlag = "";
  1610. var sClincObsYN = "";
  1611. var sClincObsPrcpYN = "";
  1612. var sIntkYN = "";
  1613. var sOutptYN = "";
  1614. var sCateYN = "";
  1615. var sCatePrcpYN = "";
  1616. var sInstruYN = "";
  1617. var sInstruPrcpYN = "";
  1618. var sCareExecYN = "";
  1619. var sCareExecPrcpYN = "";
  1620. var sStatus = 0;
  1621. var sCathRecYN = "";
  1622. var sInstruRecYN ="";
  1623. var sPexrYN = "";
  1624. var OrgColNm = new Array("org_clincobs","org_clincobsprcpyn","org_intake","org_output","org_catheter","org_cathprcpyn","org_instru","org_instruprcpyn","org_careexec","org_careexecprcpyn");
  1625. var ColNm = new Array("clincobsyn","clincobsprcpyn","intkyn","outptyn","cateyn","cateprcpyn","instruyn","instruprcpyn","careexecyn","careexecprcpyn");
  1626. switch(pFlag){
  1627. case "patitem" :
  1628. iRow = grd_patitemlist.row;
  1629. iCol = grd_patitemlist.col;
  1630. //2008-07-21 추가(col CheckBox 삭제 부분)
  1631. var sDGridColNm = grd_patitemlist.colAttribute(iCol, "ref");
  1632. var sColNmIdx = 0;
  1633. var sSelectRow = grd_patitemlist.row - grd_patitemlist.fixedRows;
  1634. for(var i=0; i<ColNm.length; i++){
  1635. if(ColNm[i] == sDGridColNm){
  1636. sColNmIdx = i;
  1637. }
  1638. }
  1639. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sDGridColNm+"") == "Y" ){
  1640. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+OrgColNm[sColNmIdx]+"") == "N" ){
  1641. model.setValue(xPatItemLIstPath+"["+iRow+"]/"+sDGridColNm+"", "N");
  1642. }
  1643. }
  1644. sMainRecFlag = model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag");
  1645. sStatus = grd_patitemlist.rowStatus(iRow);
  1646. sClincObsYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn");
  1647. sClincObsPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsprcpyn");
  1648. sIntkYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/intkyn");
  1649. sOutptYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/outptyn");
  1650. sCateYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/cateyn");
  1651. sCatePrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/cateprcpyn");
  1652. sInstruYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/instruyn");
  1653. sInstruPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/instruprcpyn");
  1654. sCareExecYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecyn");
  1655. sCareExecPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecprcpyn");
  1656. sItemCD = model.getValue(xPatItemLIstPath+"["+iRow+"]/itemcd");
  1657. sPatSeqNo = model.getValue(xPatItemLIstPath+"["+iRow+"]/patseqno");
  1658. sCathRecYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/cathrecyn");
  1659. sInstruRecYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/instrurecyn");
  1660. sPexrYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/pexryn");
  1661. // 임상관찰
  1662. if(sMainRecFlag == "A" && sClincObsYN == "N"){
  1663. if(sIntkYN == "Y" || sOutptYN == "Y" || sCateYN == "Y" || sCareExecYN == "Y"){
  1664. messageBox("임상관찰 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1665. model.setValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_clincobs"));
  1666. }else{
  1667. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1668. if(vbYes != 6){
  1669. model.setValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn","Y");
  1670. }
  1671. }
  1672. }else if(sMainRecFlag == "B" && sIntkYN == "N" ){ // intake
  1673. if(sClincObsYN == "Y" || sOutptYN == "Y" || sCateYN == "Y" || sCareExecYN == "Y" || sInstruYN == "Y"){
  1674. messageBox("Intake 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1675. model.setValue(xPatItemLIstPath+"["+iRow+"]/intkyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_intake"));
  1676. }else{
  1677. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1678. if(vbYes != 6){
  1679. model.setValue(xPatItemLIstPath+"["+iRow+"]/intkyn","Y");
  1680. }
  1681. }
  1682. }else if(sMainRecFlag == "C" && sOutptYN == "N" ){ // output
  1683. if(sClincObsYN == "Y" || sIntkYN == "Y" || sCateYN == "Y" || sCareExecYN == "Y" || sInstruYN == "Y"){
  1684. messageBox("Output 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1685. model.setValue(xPatItemLIstPath+"["+iRow+"]/outptyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_output"));
  1686. }else{
  1687. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1688. if(vbYes != 6){
  1689. model.setValue(xPatItemLIstPath+"["+iRow+"]/outptyn","Y");
  1690. }
  1691. }
  1692. }else if(sMainRecFlag == "D" && sCateYN == "N"){ // catheter
  1693. if(sClincObsYN == "Y" || sIntkYN == "Y" || sOutptYN == "Y" || sCareExecYN == "Y" || sInstruYN == "Y"){
  1694. messageBox("Catheter 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1695. model.setValue(xPatItemLIstPath+"["+iRow+"]/cateyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_catheter"));
  1696. }else if(sCathRecYN == "Y"){
  1697. messageBox("Catheter 아이템은 삽관기록에서 '제거'해야 합니다.","E");
  1698. model.setValue(xPatItemLIstPath+"["+iRow+"]/cateyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_catheter"));
  1699. }else{
  1700. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1701. if(vbYes != 6){
  1702. model.setValue(xPatItemLIstPath+"["+iRow+"]/cateyn","Y");
  1703. }
  1704. }
  1705. }else if(sMainRecFlag == "G" && sInstruYN == "N"){ // 기구
  1706. if(sClincObsYN == "Y" || sIntkYN == "Y" || sOutptYN == "Y" || sCareExecYN == "Y" || sCateYN == "Y"){
  1707. messageBox("기구 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1708. model.setValue(xPatItemLIstPath+"["+iRow+"]/instruyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_instru"));
  1709. }else if(sInstruRecYN == "Y"){
  1710. messageBox("기구 아이템은 기구기록에서 'Remove'해야 합니다.","E");
  1711. model.setValue(xPatItemLIstPath+"["+iRow+"]/instruyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_instru"));
  1712. }else{
  1713. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1714. if(vbYes != 6){
  1715. model.setValue(xPatItemLIstPath+"["+iRow+"]/instruyn","Y");
  1716. }
  1717. }
  1718. }else if(sMainRecFlag == "E" && sCareExecYN == "N" ){ // 간호수행
  1719. if(sClincObsYN == "Y" || sIntkYN == "Y" || sOutptYN == "Y" || sCateYN == "Y" || sInstruYN == "Y"){
  1720. messageBox("간호수행 항목이 주체이므로 다른 기록지가 존재하는 한 선택 해제","E001");
  1721. model.setValue(xPatItemLIstPath+"["+iRow+"]/careexecyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_careexec"));
  1722. }else if(sPexrYN == "Y"){
  1723. var vbYes = messageBox("간호수행기록이 존재합니다.","Q001");
  1724. if(vbYes != 6){
  1725. model.setValue(xPatItemLIstPath+"["+iRow+"]/careexecyn",model.getValue(xPatItemLIstPath+"["+iRow+"]/org_careexec"));
  1726. }
  1727. }else{
  1728. var vbYes = messageBox("주체기록지를 제거하면 아이템이 삭제됩니다.","Q003");
  1729. if(vbYes != 6){
  1730. model.setValue(xPatItemLIstPath+"["+iRow+"]/careexecyn","Y");
  1731. }
  1732. }
  1733. }
  1734. // 임상관찰
  1735. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn") == "N" && sClincObsPrcpYN == "Y"){
  1736. model.setValue(xPatItemLIstPath+"["+iRow+"]/clincobsprcpyn","N");
  1737. }
  1738. // catheter
  1739. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/cateyn") == "N" && sCatePrcpYN == "Y"){
  1740. model.setValue(xPatItemLIstPath+"["+iRow+"]/cateprcpyn","N");
  1741. }
  1742. // 기구
  1743. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/instruyn") == "N" && sInstruPrcpYN == "Y"){
  1744. model.setValue(xPatItemLIstPath+"["+iRow+"]/instruprcpyn","N");
  1745. }
  1746. // 간호수행
  1747. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecyn") == "N" && sCareExecPrcpYN == "Y"){
  1748. model.setValue(xPatItemLIstPath+"["+iRow+"]/careexecprcpyn","N");
  1749. }
  1750. sStatus = grd_patitemlist.rowStatus(iRow);
  1751. sMainRecFlag = model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag");
  1752. sClincObsYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn");
  1753. sClincObsPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsprcpyn");
  1754. sIntkYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/intkyn");
  1755. sOutptYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/outptyn");
  1756. sCateYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/cateyn");
  1757. sCatePrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/cateprcpyn");
  1758. sCareExecYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecyn");
  1759. sCareExecPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecprcpyn");
  1760. sInstruYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/instruyn");
  1761. sInstruPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/instruprcpyn");
  1762. if(sClincObsYN == "N" && sClincObsPrcpYN == "N" && sIntkYN == "N" && sOutptYN == "N" &&
  1763. sCateYN == "N" && sCatePrcpYN == "N" && sInstruYN == "N" && sInstruPrcpYN == "N" &&
  1764. sCareExecYN == "N" && sCareExecPrcpYN == "N" ){
  1765. if(model.getValue(xTempPatItemLIstPath+"[itemcd ='"+sItemCD+"' and patseqno ='"+sPatSeqNo+"']/itemcd") == ""){
  1766. grd_patitemlist.deleteRow(iRow);
  1767. //삭제 item style 초기화
  1768. // for( var i = grd_clncobslist.fixedRows ; i < grd_clncobslist.Rows ; i++ ) {
  1769. // if( grd_clncobslist.valueMatrix(i , grd_clncobslist.colRef("itemcd")) == sItemCD ) {
  1770. // grd_clncobslist.rowstyle( i , "data" , "background-color" ) = "#ffffff";
  1771. // }
  1772. // }
  1773. // for( var i = grd_inoutlist.fixedRows ; i < grd_inoutlist.Rows ; i++ ) {
  1774. // if( grd_inoutlist.valueMatrix(i , grd_inoutlist.colRef("itemcd")) == sItemCD ) {
  1775. // grd_inoutlist.rowstyle( i , "data" , "background-color" ) = "#ffffff";
  1776. // }
  1777. // }
  1778. // for( var i = grd_cathlist.fixedRows ; i < grd_cathlist.Rows ; i++ ) {
  1779. // if( grd_cathlist.valueMatrix(i , grd_cathlist.colRef("itemcd")) == sItemCD ) {
  1780. // grd_cathlist.rowstyle( i , "data" , "background-color" ) = "#ffffff";
  1781. // }
  1782. // }
  1783. // for( var i = grd_careexeclist.fixedRows ; i < grd_careexeclist.Rows ; i++ ) {
  1784. // if( grd_careexeclist.valueMatrix(i , grd_careexeclist.colRef("itemcd")) == sItemCD ) {
  1785. // grd_careexeclist.rowstyle( i , "data" , "background-color" ) = "#ffffff";
  1786. // }
  1787. // }
  1788. }else{
  1789. grd_patitemlist.rowStatus(iRow) = 4;
  1790. }
  1791. }else if (model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/clincobsyn")||
  1792. model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/clincobsprcpyn")||
  1793. model.getValue(xPatItemLIstPath+"["+iRow+"]/intkyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/intkyn")||
  1794. model.getValue(xPatItemLIstPath+"["+iRow+"]/outptyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/outptyn")||
  1795. model.getValue(xPatItemLIstPath+"["+iRow+"]/cateyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/cateyn")||
  1796. model.getValue(xPatItemLIstPath+"["+iRow+"]/cateprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/cateprcpyn")||
  1797. model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/careexecyn")||
  1798. model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/careexecprcpyn")||
  1799. model.getValue(xPatItemLIstPath+"["+iRow+"]/instruyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/instruyn")||
  1800. model.getValue(xPatItemLIstPath+"["+iRow+"]/instruprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/instruprcpyn")){
  1801. if(grd_patitemlist.rowStatus(iRow) != 1 && grd_patitemlist.rowStatus(iRow) != 3 ){
  1802. grd_patitemlist.rowStatus(iRow) = 2;
  1803. }else{
  1804. grd_patitemlist.rowStatus(iRow) = 1;
  1805. }
  1806. }else{
  1807. if(grd_patitemlist.rowStatus(iRow) == 2 || grd_patitemlist.rowStatus(iRow) == 4 || grd_patitemlist.rowStatus(iRow) == 6){
  1808. grd_patitemlist.rowStatus(iRow) = 0;
  1809. }
  1810. }
  1811. //grd_patitemlist.rebuild();
  1812. break;
  1813. }
  1814. }
  1815. /**
  1816. * @group :
  1817. * @ver : 2007.07.28
  1818. * @by : 양천덕
  1819. * @---------------------------------------------------
  1820. * @type : function
  1821. * @access : public
  1822. * @desc : 저장
  1823. * @param : pRow (patitem : 환자별 Item)
  1824. * @return :
  1825. * @---------------------------------------------------
  1826. */
  1827. function fSavePatItem(){
  1828. var sItemCD = "";
  1829. var sPatSeqNo = "";
  1830. var sStatus = "";
  1831. var sRecFlag = new Array();
  1832. var sRecYN = "";
  1833. var sPrcpYN = "";
  1834. var sRecYN_BK = "";
  1835. var sPrcpYN_BK = "";
  1836. var sCathItemRgstYN = "N";
  1837. var sExecItemRgstYN = "N";
  1838. var sInstruItemRgstYN = "N";
  1839. var sMsg = "";
  1840. var sChkChg = "N";
  1841. sRecFlag[0] = new Array("clincobsyn","intkyn","outptyn","cateyn","careexecyn","instruyn");
  1842. sRecFlag[1] = new Array("clincobsprcpyn","","","cateprcpyn","careexecprcpyn","instruprcpyn");
  1843. sRecFlag[2] = new Array("A","B","C","D","E","G");
  1844. sRecFlag[3] = new Array("clincobs_carerecseqno","intake_carerecseqno","output_carerecseqno","cate_carerecseqno","careexec_carerecseqno","instru_carerecseqno");
  1845. sRecFlag[4] = new Array("org_clincobs","org_intake","org_output","org_catheter","org_careexec","org_instru");
  1846. sRecFlag[5] = new Array("org_clincobsprcpyn","","","org_cathprcpyn","org_careexecprcpyn" ,"org_instruprcpyn");
  1847. var sSateData = "status▦pid▦orddd▦itemfromdt▦itemtodt▦refseq▦cretno▦itemcd▦patseqno▦recflag▦prcpyn▦grupcd▦ordtype▦carerecseqno▦itemorigincd▦chngitemnm▦supsetno▦recfluidunit▩";
  1848. //2008-06-12 추가 양천덕
  1849. for(var iRow = grd_patitemlist.fixedrows; iRow<=grd_patitemlist.rows; iRow++){
  1850. sItemCD = model.getValue(xPatItemLIstPath+"["+iRow+"]/itemcd");
  1851. sPatSeqNo = model.getValue(xPatItemLIstPath+"["+iRow+"]/patseqno");
  1852. if(grd_patitemlist.rowStatus(iRow) != 0 ){
  1853. if(grd_patitemlist.rowStatus(iRow) == 1){
  1854. for(var i=0; i< sRecFlag[0].length; i++){
  1855. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]) == "Y"){
  1856. sSateData += "i" + "▦"
  1857. + model.getValue(xPatItemLIstPath+"["+iRow+"]/pid")+ "▦"
  1858. + model.getValue(xPatItemLIstPath+"["+iRow+"]/orddd")+ "▦"
  1859. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemfromdt")+ "▦"
  1860. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemtodt")+ "▦"
  1861. + model.getValue(xPatItemLIstPath+"["+iRow+"]/refseq")+ "▦"
  1862. + model.getValue(xPatItemLIstPath+"["+iRow+"]/cretno")+ "▦"
  1863. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemcd")+ "▦"
  1864. + model.getValue(xPatItemLIstPath+"["+iRow+"]/patseqno")+ "▦"
  1865. + sRecFlag[2][i]+ "▦"
  1866. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i])+ "▦"
  1867. + iRow+ "▦"
  1868. + model.getValue(xPatItemLIstPath+"["+iRow+"]/ordtype")+ "▦"
  1869. + model.getValue(xPatItemLIstPath+"["+iRow+"]/carerecseqno")+ "▦"
  1870. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemorigincd")+ "▦"
  1871. + model.getValue(xPatItemLIstPath+"["+iRow+"]/chngitemnm")+ "▦"
  1872. + ( model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag") == sRecFlag[2][i]
  1873. ? model.getValue(xPatItemLIstPath+"["+iRow+"]/supsetno")
  1874. : "")+ "▦"
  1875. + model.getValue(xPatItemLIstPath+"["+iRow+"]/recfluidunit") + "▩";
  1876. sChkChg = "Y";
  1877. //간호수행기록&기구및 삽관기록 기록 알림 popup 설정 flag
  1878. if(sRecFlag[2][i] == "D"){ // Catheter
  1879. sCathItemRgstYN = "Y";
  1880. }
  1881. if(sRecFlag[2][i] == "E"){ // 간호수행
  1882. sExecItemRgstYN = "Y";
  1883. }
  1884. if(sRecFlag[2][i] == "G"){ // 기구
  1885. sInstruItemRgstYN = "Y";
  1886. }
  1887. }
  1888. }
  1889. }else if(grd_patitemlist.rowStatus(iRow) == 4){
  1890. for(var i=0; i< sRecFlag[0].length; i++){
  1891. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[4][i]) == "Y"){
  1892. sSateData += "d▦"
  1893. + model.getValue(xPatItemLIstPath+"["+iRow+"]/pid")+ "▦"
  1894. + model.getValue(xPatItemLIstPath+"["+iRow+"]/orddd")+ "▦"
  1895. +"▦▦▦"+ model.getValue(xPatItemLIstPath+"["+iRow+"]/cretno")+ "▦▦▦"
  1896. + sRecFlag[2][i]+ "▦▦▦▦"
  1897. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[3][i])+ "▦▦▦"
  1898. + ( model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag") == sRecFlag[2][i]
  1899. ? model.getValue(xPatItemLIstPath+"["+iRow+"]/supsetno")
  1900. : "")+ "▦"
  1901. + model.getValue(xPatItemLIstPath+"["+iRow+"]/recfluidunit") + "▩";
  1902. sChkChg = "Y";
  1903. }
  1904. }
  1905. }else{
  1906. for(var i=0; i< sRecFlag[0].length; i++){
  1907. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]) != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i])){
  1908. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]) == "N" ){
  1909. sSateData += "d" + "▦"
  1910. + model.getValue(xPatItemLIstPath+"["+iRow+"]/pid")+ "▦"
  1911. + model.getValue(xPatItemLIstPath+"["+iRow+"]/orddd")+ "▦"
  1912. +"▦▦▦"+ model.getValue(xPatItemLIstPath+"["+iRow+"]/cretno")+ "▦▦▦▦▦▦▦"
  1913. //+ "▦▦▦▦▦▦▦▦▦▦▦▦▦"
  1914. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[3][i])+ "▦▦▩";
  1915. }else{
  1916. sSateData += "i" + "▦"
  1917. + model.getValue(xPatItemLIstPath+"["+iRow+"]/pid")+ "▦"
  1918. + model.getValue(xPatItemLIstPath+"["+iRow+"]/orddd")+ "▦"
  1919. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemfromdt")+ "▦"
  1920. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemtodt")+ "▦"
  1921. + model.getValue(xPatItemLIstPath+"["+iRow+"]/refseq")+ "▦"
  1922. + model.getValue(xPatItemLIstPath+"["+iRow+"]/cretno")+ "▦"
  1923. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemcd")+ "▦"
  1924. + model.getValue(xPatItemLIstPath+"["+iRow+"]/patseqno")+ "▦"
  1925. + sRecFlag[2][i]+ "▦"
  1926. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i])+ "▦"
  1927. + iRow+ "▦"
  1928. + model.getValue(xPatItemLIstPath+"["+iRow+"]/ordtype")+ "▦"
  1929. + ""+ "▦"
  1930. + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemorigincd")+ "▦"
  1931. + model.getValue(xPatItemLIstPath+"["+iRow+"]/chngitemnm")+ "▦"
  1932. + ( model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag") == sRecFlag[2][i]
  1933. ? model.getValue(xPatItemLIstPath+"["+iRow+"]/supsetno")
  1934. : "")+ "▦"
  1935. + model.getValue(xPatItemLIstPath+"["+iRow+"]/recfluidunit") + "▩";
  1936. }
  1937. sChkChg = "Y";
  1938. }else if(model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]) == model.getValue(xTempPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]) &&
  1939. model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i]) != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i]) ){
  1940. // sSateData += "u" + "▦▦▦▦▦▦▦▦▦"
  1941. sSateData += "u▦"
  1942. + model.getValue(xPatItemLIstPath+"["+iRow+"]/pid")+ "▦"
  1943. + model.getValue(xPatItemLIstPath+"["+iRow+"]/orddd")+ "▦"
  1944. +"▦▦▦"+ model.getValue(xPatItemLIstPath+"["+iRow+"]/cretno")+ "▦▦▦"
  1945. + sRecFlag[2][i]+ "▦"
  1946. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i])+"▦▦▦"
  1947. + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[3][i])+ "▦▦▦"
  1948. + ( model.getValue(xPatItemLIstPath+"["+iRow+"]/mainrecflag") == sRecFlag[2][i]
  1949. ? model.getValue(xPatItemLIstPath+"["+iRow+"]/supsetno")
  1950. : "")+ "▦"
  1951. + model.getValue(xPatItemLIstPath+"["+iRow+"]/recfluidunit") + "▩";
  1952. sChkChg = "Y";
  1953. }
  1954. }
  1955. }
  1956. }
  1957. }
  1958. // for(var i=0; i< sRecFlag[0].length; i++){
  1959. // sStatus = "-";
  1960. // sRecYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[0][i]);
  1961. //
  1962. // if(sRecYN == "N") sRecYN = "";
  1963. // sPrcpYN = model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i]);
  1964. //
  1965. // if(sPrcpYN == "N") sPrcpYN = "";
  1966. // sRecYN_BK = model.getValue(xTempPatItemLIstPath+"[itemcd ='"+sItemCD+"' and patseqno ='"+sPatSeqNo+"']/"+sRecFlag[0][i]);
  1967. //
  1968. // if(sRecYN_BK == "N") sRecYN_BK = "";
  1969. //
  1970. // if(sRecFlag[1][i] == ""){
  1971. // if( sRecYN == "" && sRecYN_BK != ""){
  1972. // sStatus = "d";
  1973. // }else if(sRecYN != "" && sRecYN_BK == ""){
  1974. // sStatus = "i";
  1975. // }
  1976. // }else{
  1977. // sPrcpYN_BK = model.getValue(xTempPatItemLIstPath+"[itemcd ='"+sItemCD+"' and patseqno ='"+sPatSeqNo+"']/"+sRecFlag[1][i]);
  1978. // if(sPrcpYN_BK == "N") sPrcpYN_BK = "";
  1979. // if(sRecYN != sRecYN_BK || sPrcpYN != sPrcpYN_BK){
  1980. // if(sRecYN_BK == "" && sPrcpYN_BK == ""){
  1981. // sStatus = "i";
  1982. // }else if(sRecYN == "" && sPrcpYN == ""){
  1983. // sStatus = "d";
  1984. // }else {
  1985. // sStatus = "u";
  1986. // }
  1987. // }
  1988. // }
  1989. //
  1990. // if(sStatus == "i"){
  1991. // if(sRecFlag[2][i] == "D"){ // Catheter
  1992. // sCathItemRgstYN = "Y";
  1993. // }
  1994. // if(sRecFlag[2][i] == "E"){ // 간호수행
  1995. // sExecItemRgstYN = "Y";
  1996. // }
  1997. // sSateData += sStatus + "▦"
  1998. // + sPid + "▦"
  1999. // + sOrdDD + "▦"
  2000. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemfromdt") + "▦"
  2001. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemtodt") + "▦"
  2002. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/refseq") + "▦"
  2003. // + sCretNo + "▦"
  2004. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/itemcd") + "▦"
  2005. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/patseqno") + "▦"
  2006. // + sRecFlag[2][i] + "▦"
  2007. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/"+sRecFlag[1][i]) + "▦"
  2008. // + iRow + "▦"
  2009. // + model.getValue(xPatItemLIstPath+"["+iRow+"]/ordtype") + "▩";
  2010. //
  2011. // }
  2012. // }
  2013. // }
  2014. if(sChkChg == "Y"){
  2015. model.removenode("/root/send");
  2016. model.makeValue("/root/send/patitemlist",sSateData);
  2017. model.makeValue("/root/send/pid",sPid);
  2018. model.makeValue("/root/send/orddd",sOrdDD);
  2019. model.makeValue("/root/send/cretno",sCretNo);
  2020. model.makeValue("/root/send/instcd",sInstcd);
  2021. model.setValue("root/main/cond/itemdesc", "");
  2022. opt_itemdescspec.refresh();
  2023. // if(swt_recflag.selectedIndex == 1){
  2024. // grd_clncobslist.rebuildStyle();
  2025. // grd_inoutlist.rebuildStyle();
  2026. // grd_cathlist.rebuildStyle();
  2027. // grd_careexeclist.rebuildStyle();
  2028. // }
  2029. // if(submit("TXMNR04101")){
  2030. if(submit("TXMNR04101_SJH")){
  2031. grd_patitemlist.rebuildStyle();
  2032. grd_patitemlist.backcoloralternate = "transparent";
  2033. for(var iItemRow=grd_patitemlist.fixedrows; iItemRow<=grd_patitemlist.rows-grd_patitemlist.fixedrows;iItemRow++){
  2034. grd_patitemlist.rowStatus(iItemRow) = 0;
  2035. fSettingGridStyle(iItemRow,"patitem");
  2036. fSettingReadOlny(iItemRow);
  2037. }
  2038. grd_patitemlist.mergecells = "bycol";
  2039. grd_patitemlist.mergecol(1) = true;
  2040. grd_patitemlist.mergecol(2) = false;
  2041. grd_patitemlist.mergecol(3) = false;
  2042. grd_patitemlist.mergecol(4) = false;
  2043. grd_patitemlist.mergecol(5) = false;
  2044. grd_patitemlist.mergecol(6) = false;
  2045. grd_patitemlist.mergecol(7) = false;
  2046. grd_patitemlist.mergecol(8) = false;
  2047. grd_patitemlist.mergecol(9) = false;
  2048. grd_patitemlist.mergecol(10) = false;
  2049. grd_patitemlist.mergecol(11) = false;
  2050. grd_patitemlist.mergecol(12) = false;
  2051. //grd_patitemlist.refresh();
  2052. //fSettingTopDeptStyle();
  2053. model.copyNode("/root/temp/patiteminfo","/root/main/patsetting/patiteminfo");
  2054. if(sCathItemRgstYN == "Y"){
  2055. sMsg = "삽관기록";
  2056. }
  2057. if(sExecItemRgstYN == "Y"){
  2058. if(sMsg != "") sMsg += "과 ";
  2059. sMsg += "간호수행기록";
  2060. }
  2061. if(sInstruItemRgstYN == "Y"){
  2062. if(sMsg != "") sMsg += "과 ";
  2063. sMsg += "기구기록";
  2064. }
  2065. if(sMsg != "") messageBox("아이템만 등록된 상태입니다. "+sMsg+"을","I008");
  2066. }
  2067. }else{
  2068. messageBox("저장할 항목이","I004");
  2069. return;
  2070. }
  2071. model.refresh();
  2072. }
  2073. /**
  2074. * @group :
  2075. * @ver : 2007.09.04
  2076. * @by : 최경용
  2077. * @---------------------------------------------------
  2078. * @type : function
  2079. * @access : public
  2080. * @desc : Item시간 변경
  2081. * @param :
  2082. * @return :
  2083. * @---------------------------------------------------
  2084. */
  2085. function fClickTimeChange(pFlag){
  2086. switch(pFlag){
  2087. case "prcp" :
  2088. var iCol = grd_prcpinfo.col;
  2089. var iRow = grd_prcpinfo.row;
  2090. if(iRow < 1) return;
  2091. //중복 되는 임시처방이 발생하지 못함
  2092. for(var i=grd_timeset.fixedrows ; i <= grd_timeset.rows - grd_timeset.fixedrows ; i ++){
  2093. if(model.getValue(xPrcpListPath+"["+iRow+"]/prcpcd") == model.getValue(xTimeListPath+"["+i+"]/prcpcd") &&
  2094. model.getValue(xPrcpListPath+"["+iRow+"]/prcpno") == model.getValue(xTimeListPath+"["+i+"]/prcpno") &&
  2095. model.getValue(xPrcpListPath+"["+iRow+"]/prcphistno") == model.getValue(xTimeListPath+"["+i+"]/prcphistno") ){
  2096. messageBox("시간 Setting된 처방", "E008");
  2097. return;
  2098. }
  2099. }
  2100. var sParamMsg = "";
  2101. var status = "";
  2102. var sCareItemCD = "";
  2103. var iPatSetRow = 0;
  2104. sParamMsg = "prcpnm▦prcpcd▦careitemcd▦apnttmspec▦supcd▦apntflag▦apntseqno▦status▦prcpdd▦prcpno▦prcphistno▩";
  2105. sParamMsg += model.getValue(xPrcpListPath+"["+iRow+"]/prcpnm") + "▦"
  2106. + model.getValue(xPrcpListPath+"["+iRow+"]/prcpcd") + "▦"
  2107. //+ model.getValue(xPrcpListPath+"["+iRow+"]/careitemcd")+ "▦"
  2108. + "▦"
  2109. + model.getValue(xPrcpListPath+"["+iRow+"]/apnttmspec")+ "▦"
  2110. //+ model.getValue(xPrcpListPath+"["+iRow+"]/supcd") + "▩";
  2111. + model.getValue(xPrcpListPath+"["+iRow+"]/careitemcd")+ "▦"
  2112. + "P"+ "▦"
  2113. + "▦"
  2114. + "I"+ "▦"
  2115. + model.getValue(xPrcpListPath+"["+iRow+"]/prcpdd") + "▦"
  2116. + model.getValue(xPrcpListPath+"["+iRow+"]/prcpno") + "▦"
  2117. + model.getValue(xPrcpListPath+"["+iRow+"]/prcphistno")+ "▩";
  2118. setParameter("SPMNR05000_Param",sParamMsg);
  2119. setParameter("SPMNR05000_Return","");
  2120. modal("SPMNR05000");
  2121. var sReturnMsgItem = getParameter("SPMNR05000_ReturnItem");
  2122. var sAddItemCd = getArrayData(sReturnMsgItem,1,0);
  2123. if(sAddItemCd != ""){
  2124. var findrow = grd_patitemlist.findrow(sAddItemCd, 0, grd_patitemlist.colref("itemcd"));
  2125. if(findrow < 1){
  2126. fSendPatItemList("timelist");
  2127. setParameter("SPMNR05000_ReturnItem","");
  2128. }
  2129. }
  2130. var sReturnMsg = getParameter("SPMNR05000_Return");
  2131. if(sReturnMsg != ""){
  2132. status = getArrayData(sReturnMsg,1,0);
  2133. if(status == "i"){
  2134. grd_timeset.addRow(false);
  2135. iPatSetRow = grd_timeset.rows - grd_timeset.fixedrows;
  2136. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemnm",getArrayData(sReturnMsg,1,2));
  2137. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpnm",model.getValue(xPrcpListPath+"["+iRow+"]/prcpnm"));
  2138. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2139. if(getArrayData(sReturnMsg,1,1) != ""){
  2140. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,1));
  2141. }else{
  2142. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,4));
  2143. }
  2144. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpcd",model.getValue(xPrcpListPath+"["+iRow+"]/prcpcd"));
  2145. model.setValue(xTimeListPath+"["+iPatSetRow+"]/pid",sPid);
  2146. model.setValue(xTimeListPath+"["+iPatSetRow+"]/orddd",sOrdDD);
  2147. model.setValue(xTimeListPath+"["+iPatSetRow+"]/cretno",sCretNo);
  2148. model.setValue(xTimeListPath+"["+iPatSetRow+"]/fromdt",getCurrentDate()+getCurrentTime());
  2149. model.setValue(xTimeListPath+"["+iPatSetRow+"]/todt","99991231235959");
  2150. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supcd",getArrayData(sReturnMsg,1,4));
  2151. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supnm",getArrayData(sReturnMsg,1,5));
  2152. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apntflag",getArrayData(sReturnMsg,1,6));
  2153. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpdd",getArrayData(sReturnMsg,1,10));
  2154. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpno",getArrayData(sReturnMsg,1,11));
  2155. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcphistno",getArrayData(sReturnMsg,1,12));
  2156. }else{
  2157. sCareItemCD = getArrayData(sReturnMsg,1,1);
  2158. iPatSetRow = grd_timeset.findRow(sCareItemCD,0,4);
  2159. if(iPatSetRow > 0){
  2160. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2161. if(grd_timeset.rowStatus(iPatSetRow) == 0){
  2162. grd_timeset.rowStatus(iPatSetRow) = 2;
  2163. }
  2164. }
  2165. }
  2166. }
  2167. break;
  2168. case "time" :
  2169. var iCol = grd_timeset.col;
  2170. var iRow = grd_timeset.row;
  2171. var sParamMsg = "";
  2172. var status = "";
  2173. var sCareItemCD = "";
  2174. var sApntSeqno = "";
  2175. var iPatSetRow = 0;
  2176. var sRownum = "";
  2177. sParamMsg = "prcpnm▦prcpcd▦careitemcd▦apnttmspec▦supcd▦apntflag▦apntseqno▦status▦rownum▦prcpdd▦prcpno▦prcphistno▩";
  2178. sParamMsg += model.getValue(xTimeListPath+"["+iRow+"]/prcpnm") + "▦"
  2179. + model.getValue(xTimeListPath+"["+iRow+"]/prcpcd") + "▦"
  2180. + model.getValue(xTimeListPath+"["+iRow+"]/itemcd") + "▦"
  2181. + model.getValue(xTimeListPath+"["+iRow+"]/apnttmspec") + "▦"
  2182. + model.getValue(xTimeListPath+"["+iRow+"]/supcd") + "▦"
  2183. + model.getValue(xTimeListPath+"["+iRow+"]/apntflag") + "▦"
  2184. + model.getValue(xTimeListPath+"["+iRow+"]/apntseqno") + "▦"
  2185. + "U" + "▦"
  2186. + grd_timeset.row + "▦"
  2187. + model.getValue(xTimeListPath+"["+iRow+"]/prcpdd") + "▦"
  2188. + model.getValue(xTimeListPath+"["+iRow+"]/prcpno") + "▦"
  2189. + model.getValue(xTimeListPath+"["+iRow+"]/prcphistno") + "▩";
  2190. setParameter("SPMNR05000_Param",sParamMsg);
  2191. setParameter("SPMNR05000_Return","");
  2192. modal("SPMNR05000");
  2193. var sReturnMsgItem = getParameter("SPMNR05000_ReturnItem");
  2194. var sAddItemCd = getArrayData(sReturnMsgItem,1,0);
  2195. if(sAddItemCd != ""){
  2196. var findrow = grd_patitemlist.findrow(sAddItemCd, 0, grd_patitemlist.colref("itemcd"));
  2197. if(findrow < 1){
  2198. fSendPatItemList("timelist");
  2199. setParameter("SPMNR05000_ReturnItem","");
  2200. }
  2201. }
  2202. var sReturnMsg = getParameter("SPMNR05000_Return");
  2203. if(sReturnMsg != ""){
  2204. status = getArrayData(sReturnMsg,1,0);
  2205. if(status == "i"){
  2206. grd_timeset.addRow(false);
  2207. iPatSetRow = grd_timeset.rows - grd_timeset.fixedrows;
  2208. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemnm",getArrayData(sReturnMsg,1,2));
  2209. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpnm",getArrayData(sReturnMsg,1,7));
  2210. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2211. if(getArrayData(sReturnMsg,1,1) != ""){
  2212. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,1));
  2213. }else{
  2214. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,4));
  2215. }
  2216. model.setValue(xTimeListPath+"["+iPatSetRow+"]/pid",sPid);
  2217. model.setValue(xTimeListPath+"["+iPatSetRow+"]/orddd",sOrdDD);
  2218. model.setValue(xTimeListPath+"["+iPatSetRow+"]/cretno",sCretNo);
  2219. model.setValue(xTimeListPath+"["+iPatSetRow+"]/fromdt",getCurrentDate()+getCurrentTime());
  2220. model.setValue(xTimeListPath+"["+iPatSetRow+"]/todt","99991231235959");
  2221. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supcd",getArrayData(sReturnMsg,1,4));
  2222. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supnm",getArrayData(sReturnMsg,1,5));
  2223. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apntflag",getArrayData(sReturnMsg,1,6));
  2224. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpdd",getArrayData(sReturnMsg,1,10));
  2225. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpno",getArrayData(sReturnMsg,1,11));
  2226. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcphistno",getArrayData(sReturnMsg,1,12));
  2227. }else{
  2228. sApntSeqno = getArrayData(sReturnMsg,1,8);
  2229. sCareItemCD = getArrayData(sReturnMsg,1,1);
  2230. sRownum = getArrayData(sReturnMsg,1,9);
  2231. if(sApntSeqno != ""){
  2232. iPatSetRow = grd_timeset.findRow(sApntSeqno, 0, grd_timeset.colRef("apntseqno"));
  2233. }else{
  2234. iPatSetRow = sRownum;
  2235. }
  2236. if(iPatSetRow > 0){
  2237. if(getArrayData(sReturnMsg,1,1) != ""){
  2238. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,1));
  2239. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemnm",getArrayData(sReturnMsg,1,2));
  2240. }else{
  2241. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,4));
  2242. }
  2243. if(getArrayData(sReturnMsg,1,11) == ""){
  2244. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpnm",getArrayData(sReturnMsg,1,7));
  2245. model.setValue(xTimeListPath+"["+iPatSetRow+"]/bizspec",getArrayData(sReturnMsg,1,7));
  2246. }
  2247. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2248. if(grd_timeset.rowStatus(iPatSetRow) == 0){
  2249. grd_timeset.rowStatus(iPatSetRow) = 2;
  2250. }
  2251. }
  2252. }
  2253. }
  2254. break;
  2255. }
  2256. }
  2257. /**
  2258. * @group :
  2259. * @ver : 2008.06.09
  2260. * @by : 양천덕
  2261. * @---------------------------------------------------
  2262. * @type : function
  2263. * @access : public
  2264. * @desc : 직접 업무내역 시간지정 Popup 호출
  2265. * @param :
  2266. * @return :
  2267. * @---------------------------------------------------
  2268. */
  2269. function fDirecInsTimeSet(){
  2270. var sParamMsg = "";
  2271. var status = "";
  2272. var sCareItemCD = "";
  2273. var iPatSetRow = 0;
  2274. sParamMsg = "prcpnm▦prcpcd▦careitemcd▦apnttmspec▦supcd▦apntflag▦apntseqno▦status▩";
  2275. sParamMsg += "" + "▦"
  2276. + "" + "▦"
  2277. + "" + "▦"
  2278. + "" + "▦"
  2279. + "" + "▦"
  2280. + "B" + "▦"
  2281. + "" + "▦"
  2282. + "I" + "▩";
  2283. setParameter("SPMNR05000_Param",sParamMsg);
  2284. setParameter("SPMNR05000_Return","");
  2285. modal("SPMNR05000");
  2286. var sReturnMsgItem = getParameter("SPMNR05000_ReturnItem");
  2287. var sAddItemCd = getArrayData(sReturnMsgItem,1,0);
  2288. if(sAddItemCd != ""){
  2289. //환자별 세팅에 존재하는지 체크
  2290. var findrow = grd_patitemlist.findrow(sAddItemCd, 0, grd_patitemlist.colref("itemcd"));
  2291. if(findrow < 1){
  2292. fSendPatItemList("timelist");
  2293. setParameter("SPMNR05000_ReturnItem","");
  2294. }
  2295. }
  2296. var sReturnMsg = getParameter("SPMNR05000_Return");
  2297. if(sReturnMsg != ""){
  2298. status = getArrayData(sReturnMsg,1,0);
  2299. if(status == "i"){
  2300. grd_timeset.addRow(false);
  2301. iPatSetRow = grd_timeset.rows - grd_timeset.fixedrows;
  2302. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemnm",getArrayData(sReturnMsg,1,2));
  2303. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpnm",getArrayData(sReturnMsg,1,7));
  2304. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2305. if(getArrayData(sReturnMsg,1,1) != ""){
  2306. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,1));
  2307. }else{
  2308. model.setValue(xTimeListPath+"["+iPatSetRow+"]/itemcd",getArrayData(sReturnMsg,1,4));
  2309. }
  2310. model.setValue(xTimeListPath+"["+iPatSetRow+"]/prcpcd","-");
  2311. model.setValue(xTimeListPath+"["+iPatSetRow+"]/pid",sPid);
  2312. model.setValue(xTimeListPath+"["+iPatSetRow+"]/orddd",sOrdDD);
  2313. model.setValue(xTimeListPath+"["+iPatSetRow+"]/cretno",sCretNo);
  2314. model.setValue(xTimeListPath+"["+iPatSetRow+"]/fromdt",getCurrentDate()+getCurrentTime());
  2315. model.setValue(xTimeListPath+"["+iPatSetRow+"]/todt","99991231235959");
  2316. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supcd",getArrayData(sReturnMsg,1,4));
  2317. model.setValue(xTimeListPath+"["+iPatSetRow+"]/supnm",getArrayData(sReturnMsg,1,5));
  2318. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apntflag",getArrayData(sReturnMsg,1,6));
  2319. model.setValue(xTimeListPath+"["+iPatSetRow+"]/bizspec",getArrayData(sReturnMsg,1,7));
  2320. }else{
  2321. sCareItemCD = getArrayData(sReturnMsg,1,1);
  2322. iPatSetRow = grd_timeset.findRow(sCareItemCD,0,4);
  2323. if(iPatSetRow > 0){
  2324. model.setValue(xTimeListPath+"["+iPatSetRow+"]/apnttmspec",getArrayData(sReturnMsg,1,3));
  2325. if(grd_timeset.rowStatus(iPatSetRow) == 0){
  2326. grd_timeset.rowStatus(iPatSetRow) = 2;
  2327. }
  2328. }
  2329. }
  2330. }
  2331. }
  2332. /**
  2333. * @group :
  2334. * @ver : 2007.09.04
  2335. * @by : 최경용
  2336. * @---------------------------------------------------
  2337. * @type : function
  2338. * @access : public
  2339. * @desc : Item시간 저장
  2340. * @param :
  2341. * @return :
  2342. * @---------------------------------------------------
  2343. */
  2344. function fClickTimeSave(){
  2345. var sAutoInsYn = "N";
  2346. var status = false;
  2347. for(var i = 1; i < grd_timeset.rows; i++){
  2348. if(grd_timeset.rowStatus(i) > 0){
  2349. status = true;
  2350. }
  2351. }
  2352. if(status == true){
  2353. model.removenode("/root/send");
  2354. model.makeValue("/root/send/pid",sPid);
  2355. model.makeValue("/root/send/orddd",sOrdDD);
  2356. model.makeValue("/root/send/cretno",sCretNo);
  2357. model.makeValue("/root/send/timesetlist",grd_timeset.getUpdateData());
  2358. submit("TXMNR04103");
  2359. grd_timeset.rebuild();
  2360. for(var i =0 ; i < grd_patitemlist.rows ; i ++){
  2361. if(grd_patitemlist.rowStatus(i) > 0){
  2362. sAutoInsYn = "Y";
  2363. }
  2364. }
  2365. if(sAutoInsYn == "Y"){
  2366. fSavePatItem();
  2367. }
  2368. //messageBox("성공적으로","I001");
  2369. }else{
  2370. messageBox("저장할 내용이","I004");
  2371. }
  2372. }
  2373. /**
  2374. * @group :
  2375. * @ver : 2007.09.04
  2376. * @by : 최경용
  2377. * @---------------------------------------------------
  2378. * @type : function
  2379. * @access : public
  2380. * @desc : 시간 Setting 지시처방 삭제
  2381. * @param :
  2382. * @return :
  2383. * @---------------------------------------------------
  2384. */
  2385. function fDelClickTime(){
  2386. var iRow = grd_timeset.row;
  2387. if(iRow < 1) return;
  2388. if(grd_timeset.valueMatrix(iRow, grd_timeset.colRef("chk")) == "false"){
  2389. grd_timeset.rowStatus(iRow) = 4;
  2390. }
  2391. var sAnptseqno = grd_timeset.valueMatrix(iRow, grd_timeset.colRef("apntseqno"));
  2392. var status = grd_timeset.rowStatus(iRow);
  2393. if( status == 0 || status == 2){
  2394. grd_timeset.rowStatus(iRow) = 4;
  2395. }else if(status == 1 || status == 3){
  2396. grd_timeset.deleteRow(iRow);
  2397. }else if(status == 4){
  2398. //if(instance1.selectSingleNode(xTimeListPath+"["+iRow+"]").xml != instance1.selectSingleNode(xTempItemSetListPath+"[anptseqno ='"+sAnptseqno+"']").xml){
  2399. if(model.getValue(xTimeListPath+"["+iRow+"]/itemcd") != model.getValue(xTempItemSetListPath+"["+iRow+"]/itemcd") ||
  2400. model.getValue(xTimeListPath+"["+iRow+"]/apnttmspec") != model.getValue(xTempItemSetListPath+"["+iRow+"]/apnttmspec")){
  2401. grd_timeset.rowStatus(iRow) = 2;
  2402. }else{
  2403. grd_timeset.rowStatus(iRow) = 0;
  2404. }
  2405. }
  2406. }
  2407. /**
  2408. * @group :
  2409. * @ver : 2007.09.04
  2410. * @by : 최경용
  2411. * @---------------------------------------------------
  2412. * @type : function
  2413. * @access : public
  2414. * @desc : Item 적용 시간 적용하기
  2415. * @param :
  2416. * @return :
  2417. * @---------------------------------------------------
  2418. */
  2419. function fClickConfirm(){
  2420. var row = grd_prcpinfo.row;
  2421. var sApnttmspec = model.getValue(xDrOrderListPath + "[" + row + "]/apnttmspec");
  2422. var sItemcd = model.getValue(xDrOrderListPath + "[" + row + "]/itemcd");
  2423. var findYN = false;
  2424. for(var i = 1; i< grd_timeset.rows; i++){
  2425. if(sItemcd == model.getValue(xTimeListPath + "[" + i + "]/itemcd")){
  2426. model.setValue(xTimeListPath + "[" + i + "]/apnttmspec", sApnttmspec);
  2427. findYN = true;
  2428. }
  2429. }
  2430. model.refresh();
  2431. if(findYN == false){
  2432. messageBox("동일한 지시처방이","I004");
  2433. }
  2434. }
  2435. /**
  2436. * @group :
  2437. * @ver : 2007.09.04
  2438. * @by : 최경용
  2439. * @---------------------------------------------------
  2440. * @type : function
  2441. * @access : public
  2442. * @desc : 아이템별 선택요소 조회
  2443. * @param :
  2444. * @return :
  2445. * @---------------------------------------------------
  2446. */
  2447. function fGetAttrInfo(pFlag){
  2448. var itemcd = "";
  2449. var itemnm = "";
  2450. switch(pFlag){
  2451. case "patitem" :
  2452. if(grd_patitemlist.row < 1) return;
  2453. itemcd = model.getValue(xPatItemLIstPath + "[" + grd_patitemlist.row + "]/itemcd");
  2454. itemnm = model.getValue(xPatItemLIstPath + "[" + grd_patitemlist.row + "]/itemnm");
  2455. break;
  2456. case "cath" :
  2457. if(grd_catheter.row < 1) return;
  2458. itemcd = model.getValue(xPatCathListPath+"[" + grd_catheter.row + "]/itemcd");
  2459. itemnm = model.getValue(xPatCathListPath+"[" + grd_catheter.row + "]/itemnm");
  2460. break;
  2461. case "instru" :
  2462. if(grd_instru.row < 1) return;
  2463. itemcd = model.getValue(xPatCathListPath+"[" + grd_instru.row + "]/itemcd");
  2464. itemnm = model.getValue(xPatCathListPath+"[" + grd_instru.row + "]/itemnm");
  2465. break;
  2466. }
  2467. model.removenode("/root/send");
  2468. model.makeValue("/root/send/itemcd", itemcd);
  2469. if(submit("TRMNR04108")){
  2470. model.setValue("/root/main/cond/itemnm",itemnm);
  2471. model.refresh();
  2472. }
  2473. }
  2474. /**
  2475. * @group :
  2476. * @ver : 2007.09.04
  2477. * @by : 최경용
  2478. * @---------------------------------------------------
  2479. * @type : function
  2480. * @access : public
  2481. * @desc : 기본간호 등록 조회
  2482. * @param :
  2483. * @return :
  2484. * @---------------------------------------------------
  2485. */
  2486. function fGetNurseRecord(){
  2487. model.removenode("/root/send");
  2488. model.removeNodeSet("/root/temp/nursebasicinfo");
  2489. ipt_nursesrchtm.value = "2359";
  2490. model.makeValue("/root/send/pid", model.getValue(xPatInfoPath + "/pid"));
  2491. model.makeValue("/root/send/indd", model.getValue(xPatInfoPath + "/indd"));
  2492. model.makeValue("/root/send/cretno", model.getValue(xPatInfoPath + "/cretno"));
  2493. model.makeValue("/root/send/nursesrchdd", model.getValue("/root/main/cond/nursesrchdd"));
  2494. model.makeValue("/root/send/nursesrchtm", model.getValue("/root/main/cond/nursesrchtm"));
  2495. if(submit("TRMNR04109",false)){
  2496. model.removeNodeSet("/root/main/nurseinfo");
  2497. model.makeNode("/root/main/nurseinfo/nursebasicinfo");
  2498. model.refresh();
  2499. model.copyNode("/root/main/nurseinfo/nursebasicinfo", "/root/temp/nursebasicinfo");
  2500. grd_nursebasic.mergeCol(2) = true;
  2501. grd_nursebasic.mergeCol(0) = false;
  2502. grd_nursebasic.mergeCol(1) = false;
  2503. grd_nursebasic.mergeCol(3) = false;
  2504. grd_nursebasic.mergeCol(4) = false;
  2505. grd_nursebasic.mergeCol(5) = false;
  2506. grd_nursebasic.mergeCol(6) = false;
  2507. grd_nursebasic.mergeCol(7) = false;
  2508. grd_nursebasic.mergeCol(8) = false;
  2509. grd_nursebasic.mergeCol(9) = false;
  2510. grd_nursebasic.mergeCol(10) = false;
  2511. grd_nursebasic.mergeCol(11) = false;
  2512. grd_nursebasic.mergeCol(12) = false;
  2513. grd_nursebasic.mergeCol(13) = false;
  2514. grd_nursebasic.mergeCol(14) = false;
  2515. grd_nursebasic.mergeCol(15) = false;
  2516. grd_nursebasic.mergeCol(16) = false;
  2517. grd_nursebasic.mergeCol(17) = false;
  2518. grd_nursebasic.mergeCol(18) = false;
  2519. grd_nursebasic.mergeCol(19) = false;
  2520. grd_nursebasic.mergeCol(20) = false;
  2521. grd_nursebasic.mergeCol(21) = false;
  2522. grd_nursebasic.mergeCol(22) = false;
  2523. grd_nursebasic.mergeCol(23) = false;
  2524. grd_nursebasic.mergeCol(24) = false;
  2525. grd_nursebasic.mergeCol(25) = false;
  2526. grd_nursebasic.mergeCol(26) = false;
  2527. grd_nursebasic.mergeCol(27) = false;
  2528. grd_nursebasic.mergeCol(28) = false;
  2529. grd_nursebasic.mergeCol(29) = false;
  2530. grd_nursebasic.mergeCol(30) = false;
  2531. grd_nursebasic.mergeCol(31) = false;
  2532. grd_nursebasic.mergeCol(32) = false;
  2533. grd_nursebasic.mergeCol(33) = false;
  2534. grd_nursebasic.mergeCol(34) = false;
  2535. grd_nursebasic.mergeCol(35) = false;
  2536. grd_nursebasic.mergeCol(36) = false;
  2537. grd_nursebasic.mergeCol(37) = false;
  2538. grd_nursebasic.mergeCol(38) = false;
  2539. grd_nursebasic.mergeCol(39) = false;
  2540. grd_nursebasic.mergeCol(40) = false;
  2541. //fGridSetNurseBasic();
  2542. model.refresh();
  2543. fGridColorChange();
  2544. grd_nursebasic.toprow = sBasicNursCurrRow;
  2545. }
  2546. }
  2547. /**
  2548. * @group :
  2549. * @ver : 2007.09.27
  2550. * @by :
  2551. * @---------------------------------------------------
  2552. * @type : function
  2553. * @access : public
  2554. * @desc : 간호수행 기록 조회
  2555. * @param :
  2556. * @return :
  2557. * @---------------------------------------------------
  2558. */
  2559. function fGetCareExecInfo(){
  2560. if(radio2.value == "E"){
  2561. btn_reccncl.disabled = false;
  2562. }else{
  2563. btn_reccncl.disabled = true;
  2564. }
  2565. model.removenode("/root/send");
  2566. model.makeValue("/root/send/pid", sPid);
  2567. model.makeValue("/root/send/orddd", sOrdDD);
  2568. model.makeValue("/root/send/cretno", sCretNo);
  2569. model.makeValue("/root/send/recflag","E");
  2570. model.makeValue("/root/send/srchflag", model.getValue("/root/main/cond/careexeccond/srchflag"));
  2571. if(submit("TRMNR04110")){
  2572. fSettingCareExec();
  2573. }
  2574. }
  2575. /**
  2576. * @group :
  2577. * @ver : 2007.09.27
  2578. * @by :
  2579. * @---------------------------------------------------
  2580. * @type : function
  2581. * @access : public
  2582. * @desc : 간호수행 기록 Setting
  2583. * @param :
  2584. * @return :
  2585. * @---------------------------------------------------
  2586. */
  2587. function fSettingCareExec(){
  2588. var sCareExecRecCnt = 0;
  2589. var sNewItemCD = "";
  2590. var sNewItemSeqNo = 0;
  2591. var sItemCD = "";
  2592. var sItemSeqNO = 0;
  2593. var sExecDD = "";
  2594. var sEexecTM = "";
  2595. var sRsrvDD = "";
  2596. var sToDT = "";
  2597. var sAttrCD = "";
  2598. var sCarePrid = "0";
  2599. var sCarePridUnit = "";
  2600. var sCareRecRow = 0;
  2601. var sItemRow = 0;
  2602. var sTmpExecDD = "";
  2603. var sTmpExecTM = "";
  2604. var sTmpItemCD = "";
  2605. var sTmpItemSeqNo = "";
  2606. var sExecPrindUnint = "";
  2607. var sExtYn = "";
  2608. model.removenodeset(xTempCareExecRecPath);
  2609. //sCareExecRecCnt = getNodesetCount(xCareExecRecPath);
  2610. model.copyNode("/root/temp/careexecinfo", "/root/main/careexecinfo");
  2611. //grd_careexecreclist.rebuild();
  2612. for(var iRow = 1; iRow <= grd_careexecreclist.rows ; iRow++){
  2613. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("loc")) = false;
  2614. sAttrCD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("attrcd"));
  2615. sExecDD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("execdd"));
  2616. sRsrvDD = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("rsrvdt"));
  2617. sExecPrindUnint = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("execpridunit"));
  2618. sExtYn = grd_careexecreclist.valueMatrix(iRow, grd_careexecreclist.colRef("extyn"));
  2619. grd_careexecreclist.cellComboNodeset(iRow, grd_careexecreclist.colRef("elmtcd")) = xCareExecAttrPath+"[supcd ='"+sAttrCD+"']";
  2620. grd_careexecreclist.rowStatus(iRow) = 0;
  2621. //실행일자가 존재할 경우
  2622. if( !isNull(sExecDD) ){
  2623. if ( model.getValue(xCareExecRecPath+"[" + (iRow) + "]/lastrecyn") == "Y" ){
  2624. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn"), iRow, grd_careexecreclist.colRef("rsrvyn")) = false;
  2625. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = false;
  2626. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit"), iRow, grd_careexecreclist.colRef("execpridunit")) = false;
  2627. } else {
  2628. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn"), iRow, grd_careexecreclist.colRef("rsrvyn")) = true;
  2629. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = true;
  2630. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit"), iRow, grd_careexecreclist.colRef("execpridunit")) = true;
  2631. }
  2632. } else {
  2633. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("rsrvyn")) = false;
  2634. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid")) = false;
  2635. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execpridunit")) = false;
  2636. }
  2637. //예약주기 구분이 수시,Duty일 경우
  2638. if(sExecPrindUnint == "T" || sExecPrindUnint =="M"){
  2639. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("execprid"), iRow, grd_careexecreclist.colRef("execprid")) = true;
  2640. }
  2641. //기록ITEM이 확장가능 항목이 아닐 경우
  2642. if(sExtYn == "N"){
  2643. grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.colRef("loc"), iRow, grd_careexecreclist.colRef("loc")) = true;
  2644. }
  2645. // for(var iRow = 1; iRow <= sCareExecRecCnt; iRow++){
  2646. // sAttrCD = model.getValue(xCareExecRecPath+"["+iRow+"]/attrcd");
  2647. // sExecDD = model.getValue(xCareExecRecPath+"["+iRow+"]/execdd");
  2648. // grd_careexecreclist.cellComboNodeset(iRow, grd_careexecreclist.colRef("elmtcd")) = xCareExecAttrPath+"[supcd ='"+sAttrCD+"']";
  2649. // grd_careexecreclist.rowStatus(iRow) = 0;
  2650. //
  2651. // if(sExecDD != ""){
  2652. // grd_careexecreclist.isReadOnly(iRow, grd_careexecreclist.fixedCols, iRow, grd_careexecreclist.cols - 1) = true;
  2653. // }
  2654. /* 2008-07-23 삭제
  2655. sAttrCD = model.getValue(xTempCareExecRecPath+"["+iRow+"]/attrcd");
  2656. grd_careexecreclist.addRow(false);
  2657. sCareRecRow = grd_careexecreclist.rows - grd_careexecreclist.fixedrows;
  2658. model.copyNode(xCareExecRecPath+"["+sCareRecRow+"]",xTempCareExecRecPath+"["+iRow+"]");
  2659. grd_careexecreclist.cellComboNodeset(sCareRecRow,3) = xTempCareExecAttrPath+"[supcd ='"+sAttrCD+"']";
  2660. grd_careexecreclist.rowStatus(sCareRecRow) = 0;
  2661. */
  2662. // grd_careexecreclist.isReadOnly(sCareRecRow,6) = true;
  2663. // grd_careexecreclist.isReadOnly(sCareRecRow,7) = true;
  2664. }
  2665. model.refresh();
  2666. }
  2667. /**
  2668. * @group :
  2669. * @ver : 2007.09.04
  2670. * @by : 최경용
  2671. * @---------------------------------------------------
  2672. * @type : function
  2673. * @access : public
  2674. * @desc : 기본간호 등록 그리드 셋팅
  2675. * @param :
  2676. * @return :
  2677. * @---------------------------------------------------
  2678. */
  2679. function fGridSetNurseBasic(){
  2680. max_colcnt = 0;
  2681. col_cnt = new Array();
  2682. model.removeNodeSet(xNurseBasicInfoPath + "/nursebasicinfo");
  2683. model.removeNodeSet(xNurseBasicInfoPath + "/nursebasiclist");
  2684. model.duplicate(xNurseBasicInfoPath, xTempNurseInfoPath + "/nursebasicinfo");
  2685. var nodecnt = getNodesetCount(xTempNurseInfoPath + "/nursebasiclist");
  2686. var seqno = "";
  2687. var temp_title = "";
  2688. var pid = "";
  2689. var indd = "";
  2690. var cretno = "";
  2691. var supcd = "";
  2692. var supnm = "";
  2693. var itemcd = "";
  2694. var itemnm = "";
  2695. var periodtime = "";
  2696. var periodflag = "";
  2697. var itemspec = "";
  2698. instance_seq = 0;
  2699. for(var i = 1; i <= nodecnt; i++){
  2700. //처음일 경우 또는 아이템코드가 바뀐경우
  2701. if(i == 1 ||
  2702. (model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/itemcd") ||
  2703. model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/supcd")) ){
  2704. instance_seq++;
  2705. pid = model.getValue(xPatInfoPath + "/pid");
  2706. indd = model.getValue(xPatInfoPath + "/indd");
  2707. cretno = model.getValue(xPatInfoPath + "/cretno");
  2708. supcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd");
  2709. supnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supnm");
  2710. itemcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd");
  2711. itemnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemnm");
  2712. periodtime = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/periodtime");
  2713. periodflag = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/periodflag");
  2714. itemspec = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemspec");
  2715. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/act");
  2716. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/nact");
  2717. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/pid", pid);
  2718. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/indd", indd);
  2719. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/cretno", cretno);
  2720. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/supcd", supcd);
  2721. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/supnm", supnm);
  2722. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemcd", itemcd);
  2723. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemnm", itemnm);
  2724. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/periodtime", periodtime);
  2725. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/periodflag", periodflag);
  2726. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/itemspec", itemspec);
  2727. if(model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid") == ""){
  2728. col_cnt[instance_seq] = 0;
  2729. }else{
  2730. col_cnt[instance_seq] = 1;
  2731. }
  2732. }else{
  2733. col_cnt[instance_seq]++;
  2734. }
  2735. if(max_colcnt < col_cnt[instance_seq]){
  2736. max_colcnt = col_cnt[instance_seq];
  2737. }
  2738. }
  2739. var cols = grd_nursebasic.cols;
  2740. /* 컬럼 초기화 */
  2741. for(var removeCol = grd_ColCnt; removeCol < cols; removeCol++){
  2742. grd_nursebasic.removeColumn("false");
  2743. }
  2744. /* Add 컬럼 */
  2745. for(var j = 1; j <= max_colcnt; j++){
  2746. fAddGridColumn(j);
  2747. }
  2748. /* 인스턴스 매핑 */
  2749. var actingyn = "";
  2750. var recdd = "";
  2751. var rectm = "";
  2752. var recnm = "";
  2753. var recid = "";
  2754. var remark = "";
  2755. var actremarkcd = "";
  2756. instance_seq = 0;
  2757. col_cnt = new Array();
  2758. for(var i = 1; i <= nodecnt; i++){
  2759. //처음일 경우 또는 아이템코드가 바뀐경우
  2760. if(i == 1 ||
  2761. (model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/itemcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/itemcd") ||
  2762. model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/supcd") != model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + (i-1) + "]/supcd")) ){
  2763. instance_seq++;
  2764. col_cnt[instance_seq] = 1;
  2765. if(model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid") == ""){
  2766. col_cnt[instance_seq] = 0;
  2767. }else{
  2768. col_cnt[instance_seq] = 1;
  2769. }
  2770. }else{
  2771. col_cnt[instance_seq]++;
  2772. }
  2773. if(col_cnt[instance_seq] > 0){
  2774. actingyn = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/actingyn");
  2775. recdd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recdd");
  2776. rectm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/rectm");
  2777. recnm = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recnm");
  2778. recid = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/recid");
  2779. remark = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/remark");
  2780. actremarkcd = model.getValue(xTempNurseInfoPath + "/nursebasiclist[" + i + "]/actremarkcd");
  2781. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/iudflag" + col_cnt[instance_seq], "-");
  2782. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/actingyn" + col_cnt[instance_seq], actingyn);
  2783. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recdd" + col_cnt[instance_seq], recdd);
  2784. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/rectm" + col_cnt[instance_seq], rectm);
  2785. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recnm" + col_cnt[instance_seq], recnm);
  2786. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/recid" + col_cnt[instance_seq], recid);
  2787. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/remark" + col_cnt[instance_seq], remark);
  2788. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + instance_seq + "]/actremarkcd" + col_cnt[instance_seq], actremarkcd);
  2789. }
  2790. }
  2791. /* 그리드 타이틀명 변경*/
  2792. fGridTitleChange();
  2793. fMergeGrid();
  2794. grd_nursebasic.rebuild();
  2795. model.refresh();
  2796. }
  2797. /**
  2798. * @group :
  2799. * @ver : 2007.09.04
  2800. * @by : 최경용
  2801. * @---------------------------------------------------
  2802. * @type : function
  2803. * @access : public
  2804. * @desc : 중증도와 욕창위험사정점수에 따른 그리드와 아이템 컬러변경
  2805. * 중증도는 3점 이상인경우, 욕창은 고위험군인경우 변경됨
  2806. *
  2807. * @param :
  2808. * @return :
  2809. * @---------------------------------------------------
  2810. */
  2811. function fGridColorChange(){
  2812. var timsval01 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval01");
  2813. var timsval02 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval02");
  2814. var timsval03 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/timsval03");
  2815. var toppntnm = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/toppntnm");
  2816. var inicudate = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/inicudate");
  2817. var ventilatoryn = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/ventilatoryn");
  2818. var toppnt = model.getvalue(xNurseBasicInfoPath + "/nursebasicinfo/toppnt");
  2819. var toppnt8 = model.getvalue(xNurseBasicInfoPath + "/nursebasicinfo/toppnt8"); // 추가개발 사항 _ 11.05.30_ 손성훈
  2820. var toppntnm8 = model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/toppntnm8"); // 추가개발 사항 _ 11.05.30_ 손성훈
  2821. instance_seq = grd_nursebasic.rows - grd_nursebasic.fixedRows;
  2822. for(var i = 1; i <= getNodesetCount(xNurseBasicInfoPath + "/nursebasiclist"); i++){
  2823. // if ( isNull(inicudate) || inicudate == "00000000" ){
  2824. if((timsval01 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "01") ||
  2825. (timsval02 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "02") ||
  2826. // (timsval03 >= 3 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "03")) // 추가개발을 위해 삭제.
  2827. (toppnt <= 18 && toppnt >=1 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "03") || // 추가개발 사항 _ 11.05.09_ 손성훈
  2828. (toppnt8 >= 51 && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "06")|| // 추가개발 사항 _ 11.05.30_ 손성훈
  2829. model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "07" // 2013.04.29 정맥염예방간호 무조건 노랗게
  2830. ){
  2831. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  2832. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  2833. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  2834. //grd_nursebasic.cellStyle("background-color", i, 5) = "#FFFF00";
  2835. } else {
  2836. grd_nursebasic.cellStyle("background-color", i, 2) = "#f2f2f2";
  2837. grd_nursebasic.cellStyle("background-color", i, 3) = "#f2f2f2";
  2838. grd_nursebasic.cellStyle("background-color", i, 4) = "#f2f2f2";
  2839. //grd_nursebasic.cellStyle("background-color", i, 5) = "#f2f2f2";
  2840. }
  2841. // }
  2842. if(inicudate != "00000000" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "01" ) {
  2843. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  2844. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  2845. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  2846. }
  2847. if(ventilatoryn == "Y" && model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd") == "05" ) {
  2848. grd_nursebasic.cellStyle("background-color", i, 2) = "#FFFF00";
  2849. grd_nursebasic.cellStyle("background-color", i, 3) = "#FFFF00";
  2850. grd_nursebasic.cellStyle("background-color", i, 4) = "#FFFF00";
  2851. }
  2852. }
  2853. if(timsval01 >= 3){
  2854. opt_timsval01.attribute("background-color") = "#FFFF00";
  2855. } else {
  2856. opt_timsval01.attribute("background-color") = "#f2f2f2";
  2857. }
  2858. opt_timsval01.refresh();
  2859. if(timsval02 >= 3){
  2860. opt_timsval02.attribute("background-color") = "#FFFF00";
  2861. } else {
  2862. opt_timsval02.attribute("background-color") = "#f2f2f2";
  2863. }
  2864. opt_timsval02.refresh();
  2865. /** // 추가개발을 위해 삭제.11.05.09_ 손성훈
  2866. if(timsval03 >= 3){
  2867. opt_timsval03.attribute("background-color") = "#FFFF00";
  2868. } else {
  2869. opt_timsval03.attribute("background-color") = "#f2f2f2";
  2870. }
  2871. opt_timsval03.refresh();
  2872. **/
  2873. //if(toppntnm == "고위험군"){ // 추가개발을 위해 삭제. 11.05.09_ 손성훈
  2874. if(toppnt <= 18 && toppnt >=1 ){ // 추가개발 사항 _ 11.05.09_ 손성훈
  2875. opt_toppnt.attribute("background-color") = "#FFFF00";
  2876. opt_toppntnm.attribute("background-color") = "#FFFF00";
  2877. } else {
  2878. opt_toppnt.attribute("background-color") = "#f2f2f2";
  2879. opt_toppntnm.attribute("background-color") = "#f2f2f2";
  2880. }
  2881. opt_toppnt.refresh();
  2882. opt_toppntnm.refresh();
  2883. if(toppnt8 >= 51){ // 추가개발 사항 _ 11.05.30_ 손성훈
  2884. opt_toppnt8.attribute("background-color") = "#FFFF00";
  2885. opt_toppntnm8.attribute("background-color") = "#FFFF00";
  2886. } else {
  2887. opt_toppnt8.attribute("background-color") = "#f2f2f2";
  2888. opt_toppntnm8.attribute("background-color") = "#f2f2f2";
  2889. }
  2890. opt_toppnt8.refresh();
  2891. opt_toppntnm8.refresh();
  2892. if(inicudate != "00000000"){
  2893. if ( model.getValue(xNurseBasicInfoPath + "/nursebasicinfo/execdt4") >= inicudate ){
  2894. grp_icusfdr.visible = true;
  2895. }else {
  2896. grp_icusfdr.visible = true;
  2897. opt_execdt4.value = "";
  2898. opt_exectm4.value = "";
  2899. opt_icutoppnt.value = "";
  2900. opt_icutoppntnm.value = "";
  2901. }
  2902. model.makeValue(xNurseBasicInfoPath + "/nursebasicinfo/inicuyn","Y");
  2903. opt_inicuyn.attribute("background-color") = "#FFFF00";
  2904. }else{
  2905. grp_icusfdr.visible = false;
  2906. model.makeValue(xNurseBasicInfoPath + "/nursebasicinfo/inicuyn","N");
  2907. opt_inicuyn.attribute("background-color") = "#f2f2f2";
  2908. }
  2909. opt_inicuyn.refresh();
  2910. grp_icusfdr.refresh();
  2911. if(ventilatoryn == "Y"){
  2912. opt_ventilatoryn.attribute("background-color") = "#FFFF00";
  2913. }else{
  2914. opt_ventilatoryn.attribute("background-color") = "#f2f2f2";
  2915. }
  2916. opt_ventilatoryn.refresh();
  2917. model.refresh();
  2918. }
  2919. /**
  2920. * @group :
  2921. * @ver : 2007.09.04
  2922. * @by : 최경용
  2923. * @---------------------------------------------------
  2924. * @type : function
  2925. * @access : public
  2926. * @desc : 기본간호 등록 그리드 추가(수행일자/수행시간/수행여부/수행자)
  2927. * @param :
  2928. * @return :
  2929. * @---------------------------------------------------
  2930. */
  2931. function fAddGridColumn(j){
  2932. grd_nursebasic.addColumn("ref:recdd" + j + "; type:inputdate;", false);
  2933. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 85;
  2934. grd_nursebasic.addColumn("ref:rectm" + j + "; type:input; format:hh:nn; maxlength:4;", false);
  2935. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 40;
  2936. grd_nursebasic.addColumn("ref:remark" + j + "; type:output;", false);
  2937. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 80;
  2938. grd_nursebasic.addColumn("ref:recnm" + j + "; type:output;", false);
  2939. grd_nursebasic.colWidth(grd_nursebasic.cols - 1) = 60;
  2940. for(var i = 1; i <= instance_seq; i++){
  2941. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag" + j);
  2942. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/seqno" + j);
  2943. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn" + j);
  2944. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarkcd" + j);
  2945. model.makeNode(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recid" + j);
  2946. }
  2947. }
  2948. /**
  2949. * @group :
  2950. * @ver : 2007.09.10
  2951. * @by : 최경용
  2952. * @---------------------------------------------------
  2953. * @type : function
  2954. * @access : public
  2955. * @desc : 그리드 타이틀 변경
  2956. * @param :
  2957. * @return :
  2958. * @---------------------------------------------------
  2959. */
  2960. function fGridTitleChange(){
  2961. for(var k = 0; k < max_colcnt; k++){
  2962. for(var l = 0; l < 4; l++){
  2963. grd_title += "^시행내역";
  2964. }
  2965. }
  2966. grd_nursebasic.caption = grd_title;
  2967. }
  2968. /**
  2969. * @group :
  2970. * @ver : 2007.09.10
  2971. * @by : 최경용
  2972. * @---------------------------------------------------
  2973. * @type : function
  2974. * @access : public
  2975. * @desc : 그리드 머지
  2976. * @param :
  2977. * @return :
  2978. * @---------------------------------------------------
  2979. */
  2980. function fMergeGrid(){
  2981. //grd_nursebasic.mergeCellsFixedRows = "byrow";//그리드 타이틀 부분 머지
  2982. /*구분명 머지*/
  2983. grd_nursebasic.mergecells = "bycol";
  2984. for(var i = 0; i < grd_nursebasic.cols; i++){
  2985. if(i == 2){
  2986. grd_nursebasic.mergecol(i) = true;
  2987. }else{
  2988. grd_nursebasic.mergecol(i) = false;
  2989. }
  2990. }
  2991. }
  2992. /**
  2993. * @group :
  2994. * @ver : 2007.09.10
  2995. * @by : 최경용
  2996. * @---------------------------------------------------
  2997. * @type : function
  2998. * @access : public
  2999. * @desc : 기본간호등록 수행 체크시
  3000. * @param :
  3001. * @return :
  3002. * @---------------------------------------------------
  3003. */
  3004. function fActNurseInfo(){
  3005. var nact = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact");
  3006. var act = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act");
  3007. sBasicNursCurrRow = grd_nursebasic.row;
  3008. var recdd;
  3009. var rectm;
  3010. recdd = model.getValue(ipt_recdd.attribute("ref"));
  3011. rectm = model.getValue(ipt_rectm.attribute("ref"));
  3012. //if ( act == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  3013. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" ,"");
  3014. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn","");
  3015. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd","");
  3016. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm","");
  3017. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" ,"");
  3018. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid","");
  3019. // model.refresh();
  3020. //} else {
  3021. //
  3022. // setParameter("SPMNR05100_actionyn", "Y");
  3023. // modal("SPMNR05100", "", "", "326", "SPMNR05100", "", "");
  3024. // setParameter("SPMNR05100_actionyn", "");
  3025. //
  3026. // var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  3027. // var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  3028. // setParameter("SPMNR03400_RtnParam", "");
  3029. // setParameter("SPMNR03400_RtnParamYN", "");
  3030. //
  3031. // if(sReturnYN == "Y"){
  3032. // //인스턴스 매핑
  3033. //
  3034. // if ( (nact == "Y") && (act == "Y")){// 미수행이 체크가 되어 있을경우에 수행체크선택하면 수행체크만 남긴다.
  3035. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact" , "N");
  3036. // }
  3037. //
  3038. // sRecDD[0] = getArrayData(sReturnMsg,1,1);
  3039. //
  3040. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" , "I");
  3041. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn" , "Y");
  3042. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd", sRecDD[0]);
  3043. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm", getArrayData(sReturnMsg,1,2));
  3044. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" , getUserName());
  3045. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid" , getUserId());
  3046. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act", "Y");
  3047. //
  3048. // ipt_nursesrchdd.value = getCurrentDate();
  3049. // ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  3050. // //팝업 종료시 인증저장 처리
  3051. // fSaveNurseBasic();
  3052. //
  3053. // } else {
  3054. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act", "N");
  3055. // }
  3056. // //model.refresh();
  3057. //}
  3058. if ( act == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  3059. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" ,"");
  3060. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn","");
  3061. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd","");
  3062. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm","");
  3063. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" ,"");
  3064. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid","");
  3065. model.refresh();
  3066. } else {
  3067. if ( (nact == "Y") && (act == "Y")){// 미수행이 체크가 되어 있을경우에 수행체크선택하면 수행체크만 남긴다.
  3068. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact" , "N");
  3069. }
  3070. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" , "I");
  3071. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn" , "Y");
  3072. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd" , recdd);
  3073. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm" , rectm);
  3074. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" , getUserName());
  3075. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid" , getUserId());
  3076. model.setValue (xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act" , "Y");
  3077. ipt_nursesrchdd.value = getCurrentDate();
  3078. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  3079. //팝업 종료시 인증저장 처리
  3080. //fSaveNurseBasic();
  3081. //model.refresh();
  3082. }
  3083. }
  3084. /**
  3085. * @group :
  3086. * @ver : 2007.09.10
  3087. * @by : 최경용
  3088. * @---------------------------------------------------
  3089. * @type : function
  3090. * @access : public
  3091. * @desc : 기본간호등록 미해당 체크시
  3092. * @param :
  3093. * @return :
  3094. * @---------------------------------------------------
  3095. */
  3096. function fNactNurseInfo(){
  3097. var nact = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact");
  3098. var act = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act");
  3099. var msupcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/msupcd");
  3100. var mitemcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/mitemcd");
  3101. sBasicNursCurrRow = grd_nursebasic.row;
  3102. var sNactParma = "";
  3103. var recdd;
  3104. var rectm;
  3105. recdd = model.getValue(ipt_recdd.attribute("ref"));
  3106. rectm = model.getValue(ipt_rectm.attribute("ref"));
  3107. //if ( nact == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  3108. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag","" );
  3109. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn","");
  3110. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd","");
  3111. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm","");
  3112. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" ,"");
  3113. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid","");
  3114. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd","");
  3115. // model.refresh();
  3116. //} else {
  3117. // sNactParma = "N" + "▦" + msupcd + "▦" + mitemcd + "▦"+ "▦";
  3118. // setParameter("SPMNR05100_actionyn", sNactParma);
  3119. // modal("SPMNR05100", "", "", "326", "SPMNR05100", "", "");
  3120. // setParameter("SPMNR05100_actionyn", "");
  3121. //
  3122. // var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  3123. // var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  3124. //
  3125. // setParameter("SPMNR03400_RtnParam", "");
  3126. // setParameter("SPMNR03400_RtnParamYN", "");
  3127. //
  3128. // if(sReturnYN == "Y"){
  3129. //// if(col_cnt[grd_nursebasic.row] >= max_colcnt){
  3130. //// max_colcnt++;
  3131. //// fAddGridColumn(max_colcnt);//사용안함 20080514 김홍점
  3132. //// }
  3133. //// col_cnt[grd_nursebasic.row]++;
  3134. //
  3135. // // 수행이 체크가 되어 있을경우에 미수행체크선택하면 미수행체크만 남긴다.
  3136. // if ( (nact == "Y") && (act == "Y")){
  3137. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act" , "N");
  3138. // grd_nursebasic.refresh();
  3139. // }
  3140. //
  3141. // sRecDD[0] =getArrayData(sReturnMsg,1,1);
  3142. // //인스턴스 매핑
  3143. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" , "I");
  3144. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn", "N");
  3145. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd", sRecDD[0]);
  3146. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm", getArrayData(sReturnMsg,1,2));
  3147. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm", getUserName());
  3148. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid", getUserId());
  3149. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd", getArrayData(sReturnMsg,1,3));
  3150. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarknm", getArrayData(sReturnMsg,1,4));
  3151. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/etcactremark", getArrayData(sReturnMsg,1,5));
  3152. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "Y");
  3153. //
  3154. //// fMergeGrid();//사용안함 20080514 김홍점
  3155. //// fGridTitleChange();//사용안함 20080514 김홍점
  3156. // ipt_nursesrchdd.value = getCurrentDate();
  3157. // ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  3158. //
  3159. // //팝업 종료시 인증저장 처리
  3160. // fSaveNurseBasic();
  3161. // } else {
  3162. // model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "N");
  3163. //
  3164. // }
  3165. // //model.refresh();
  3166. //}
  3167. if ( nact == "N" ){//수행 uncheck선택시 화면을 띄우지 않고 클리어 시킨다.
  3168. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag","" );
  3169. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn","");
  3170. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd","");
  3171. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm","");
  3172. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm" ,"");
  3173. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid","");
  3174. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd","");
  3175. model.refresh();
  3176. } else {
  3177. sNactParma = "N" + "▦" + msupcd + "▦" + mitemcd + "▦"+ "▦";
  3178. //정맥염 예방간호 - IV route 관찰일 경우 바로 '불필요' 저장되도록 함
  3179. if (msupcd == "07" && mitemcd == "01") {
  3180. var sReturnMsg = "actingyn▦recdd▦rectm▦basetypecd▦typenm▦etcactremark▩";
  3181. actingyn = "N"
  3182. sReturnMsg += actingyn + "▦"
  3183. + recdd + "▦"
  3184. + rectm + "▦"
  3185. + "06▦"
  3186. + "불필요▦"
  3187. + "▩";
  3188. var sReturnYN = "Y";
  3189. } else {
  3190. setParameter("SPMNR05100_actionyn", sNactParma);
  3191. setParameter("SPMNR05100_popyn" , "N");
  3192. modal("SPMNR05100", "", "", "326", "SPMNR05100", "", "");
  3193. setParameter("SPMNR05100_actionyn", "");
  3194. setParameter("SPMNR05100_popyn" , "");
  3195. var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  3196. var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  3197. setParameter("SPMNR03400_RtnParam", "");
  3198. setParameter("SPMNR03400_RtnParamYN", "");
  3199. }
  3200. if(sReturnYN == "Y"){
  3201. if ( (nact == "Y") && (act == "Y")){
  3202. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/act" , "N");
  3203. grd_nursebasic.refresh();
  3204. }
  3205. sRecDD[0] =getArrayData(sReturnMsg,1,1);
  3206. //인스턴스 매핑
  3207. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/iudflag" , "I");
  3208. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn", "N");
  3209. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd", recdd);
  3210. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm", rectm);
  3211. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm", getUserName());
  3212. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid", getUserId());
  3213. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd", getArrayData(sReturnMsg,1,3));
  3214. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarknm", getArrayData(sReturnMsg,1,4));
  3215. model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/etcactremark", getArrayData(sReturnMsg,1,5));
  3216. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "Y");
  3217. // fMergeGrid();//사용안함 20080514 김홍점
  3218. // fGridTitleChange();//사용안함 20080514 김홍점
  3219. ipt_nursesrchdd.value = getCurrentDate();
  3220. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  3221. //팝업 종료시 인증저장 처리
  3222. //fSaveNurseBasic();
  3223. } else {
  3224. model.setValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/nact", "N");
  3225. }
  3226. }
  3227. }
  3228. /**
  3229. * @group :
  3230. * @ver : 2007.06.15
  3231. * @by : 김홍점
  3232. * @---------------------------------------------------
  3233. * @type : function
  3234. * @access : public
  3235. * @desc : 인증로직
  3236. * @param :
  3237. * @return :
  3238. * @---------------------------------------------------
  3239. */
  3240. function fSign(pRow){
  3241. var sRow = 1;
  3242. if(pRow != ""){
  3243. sRow = pRow;
  3244. }
  3245. //Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
  3246. if ( sSaveDataFlag == "2"){//기본간호등록
  3247. if(Sign.signprocess() == true){
  3248. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  3249. //전자인증 관련 환자 인적 정보를 보내줌.
  3250. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid" , sPid );//등록번호
  3251. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd" , sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  3252. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno" , "");//서명번호
  3253. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno" , sCretNo); //생성번호
  3254. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd" , getCurrentDate());// 실제 기록이 이루어진 기록일자
  3255. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm" , getCurrentTime());//실제 기록이 이루어진 기록시간
  3256. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag" , "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  3257. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag" , "02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  3258. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag" , model.getValue("/root/main/paminfo/pamlist/ioflag")); //외래/입원구분(코드정의서 M0010 참조)
  3259. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd" , "0000002465" ); //각 기록지별 서식코드0000002465 기본간호등록
  3260. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd" , model.getValue("/root/main/paminfo/pamlist/orddeptcd")); //진료부서코드
  3261. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid" , model.getValue("/root/main/paminfo/pamlist/medispclid")); //진료의사ID
  3262. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn" , "N");
  3263. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum" , sRow);
  3264. // 인증할 데이터 정보(미기록 노드 제거된 정보)
  3265. // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  3266. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts" , Sign.signedInfos[1]);
  3267. // 공인인증 처리후 데이터
  3268. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  3269. }else{
  3270. return false;
  3271. }
  3272. model.makeValue("/root/send/signdata/screenid", getScreenID());
  3273. }
  3274. return true;
  3275. }
  3276. /**
  3277. * @group :
  3278. * @ver : 2007.09.10
  3279. * @by : 최경용
  3280. * @---------------------------------------------------
  3281. * @type : function
  3282. * @access : public
  3283. * @desc : 기본간호등록 저장()
  3284. * @param :
  3285. * @return :
  3286. * @---------------------------------------------------
  3287. */
  3288. function fSaveNurseBasic(){
  3289. model.removenode("/root/send");
  3290. model.makeNode("/root/send");
  3291. //xNurseBasicSignPath2
  3292. model.removenode(xNurseBasicSignPath);
  3293. model.makeNode(xNurseBasicSignPath);
  3294. sSaveDataFlag = "2";
  3295. var retrecdd = "";
  3296. var retrectm = "";
  3297. var sendcnt = 0;
  3298. var msg = messageBox('기본간호기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  3299. if(Number(msg) != 6){//예
  3300. fGetNurseRecord();
  3301. return;
  3302. }
  3303. model.removenode("/root/hidden/nursebasicinfo");
  3304. model.makeNode("/root/hidden/nursebasicinfo");
  3305. for(var i = 1; i <= grd_nursebasic.rows; i++){
  3306. if(model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag") == "I" ){
  3307. retrecdd = model.getValue(ipt_recdd.attribute("ref"));
  3308. retrectm = model.getValue(ipt_rectm.attribute("ref"));
  3309. sendcnt++;
  3310. model.makeNode("/root/send/nursebasiclist[" + sendcnt + "]");
  3311. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/pid", model.getValue(xPatInfoPath + "/pid"));
  3312. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/indd", model.getValue(xPatInfoPath + "/indd"));
  3313. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/cretno", model.getValue(xPatInfoPath + "/cretno"));
  3314. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/supcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/msupcd"));
  3315. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/itemcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/mitemcd"));
  3316. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/iudflag", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag"));
  3317. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/seqno", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/seqno"));
  3318. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actingyn", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn"));
  3319. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actremarkcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarkcd"));
  3320. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recdd", retrecdd);
  3321. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/rectm", retrectm);
  3322. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recid", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recid"));
  3323. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/etcactremark", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/etcactremark"));
  3324. model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/signrownum", sendcnt);
  3325. model.makeNode(xNurseBasicSignPath + "[" + sendcnt + "]");
  3326. //model.makeValue(xNurseBasicSignPath+"/signrownum", sendcnt);
  3327. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/status", "I");
  3328. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/supnm", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/supnm"));
  3329. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/itemnm", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/itemnm"));
  3330. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/periodtime", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/periodtime"));
  3331. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/recdt",
  3332. retrecdd.substring(4,6) + "-" + retrecdd.substring(6) + " " +
  3333. retrectm.substring(0,2) + ":" + retrectm.substring(2,4) );
  3334. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/recnm", getUserName());
  3335. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]" +"/actingcon",
  3336. ( model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn") == "Y"
  3337. ? "수행"
  3338. : "미해당-" + model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarknm") ));
  3339. model.makeValue(xNurseBasicSignPath + "[" + sendcnt + "]"+"/etcatcremark", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/etcactremark"));
  3340. }
  3341. }
  3342. if (!fSign(sendcnt)){
  3343. fGetNurseRecord();
  3344. return;
  3345. }
  3346. // 응급실 - 현재 저장 환자id get (2011.03.08 Ahn)
  3347. if(eERFLAG == "Y"){
  3348. fgetSelectPid(cmb_erpat);
  3349. }else{
  3350. // 간호수행기록 다음내환자 사용 안함 _ 주석처리(2011.03.14 Ahn)
  3351. //-------(20110228) 경북대
  3352. //alert("0");
  3353. //fgetSelectPid(cmb_pid);
  3354. //alert("1");
  3355. //-------(20110228) 경북대
  3356. }
  3357. if(sendcnt > 0){
  3358. //인증저장
  3359. if(submit("TXMNR04104",false)){
  3360. fMakeViewData("B");
  3361. //model.removeNodeSet("/root/main/nurseinfo");
  3362. //model.makeNode("/root/main/nurseinfo/nursebasicinfo");
  3363. //model.refresh();
  3364. //
  3365. //model.copyNode("/root/main/nurseinfo/nursebasicinfo", "/root/temp/nursebasicinfo");
  3366. //
  3367. //grd_nursebasic.mergeCol(2) = true;
  3368. //grd_nursebasic.mergeCol(0) = false;
  3369. //grd_nursebasic.mergeCol(1) = false;
  3370. //grd_nursebasic.mergeCol(3) = false;
  3371. //grd_nursebasic.mergeCol(4) = false;
  3372. //grd_nursebasic.mergeCol(5) = false;
  3373. //grd_nursebasic.mergeCol(6) = false;
  3374. //grd_nursebasic.mergeCol(7) = false;
  3375. //grd_nursebasic.mergeCol(8) = false;
  3376. //grd_nursebasic.mergeCol(9) = false;
  3377. //grd_nursebasic.mergeCol(10) = false;
  3378. //grd_nursebasic.mergeCol(11) = false;
  3379. //grd_nursebasic.mergeCol(12) = false;
  3380. //grd_nursebasic.mergeCol(13) = false;
  3381. //grd_nursebasic.mergeCol(14) = false;
  3382. //grd_nursebasic.mergeCol(15) = false;
  3383. //grd_nursebasic.mergeCol(16) = false;
  3384. //grd_nursebasic.mergeCol(17) = false;
  3385. //grd_nursebasic.mergeCol(18) = false;
  3386. //grd_nursebasic.mergeCol(19) = false;
  3387. //grd_nursebasic.mergeCol(20) = false;
  3388. //grd_nursebasic.mergeCol(21) = false;
  3389. //grd_nursebasic.mergeCol(22) = false;
  3390. //grd_nursebasic.mergeCol(23) = false;
  3391. //grd_nursebasic.mergeCol(24) = false;
  3392. //grd_nursebasic.mergeCol(25) = false;
  3393. ////fGridSetNurseBasic();
  3394. //model.refresh();
  3395. //
  3396. //fGridColorChange();
  3397. // 응급실 여부에 따라 다음 내환자 동작 제어 (2011.03.08 Ahn)
  3398. if(eERFLAG == "Y"){
  3399. // 간호수행기록은 다음 환자로 세팅 안하기로 함.
  3400. fGetCareComPatList(cmb_wardcd.value, cmb_roomcd.value, cmb_zone.value, eRECFLAG);
  3401. fReSelectPat(cmb_erpat);
  3402. cmb_erpat.refresh();
  3403. }else{
  3404. //-------(20110228) 경북대
  3405. //alert("3");
  3406. //내환자 재조회-간호수행기록
  3407. fGetSettingPatientList_type3(); //--테스트완료 , XRW를 변경하면됨
  3408. //alert("4");
  3409. //var posi = fgetSelectPidNext();
  3410. //alert("5/"+ posi);
  3411. //fsetSelectPidNext(cmb_mypat,posi);
  3412. //fReSelectPat(cmb_pid);
  3413. //-------(20110228) 경북대
  3414. // 간호수행기록 다음내환자 기능 사용 안함 _ 주석처리(2011.03.14 Ahn)
  3415. cmb_pid.dispatch("xforms-value-changed"); // 해당환자 기록 재조회
  3416. cmb_pid.refresh();
  3417. //cmb_mypat.refresh();
  3418. }
  3419. }else{
  3420. fGetNurseRecord();
  3421. }
  3422. }else{
  3423. messageBox("저장할 내용이","I004");
  3424. //------(20110228)
  3425. //추가
  3426. fGetNurseRecord();
  3427. //------(20110228)
  3428. }
  3429. //------(20110228)
  3430. //원본막음
  3431. // fGetNurseRecord();
  3432. //------(20110228)
  3433. }
  3434. /* -----(20110228) 경북대 ------------------------ */
  3435. // 현재 위치 인지하기
  3436. function fgetSelectPid(sobj){
  3437. //현재위치찾기
  3438. //alert("sobj.value:" + sobj.value);
  3439. if (sobj.value != "") {
  3440. gcurrentpid = sobj.value;
  3441. } else {
  3442. gcurrentpid = "";
  3443. }
  3444. //alert("gcurrentpid:" + gcurrentpid);
  3445. }
  3446. // 이전 저장위치이전 다음으로 조회시키기
  3447. function fgetSelectPidNext(){
  3448. //var sPath = "/root/temp/mypatsettinginfo/settingpatient/settingpatientlist"
  3449. var tempPid = "";
  3450. var sposition = 0;
  3451. //alert("gcurrentpid:" + gcurrentpid + "/" + getNodesetCount(gpidPath));
  3452. if ( gcurrentpid != "") {
  3453. for(i = 1; i <= getNodesetCount(gpidPath); i++ ) {
  3454. tempPid = model.getValue(gpidPath + "["+ i +"]/pid");
  3455. //alert(gcurrentpid + "/" + tempPid);
  3456. //gcurrentpid 전역변수
  3457. if (gcurrentpid == tempPid) {
  3458. sposition = i;
  3459. //alert("pid찾음");
  3460. i = getNodesetCount(gpidPath) + 1;
  3461. }
  3462. }
  3463. }
  3464. return sposition;
  3465. }
  3466. // 재설정하기
  3467. function fsetSelectPidNext(sobj,sposition){
  3468. if ( getNodesetCount(gpidPath) > sposition ) {
  3469. sobj.select(sposition);
  3470. //alert("1");
  3471. }else {
  3472. //콤보믄 0부터시작
  3473. //instance는 1부터시작
  3474. sobj.select(0);
  3475. //alert("2");
  3476. }
  3477. }
  3478. /* -----(20110228) 경북대 ------------------------ */
  3479. //function fSaveNurseBasic_old(){ //변경 20080514 김홍점
  3480. // model.removenode("/root/send");
  3481. // model.makeNode("/root/send");
  3482. // var sendcnt = 0;
  3483. // for(var i = 1; i <= grd_nursebasic.rows; i++){
  3484. // for(var j = 1; j <= col_cnt[grd_nursebasic.row]; j++){
  3485. // if(model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag" + j) == "I" ||
  3486. // model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag" + j) == "U"){
  3487. // sendcnt++;
  3488. // model.makeNode("/root/send/nursebasiclist[" + sendcnt + "]");
  3489. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/pid", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/pid"));
  3490. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/indd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/indd"));
  3491. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/cretno", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/cretno"));
  3492. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/supcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/supcd"));
  3493. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/itemcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/itemcd"));
  3494. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/iudflag", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/iudflag" + j));
  3495. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/seqno", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/seqno" + j));
  3496. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actingyn", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actingyn" + j));
  3497. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/actremarkcd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/actremarkcd" + j));
  3498. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recdd", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recdd" + j));
  3499. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/rectm", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/rectm" + j));
  3500. // model.makeValue("/root/send/nursebasiclist[" + sendcnt + "]/recid", model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + i + "]/recid" + j));
  3501. // }
  3502. // }
  3503. // }
  3504. //
  3505. // if(sendcnt > 0){
  3506. // if(submit("TXMNR04104")){
  3507. // fGridSetNurseBasic();
  3508. // }
  3509. // }else{
  3510. // messageBox("저장할 내용이","I004");
  3511. // }
  3512. //}
  3513. /**
  3514. * @group :
  3515. * @ver : 2008.05.13
  3516. * @by : 김홍점
  3517. * @---------------------------------------------------
  3518. * @type : function
  3519. * @access : public
  3520. * @desc : 기본간호 수정을 위한 팝업띄우기 및 수정
  3521. * @param :
  3522. * @return :
  3523. * @---------------------------------------------------
  3524. */
  3525. function fActNurseUpdate(idx){
  3526. sSaveDataFlag = "2";
  3527. sBasicNursCurrRow = grd_nursebasic.row;
  3528. var msupcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/msupcd" );
  3529. var mitemcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/mitemcd" );
  3530. var recdd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd" + idx );
  3531. var recid = getUserId();
  3532. var rectm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm" + idx );
  3533. var actingyn = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn" + idx );
  3534. var actremarkcd = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd" + idx );
  3535. var recdt = "";
  3536. var seqno = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/seqno" + idx );
  3537. var supnm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/supnm" );
  3538. var itemnm = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/itemnm" );
  3539. var periodtime = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/periodtime" );
  3540. var sSingno = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/signno" + idx );
  3541. var etcactremark = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/etcactremark" + idx );
  3542. var sNactParma = "";
  3543. if(!isNull(recdd)){
  3544. model.makeValue(xNurseBasicParamPath + "/recdd", recdd);
  3545. model.makeValue(xNurseBasicParamPath + "/rectm", rectm);
  3546. model.makeValue(xNurseBasicParamPath + "/actremarkcd", actremarkcd);
  3547. model.makeValue(xNurseBasicParamPath + "/actingyn", actingyn);
  3548. model.makeValue(xNurseBasicParamPath + "/etcactremark", etcactremark);
  3549. sNactParma = "U" + "▦" + msupcd + "▦" + mitemcd + "▦" + etcactremark + "▦";
  3550. setParameter("SPMNR05100_actionyn", sNactParma);//update
  3551. modal("SPMNR05100", "", "", "326", "SPMNR05100", "/root/temp/nursebasicparam", "/root/main/nurseactinfo");
  3552. //modal("SPMNR05100", "", "", "326", "SPMNR05100", "", "");
  3553. setParameter("SPMNR05100_actionyn", "");
  3554. var sReturnMsg = getParameter("SPMNR03400_RtnParam");
  3555. var sReturnYN = getParameter("SPMNR03400_RtnParamYN");
  3556. setParameter("SPMNR03400_RtnParam", "");
  3557. setParameter("SPMNR03400_RtnParamYN", "");
  3558. if(sReturnYN == "Y"){
  3559. model.removenode("/root/send");
  3560. model.makeNode("/root/send");
  3561. model.removenode("/root/hidden/nursebasicinfo");
  3562. model.makeNode("/root/hidden/nursebasicinfo");
  3563. //인스턴스 매핑
  3564. model.makeValue("/root/send/nursebasiclist/pid", model.getValue(xPatInfoPath + "/pid"));
  3565. model.makeValue("/root/send/nursebasiclist/indd", model.getValue(xPatInfoPath + "/indd"));
  3566. model.makeValue("/root/send/nursebasiclist/cretno", model.getValue(xPatInfoPath + "/cretno"));
  3567. model.makeValue("/root/send/nursebasiclist/supcd", msupcd);
  3568. model.makeValue("/root/send/nursebasiclist/itemcd", mitemcd);
  3569. model.makeValue("/root/send/nursebasiclist/iudflag", "U");
  3570. model.makeValue("/root/send/nursebasiclist/seqno", seqno);
  3571. model.makeValue("/root/send/nursebasiclist/actingyn", getArrayData(sReturnMsg,1,0));
  3572. model.makeValue("/root/send/nursebasiclist/actremarkcd", getArrayData(sReturnMsg,1,3));
  3573. model.makeValue("/root/send/nursebasiclist/recdd", getArrayData(sReturnMsg,1,1));
  3574. model.makeValue("/root/send/nursebasiclist/rectm", getArrayData(sReturnMsg,1,2));
  3575. model.makeValue("/root/send/nursebasiclist/recid", getUserId());
  3576. model.makeValue("/root/send/nursebasiclist/signrownum", "1");
  3577. model.makeValue("/root/send/nursebasiclist/etcactremark", getArrayData(sReturnMsg,1,5));
  3578. var retrecdd = getArrayData(sReturnMsg,1,1);
  3579. var retrectm = getArrayData(sReturnMsg,1,2);
  3580. //ipt_nursesrchdd.value = getCurrentDate();
  3581. //ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  3582. sRecDD[0] = recdd;//수정전 일자
  3583. sRecDD[1] = retrecdd;//수정후 일자
  3584. model.makeValue(xNurseBasicSignPath + "/status", "U");
  3585. model.makeValue(xNurseBasicSignPath + "/supnm", supnm);
  3586. model.makeValue(xNurseBasicSignPath + "/itemnm", itemnm);
  3587. model.makeValue(xNurseBasicSignPath + "/periodtime", periodtime);
  3588. model.makeValue(xNurseBasicSignPath + "/recdt",
  3589. retrecdd.substring(4,6) + "-" + retrecdd.substring(6) + " " +
  3590. retrectm.substring(0,2) + ":" + retrectm.substring(2,4) );
  3591. model.makeValue(xNurseBasicSignPath + "/recnm", getUserName());
  3592. model.makeValue(xNurseBasicSignPath + "/actingcon",
  3593. ( getArrayData(sReturnMsg,1,0) == "Y" ? "수행" : "미해당-" + getArrayData(sReturnMsg,1,4)));
  3594. model.makeValue(xNurseBasicSignPath +"/etcatcremark", getArrayData(sReturnMsg,1,5));
  3595. //인증저장
  3596. var msg = messageBox('기본간호기록내역의 인증저장을', 'Q004');//실행 하시겠습니까? yes=6, no=7
  3597. if(Number(msg) == 6){//예
  3598. if(Sign.signprocess() == true){
  3599. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  3600. //전자인증 관련 환자 인적 정보를 보내줌.
  3601. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid" , sPid );//등록번호
  3602. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd" , sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  3603. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno" , sSingno);//서명번호
  3604. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno" , sCretNo); //생성번호
  3605. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd" , getCurrentDate());// 실제 기록이 이루어진 기록일자
  3606. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm" , getCurrentTime());//실제 기록이 이루어진 기록시간
  3607. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag" , "Y"); //전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  3608. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag" , "02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  3609. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag" , model.getValue("/root/main/paminfo/pamlist/ioflag")); //외래/입원구분(코드정의서 M0010 참조)
  3610. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd" , "0000002465" ); //각 기록지별 서식코드0000002465 기본간호등록
  3611. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd" , model.getValue("/root/main/paminfo/pamlist/orddeptcd")); //진료부서코드
  3612. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid" , model.getValue("/root/main/paminfo/pamlist/medispclid")); //진료의사ID
  3613. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn" , "N");
  3614. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum" , "1");
  3615. // 인증할 데이터 정보(미기록 노드 제거된 정보)
  3616. // 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  3617. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts" , Sign.signedInfos[1]);
  3618. // 공인인증 처리후 데이터
  3619. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  3620. } else {
  3621. fGetNurseRecord();
  3622. return false;
  3623. }
  3624. if(submit("TXMNR04104", false)){
  3625. fMakeViewData("B");
  3626. //인스턴스 매핑
  3627. // if ( retrecdd.length == 8 && retrectm.length >= 4 ){
  3628. // recdt = retrecdd.substring(4,6) + "-" + retrecdd.substring(6) + " "
  3629. // + retrectm.substring(0,2) + ":" + retrectm.substring(2,4);
  3630. // }
  3631. //
  3632. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdd"+idx, retrecdd);
  3633. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/rectm"+idx, retrectm);
  3634. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingyn"+idx, getArrayData(sReturnMsg,1,0));
  3635. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actremarkcd"+idx, getArrayData(sReturnMsg,1,3));
  3636. //
  3637. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recid"+idx, getUserId());
  3638. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm"+idx, getUserName());
  3639. //
  3640. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recdt"+idx, recdt);
  3641. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/recnm"+idx, getUserName());
  3642. // model.makeValue(xNurseBasicInfoPath + "/nursebasiclist[" + grd_nursebasic.row + "]/actingcon"+idx,
  3643. // ( getArrayData(sReturnMsg,1,0) == "Y" ? "수행" : "미해당-" + getArrayData(sReturnMsg,1,4)) );
  3644. // }
  3645. }
  3646. }else{
  3647. messageBox("저장할 내용이","I004");
  3648. }
  3649. fGetNurseRecord();
  3650. }
  3651. }
  3652. //model.refresh();
  3653. }
  3654. /**
  3655. * @group :
  3656. * @ver : 2007.09.28
  3657. * @by :
  3658. * @---------------------------------------------------
  3659. * @type : function
  3660. * @access : public
  3661. * @desc : 간호수행 기록의 변경사항 체크
  3662. * @param :
  3663. * @return :
  3664. * @---------------------------------------------------
  3665. */
  3666. function fChangedCareExecGrid(pRow, pCol){
  3667. var sRow = pRow;
  3668. var sCol = pCol;
  3669. if(pRow == null || pRow==""){
  3670. sRow = grd_careexecreclist.row;
  3671. }
  3672. if(pCol == null || pCol==""){
  3673. sCol = grd_careexecreclist.col;
  3674. }
  3675. //var sRow = grd_careexecreclist.row;
  3676. //var sCol = grd_careexecreclist.col;
  3677. var sItemCD = model.getValue(xCareExecRecPath+"["+sRow+"]/itemcd");
  3678. //var sItemSeqNo = model.getValue(xCareExecRecPath+"["+sRow+"]/itemseqno");
  3679. var sItemSeqNo = model.getValue(xCareExecRecPath+"["+sRow+"]/carerecseqno");
  3680. var sExecDD = "";
  3681. var sExecTM = "";
  3682. var sToDD = "";
  3683. var sToTM = "";
  3684. var sRsrvDt = "";
  3685. sExecDD = model.getValue(xCareExecRecPath+"["+sRow+"]/execdd");
  3686. if(sCol == grd_careexecreclist.colRef("execdd")){
  3687. sRsrvDt = model.getValue(xCareExecRecPath+"["+sRow+"]/rsrvdt");
  3688. // 2008-07-27 삭제
  3689. // if(sExecDD != sRsrvDt && sRsrvDt != ""){
  3690. // if(model.getValue(xCareExecRecPath+"["+sRow+"]/rsrvfromdt") == "210000" && sExecDD == getDateCalc(sRsrvDt, 1, "+")){
  3691. // }else{
  3692. // messageBox("수행 예정일과 일치하지 않습니다. 해당 일시를 입력 할 수","I004");
  3693. // model.setValue(xCareExecRecPath+"["+sRow+"]/execdd","");
  3694. // model.setValue(xCareExecRecPath+"["+sRow+"]/exectm","");
  3695. // return;
  3696. // }
  3697. // }
  3698. }else if(sCol == grd_careexecreclist.colRef("exectm")){
  3699. sExecTM = model.getValue(xCareExecRecPath+"["+sRow+"]/exectm");
  3700. for(var iRow = grd_careexecreclist.fixedrows; iRow<=grd_careexecreclist.rows - grd_careexecreclist.fixedrows; iRow++){
  3701. if(sRow != iRow && model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd")== sItemCD &&
  3702. model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno")== sItemSeqNo &&
  3703. model.getValue(xCareExecRecPath+"["+iRow+"]/execdd")== sExecDD &&
  3704. model.getValue(xCareExecRecPath+"["+iRow+"]/exectm")== sExecTM ){
  3705. messageBox("동일한 수행일시 기록이 존재합니다. 수행일시를 확인하십시요","I");
  3706. model.setValue(xCareExecRecPath+"["+sRow+"]/exectm","");
  3707. //grd_careexecreclist.rebuild();
  3708. return;
  3709. }
  3710. }
  3711. // 2008-07-27 삭제
  3712. // if(grd_careexecreclist.valueMatrix(sRow, grd_careexecreclist.colRef("execpridunit")) == "T" ){
  3713. // if(sRsrvDt == sExecTM){
  3714. // if( sExecTM+"00" < grd_careexecreclist.valueMatrix(sRow, grd_careexecreclist.colRef("rsrvfromdt"))){
  3715. // messageBox("해당 Duty에 기록 할 수 없는 시간입니다","I");
  3716. // grd_careexecreclist.valueMatrix(sRow, grd_careexecreclist.colRef("exectm"))="";
  3717. // //grd_careexecreclist.rebuild();
  3718. // return;
  3719. // }
  3720. // }else{
  3721. // if( sExecTM+"00" > grd_careexecreclist.valueMatrix(sRow, grd_careexecreclist.colRef("rsrvtodt")) ) {
  3722. // messageBox("해당 Duty에 기록 할 수 없는 시간입니다","I");
  3723. // grd_careexecreclist.valueMatrix(sRow, grd_careexecreclist.colRef("exectm"))="";
  3724. // //grd_careexecreclist.rebuild();
  3725. // return;
  3726. // }
  3727. // }
  3728. // }
  3729. // if(sExecTM == model.getValue(xTempCareExecRecPath+"["+sRow+"]/exectm")){
  3730. // grd_careexecreclist.rowStatus(sRow) = 0;
  3731. // }
  3732. }else if(sCol == grd_careexecreclist.colRef("execpridunit")){
  3733. sExecPridUnit = model.getValue(xCareExecRecPath+"["+sRow+"]/execpridunit");
  3734. if(sExecPridUnit == "T" || sExecPridUnit == "M"){ // 예약주기가 Duty 와 수시일 경우
  3735. model.setValue(xCareExecRecPath+"["+sRow+"]/execprid" , "");
  3736. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = true;
  3737. }else{
  3738. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = false;
  3739. }
  3740. // if(model.getValue(xCareExecRecPath+"["+sRow+"]/exectm") == model.getValue(xTempCareExecRecPath+"["+sRow+"]/exectm")){
  3741. // grd_careexecreclist.rowStatus(sRow) = 0;
  3742. // }
  3743. }else if(sCol == grd_careexecreclist.colRef("rsrvyn")){
  3744. sRsrvYn = model.getValue(xCareExecRecPath+"["+sRow+"]/rsrvyn");
  3745. if(sRsrvYn == "N"){
  3746. model.setValue(xCareExecRecPath+"["+sRow+"]/execprid" , "");
  3747. model.setValue(xCareExecRecPath+"["+sRow+"]/execpridunit" , "");
  3748. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = true;
  3749. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execpridunit")) = true;
  3750. }else{
  3751. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execprid")) = false;
  3752. grd_careexecreclist.isReadOnly(sRow, grd_careexecreclist.colRef("execpridunit")) = false;
  3753. }
  3754. // if(model.getValue(xCareExecRecPath+"["+sRow+"]/exectm") == model.getValue(xTempCareExecRecPath+"["+sRow+"]/exectm")){
  3755. // grd_careexecreclist.rowStatus(sRow) = 0;
  3756. // }
  3757. }
  3758. // 2008-07-23 삭제
  3759. // }else if(sCol == 8){
  3760. // sToDD = model.getValue(xCareExecRecPath+"["+sRow+"]/todd");
  3761. // if(sToDD == "") return;
  3762. //
  3763. // for(var iRow = grd_careexecreclist.fixedrows; iRow<=grd_careexecreclist.rows - grd_careexecreclist.fixedrows ; iRow++){
  3764. // if(model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd") == sItemCD &&
  3765. // model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno") == sItemSeqNo &&
  3766. // model.getValue(xCareExecRecPath+"["+iRow+"]/execdd") > sToDD){
  3767. // messageBox("해당 일시 이후로 기록이 존재합니다. 해당 일시에 종료 할 수","I004");
  3768. // model.setValue(xCareExecRecPath+"["+sRow+"]/todd","");
  3769. // model.setValue(xCareExecRecPath+"["+sRow+"]/totm","");
  3770. // //grd_careexecreclist.rebuild();
  3771. // return;
  3772. // }
  3773. // }
  3774. //
  3775. // }else if(sCol == 9){
  3776. // sToDD = model.getValue(xCareExecRecPath+"["+sRow+"]/todd");
  3777. // sToTM = model.getValue(xCareExecRecPath+"["+sRow+"]/totm");
  3778. // if(sToTM == "") return;
  3779. //
  3780. // if(model.getValue(xCareExecRecPath+"["+sRow+"]/totm") != "" && model.getValue(xCareExecRecPath+"["+sRow+"]/todd") == ""){
  3781. // messageBox("종료일자를 먼저","C001");
  3782. // model.setValue(xCareExecRecPath+"["+sRow+"]/totm","");
  3783. // //grd_careexecreclist.rebuild();
  3784. // return;
  3785. // }
  3786. //
  3787. // for(var iRow = grd_careexecreclist.fixedrows; iRow<=grd_careexecreclist.rows - grd_careexecreclist.fixedrows; iRow++){
  3788. // if(model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd") == sItemCD && model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno") == sItemSeqNo &&
  3789. // (model.getValue(xCareExecRecPath+"["+iRow+"]/execdd")+model.getValue(xCareExecRecPath+"["+iRow+"]/exectm").substr(0,4)) > (sToDD+sToTM)){
  3790. // messageBox("해당 일시 이후로 기록이 존재합니다. 해당 일시에 종료 할 수","I004");
  3791. // model.setValue(xCareExecRecPath+"["+sRow+"]/todd","");
  3792. // model.setValue(xCareExecRecPath+"["+sRow+"]/totm","");
  3793. // //grd_careexecreclist.rebuild();
  3794. // return;
  3795. // }
  3796. // }
  3797. // }
  3798. }
  3799. /**
  3800. * @group :
  3801. * @ver : 2007.09.28
  3802. * @by :
  3803. * @---------------------------------------------------
  3804. * @type : function
  3805. * @access : public
  3806. * @desc : 간호수행 기록 저장
  3807. * @param :
  3808. * @return :
  3809. * @---------------------------------------------------
  3810. */
  3811. function fSaveCareExec(){
  3812. var sItemCD = "";
  3813. var sCareRecSeqNO = "";
  3814. var sExecDD = "";
  3815. var sExecTM = "";
  3816. var sExecPrid = "";
  3817. var sExecPridUnit = "";
  3818. var sToDD = "";
  3819. var sToTM = "";
  3820. var sElmtCD = "";
  3821. var sElmtCD_BK = "";
  3822. var sExecPrid_BK = "";
  3823. var sExecPridUnit_BK = "";
  3824. var sToDD_BK = "";
  3825. var sToTM_BK = "";
  3826. var sSaveFlag = false;
  3827. var sStatus = 0;
  3828. sSaveDataFlag = "1";
  3829. model.removenode("/root/send");
  3830. for(var iRow=grd_careexecreclist.fixedrows; iRow < grd_careexecreclist.rows ; iRow++){
  3831. sItemCD = model.getValue(xCareExecRecPath+"["+iRow+"]/itemcd");
  3832. sExecDD = model.getValue(xCareExecRecPath+"["+iRow+"]/execdd");
  3833. sExecTM = model.getValue(xCareExecRecPath+"["+iRow+"]/exectm");
  3834. sElmtCD = model.getValue(xCareExecRecPath+"["+iRow+"]/elmtcd");
  3835. sSingNo = model.getValue(xCareExecRecPath+"["+iRow+"]/signno");
  3836. sRsrvyn = model.getValue(xCareExecRecPath+"["+iRow+"]/rsrvyn");
  3837. sCareRecSeqNO = model.getValue(xCareExecRecPath+"["+iRow+"]/carerecseqno");
  3838. if(sExecTM.length == 4) sExecTM += "00";
  3839. sExecPrid = model.getValue(xCareExecRecPath+"["+iRow+"]/execprid");
  3840. sExecPridUnit = model.getValue(xCareExecRecPath+"["+iRow+"]/execpridunit");
  3841. sToDD = model.getValue(xCareExecRecPath+"["+iRow+"]/todd");
  3842. sToTM = model.getValue(xCareExecRecPath+"["+iRow+"]/totm");
  3843. if(instance1.selectSingleNode(xCareExecRecPath+"["+iRow+"]").xml == instance1.selectSingleNode(xTempCareExecRecPath+"["+iRow+"]").xml ){
  3844. grd_careexecreclist.rowStatus(iRow) = 0;
  3845. }else{
  3846. if(sExecDD != "" && sExecTM != ""){
  3847. if(model.getValue(xCareExecRecPath+"["+iRow+"]/execdd_bk") != "" && model.getValue(xCareExecRecPath+"["+iRow+"]/exectm_bk") != ""){
  3848. //2008-11-11 변경
  3849. //sElmtCD_BK = model.getValue(xTempCareExecRecPath+"[carerecseqno ='"+sCareRecSeqNO+"' and execdd ='"+sExecDD+"' and exectm ='"+sExecTM+"']/elmtcd");
  3850. //sExecPrid_BK = model.getValue(xTempCareExecRecPath+"[carerecseqno ='"+sCareRecSeqNO+"' and execdd ='"+sExecDD+"' and exectm ='"+sExecTM+"']/execprid");
  3851. //sExecPridUnit_BK = model.getValue(xTempCareExecRecPath+"[carerecseqno ='"+sCareRecSeqNO+"' and execdd ='"+sExecDD+"' and exectm ='"+sExecTM+"']/execpridunit");
  3852. //sToDD_BK = model.getValue(xTempCareExecRecPath+"[carerecseqno ='"+sCareRecSeqNO+"' and execdd ='"+sExecDD+"' and exectm ='"+sExecTM+"']/todd");
  3853. //sToTM_BK = model.getValue(xTempCareExecRecPath+"[carerecseqno ='"+sCareRecSeqNO+"' and execdd ='"+sExecDD+"' and exectm ='"+sExecTM+"']/totm");
  3854. sElmtCD_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/elmtcd");
  3855. sExecPrid_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/execprid");
  3856. sExecPridUnit_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/execpridunit");
  3857. sToDD_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/todd");
  3858. sToTM_BK = model.getValue(xTempCareExecRecPath+"["+iRow+"]/totm");
  3859. if( sElmtCD_BK != sElmtCD || sExecPrid_BK != sExecPrid || sExecPridUnit_BK != sExecPridUnit || sToDD_BK != sToDD || sToTM_BK != sToTM){
  3860. grd_careexecreclist.rowStatus(iRow) = 2;
  3861. //model.setValue(xCareExecRecPath+"["+iRow+"]/exectm",sExecTM);
  3862. //model.setValue(xCareExecRecPath+"["+iRow+"]/totm",sToTM);
  3863. sSaveFlag = true;
  3864. }
  3865. }else{
  3866. grd_careexecreclist.rowStatus(iRow) = 1;
  3867. //model.setValue(xCareExecRecPath+"["+iRow+"]/exectm",sExecTM);
  3868. //model.setValue(xCareExecRecPath+"["+iRow+"]/totm",sToTM);
  3869. sSaveFlag = true;
  3870. }
  3871. if(sStatus != 0){
  3872. sSaveFlag = true;
  3873. }
  3874. //}else if(sExecDD == "" && sExecTM == "" && sElmtCD == "" && sExecPrid == "" && sExecPridUnit == "" && sToDD == "" && sToTM == "" ){
  3875. // if( model.getValue(xCareExecRecPath+"["+iRow+"]/execdd_bk") != "" && model.getValue(xCareExecRecPath+"["+iRow+"]/exectm_bk") != ""){
  3876. // grd_careexecreclist.rowStatus(iRow) = 4;
  3877. // model.setValue(xCareExecRecPath+"["+iRow+"]/exectm",sExecTM);
  3878. // model.setValue(xCareExecRecPath+"["+iRow+"]/totm",sToTM);
  3879. // sSaveFlag = true;
  3880. // }
  3881. }
  3882. }
  3883. if(sToTM.length == 4) sToTM += "00";
  3884. sStatus = grd_careexecreclist.rowStatus(iRow);
  3885. if((sExecDD == "" || sExecTM == "") && sStatus != 0 ){
  3886. messageBox("수행일시를","C001");
  3887. grd_careexecreclist.row = iRow;
  3888. return;
  3889. }
  3890. if((sExecDD != "" || sExecTM != "") && !isValidDateTime(sExecDD+sExecTM,"YYYYMMDDhhmmss")){
  3891. messageBox("수행일시를 정확히","C001");
  3892. grd_careexecreclist.row = iRow;
  3893. return;
  3894. }
  3895. if(sRsrvyn == "" && sStatus != 0){
  3896. messageBox("예약설정을 정확히","C001");
  3897. grd_careexecreclist.row = iRow;
  3898. return;
  3899. }
  3900. if(((sExecPrid != "" && sExecPridUnit == "") || (sExecPrid == "" && sExecPridUnit != "T" && sExecPridUnit != "M" )) && sStatus != 0 ){
  3901. if(sRsrvyn == "Y"){
  3902. messageBox("예약주기를 정확히","C001");
  3903. grd_careexecreclist.row = iRow;
  3904. return;
  3905. }
  3906. }
  3907. // 2008-07-23 삭제
  3908. //if((sToDD != "" && sToTM == "") || (sToDD == "" && sToTM != "")){
  3909. // messageBox("종료일시를 정확히","C001");
  3910. // grd_careexecreclist.row = iRow;
  3911. // return;
  3912. //}
  3913. //if(sToDD != "" && sToTM != "" && !isValidDateTime(sToDD+sToTM,"YYYYMMDDhhmmss")){
  3914. // messageBox("종료일시를 정확히 ","C001");
  3915. // grd_careexecreclist.row = iRow;
  3916. // return;
  3917. //}
  3918. if(grd_careexecreclist.rowStatus(iRow) != 0){
  3919. model.removeNodeset("/root/hidden/careexecinfo");
  3920. var sNodeCnt = eval(getNodesetCount("/root/hidden/careexecinfo/careexeclist")) + 1;
  3921. model.makeNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]");
  3922. model.copyNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]", "/root/main/careexecinfo/careexeclist["+iRow+"]");
  3923. //인증저장 구현 부분
  3924. if(Sign.signprocess() == true ){
  3925. var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  3926. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  3927. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);
  3928. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", sSingNo);
  3929. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  3930. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", getCurrentDate());
  3931. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", getCurrentTime());
  3932. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  3933. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  3934. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  3935. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0000002456");
  3936. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  3937. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  3938. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/carerecseqno", sCareRecSeqNO);
  3939. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/itemcd", sItemCD);
  3940. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/execdd", sExecDD);
  3941. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/exectm", sExecTM);
  3942. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signrownum", iRow);
  3943. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/dispyn", "N");
  3944. //alert( Sign.signedInfos[1]);
  3945. //alert( Sign.signedInfos[2]);
  3946. //alert( Sign.signedInfos[4]);
  3947. //alert( Sign.signedInfos[5]);
  3948. //alert( Sign.signedInfos[3]);
  3949. //return; // test 주석
  3950. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  3951. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  3952. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  3953. // ▶ 공인인증 처리후 데이터
  3954. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  3955. }else{
  3956. return false;
  3957. }
  3958. }
  3959. }
  3960. if(sSaveFlag == false){
  3961. messageBox("저장할 내용이","I004");
  3962. return;
  3963. }
  3964. model.makeValue("/root/send/pid", sPid);
  3965. model.makeValue("/root/send/orddd", sOrdDD);
  3966. model.makeValue("/root/send/cretno", sCretNo);
  3967. model.makeValue("/root/send/recflag","E");
  3968. model.makeValue("/root/send/srchflag", "E");
  3969. model.makeValue("/root/send/careexeclist", grd_careexecreclist.getUpdateData());
  3970. //***************************************************************************************************************
  3971. // for(var i = grd_careexecreclist.fixedRows ; i <= grd_careexecreclist.rows - grd_careexecreclist.fixedRows ; i ++ ){
  3972. // if(grd_careexecreclist.rowStatus(i) != 0){
  3973. // model.removeNodeset("/root/hidden/careexecinfo");
  3974. // var sNodeCnt = eval(getNodesetCount("/root/hidden/careexecinfo/careexeclist")) + 1;
  3975. //
  3976. // model.makeNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]");
  3977. // model.copyNode("/root/hidden/careexecinfo/careexeclist["+sNodeCnt+"]", "/root/main/careexecinfo/careexeclist["+i+"]");
  3978. //
  3979. // //인증저장 구현 부분
  3980. // if(Sign.signprocess() == true ){
  3981. //
  3982. // var sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  3983. //
  3984. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid);
  3985. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);
  3986. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", sSingNo);
  3987. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo);
  3988. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd", getCurrentDate());
  3989. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm", getCurrentTime());
  3990. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recsaveflag", "Y");
  3991. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag", "02");
  3992. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  3993. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd", "0000002456");
  3994. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  3995. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  3996. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/carerecseqno", sCareRecSeqNO);
  3997. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/itemcd", sItemCD);
  3998. //
  3999. // //alert( Sign.signedInfos[1]);
  4000. // //alert( Sign.signedInfos[2]);
  4001. // //alert( Sign.signedInfos[4]);
  4002. // //alert( Sign.signedInfos[5]);
  4003. // //alert( Sign.signedInfos[3]);
  4004. // //return; // test 주석
  4005. //
  4006. // // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  4007. // // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  4008. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", Sign.signedInfos[1]);
  4009. //
  4010. // // ▶ 공인인증 처리후 데이터
  4011. // model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  4012. //
  4013. // }else{
  4014. // return false;
  4015. // }
  4016. // }
  4017. // }
  4018. //***************************************************************************************************************
  4019. if(submit("TXMNR04105", false)){
  4020. fMakeViewData("E");
  4021. fGetCareExecInfo();
  4022. fSettingCareExec();
  4023. }
  4024. }
  4025. /**
  4026. * @group :
  4027. * @ver : 2008.05.13
  4028. * @by : 이은영
  4029. * @---------------------------------------------------
  4030. * @type : function
  4031. * @access : public
  4032. * @desc : 환자 선택시 상단정보 변경
  4033. * @param :
  4034. * @return :
  4035. * @---------------------------------------------------
  4036. */
  4037. function fSetParam(pFlag, pIndex){
  4038. if(getNodesetCount(xPatInfoPath) > 0){
  4039. model.removenodeset(xPatInfoPath);
  4040. }
  4041. if(pFlag == "SrchPat"){
  4042. sOrdtype = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/ordtype" );
  4043. sPid = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/pid" );
  4044. sIndd = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/indd" );
  4045. sCretno = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/cretno" );
  4046. sInstcd = model.getValue("/root/temp/mypatsettinginfo/patientgrup/patientgruplist["+ pIndex +"]/instcd" );
  4047. cmb_mypat.value = "";
  4048. }else if(pFlag == "SettingPat"){
  4049. sOrdtype = model.getValue("/root/temp/mypatsettinginfo/settingpatient/settingpatientlist["+ pIndex +"]/ordtype" );
  4050. sPid = model.getValue("/root/temp/mypatsettinginfo/settingpatient/settingpatientlist["+ pIndex +"]/pid" );
  4051. sIndd = model.getValue("/root/temp/mypatsettinginfo/settingpatient/settingpatientlist["+ pIndex +"]/indd" );
  4052. sCretno = model.getValue("/root/temp/mypatsettinginfo/settingpatient/settingpatientlist["+ pIndex +"]/cretno" );
  4053. sInstcd = model.getValue("/root/temp/mypatsettinginfo/settingpatient/settingpatientlist["+ pIndex +"]/instcd" );
  4054. }
  4055. param = sOrdtype + "▦"
  4056. + sPid + "▦"
  4057. + sIndd + "▦"
  4058. + sCretno + "▦"
  4059. + sInstcd + "▦"
  4060. + "▦" ;
  4061. setParameter("condparam", param);
  4062. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  4063. fInitialize(pFlag);
  4064. }
  4065. /**
  4066. * @group :
  4067. * @ver : 2008.05.28
  4068. * @by : 양천덕
  4069. * @---------------------------------------------------
  4070. * @type : function
  4071. * @access : public
  4072. * @desc : 환자별 item세팅 그리드 선택시 셀 스타일 변경
  4073. * @param :
  4074. * @return :
  4075. * @---------------------------------------------------
  4076. */
  4077. function fChangeGridStyle(pFlag){
  4078. var sCol = grd_patitemlist.col;
  4079. var sRow = grd_patitemlist.row;
  4080. var iCol = grd_patitemlist.fixedCols;
  4081. var iBackColor = "#ddd0dd";
  4082. var iColor = "#b7f9aa";
  4083. var iInitColor = "#ffffff";
  4084. switch(pFlag){
  4085. case "onentercell" :
  4086. if(iColor == grd_patitemlist.cellStyle("background-color", sRow, sCol , sRow, sCol)){
  4087. grd_patitemlist.focusColor = iColor;
  4088. }else{
  4089. grd_patitemlist.focusColor = iBackColor;
  4090. }
  4091. for(var j = grd_patitemlist.fixedRows ; j < grd_patitemlist.rows ; j ++ ){
  4092. if(iBackColor == grd_patitemlist.cellStyle("background-color", j, 1 , j, 1)){
  4093. for( var i = iCol ; i <grd_patitemlist.cols; i++ ){
  4094. if(iColor != grd_patitemlist.cellStyle("background-color", j, i , j, i)){
  4095. grd_patitemlist.cellStyle("background-color", j, i , j, i) = iInitColor;
  4096. }
  4097. }
  4098. }
  4099. }
  4100. for( var i = iCol ; i <grd_patitemlist.cols; i++ ){
  4101. if(iColor != grd_patitemlist.cellStyle("background-color", sRow, i , sRow, i)){
  4102. grd_patitemlist.cellStyle("background-color", sRow, i , sRow, i) = iBackColor;
  4103. }
  4104. }
  4105. model.setValue("root/main/cond/itemdesc", grd_patitemlist.valueMatrix(sRow, grd_patitemlist.colref("itemdescspec")));
  4106. opt_itemdescspec.refresh();
  4107. break;
  4108. }
  4109. }
  4110. /**
  4111. * @group :
  4112. * @ver : 2008.05.28
  4113. * @by : 양천덕
  4114. * @---------------------------------------------------
  4115. * @type : function
  4116. * @access : public
  4117. * @desc : item별 처방 매핑정보 setting
  4118. * @param :
  4119. * @return :
  4120. * @---------------------------------------------------
  4121. */
  4122. function fGetMappingItem(pFlag, pRow){
  4123. sSizeList ="";
  4124. switch(pFlag){
  4125. case "catheter" :
  4126. //2008-05-29 처방 매핑 상태 설정
  4127. model.removenodeset(xPrcpComboListPath);
  4128. submit("TRMNR04113");
  4129. var iCol = grd_patcatheter.colRef("supnm");
  4130. var iVolUnitCol = grd_patcatheter.colRef("volunit");
  4131. var iVolCol = grd_patcatheter.colRef("vol");
  4132. var iSeqCol = grd_patcatheter.colRef("cathseqno");
  4133. for(var iRow = 0 ; iRow <= grd_patcatheter.rows ; iRow ++ ){
  4134. var sItemcd = model.getValue(xCathListPath +"["+iRow+"]/itemcd");
  4135. var sMappseqno = model.getValue(xCathListPath +"["+iRow+"]/mappseqno");
  4136. var sOpflag = model.getValue(xCathListPath +"["+iRow+"]/opflag");
  4137. if(sOpflag == "01"){
  4138. sOpflag = "A";
  4139. }else if(sOpflag == "02"){
  4140. sOpflag = "B";
  4141. }else if(sOpflag == "03"){
  4142. sOpflag = "D";
  4143. }else if(sOpflag == "04"){
  4144. sOpflag = "D";
  4145. }
  4146. grd_patcatheter.isReadOnly(iRow, iVolCol) = true;
  4147. grd_patcatheter.cellComboNodeset(iRow,iCol) = xPrcpComboListPath+"[itemcd='"+sItemcd+"' and cateprcpflag ='"+sOpflag+"']";
  4148. // if(grd_patcatheter.valueMatrix(iRow, grd_patcatheter.colRef("opflag")) != "01"){
  4149. // grd_patcatheter.isReadOnly(iRow, grd_patcatheter.colRef("loc")) = true;
  4150. // }
  4151. if(grd_patcatheter.valueMatrix(iRow, iCol) != "" ){
  4152. fAllSizeInfoSrch("init", iRow);
  4153. }
  4154. // if(grd_patcatheter.valueMatrix(iRow, iSeqCol) != "" && grd_patcatheter.valueMatrix(iRow, iCol) != "" ){
  4155. // grd_patcatheter.isReadOnly(iRow,iCol) = true;
  4156. // }
  4157. }
  4158. if(sSizeList != ""){
  4159. model.removenodeset("/root/send");
  4160. model.makeValue ("/root/send/sizelist", sSizeList);
  4161. if(submit("TRMNR04114")){
  4162. if(getNodesetCnt(model, "/root/temp/allsizeinfo/allsizelist") > 0){
  4163. for(var sRow = 0 ; sRow < grd_patcatheter.rows ; sRow ++ ){
  4164. sMappseqno = model.getValue(xCathListPath + "["+ sRow +"]/supnm");
  4165. sPrcpcd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/prcpcd");
  4166. grd_patcatheter.cellComboNodeset(sRow,iVolCol) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4167. grd_patcatheter.cellComboNodeset(sRow,iVolUnitCol) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4168. grd_patcatheter.isReadOnly(sRow,iVolCol)= false;
  4169. }
  4170. }
  4171. }
  4172. }
  4173. break;
  4174. case "main" :
  4175. //2008-05-29 처방 매핑 상태 설정
  4176. model.removenodeset(xPrcpComboListPath);
  4177. submit("TRMNR04113");
  4178. var iCol = grd_catheter.colRef("supnm");
  4179. for(var iRow = grd_catheter.fixedRows ; iRow < grd_catheter.rows ; iRow ++ ){
  4180. var sMappseqno = model.getValue(xPatCathListPath +"["+iRow+"]/mappseqno");
  4181. grd_catheter.cellComboNodeset(iRow,iCol) = xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']";
  4182. }
  4183. break;
  4184. case "addrow":
  4185. var iCol = grd_patcatheter.colRef("supnm");
  4186. var iVolUnitCol = grd_patcatheter.colRef("volunit");
  4187. var iVolCol = grd_patcatheter.colRef("vol");
  4188. var iRow = pRow;
  4189. //for(var iRow = grd_patcatheter.fixedRows ; iRow < grd_patcatheter.rows ; iRow ++ ){
  4190. var sItemcd = model.getValue(xCathListPath +"["+iRow+"]/itemcd");
  4191. var sMappseqno = model.getValue(xCathListPath +"["+iRow+"]/mappseqno");
  4192. var sOpflag = model.getValue(xCathListPath +"["+iRow+"]/opflag");
  4193. if(sOpflag == "01"){
  4194. sOpflag = "A";
  4195. }else if(sOpflag == "02"){
  4196. sOpflag = "B";
  4197. }else if(sOpflag == "03"){
  4198. sOpflag = "C";
  4199. }else if(sOpflag == "04" || sOpflag == "05"){
  4200. sOpflag = "D";
  4201. }
  4202. grd_patcatheter.cellComboNodeset(iRow,iCol) = xPrcpComboListPath+"[itemcd='"+sItemcd+"' and cateprcpflag ='"+sOpflag+"']";
  4203. // if(grd_patcatheter.valueMatrix(iRow, iCol) != ""){
  4204. // fAllSizeInfoSrch("init", iRow);
  4205. // }
  4206. //}
  4207. // if(sSizeList != ""){
  4208. // model.removenodeset("/root/send");
  4209. // model.makeValue ("/root/send/sizelist", sSizeList);
  4210. // if(submit("TRMNR04114")){
  4211. // if(getNodesetCnt(model, "/root/temp/allsizeinfo/allsizelist") > 0){
  4212. // for(var sRow = grd_patcatheter.fixedRows ; sRow < grd_patcatheter.rows ; sRow ++ ){
  4213. // grd_patcatheter.cellComboNodeset(sRow,iVolCol) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4214. // grd_patcatheter.cellComboNodeset(sRow,iVolUnitCol) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4215. // }
  4216. // }
  4217. // }
  4218. // }
  4219. break;
  4220. }
  4221. grd_catheter.rebuild();
  4222. }
  4223. /**
  4224. * @group :
  4225. * @ver : 2007.05.28
  4226. * @by : 양천덕
  4227. * @---------------------------------------------------
  4228. * @type : function
  4229. * @access : public
  4230. * @desc : All Size 정보 조회
  4231. * @param :
  4232. * @return :
  4233. * @---------------------------------------------------
  4234. */
  4235. function fAllSizeInfoSrch(pFlag, pRow){
  4236. var iCol = grd_patcatheter.colRef("vol");
  4237. var iCol2 = grd_patcatheter.colRef("volunit");
  4238. var iRow = grd_patcatheter.row;
  4239. switch(pFlag){
  4240. case "event" :
  4241. if(grd_patcatheter.col == grd_patcatheter.colRef("supnm") ){
  4242. sMappseqno = model.getValue(xCathListPath + "["+ iRow +"]/supnm");
  4243. sCalcscorcd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/calcscorcd");
  4244. sGrupsnglflag = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/grupsnglflag");
  4245. sMatrsizeflag = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/matrsizeflag");
  4246. sPrcpclscd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/prcpclscd");
  4247. sPrcpcd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/prcpcd");
  4248. if(sPrcpclscd == "M2" && sGrupsnglflag == "S" && sMatrsizeflag == "Y"){
  4249. if(sPrcpclscd == "M2" && sGrupsnglflag == "S" && sMatrsizeflag == "Y"){
  4250. if(sSizeList == ""){
  4251. sSizeList += "'"+sCalcscorcd+"'";
  4252. }else{
  4253. sSizeList += ",'"+sCalcscorcd+"'";
  4254. }
  4255. }
  4256. model.removenodeset("/root/send");
  4257. model.makeValue ("/root/send/sizelist", sSizeList);
  4258. if(submit("TRMNR04114")){
  4259. if(getNodesetCnt(model, "/root/temp/allsizeinfo/allsizelist") > 0){
  4260. grd_patcatheter.cellComboNodeset(iRow,iCol) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4261. grd_patcatheter.cellComboNodeset(iRow,iCol2) = "/root/temp/allsizeinfo/allsizelist[prcpcd='"+sPrcpcd+"']";
  4262. grd_patcatheter.isReadOnly(iRow,iCol)= false;
  4263. }
  4264. }
  4265. }else{
  4266. grd_patcatheter.cellComboNodeset(iRow,iCol) = "/root/temp/allsizespec";
  4267. grd_patcatheter.cellComboNodeset(iRow,iCol2) = "/root/temp/goodspec";
  4268. }
  4269. }else if(grd_patcatheter.col == grd_patcatheter.colRef("vol") ){
  4270. model.setValue(xCathListPath+"["+iRow+"]/volunit", grd_patcatheter.valueMatrix(iRow,iCol ) );
  4271. }else if(grd_patcatheter.col == grd_patcatheter.colRef("volunit")){
  4272. model.setValue(xCathListPath+"["+iRow+"]/vol", grd_patcatheter.valueMatrix(iRow,iCol2 ) );
  4273. }else if(grd_patcatheter.col == grd_patcatheter.colRef("loc")){
  4274. var sLoc = grd_patcatheter.valueMatrix(grd_patcatheter.row, grd_patcatheter.colRef("loc"));
  4275. for(var i = grd_patcatheter.fixedrows ; i < grd_patcatheter.rows ; i++){
  4276. if(grd_patcatheter.valueMatrix(grd_patcatheter.row, grd_patcatheter.colRef("carerecseqno")) == grd_patcatheter.valueMatrix(i, grd_patcatheter.colRef("carerecseqno"))){
  4277. grd_patcatheter.valueMatrix(i, grd_patcatheter.colRef("loc")) = sLoc;
  4278. if(grd_patcatheter.rowStatus(i) == 0){
  4279. grd_patcatheter.rowStatus(i) = 2;
  4280. }
  4281. }
  4282. }
  4283. }
  4284. break;
  4285. case "init" :
  4286. sMappseqno = model.getValue(xCathListPath + "["+ pRow +"]/supnm");
  4287. sCalcscorcd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/calcscorcd");
  4288. sGrupsnglflag = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/grupsnglflag");
  4289. sMatrsizeflag = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/matrsizeflag");
  4290. sPrcpclscd = model.getValue(xPrcpComboListPath+"[mappseqno='"+sMappseqno+"']/prcpclscd");
  4291. if(sPrcpclscd == "M2" && sGrupsnglflag == "S" && sMatrsizeflag == "Y"){
  4292. if(sSizeList == ""){
  4293. sSizeList += "'"+sCalcscorcd+"'";
  4294. }else{
  4295. sSizeList += ",'"+sCalcscorcd+"'";
  4296. }
  4297. }
  4298. break;
  4299. }
  4300. //grd_patcatheter.rebuild();
  4301. }
  4302. /**
  4303. * @group :
  4304. * @ver : 2007.06.08
  4305. * @by : 양천덕
  4306. * @---------------------------------------------------
  4307. * @type : function
  4308. * @access : public
  4309. * @desc : 아이템 등록화면 아이템 구분 설정
  4310. * @param :
  4311. * @return :
  4312. * @---------------------------------------------------
  4313. */
  4314. function fSettingTopDeptStyle(){
  4315. //
  4316. var changecol = grd_clncobslist.colRef("depth");
  4317. for(var i = grd_clncobslist.fixedRows ; i < grd_clncobslist.rows ; i ++ ){
  4318. if(grd_clncobslist.valueMatrix(i, changecol) == "1"){
  4319. grd_clncobslist.rowstyle(i, "data", "font-weight") = "bold";
  4320. grd_clncobslist.rowstyle(i, "data", "color") = "#0000ff";
  4321. }
  4322. }
  4323. var changecol = grd_inoutlist.colRef("depth");
  4324. for(var i = grd_inoutlist.fixedRows ; i < grd_inoutlist.rows ; i ++ ){
  4325. if(grd_inoutlist.valueMatrix(i, changecol) == "1"){
  4326. grd_inoutlist.rowstyle(i, "data", "font-weight") = "bold";
  4327. grd_inoutlist.rowstyle(i, "data", "color") = "#0000ff";
  4328. }
  4329. }
  4330. var changecol = grd_cathlist.colRef("depth");
  4331. for(var i = grd_cathlist.fixedRows ; i < grd_cathlist.rows ; i ++ ){
  4332. if(grd_cathlist.valueMatrix(i, changecol) == "1"){
  4333. grd_cathlist.rowstyle(i, "data", "font-weight") = "bold";
  4334. grd_cathlist.rowstyle(i, "data", "color") = "#0000ff";
  4335. }
  4336. }
  4337. var changecol = grd_careexeclist.colRef("depth");
  4338. for(var i = grd_careexeclist.fixedRows ; i < grd_careexeclist.rows ; i ++ ){
  4339. if(grd_careexeclist.valueMatrix(i, changecol) == "1"){
  4340. grd_careexeclist.rowstyle(i, "data", "font-weight") = "bold";
  4341. grd_careexeclist.rowstyle(i, "data", "color") = "#0000ff";
  4342. }
  4343. }
  4344. }
  4345. /**
  4346. * @group :
  4347. * @ver : 2008.06.12
  4348. * @by : 양천덕
  4349. * @---------------------------------------------------
  4350. * @type : function
  4351. * @access : public
  4352. * @desc : 그리드 팝업메뉴 SETTING
  4353. * @param : pFlag
  4354. * @return :
  4355. * @---------------------------------------------------
  4356. */
  4357. function fSettingPopUpMenu(pFlag){
  4358. model.setValue("/root/temp/popupflag", "");
  4359. switch(pFlag){
  4360. case "time" :
  4361. grd_timeset.row = grd_timeset.mouseRow;
  4362. if(event.button == 3){
  4363. if(grd_timeset.isCell(event.target) && grd_timeset.mouseRow >= grd_timeset.fixedrows){
  4364. var iRow = grd_timeset.row;
  4365. if(grd_timeset.rowStatus(iRow) == 4 ){
  4366. window.setPopupMenu(true, "/root/hidden/popmenu/TimesettingDelCancel/menu", "name", "func", false);
  4367. }else{
  4368. window.setPopupMenu(true, "/root/hidden/popmenu/TimesettingDel/menu", "name", "func", false);
  4369. }
  4370. }else{
  4371. window.setPopupMenu(false);
  4372. }
  4373. }
  4374. break;
  4375. case "basic" :
  4376. grd_nursebasic.row = grd_nursebasic.mouseRow;
  4377. if(event.button == 3){
  4378. if(grd_nursebasic.isCell(event.target) && grd_nursebasic.mouseRow >= grd_nursebasic.fixedrows &&
  4379. grd_nursebasic.col >= grd_nursebasic.colRef("recdt1")){
  4380. window.setPopupMenu(true, "/root/hidden/popmenu/BaseItem/menu", "name", "func", false);
  4381. }else{
  4382. window.setPopupMenu(false);
  4383. }
  4384. }
  4385. break;
  4386. case "patitem" :
  4387. grd_patitemlist.row = grd_patitemlist.mouseRow;
  4388. if(event.button == 3){
  4389. if(grd_patitemlist.isCell(event.target) && grd_patitemlist.mouseRow >= grd_patitemlist.fixedrows){
  4390. var iRow = grd_patitemlist.row;
  4391. if(grd_patitemlist.rowStatus(iRow) == 4 ){
  4392. window.setPopupMenu(true, "/root/hidden/popmenu/ItemsettingDelCancel/menu", "name", "func", false);
  4393. }else{
  4394. if(grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemorigincd")) == "00"){
  4395. if(grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("mainrecflag")) == "D" ||
  4396. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("mainrecflag")) == "G" ||
  4397. (grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("mainrecflag")) == "E" && grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("pexrextyn")) == "Y" )){
  4398. window.setPopupMenu(true, "/root/hidden/popmenu/ItemSettingCase2/menu", "name", "func", false);
  4399. }else{
  4400. window.setPopupMenu(true, "/root/hidden/popmenu/ItemSettingCase1/menu", "name", "func", false);
  4401. }
  4402. }else if(grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemorigincd")) == "04"){
  4403. window.setPopupMenu(true, "/root/hidden/popmenu/ItemSettingCase3/menu", "name", "func", false);
  4404. }
  4405. }
  4406. }else{
  4407. window.setPopupMenu(false);
  4408. }
  4409. }
  4410. break;
  4411. case "additemnmchg" :
  4412. var sTarget = event.currentTarget;
  4413. model.setValue("/root/temp/popupflag", sTarget);
  4414. group_chngnm.visible = false;
  4415. if(event.button == 3){
  4416. if(sTarget == "grd_clncobslist"){
  4417. if(grd_clncobslist.valueMatrix(grd_clncobslist.mouseRow, grd_clncobslist.colref("depth")) == "1" )return;
  4418. if(grd_clncobslist.valueMatrix(grd_clncobslist.mouseRow, grd_clncobslist.colref("extyn")) == "N" )return;
  4419. if(grd_clncobslist.isCell(event.target) && grd_clncobslist.mouseRow >= grd_clncobslist.fixedrows){
  4420. window.setPopupMenu(true, "/root/hidden/popmenu/AddItemChgNm/menu", "name", "func", false);
  4421. }
  4422. }else if(sTarget == "grd_inoutlist"){
  4423. if(grd_inoutlist.valueMatrix(grd_inoutlist.mouseRow, grd_inoutlist.colref("depth")) == "1" )return;
  4424. if(grd_inoutlist.valueMatrix(grd_inoutlist.mouseRow, grd_inoutlist.colref("extyn")) == "N" )return;
  4425. if(grd_inoutlist.isCell(event.target) && grd_inoutlist.mouseRow >= grd_inoutlist.fixedrows){
  4426. window.setPopupMenu(true, "/root/hidden/popmenu/AddItemChgNm/menu", "name", "func", false);
  4427. }
  4428. }else if(sTarget == "grd_cathlist"){
  4429. if(grd_cathlist.valueMatrix(grd_cathlist.mouseRow, grd_cathlist.colref("depth")) == "1" )return;
  4430. if(grd_cathlist.valueMatrix(grd_cathlist.mouseRow, grd_cathlist.colref("extyn")) == "N" )return;
  4431. if(grd_cathlist.isCell(event.target) && grd_cathlist.mouseRow >= grd_cathlist.fixedrows){
  4432. window.setPopupMenu(true, "/root/hidden/popmenu/AddItemChgNm/menu", "name", "func", false);
  4433. }
  4434. }else if(sTarget == "grd_careexeclist"){
  4435. if(grd_careexeclist.valueMatrix(grd_careexeclist.mouseRow, grd_careexeclist.colref("depth")) == "1" )return;
  4436. if(grd_careexeclist.valueMatrix(grd_careexeclist.mouseRow, grd_careexeclist.colref("extyn")) == "N" )return;
  4437. if(grd_careexeclist.isCell(event.target) && grd_careexeclist.mouseRow >= grd_careexeclist.fixedrows){
  4438. window.setPopupMenu(true, "/root/hidden/popmenu/AddItemChgNm/menu", "name", "func", false);
  4439. }
  4440. }else{
  4441. window.setPopupMenu(false);
  4442. }
  4443. }
  4444. break;
  4445. }
  4446. }
  4447. /**
  4448. * @group :
  4449. * @ver : 2008.06.12
  4450. * @by : 양천덕
  4451. * @---------------------------------------------------
  4452. * @type : function
  4453. * @access : public
  4454. * @desc : Item Setting 항목 삭제
  4455. * @param :
  4456. * @return :
  4457. * @---------------------------------------------------
  4458. */
  4459. function fDelClickItem(){
  4460. var iRow = grd_patitemlist.row;
  4461. var sAnptseqno = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("apntseqno"));
  4462. var status = grd_patitemlist.rowStatus(iRow);
  4463. var sCathRecYn = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("cathrecyn"));
  4464. var sInstruRecYn = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("instrurecyn"));
  4465. if( status == 0 || status == 2){
  4466. if(sCathRecYn == "Y"){
  4467. messageBox("Catheter 아이템은 삽관 기록에서 '제거'해야 합니다.","E");
  4468. return;
  4469. }
  4470. if(sInstruRecYn == "Y"){
  4471. messageBox("기구 아이템은 기구관리기록에서 'Remove' 해야 합니다.","E");
  4472. return;
  4473. }
  4474. grd_patitemlist.rowStatus(iRow) = 4;
  4475. }else if(status == 1 || status == 3){
  4476. grd_patitemlist.deleteRow(iRow);
  4477. }else if(status == 4){
  4478. //if(instance1.selectSingleNode(xTimeListPath+"["+iRow+"]").xml != instance1.selectSingleNode(xTempItemSetListPath+"[anptseqno ='"+sAnptseqno+"']").xml){
  4479. if(model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/clincobsyn") ||
  4480. model.getValue(xPatItemLIstPath+"["+iRow+"]/clincobsprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/clincobsprcpyn") ||
  4481. model.getValue(xPatItemLIstPath+"["+iRow+"]/intkyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/intkyn") ||
  4482. model.getValue(xPatItemLIstPath+"["+iRow+"]/outptyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/outptyn") ||
  4483. model.getValue(xPatItemLIstPath+"["+iRow+"]/cateyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/cateyn") ||
  4484. model.getValue(xPatItemLIstPath+"["+iRow+"]/cateprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/cateprcpyn") ||
  4485. model.getValue(xPatItemLIstPath+"["+iRow+"]/instruyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/instruyn") ||
  4486. model.getValue(xPatItemLIstPath+"["+iRow+"]/instruprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/instruprcpyn") ||
  4487. model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/careexecyn") ||
  4488. model.getValue(xPatItemLIstPath+"["+iRow+"]/careexecprcpyn") != model.getValue(xTempPatItemLIstPath+"["+iRow+"]/careexecprcpyn")){
  4489. grd_patitemlist.rowStatus(iRow) = 2;
  4490. }else{
  4491. grd_patitemlist.rowStatus(iRow) = 0;
  4492. }
  4493. }
  4494. }
  4495. /**
  4496. * @group :
  4497. * @ver : 2008.06.12
  4498. * @by : 양천덕
  4499. * @---------------------------------------------------
  4500. * @type : function
  4501. * @access : public
  4502. * @desc : Item Setting 항목명 변경 창 설정
  4503. * @param :
  4504. * @return :
  4505. * @---------------------------------------------------
  4506. */
  4507. function fItemChngNmOpen(){
  4508. var sX = 0;
  4509. var sY = 0;
  4510. var iRow = 0;
  4511. var sPopupFlag = model.getValue("/root/temp/popupflag");
  4512. // var sCtrlObj = document.controls(pCtrlObj);
  4513. // iRow = sCtrlObj.row;
  4514. sX = event.clientX - 20;
  4515. sY = event.clientY - 50;
  4516. group_chngnm.visible = true;
  4517. group_chngnm.attribute("left") = sX;
  4518. group_chngnm.attribute("top") = sY;
  4519. model.setFocus("ipt_chngnm");
  4520. }
  4521. /**
  4522. * @group :
  4523. * @ver : 2008.06.12
  4524. * @by : 양천덕
  4525. * @---------------------------------------------------
  4526. * @type : function
  4527. * @access : public
  4528. * @desc : Item Setting 항목명 변경 등록 및 취소
  4529. * @param :
  4530. * @return :
  4531. * @---------------------------------------------------
  4532. */
  4533. function fItemChgNmExec(pFlag){
  4534. var iRow = 0;
  4535. var sPopupFlag = model.getValue("/root/temp/popupflag");
  4536. var sChangNm = "("+ipt_chngnm.currentText+")";
  4537. switch(pFlag){
  4538. case "ins":
  4539. model.setValue("/root/temp/itemchngnm", sChangNm);
  4540. fSendPatItemList("ChngItem", sPopupFlag);
  4541. group_chngnm.visible = false;
  4542. ipt_chngnm.value = "";
  4543. model.setValue("/root/temp/itemchngnm", "");
  4544. break;
  4545. case "cncl":
  4546. group_chngnm.visible = false;
  4547. ipt_chngnm.value = "";
  4548. model.setValue("/root/temp/itemchngnm", "");
  4549. break;
  4550. }
  4551. }
  4552. /**
  4553. * @group :
  4554. * @ver : 2008.07.02
  4555. * @by : 양천덕
  4556. * @---------------------------------------------------
  4557. * @type : function
  4558. * @access : public
  4559. * @desc :
  4560. * @param : 환자 선택 여부확인
  4561. * @return :
  4562. * @---------------------------------------------------
  4563. */
  4564. function fChkTgtPatInfo(pFlag, pAble){
  4565. switch(pAble){
  4566. case "disable":
  4567. switch(pFlag){
  4568. case "Item" :
  4569. caption6.value = "간호관리아이템";
  4570. break;
  4571. case "CareExec" :
  4572. caption6.value = "간호수행";
  4573. break;
  4574. case "Cath" :
  4575. caption6.value = "삽관/기구";
  4576. break;
  4577. }
  4578. btn_directinsert.disabled = true;
  4579. btn_init.disabled = true;
  4580. btn_savetimeset.disabled = true;
  4581. btn_insItem.disabled = true;
  4582. btn_saveItem.disabled = true;
  4583. btn_timesetting.disabled = true;
  4584. btn_itempopup.disabled = true;
  4585. btn_insset.disabled = true;
  4586. btn_itemresrch.disabled = true;
  4587. radio2.disabled = true;
  4588. btn_autocurdate.disabled = true;
  4589. btn_savecareexec.disabled = true;
  4590. button4.disabled = true;
  4591. button3.disabled = true;
  4592. btn_reccncl.disabled = true;
  4593. btn_careexecresrch.disabled = true;
  4594. //rdo_nurseflag.disabled = true;
  4595. ipt_nursesrchdd.disabled = true;
  4596. ipt_nursesrchtm.disabled = true;
  4597. btn_delnurserec.disabled = true;
  4598. radio1.disabled = true;
  4599. button5.disabled = true;
  4600. btn_savecathter.disabled = true;
  4601. btn_cathreccncl.disabled = true;
  4602. rdo_instru.disabled = true;
  4603. btn_saveinstru.disabled = true;
  4604. btn_resrchinstru.disabled = true;
  4605. btn_delinstru.disabled = true;
  4606. break;
  4607. case "able":
  4608. switch(pFlag){
  4609. case "Item" :
  4610. caption6.value = "간호관리아이템";
  4611. break;
  4612. case "CareExec" :
  4613. caption6.value = "간호수행";
  4614. ipt_nursesrchdd.value = getCurrentDate();
  4615. ipt_nursesrchtm.value = getCurrentTime().substring(0,4);
  4616. break;
  4617. case "Cath" :
  4618. caption6.value = "삽관/기구";
  4619. break;
  4620. }
  4621. btn_directinsert.disabled = false;
  4622. btn_init.disabled = false;
  4623. btn_savetimeset.disabled = false;
  4624. btn_insItem.disabled = false;
  4625. btn_saveItem.disabled = false;
  4626. btn_timesetting.disabled = false;
  4627. btn_itempopup.disabled = false;
  4628. btn_insset.disabled = false;
  4629. btn_itemresrch.disabled = false;
  4630. radio2.disabled = false;
  4631. btn_autocurdate.disabled = false;
  4632. btn_savecareexec.disabled = false;
  4633. button4.disabled = false;
  4634. button3.disabled = false;
  4635. btn_careexecresrch.disabled = false;
  4636. //rdo_nurseflag.disabled = false;
  4637. ipt_nursesrchdd.disabled = false;
  4638. ipt_nursesrchtm.disabled = false;
  4639. btn_delnurserec.disabled = false;
  4640. radio1.disabled = false;
  4641. button5.disabled = false;
  4642. btn_savecathter.disabled = false;
  4643. btn_cathreccncl.disabled = false;
  4644. rdo_instru.disabled = false;
  4645. btn_saveinstru.disabled = false;
  4646. btn_resrchinstru.disabled = false;
  4647. btn_delinstru.disabled = false;
  4648. break;
  4649. }
  4650. }
  4651. /**
  4652. * @group :
  4653. * @ver : 2008.07.02
  4654. * @by : 양천덕
  4655. * @---------------------------------------------------
  4656. * @type : function
  4657. * @access : public
  4658. * @desc :
  4659. * @param : 인증 데이터 생성
  4660. * @return :
  4661. * @---------------------------------------------------
  4662. */
  4663. function fMake_SignData(){
  4664. var Screen_Param = model.getValue("/root/main/cond/screenvalue");
  4665. if(sMakeSingFunc == "sign"){
  4666. switch(Screen_Param){
  4667. case "CareExec": //간호수행기록 인증데이터 생성
  4668. switch(sSaveDataFlag){
  4669. case "1": //간호수행등록 인증데이터 생성
  4670. Sign.addnode("/root/hidden/careexecinfo");
  4671. for(var i = 1 ; i <= getNodesetCount(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist") ; i ++){
  4672. var sRecRslt = model.getValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/elmtcd");
  4673. var sAttrInfo = model.getValue(xTempCareExecAttrPath+"[attrcd='"+sRecRslt+"']/attrnm");
  4674. if(sRecRslt != "" && sAttrInfo != ""){
  4675. model.setValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/elmtcd", sAttrInfo );
  4676. }
  4677. var sRecRslt = model.getValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/execpridunit");
  4678. var sAttrInfo = model.getValue("/root/init/execpridlist/item[cd='"+sRecRslt+"']/nm");
  4679. if(sRecRslt != "" && sAttrInfo != ""){
  4680. model.setValue(Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist["+i+"]/execpridunit", sAttrInfo );
  4681. }
  4682. }
  4683. break;
  4684. case "2": //기본간호등록 인증데이터 생성
  4685. Sign.addnode("/root/hidden/nursebasicinfo");
  4686. break;
  4687. }
  4688. break;
  4689. case "Cath": //기구및 삽관기록 인증데이터 생성
  4690. if (sSaveDataFlag == "3"){
  4691. Sign.addnode("/root/hidden/instruinfo");
  4692. var xPathInstruSignInfo = Sign.XPATH_SIGNINFO+"/instruinfo/instrulist";
  4693. for(var i = 1 ; i <= getNodesetCount(xPathInstruSignInfo) ; i ++){
  4694. var sOpflag = model.getValue(xPathInstruSignInfo+"["+i+"]/opflag");
  4695. if(sOpflag != "" ){
  4696. model.setValue(xPathInstruSignInfo+"["+i+"]/opflag", model.getValue("/root/init/instruopflaglist/item[cd='"+sOpflag+"']/nm"));
  4697. }
  4698. }
  4699. } else {
  4700. Sign.addnode("/root/hidden/cathinfo");
  4701. var xPathCathSignInfo = Sign.XPATH_SIGNINFO + "/cathinfo/cathlist";
  4702. for(var i = 1 ; i <= getNodesetCount(xPathCathSignInfo) ; i ++){
  4703. var sOpflag = model.getValue(xPathCathSignInfo+"["+i+"]/opflag");
  4704. if(sOpflag != "" ){
  4705. model.setValue(xPathCathSignInfo+"["+i+"]/opflag", model.getValue("/root/init/cathopflaglist/item[cd='"+sOpflag+"']/nm"));
  4706. }
  4707. var sSupnm = model.getValue(xPathCathSignInfo+"["+i+"]/supnm");
  4708. var sPrcpCd = "";
  4709. if(sSupnm != "" ){
  4710. var sAttrInfo = model.getValue("/root/temp/itemmappinfo/itemmapplist[mappseqno='"+sSupnm+"']/prcpnm");
  4711. sPrcpCd = model.getValue("/root/temp/itemmappinfo/itemmapplist[mappseqno='"+sSupnm+"']/prcpcd");
  4712. if(sAttrInfo != ""){
  4713. model.setValue(xPathCathSignInfo+"["+i+"]/supnm", sAttrInfo);
  4714. }
  4715. }
  4716. var sPeriodUnit = model.getValue(xPathCathSignInfo+"["+i+"]/periodunit");
  4717. if(sPeriodUnit != "" ){
  4718. model.setValue(xPathCathSignInfo+"["+i+"]/periodunit", model.getValue("/root/init/periodlist/item[cd='"+sPeriodUnit+"']/nm"));
  4719. }
  4720. var sVol = model.getValue(xPathCathSignInfo+"["+i+"]/vol");
  4721. if(sVol != "" ){
  4722. var sAttrInfo = model.getValue("/root/temp/allsizeinfo/allsizelist[allsizespecid='"+sVol+"' and prcpcd ='"+sPrcpCd+"']/goodspec");
  4723. if(sAttrInfo != ""){
  4724. model.setValue(xPathCathSignInfo+"["+i+"]/vol", sAttrInfo);
  4725. }
  4726. }
  4727. var sFixUnit = model.getValue(xPathCathSignInfo+"["+i+"]/fixunit");
  4728. if(sFixUnit != "" ){
  4729. model.setValue(xPathCathSignInfo+"["+i+"]/fixunit", model.getValue("/root/init/fixlist/item[cd='"+sFixUnit+"']/nm"));
  4730. }
  4731. var sPresUnit = model.getValue(xPathCathSignInfo+"["+i+"]/presunit");
  4732. if(sPresUnit != "" ){
  4733. model.setValue(xPathCathSignInfo+"["+i+"]/presunit", model.getValue("/root/init/preslist/item[cd='"+sPresUnit+"']/nm"));
  4734. }
  4735. }
  4736. }
  4737. break;
  4738. }
  4739. }else{ //통합기록 view data 생성
  4740. switch(Screen_Param){
  4741. case "CareExec": //간호수행기록 인증데이터 생성
  4742. switch(sSaveDataFlag){
  4743. case "1": //간호수행등록 인증데이터 생성
  4744. Sign.addnode("/root/hidden/careexecinfo");
  4745. var xPathCathExecSignInfo = Sign.XPATH_SIGNINFO+"/careexecinfo/careexeclist";
  4746. //alert(getNodesetCount(xPathCathExecSignInfo));
  4747. for(var i = 1 ; i <= getNodesetCount(xPathCathExecSignInfo) ; i ++){
  4748. var sRecRslt = model.getValue(xPathCathExecSignInfo+"["+i+"]/elmtcd");
  4749. var sAttrInfo = model.getValue(xViewAttrNodePath+"[attrcd='"+sRecRslt+"']/attrnm");
  4750. if(sRecRslt != "" && sAttrInfo != ""){
  4751. model.setValue(xPathCathExecSignInfo+"["+i+"]/elmtcd", sAttrInfo );
  4752. }
  4753. var sRecRslt = model.getValue(xPathCathExecSignInfo+"["+i+"]/execpridunit");
  4754. var sAttrInfo = model.getValue("/root/init/execpridlist/item[cd='"+sRecRslt+"']/nm");
  4755. if(sRecRslt != "" && sAttrInfo != ""){
  4756. model.setValue(xPathCathExecSignInfo+"["+i+"]/execpridunit", sAttrInfo );
  4757. }
  4758. }
  4759. break;
  4760. case "2": //기본간호등록 인증데이터 생성
  4761. Sign.addnode("/root/hidden/nursebasicinfo");
  4762. break;
  4763. }
  4764. break;
  4765. case "Cath": //기구및 삽관기록 인증데이터 생성
  4766. if (sSaveDataFlag == "3"){
  4767. Sign.addnode("/root/hidden/instruinfo");
  4768. var xPathInstruSignInfo = Sign.XPATH_SIGNINFO+"/instruinfo/instrulist";
  4769. for(var i = 1 ; i <= getNodesetCount(xPathInstruSignInfo) ; i ++){
  4770. var sOpflag = model.getValue(xPathInstruSignInfo+"["+i+"]/opflag");
  4771. if(sOpflag != "" ){
  4772. model.setValue(xPathInstruSignInfo+"["+i+"]/opflag", model.getValue("/root/init/instruopflaglist/item[cd='"+sOpflag+"']/nm"));
  4773. }
  4774. }
  4775. } else {
  4776. Sign.addnode("/root/hidden/cathinfo");
  4777. var xPathCathSignInfo = Sign.XPATH_SIGNINFO+"/cathinfo/cathlist";
  4778. for(var i = 1 ; i <= getNodesetCount(xPathCathSignInfo) ; i ++){
  4779. var sOpflag = model.getValue(xPathCathSignInfo+"["+i+"]/opflag");
  4780. if(sOpflag != "" ){
  4781. model.setValue(xPathCathSignInfo+"["+i+"]/opflag", model.getValue("/root/init/cathopflaglist/item[cd='"+sOpflag+"']/nm"));
  4782. }
  4783. var sSupnm = model.getValue(xPathCathSignInfo+"["+i+"]/supnm");
  4784. var sPrcpCd = "";
  4785. if(sSupnm != "" ){
  4786. var sAttrInfo = model.getValue(xViewAttrNodePath+"[mappseqno='"+sSupnm+"']/prcpnm");
  4787. sPrcpCd = model.getValue(xViewAttrNodePath+"[mappseqno='"+sSupnm+"']/prcpcd");
  4788. if(sAttrInfo != ""){
  4789. model.setValue(xPathCathSignInfo+"["+i+"]/supnm", sAttrInfo);
  4790. }
  4791. }
  4792. var sPeriodUnit = model.getValue(xPathCathSignInfo+"["+i+"]/periodunit");
  4793. if(sPeriodUnit != "" ){
  4794. model.setValue(xPathCathSignInfo+"["+i+"]/periodunit", model.getValue("/root/init/periodlist/item[cd='"+sPeriodUnit+"']/nm"));
  4795. }
  4796. var sVol = model.getValue(xPathCathSignInfo+"["+i+"]/vol");
  4797. if(sVol != "" ){
  4798. var sAttrInfo = model.getValue(xViewSizeNodePath+"[allsizespecid='"+sVol+"' and prcpcd ='"+sPrcpCd+"']/goodspec");
  4799. if(sAttrInfo != ""){
  4800. model.setValue(xPathCathSignInfo+"["+i+"]/vol", sAttrInfo);
  4801. }
  4802. }
  4803. var sFixUnit = model.getValue(xPathCathSignInfo+"["+i+"]/fixunit");
  4804. if(sFixUnit != "" ){
  4805. model.setValue(xPathCathSignInfo+"["+i+"]/fixunit", model.getValue("/root/init/fixlist/item[cd='"+sFixUnit+"']/nm"));
  4806. }
  4807. var sPresUnit = model.getValue(xPathCathSignInfo+"["+i+"]/presunit");
  4808. if(sPresUnit != "" ){
  4809. model.setValue(xPathCathSignInfo+"["+i+"]/presunit", model.getValue("/root/init/preslist/item[cd='"+sPresUnit+"']/nm"));
  4810. }
  4811. }
  4812. }
  4813. break;
  4814. }
  4815. }
  4816. //Make View 프로세스 초기화
  4817. sMakeSingFunc = "sign";
  4818. }
  4819. /**
  4820. * @group :
  4821. * @ver : 2008.07.31
  4822. * @by : 양천덕
  4823. * @---------------------------------------------------
  4824. * @type : function
  4825. * @access : public
  4826. * @desc :
  4827. * @param : 확장명/부위 정보 입력 popup 호출
  4828. * @return :
  4829. * @---------------------------------------------------
  4830. */
  4831. /** <standard>
  4832. *개발일시 : 2010.03.08
  4833. *개발자 : 양천덕
  4834. *요청병원 : 세종병원
  4835. *요청파트 : 간호
  4836. *개발내용 : 확장명 변경시 변경명칭 Param 추가
  4837. </standard>
  4838. */
  4839. function fInputExtNm(){
  4840. var iRow = grd_patitemlist.row;
  4841. var status = grd_patitemlist.rowStatus(iRow);
  4842. var sCathRecYn = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("cathrecyn"));
  4843. var sInstruRecYn = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("instrurecyn"));
  4844. var sPexrPecYn = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("pexryn"));
  4845. var sItemOrigin = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemorigincd"));
  4846. var sMainRecFlag = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("mainrecflag"));
  4847. var sCareRecSeqNo = "";
  4848. var sItemnm = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemnm"));
  4849. var sChngitemnm = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("chngitemnm"));
  4850. var sItemCd = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("itemcd"));
  4851. var sRecFluidUnit = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("recfluidunit"));
  4852. var sParamInfo = "";
  4853. var sRtnParamInfo = "";
  4854. if(sMainRecFlag == "A"){
  4855. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("clincobs_carerecseqno"));
  4856. }
  4857. if(sMainRecFlag == "B"){
  4858. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("intake_carerecseqno"));
  4859. }
  4860. if(sMainRecFlag == "C"){
  4861. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("output_carerecseqno"));
  4862. }
  4863. if(sMainRecFlag == "D"){
  4864. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("cate_carerecseqno"));
  4865. }
  4866. if(sMainRecFlag == "E"){
  4867. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("careexec_carerecseqno"));
  4868. }
  4869. if(sMainRecFlag == "G"){
  4870. sCareRecSeqNo = grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("instru_carerecseqno"));
  4871. }
  4872. if( status == 0 || status == 2){
  4873. if(sInstruRecYn == "Y"){
  4874. messageBox("기구 아이템의 기구기록이 있습니다.\n기구기록지에서 부위 정보를 입력해야 합니다.","E");
  4875. return;
  4876. }
  4877. if(sCathRecYn == "Y"){
  4878. messageBox("Catheter 아이템의 삽관기록이 있습니다.\n삽관기록지에서 부위 정보를 입력해야 합니다.","E");
  4879. return;
  4880. }
  4881. if(sPexrPecYn == "Y"){
  4882. messageBox("간호수행 아이템의 수행기록이 있습니다.\n간호수행기록지에서 부위 정보를 입력해야 합니다.","E");
  4883. return;
  4884. }
  4885. sParamInfo = "upd▦";
  4886. }else if(status == 1 || status == 3){
  4887. sParamInfo = "ins▦";
  4888. }
  4889. setParameter("SPMNR06100_Param",sParamInfo+sItemOrigin+"▦"+sCareRecSeqNo+"▦"+sPid+"▦"+sOrdDD+"▦"+sCretNo+"▦"+sItemnm+"▦"+sChngitemnm+"▦"+sItemCd+"▦"+sRecFluidUnit+"▩");
  4890. modal("SPMNR06100_Param","1",event.clientX , event.clientY);
  4891. sRtnParamInfo = getParameter("SPMNR06100_RtnParam");
  4892. if(sRtnParamInfo == ""){
  4893. return;
  4894. }
  4895. if( getArrayData(sRtnParamInfo, 0, 0) == "ins" ){
  4896. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("patitemnm")) = getArrayData(sRtnParamInfo, 0, 2);
  4897. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("chngitemnm")) = getArrayData(sRtnParamInfo, 0, 3);
  4898. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("recfluidunit")) = getArrayData(sRtnParamInfo, 0, 4);
  4899. }else{
  4900. if(getArrayData(sRtnParamInfo, 0, 5) == "true"){
  4901. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("patitemnm")) = getArrayData(sRtnParamInfo, 0, 2);
  4902. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("chngitemnm")) = getArrayData(sRtnParamInfo, 0, 3);
  4903. grd_patitemlist.valueMatrix(iRow, grd_patitemlist.colRef("recfluidunit")) = getArrayData(sRtnParamInfo, 0, 4);
  4904. }
  4905. }
  4906. clearParameter("SPMNR06100_RtnParam");
  4907. }
  4908. /**
  4909. * @group :
  4910. * @ver : 2008.11.08
  4911. * @by : 양천덕
  4912. * @---------------------------------------------------
  4913. * @type : function
  4914. * @access : public
  4915. * @desc :
  4916. * @param : 기본간호기록 삭제 처리
  4917. * @return :
  4918. * @---------------------------------------------------
  4919. */
  4920. function fDelNurseBasicRec(){
  4921. var sDelRow = grd_nursebasic.row;
  4922. var sDelCol = grd_nursebasic.col;
  4923. var sDelIndx = "";
  4924. sBasicNursCurrRow = grd_nursebasic.row;
  4925. if(grd_nursebasic.valueMatrix(sDelRow,sDelCol) == ""){
  4926. messageBox("삭제할 기록내역을 선택하십시요","E");
  4927. return;
  4928. }
  4929. var msg = messageBox("선택한 기록내역을","Q001");
  4930. if(msg == "6"){
  4931. model.removenodeSet("/root/send");
  4932. switch (sDelCol){
  4933. case 5 :
  4934. case 6 :
  4935. case 7 :
  4936. sDelIndx ="1";
  4937. break;
  4938. case 8 :
  4939. case 9 :
  4940. case 10 :
  4941. sDelIndx ="2";
  4942. break;
  4943. case 11 :
  4944. case 12 :
  4945. case 13 :
  4946. sDelIndx ="3";
  4947. break;
  4948. case 14 :
  4949. case 15 :
  4950. case 16 :
  4951. sDelIndx ="4";
  4952. break;
  4953. case 17 :
  4954. case 18 :
  4955. case 19 :
  4956. sDelIndx ="5";
  4957. break;
  4958. case 20 :
  4959. case 21 :
  4960. case 22 :
  4961. sDelIndx ="6";
  4962. break;
  4963. case 23 :
  4964. case 24 :
  4965. case 25 :
  4966. sDelIndx ="7";
  4967. break;
  4968. case 26 :
  4969. case 27 :
  4970. case 28 :
  4971. sDelIndx ="8";
  4972. break;
  4973. case 29 :
  4974. case 30 :
  4975. case 31 :
  4976. sDelIndx ="9";
  4977. break;
  4978. case 32 :
  4979. case 33 :
  4980. case 34 :
  4981. sDelIndx ="10";
  4982. break;
  4983. case 35 :
  4984. case 36 :
  4985. case 37 :
  4986. sDelIndx ="11";
  4987. break;
  4988. case 38 :
  4989. case 39 :
  4990. case 40 :
  4991. sDelIndx ="12";
  4992. break;
  4993. }
  4994. model.makeValue("/root/send/recflag" , "B");
  4995. model.makeValue("/root/send/supcd" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/msupcd"));
  4996. model.makeValue("/root/send/itemcd" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/mitemcd"));
  4997. model.makeValue("/root/send/signno" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/signno" + sDelIndx ));
  4998. model.makeValue("/root/send/seqno" , model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/seqno" + sDelIndx ));
  4999. model.makeValue("/root/send/pid" , sPid);
  5000. model.makeValue("/root/send/orddd" , sOrdDD);
  5001. model.makeValue("/root/send/indd" , sOrdDD);
  5002. model.makeValue("/root/send/cretno" , sCretNo);
  5003. sRecDD[0] = model.getValue(xNurseBasicInfoPath + "/nursebasiclist[" + sDelRow + "]/recdd" + sDelIndx );
  5004. submit("TXMNR04107", false);
  5005. fMakeViewData("B");
  5006. fGetNurseRecord();
  5007. }else{
  5008. return;
  5009. }
  5010. }
  5011. /**
  5012. * @group :
  5013. * @ver : 2008.11.08
  5014. * @by : 양천덕
  5015. * @---------------------------------------------------
  5016. * @type : function
  5017. * @access : public
  5018. * @desc :
  5019. * @param : 간호수행기록 삭제 처리
  5020. * @return :
  5021. * @---------------------------------------------------
  5022. */
  5023. function fDelCareExecRec(){
  5024. var sDelRow = grd_careexecreclist.row;
  5025. if(sDelRow < 1){
  5026. messageBox("삭제할 기록내역을 선택하십시요","E");
  5027. return;
  5028. }
  5029. var msg = messageBox("선택한 기록내역을","Q001");
  5030. if(msg == "6"){
  5031. model.removenodeSet("/root/send");
  5032. model.makeValue("/root/send/recflag" , "E");
  5033. model.makeValue("/root/send/carerecseqno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("carerecseqno")));
  5034. model.makeValue("/root/send/signno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("signno")));
  5035. model.makeValue("/root/send/execseqno" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("execseqno")));
  5036. model.makeValue("/root/send/rsrvyn" , grd_careexecreclist.valueMatrix(sDelRow, grd_careexecreclist.colRef("rsrvyn")));
  5037. model.makeValue("/root/send/pid" , sPid);
  5038. model.makeValue("/root/send/orddd" , sOrdDD);
  5039. model.makeValue("/root/send/cretno" , sCretNo);
  5040. model.makeValue("/root/send/srchflag" , "E");
  5041. submit("TXMNR04107", false);
  5042. fMakeViewData("E");
  5043. fGetCareExecInfo();
  5044. }else{
  5045. return;
  5046. }
  5047. }
  5048. /**
  5049. * @group :
  5050. * @ver : 2008.11.08
  5051. * @by : 양천덕
  5052. * @---------------------------------------------------
  5053. * @type : function
  5054. * @access : public
  5055. * @desc :
  5056. * @param : 삽관기록 삭제 처리(삽입기록 기구관리기록은 삭제가능)
  5057. * @return :
  5058. * @---------------------------------------------------
  5059. */
  5060. function fDelCathRec(pGrdObj, pRecFlag){
  5061. var sDelRow = pGrdObj.row;
  5062. var strMsg = "";
  5063. if(sDelRow < 1){
  5064. messageBox("삭제할 기록내역을 선택하십시요","E");
  5065. return;
  5066. }
  5067. if(pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("opflag")) != "01" && pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("cathseqno")) == ""){
  5068. pGrdObj.deleteRow(sDelRow);
  5069. fCatheterMerge(pRecFlag);
  5070. } else if(pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("opflag")) == "01" && pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("cathseqno")) == ""){
  5071. messageBox("미기록 상태이므로 삭제 ","E001");
  5072. return;
  5073. }else{
  5074. var msg = "";
  5075. if( pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("opflag")) == "01"){
  5076. if (pRecFlag == "D" ){
  5077. strMsg = "[삽입]";
  5078. } else {
  5079. strMsg = "[Apply]";
  5080. }
  5081. msg=messageBox(strMsg + " 기록이 삭제되면 해당 아이템과 관련된 추가 기록내역이 모두 삭제됩니다.","Q001");
  5082. }else {
  5083. msg=messageBox("선택한 기록내역을","Q001");
  5084. }
  5085. if(msg == "6"){
  5086. model.removenodeSet("/root/send");
  5087. model.makeValue("/root/send/recflag" , pRecFlag);
  5088. model.makeValue("/root/send/carerecseqno" , pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("carerecseqno")));
  5089. model.makeValue("/root/send/signno" , pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("signno")));
  5090. model.makeValue("/root/send/cathseqno" , pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("cathseqno")));
  5091. model.makeValue("/root/send/opflag" , pGrdObj.valueMatrix(sDelRow, pGrdObj.colRef("opflag")));
  5092. model.makeValue("/root/send/pid" , sPid);
  5093. model.makeValue("/root/send/orddd" , sOrdDD);
  5094. model.makeValue("/root/send/cretno" , sCretNo);
  5095. model.makeValue("/root/send/cathcond" , "vali");
  5096. submit("TXMNR04107", false);
  5097. fMakeViewData(pRecFlag);
  5098. fSreachCatheterInfo(pRecFlag);
  5099. }else{
  5100. return;
  5101. }
  5102. }
  5103. }
  5104. /**
  5105. * @group :
  5106. * @ver : 2008.11.08
  5107. * @by : 양천덕
  5108. * @---------------------------------------------------
  5109. * @type : function
  5110. * @access : public
  5111. * @desc :
  5112. * @param : 통합기록조회용 view 생성
  5113. * @return :
  5114. * @---------------------------------------------------
  5115. */
  5116. function fMakeViewData(pFlag){
  5117. sMakeSingFunc = "view";
  5118. var sFormCd = "";
  5119. var sMakeViewNode = "";
  5120. var sSignDataRowCnt = 0;
  5121. //통합기록조회용 view data 생성전 노드 삭제
  5122. model.removeNodeset("/root/send");
  5123. model.removeNodeset("/root/temp/SignData");
  5124. model.removeNodeset("/root/hidden/careexecinfo");
  5125. model.removeNodeset("/root/hidden/cathinfo");
  5126. model.removeNodeset("/root/hidden/instruinfo");
  5127. model.removeNodeset("/root/hidden/nursebasicinfo");
  5128. //기록 Flag별 Form코드, ViewNode 지정
  5129. switch(pFlag){
  5130. case "E" :
  5131. sSaveDataFlag = "1";
  5132. sFormCd = "0000002456";
  5133. sMakeViewNode += "/root/hidden/careexecinfo/careexeclist";
  5134. break;
  5135. case "D" :
  5136. sSaveDataFlag = "";
  5137. sFormCd = "0000002468";
  5138. sMakeViewNode += "/root/hidden/cathinfo/cathlist";
  5139. break;
  5140. case "B" :
  5141. sSaveDataFlag = "2";
  5142. sFormCd = "0000002465";
  5143. sMakeViewNode += "/root/hidden/nursebasicinfo/nursebasiclist";
  5144. break;
  5145. case "G" :
  5146. sSaveDataFlag = "3";
  5147. sFormCd = "0900004376";//기구관리 기록
  5148. sMakeViewNode += "/root/hidden/instruinfo/instrulist";
  5149. break;
  5150. }
  5151. var sViewNodeCnt = getNodesetCount("/root/temp/viewinfo/rtnsignlist");
  5152. // if(sViewNodeCnt < 1 || sMakeViewNode == "" ){
  5153. // return;
  5154. // }
  5155. // for(var i = 1 ; i <= sViewNodeCnt ; i ++ ){
  5156. // var sNodeCnt = eval(getNodesetCount(sMakeViewNode)) + 1;
  5157. //
  5158. // model.makeNode(sMakeViewNode+"["+sNodeCnt+"]");
  5159. // model.copyNode(sMakeViewNode+"["+sNodeCnt+"]", "/root/temp/viewinfo/rtnsignlist["+i+"]");
  5160. // }20090410 김홍점 for 문배제
  5161. //20090410 기본간호기록은 하루간격으로 통합기록용데이타생성
  5162. //sRecDD.length 는 최대길이 2 : 수정시 수정전기록일자와 수정후 기록일자 모두 재기록을 해야하므로
  5163. //배열 인덱스는 0부터 시작, 노드는 1부터 시작
  5164. if(sRecDD.length == 0){ // 값이 없을경우 view용 인증저장이 되지 않아서 추가!!
  5165. sRecDD[0] = currentdate;
  5166. }
  5167. for ( var idx = 0 ; idx < (sSaveDataFlag == "2" ? sRecDD.length : 1 ) ; idx++){
  5168. model.removenodeset(sMakeViewNode);
  5169. if ( sViewNodeCnt > 0 && sSaveDataFlag != "2" ){
  5170. model.makeNode(sMakeViewNode);
  5171. copyNodeset(sMakeViewNode,"/root/temp/viewinfo/rtnsignlist");
  5172. } else if ( sViewNodeCnt > 0 && !isNull(sRecDD[idx]) && sSaveDataFlag == "2") {
  5173. model.makeNode(sMakeViewNode);
  5174. copyNodeset(sMakeViewNode,"/root/temp/viewinfo/rtnsignlist[recdd='"+sRecDD[idx]+"']");
  5175. }
  5176. if( getNodesetCount(sMakeViewNode) > 0 ){
  5177. if(Sign.signprocess() == true ){
  5178. sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  5179. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/pid", sPid);
  5180. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddd", sOrdDD);
  5181. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signno", "");
  5182. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/cretno", sCretNo);
  5183. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/recdd", (sSaveDataFlag == "2" ? sRecDD[idx] : sOrdDD ));
  5184. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/rectm", "000000");
  5185. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/recsaveflag", "Y");
  5186. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signflag", "02");
  5187. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signgenrflag", model.getValue("/root/main/paminfo/pamlist/ioflag"));
  5188. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/formcd", sFormCd);
  5189. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddeptcd", model.getValue("/root/main/paminfo/pamlist/orddeptcd"));
  5190. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/orddrid", model.getValue("/root/main/paminfo/pamlist/medispclid"));
  5191. //alert( Sign.signedInfos[1]);
  5192. //alert( Sign.signedInfos[2]);
  5193. //alert( Sign.signedInfos[4]);
  5194. //alert( Sign.signedInfos[5]);
  5195. //alert( Sign.signedInfos[3]);
  5196. //▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  5197. //▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  5198. model.makeValue("/root/send/signdata["+ sSignDataRowCnt +"]/signbfcnts", Sign.signedInfos[1]);
  5199. //▶ 공인인증 처리후 데이터
  5200. //model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signaftcnts", Sign.signedInfos[2]);
  5201. }
  5202. }else if ( getNodesetCount(sMakeViewNode) < 1 ){
  5203. sSignDataRowCnt = eval(getNodesetCount("/root/send/signdata")) + 1;
  5204. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/status", "d"); //삭제 상태
  5205. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/pid", sPid );//등록번호
  5206. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/orddd", sOrdDD);//입원일자(입원,응급)/진료일자(외래)
  5207. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signno", "");//서명번호
  5208. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/cretno", sCretNo); //생성번호
  5209. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/formcd",sFormCd ); //각 기록지별 서식코드
  5210. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signflag","02" ); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  5211. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signgenrflag",model.getValue("/root/main/paminfo/pamlist/ioflag") );//외래/입원구분(코드정의서 M0010 참조)
  5212. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/signbfcnts", "삭제");
  5213. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/recdd",(sSaveDataFlag == "2" ? sRecDD[idx] : sOrdDD ));// 기록이 이루어진 기록일자
  5214. model.makeValue("/root/send/signdata["+sSignDataRowCnt+"]/rectm","000000");// 실제 기록이 이루어진 기록일자
  5215. }
  5216. }
  5217. if ( getNodesetCount("/root/send/signdata") < 1 ){
  5218. return;
  5219. }
  5220. submit("TXMNR00904", false);
  5221. }
  5222. /**
  5223. * @group :
  5224. * @ver : 2011.03.03
  5225. * @by : 안도영
  5226. * @---------------------------------------------------
  5227. * @type : function
  5228. * @access : public
  5229. * @desc : 구역정보 조회 및 내환자정보 숨기기 (응급실인 경우)
  5230. * @param :
  5231. * @param :
  5232. * @return :
  5233. * @---------------------------------------------------
  5234. */
  5235. function fGetWardChngInfo(initFlag, pFlag){
  5236. var instcd = getUserInfo("dutplceinstcd");
  5237. if(initFlag=="Y") {
  5238. var sWardCD = model.getValue(xPatInfoPath+"/wardcd");
  5239. }
  5240. else{
  5241. var sWardCD = model.getValue("/root/main/cond/wardcd");
  5242. }
  5243. if ( sWardCD == eERDEPTCD) {
  5244. eERFLAG = "Y";
  5245. }else{
  5246. eERFLAG = "";
  5247. }
  5248. //model.removeNodeset("/root/send/reqdata");
  5249. //model.makeNode("/root/send/reqdata");
  5250. //model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd"));
  5251. //submit("TRMNW00101");
  5252. //model.setValue("/root/main/cond/settingrnid", "");
  5253. //for(i=1; i <= getNodesetCount("/root/init/settingrn"); i++ ) {
  5254. // if (model.getValue("/root/main/cond/userid") == model.getValue("/root/init/settingrn["+ i +"]/settingrnid")) {
  5255. // model.setValue("/root/main/cond/settingrnid", model.getValue("/root/main/cond/userid"));
  5256. // }
  5257. //}
  5258. //응급실인 경우 구역정보 추가조회
  5259. if(eERFLAG == "Y"){ // 응급실
  5260. cap_settingrn.attribute("left") = 370;
  5261. cmb_settingrn.attribute("left") = 450;
  5262. caption8.attribute("left") = 562;
  5263. cmb_erpat.attribute("left") = 690;
  5264. cmb_pid.attribute("left") = 690;
  5265. ipt_pid.attribute("left") = 791;
  5266. fGetZoneList();
  5267. cap_ward.visible = "true";
  5268. cmb_zone.visible = "true";
  5269. cap_ward.attribute("text") = "구역:";
  5270. cmb_roomcd.visible = "false";
  5271. //cap_mypat.visible = "false";
  5272. //cmb_mypat.visible = "false";
  5273. // 2011.03.08 Ahn
  5274. cmb_pid.visible = "false";
  5275. cmb_erpat.visible = "true";
  5276. //cap_ward.attribute("left") = 177; // (기존위치 + 35)
  5277. //cmb_zone.attribute("left") = 245;
  5278. //cap_patnm_pid.attribute("left") = 340;
  5279. //cmb_patlist.attribute("left") = 485;
  5280. //ipt_pid.attribute("left") = 576;
  5281. //cmb_wardlist.attribute("width") = 97; // (기존 폭 + 30)
  5282. if(pFlag != "SrchPat"){ // 환자를 직접 선택한 경우엔 구역정보 보존
  5283. // 처음 상단 정보로 화면 열릴 때
  5284. if(initFlag=="Y"){
  5285. model.setValue("/root/main/cond/zonecd", (model.getValue(xPatInfoPath+"/sectioncd") == "") ? "-" : model.getValue(xPatInfoPath+"/sectioncd"));
  5286. }else{
  5287. model.setValue("/root/main/cond/zonecd", "-"); // 'All'로 default
  5288. }
  5289. }
  5290. }else{
  5291. if(instcd == '032'){
  5292. cmb_zone.visible = "false";
  5293. cap_ward.visible = "true";
  5294. cmb_roomcd.visible = "true";
  5295. cap_ward.attribute("text") = "병실:"
  5296. cmb_roomcd.visible = "true";
  5297. cap_settingrn.attribute("left") = 370;
  5298. cmb_settingrn.attribute("left") = 450;
  5299. caption8.attribute("left") = 562;
  5300. cmb_erpat.attribute("left") = 690;
  5301. cmb_pid.attribute("left") = 690;
  5302. ipt_pid.attribute("left") = 791;
  5303. }else{
  5304. cmb_zone.visible = "false";
  5305. cap_ward.visible = "false";
  5306. cmb_roomcd.visible = "false";
  5307. cap_settingrn.attribute("left") = 210;
  5308. cmb_settingrn.attribute("left") = 290;
  5309. caption8.attribute("left") = 402;
  5310. cmb_erpat.attribute("left") = 530;
  5311. cmb_pid.attribute("left") = 530;
  5312. ipt_pid.attribute("left") = 631;
  5313. }
  5314. //cap_mypat.visible = "true";
  5315. //cmb_mypat.visible = "true";
  5316. // 2011.03.08 Ahn
  5317. cmb_pid.visible = "true";
  5318. cmb_erpat.visible = "false";
  5319. //cap_ward.attribute("left") = 142; // (기존위치)
  5320. //cmb_zone.attribute("left") = 210;
  5321. //cap_patnm_pid.attribute("left") = 305;
  5322. //cmb_patlist.attribute("left") = 450;
  5323. //ipt_pid.attribute("left") = 541;
  5324. //cmb_wardlist.attribute("width") = 67; // (기존 폭)
  5325. model.setValue("/root/main/cond/zonecd", "");
  5326. // 구분 조건 default
  5327. //model.setValue(xRecSrchCondPath+"/recsrchflag", "DR^ER"); // DR : 타기록지연계, ER : 응급실 간호일지만
  5328. }
  5329. cmb_zone.refresh();
  5330. cap_ward.refresh();
  5331. cmb_roomcd.refresh();
  5332. //cap_mypat.refresh();
  5333. //cmb_mypat.refresh();
  5334. }
  5335. /**
  5336. * @group :
  5337. * @ver : 2011.03.08
  5338. * @by : 안도영
  5339. * @---------------------------------------------------
  5340. * @type : function
  5341. * @access : public
  5342. * @desc : 현재 선택/저장한 환자의 combo 재선택
  5343. * @param :
  5344. * @param :
  5345. * @return :
  5346. * @---------------------------------------------------
  5347. */
  5348. function fReSelectPat(sobj){
  5349. //debugger;
  5350. var tempPid = "";
  5351. var sPosition = 0;
  5352. /*
  5353. if(flag == "E"){ // 응급실 환자
  5354. tempPath = erPatPidPath;
  5355. }else{
  5356. tempPath = gpidPath; // 내환자
  5357. }
  5358. */
  5359. if ( gcurrentpid != "") {
  5360. for(i = 1; i <= getNodesetCount(patPidPath); i++ ) {
  5361. tempPid = model.getValue(patPidPath + "["+ i +"]/pid");
  5362. if (gcurrentpid == tempPid) {
  5363. sPosition = i;
  5364. break;
  5365. }
  5366. }
  5367. }
  5368. sobj.select(parseInt(sPosition)-1);
  5369. }
  5370. // 내환자 셋팅정보 조회
  5371. function fSettingnurid(){
  5372. model.makeValue("/root/send/reqdata/wardcd", model.getValue("/root/main/cond/wardcd") );
  5373. if(submit("TRMNW10910") == true){
  5374. //settingnurid = model.getValue("/root/init/settinginfo/settingrn[settingrnid='" + getUserInfo("userid") +"']/settingrnid");
  5375. model.setValue(cmb_settingrn.attribute("ref"), "");
  5376. }
  5377. }
  5378. // 환자 리스트 조회
  5379. function fGetWardPatList(){
  5380. model.makeValue("/root/send/reqdata/wardcd",model.getValue("/root/main/cond/wardcd"));
  5381. model.makeValue("/root/send/reqdata/settingrnid",model.getValue("/root/main/cond/settingrnid"));
  5382. model.makeValue("/root/send/reqdata/zonecd",model.getValue("/root/main/cond/zonecd"));
  5383. model.makeValue("/root/send/reqdata/roomcd",model.getValue("/root/temp/mypatsettinginfo/roomcdgrup/roomcdgruplist"));
  5384. model.makeValue("/root/send/reqdata/todaydd",getCurrentDate());
  5385. if(eERFLAG == "Y"){
  5386. model.makeValue("/root/send/reqdata/emcflag", "Y");
  5387. }
  5388. submit("TRMNW05000");
  5389. grd_wardpatlist.row = grd_wardpatlist.findRow(sPid, 1, grd_wardpatlist.colRef("pid"));
  5390. grd_wardpatlist.topRow = grd_wardpatlist.findRow(sPid, 1, grd_wardpatlist.colRef("pid"))-1;
  5391. model.refresh();
  5392. }
  5393. // 조회버튼 클릭시
  5394. function fSearch(){
  5395. // 상단정보 올림
  5396. var condparam = model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/ordtype")
  5397. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/pid")
  5398. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/indd")
  5399. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/cretno")
  5400. + "▦" + model.getValue("/root/main/wardpatinfo/wardpatlist["+grd_wardpatlist.row+"]/instcd")
  5401. + "▦" + model.getValue("/root/main/cond/genrdd");
  5402. setParameter("condparam", condparam);
  5403. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  5404. cmb_pid.value = "";
  5405. ipt_pid.value = "";
  5406. cmb_erpat.value = "";
  5407. model.refresh();
  5408. fInitialize();
  5409. return true;
  5410. }