SMMNR01000.xjs 256 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/*
  3. 수혈간호기록(SMMNR01000.xfm - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. 2) : var 2.0 khj REA 12061 1Pint 투여량 추가
  7. , 임시저장-초기화-미수행 수행목록 선택 기능 조건별수정
  8. , 기록삭제기능수정
  9. , 기록수정기능제한
  10. , 수혈기록된 혈액의 통반납/폐기 불가능 처리
  11. */
  12. var xTopAttributePath = "/root/main/topattribute";
  13. var xRecgrupListPath = "/root/main/recgrup/recgruplist";
  14. var xHIsgrupListPath = "/root/main/histgrup/histgruplist";
  15. var xRecHIstPntListPath = "/root/main/rechistpntgrup/rechistpntlist";
  16. var xClsListPath = "/root/main/detlgrup/detlgruplist";
  17. var xHIsgrupListBKPath = "/root/temp/histgrup/histgruplist";
  18. var xlrgListPath = "/root/main/lrggrup/lrggruplist";
  19. var xCondPath = "/root/main/cond";
  20. var xClsListBKPath = "/root/temp/main/detlgrup/detlgruplist";
  21. var xPopWndClsListBKPath = "/root/temp/main/cond/execpopwnddetlgrup/execpopwnddetlgruplist";
  22. var xPatientPath = "/root/temp/cond/patientgrup/patientgruplist";
  23. var xExecDetlListPath = "/root/main/cond/execdetlgrup/execdetlgruplist";
  24. var xPopWndExecDetlListPath = "/root/main/cond/execpopwnddetlgrup/execpopwnddetlgruplist";
  25. var xDelDeliveExecPrcpListPath = "/root/main/cond/delivedetlgrup/delivedetlgruplist";
  26. var xBlodReturnReqGrupListPath = "/root/main/cond/blodreturnreqgrup/blodreturnreqgruplist";
  27. var xBlodExecRecGrupListPath = "/root/main/cond/blodreturnreqgrup/blodexecrecgruplist";
  28. var xVitalSignPath = "/root/main/cond/vitalsigngrup/vitalsigngruplist";
  29. var xTnsNurseRecPath ="/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist";
  30. var xBlodNoRecPath = "/root/main/cond/blodreturnreqgrup/blodnoexecrecgruplist";
  31. var ioparam = "" ; // 화면에서 넘어오는 파라메터 (절대 지우면 안됨)
  32. var sGolPid = "" ;
  33. var sFlagChkYN = "N"; // 폐기 확정 여부
  34. var sFindBlodnm = "";
  35. //------------(20100630:경북대)
  36. var grecnm0 = ""; //수혈기록버튼(화면open시)
  37. var grecnm1 = ""; //수혈기록버튼(방사선조사)
  38. var grecnm2 = ""; //수혈기록버튼(백혈구제거필터)
  39. var grecnm3 = ""; //수혈기록버튼(수혈전투약)
  40. var grecnm4 = ""; //수혈기록버튼(혈액혈
  41. var grecnm5 = ""; //수혈기록버튼(hb)
  42. var grecnm6 = ""; //수혈기록버튼(plt)
  43. var arErrorCode = new HashArray();
  44. //code/codeinfo/codelist -> ds_codelist
  45. //------------(20100630:경북대)
  46. /**
  47. * @group :
  48. * @ver : 2007.07.16
  49. * @by : 정찬성
  50. * @---------------------------------------------------
  51. * @type : function
  52. * @access : public
  53. * @desc : 화면 초기화
  54. * @param :
  55. * @return :
  56. * @---------------------------------------------------
  57. */
  58. function fInitialize(){
  59. //debugger;
  60. var addDy = ds_main_cond.getColumn(0, "prcpddfrom");
  61. var dt = utlf_getCurrentDate();
  62. // var dt = "20080711";
  63. ds_main_cond.setColumn(0, "receiptid", sysf_getUserInfo("userid"));
  64. ds_main_cond.setColumn(0, "receiptnm", sysf_getUserInfo("usernm"));
  65. ds_main_cond_execdetlgrup_execdetlgruplist.clearData();
  66. ds_main_cond_delivedetlgrup_delivedetlgruplist.clearData();
  67. ds_main_cond_patcmtgrup_patcmtgruplist.clearData();
  68. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.clearData();
  69. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.clearData();
  70. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.clearData();
  71. //-------------(20100630:경북대)
  72. var oParam = {};
  73. oParam.id = "TRMNR01099";
  74. oParam.service = "carerecapp.TnsCareRec";
  75. oParam.method = "reqGetReccomentList";
  76. oParam.inds = "reqcond=ds_send";
  77. oParam.outds = "ds_hidden2_reclist=reclist";
  78. oParam.async = false;
  79. oParam.callback = "cf_TRMNR01099";
  80. tranf_submit(oParam);
  81. if( arErrorCode.pop("TRMNR01099") > -1 ){
  82. grecnm0 = ds_hidden2_reclist.getColumn(0, "recnm0");
  83. grecnm1 = ds_hidden2_reclist.getColumn(0, "recnm1");
  84. grecnm2 = ds_hidden2_reclist.getColumn(0, "recnm2");
  85. grecnm3 = ds_hidden2_reclist.getColumn(0, "recnm3");
  86. grecnm4 = ds_hidden2_reclist.getColumn(0, "recnm4");
  87. grecnm5 = ds_hidden2_reclist.getColumn(0, "recnm5");
  88. grecnm6 = ds_hidden2_reclist.getColumn(0, "recnm6");
  89. }
  90. //-------------(20100630:경북대)
  91. var pCode = "'172','016','013'"; // 조회할 CdGrupID 코드정보
  92. fGetNursHardCdInfo(pCode, dt);
  93. var instUseYN = ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "172"), "cdid");
  94. if(instUseYN == "Y"){
  95. group3.switch1.case1.grp_bexcexec1.visible = true ;
  96. group3.switch1.case2.grp_bexcexec2.visible = true ;
  97. }
  98. fInitWardList(getparam);
  99. var sTopIOflag = "";
  100. var getparam = "";
  101. var getrgstdd = "";
  102. var indd = opener.frmf_getParameter("SMMNR010_Param2");
  103. if( utlf_isNull(indd) ){
  104. ds_main_cond.setColumn(0, "prcpddfrom", getDateCalc(dt, 2));
  105. } else {
  106. ds_main_cond.setColumn(0, "prcpddfrom", indd);
  107. }
  108. ds_main_cond.setColumn(0, "prcdddto", dt);
  109. sTopIOflag = appf_getPatientInfoDetail("ioflag"); //상단 정보에서 받음
  110. if( utlf_isNull(opener.frmf_getParameter("SMMNR010_Param")) ){
  111. getparam = frmf_getMenuParam(); //메뉴에서 파라미터 받음
  112. }else{
  113. if( !utlf_isNull(opener.frmf_getParameter("SMMNR010_RgstddDATA")) ){
  114. getrgstdd = opener.frmf_getParameter("SMMNR010_RgstddDATA"); //수혈현황조회에서 파라미터받음(처방일자)
  115. ds_main_cond.setColumn(0, "prcpddfrom", getrgstdd);
  116. }
  117. getparam = opener.frmf_getParameter("SMMNR010_Param");
  118. }
  119. if( !utlf_isNull(getparam) ){
  120. if(sTopIOflag == "O"){ //상단 정보 외래
  121. if(getparam == "IPRC" || utlf_isNull(getparam) ){ //메뉴 파라미터 병동일 경우 파라미터 변경
  122. getparam = "OPRC";
  123. }else if(getparam == "IPRC1"){
  124. getparam = "OPRC1";
  125. }else if(getparam == "IPRC2"){
  126. getparam = "OPRC2";
  127. }
  128. }else if(sTopIOflag == "I" || sTopIOflag == "D" || sTopIOflag == "T" || sTopIOflag == "E"){ // 입원, DSC&항암, 수술, 응급 파라미터 변경
  129. if(getparam == "OPRC" || utlf_isNull(getparam) ){ //메뉴 파라미터 외래일 경우 파라미터 변경
  130. getparam = "IPRC";
  131. }else if(getparam == "OPRC1"){
  132. getparam = "IPRC1";
  133. }else if(getparam == "OPRC2"){
  134. getparam = "IPRC2";
  135. }
  136. }
  137. }
  138. getparam = fParam(getparam); // 파라메터에 따른 혈액불출/수혈간호 case 선택
  139. if(getparam == "OPRC"){
  140. group3.switch1.case1.grp_sea.rdo_ioflag1.value="O";
  141. group3.switch1.case1.btn_prtconsent.visible = false;
  142. }else{
  143. group3.switch1.case1.grp_sea.rdo_ioflag1.value="I";
  144. group3.switch1.case1.btn_prtconsent.visible = true;
  145. }
  146. // 공통코드 스크립트 호출 - 수혈부작용/수혈중단 사유
  147. var arrParam = [{dsNm: "ds_init_sideeffectcom_M0330", cdGrpId: "M0330"}//대상자구분값.
  148. ,{dsNm: "ds_init_etcprcpresncd_L0084", cdGrpId: "L0084"}//임상, 비임상
  149. ,{dsNm: "ds_init_discontinucom_L0085", cdGrpId: "L0085"}//Sex
  150. ,{dsNm: "ds_init_L0093list_L0093", cdGrpId: "L0093"}//상담중, 감면처리중, 소송(의료분쟁)중, 종결, 취소
  151. ,{dsNm: "ds_init_L0094list_L0094", cdGrpId: "L0094"}]//진행중, 종결
  152. appf_getCodeList(arrParam);
  153. var sProp="col="+ds_init_sideeffectcom_M0330.rowcount+",row=1,cellspacing=15,vcellspacing=2,itemWidth=-1,itemHeight=20,overflow='visible'";
  154. group3.switch1.case2.chk_tnssideeffect.setInitComp(sProp, ds_init_sideeffectcom_M0330,"cdid","cdnm","fn_mChkTnssideeffect");
  155. ds_init_L0093list_L0093.insertRow(0);
  156. //수혈중단사유중 "병원사유기타" 삭제 --> 2008-08-20 사유가 기타로 변경되면서 주석처리
  157. //model.removenode("/root/init/L0093list/L0093[cdid = '12399']");
  158. var oParam = {};
  159. oParam.id = "TRMNR01026";
  160. oParam.service = "carerecapp.TnsCareRec";
  161. oParam.method = "reqGetTnsSideDiscontinu";
  162. oParam.inds = "";
  163. oParam.outds = "ds_init_totresncd_item=discontinucomcodelist";
  164. oParam.async = false;
  165. //oParam.callback = "cf_TRMNR01026";
  166. tranf_submit(oParam);
  167. // if(submit("TRMNR01026")){ // 수혈중단 사유 코드 가져오기
  168. // for(var j=1 ; j <= getNodesetCount("/root/init/totresncd/item/cdid") ; j++){
  169. // for(var i =1 ; i <= getNodesetCount("/root/init/discontinucom/L0085") ; i++){
  170. // if( model.getValue("/root/init/totresncd/item["+j+"]/cdid") == model.getValue("/root/init/discontinucom/L0085["+i+"]/cdid") ){
  171. // var ChgLavel = model.getValue("/root/init/totresncd/item["+j+"]/cdnm");
  172. // model.setValue("/root/init/discontinucom/L0085["+i+"]/cdnm" , ChgLavel);
  173. // }
  174. // }
  175. //
  176. // for(var i =1 ; i <= getNodesetCount("/root/init/etcprcpresncd/L0084") ; i++){
  177. // if( model.getValue("/root/init/totresncd/item["+j+"]/cdid") == model.getValue("/root/init/etcprcpresncd/L0084["+i+"]/cdid") ){
  178. // var ChgLavel = model.getValue("/root/init/totresncd/item["+j+"]/cdnm");
  179. // model.setValue("/root/init/etcprcpresncd/L0084["+i+"]/cdnm" , ChgLavel);
  180. // }
  181. // }
  182. // }
  183. // }
  184. group3.switch1.case2.cmb_discontinu.enable = false ;
  185. group3.switch1.case2.ipt_etc.enable = false ;
  186. //----------------(20100630:경북대)
  187. //textarea1.value = "수혈팔찌 확인함, 수혈부작용 설명함" + "\n" + "본인확인 혈액형 :"; //수혈부작용 설명함 추가_20090327_SMY
  188. var tempstr = grecnm0;
  189. if( !utlf_isNull(tempstr) ){
  190. group3.switch1.case2.textarea1.value = tempstr; //수혈부작용 설명함 추가_20090327_SMY
  191. } else {
  192. if(sysf_getUserInfo("dutplceinstcd") == "031" && (sysf_getUserInfo("dutplcecd") == ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "016"), "cdid") || sysf_getUserInfo("dutplcecd") == ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "013"), "cdid")) ){
  193. group3.switch1.case2.textarea1.value = "혈액전달 및 연결시 수여자와 혈액의 환자이름, 혈액형, 혈액종류를 확인한다." + "\n" + "수혈간호기록의 vital sign기록을 마취기록조회(진료)의 5분 vital sign으로 대체한다."; // 마취회복실 수혈오류 관련 보완사항_170220_AYS
  194. } else{
  195. group3.switch1.case2.textarea1.value = "환자 확인함, 혈액종류 및 혈액형 확인함, 수혈 부작용에 대해 설명함, 수혈이 완료될 때까지 30분 마다 환자 상태 관찰함"; //수혈부작용 설명함 추가_20090327_SMY
  196. }
  197. //group3.switch1.case2.textarea1.value = "수혈팔찌 확인함, 수혈부작용 설명함" + "\n" + "수혈이 완료될 때까지 30분마다 환자 상태를 관찰하고 확인한다." + "\n" + "본인확인 혈액형 확인함"; //수혈부작용 설명함 추가_20090327_SMY
  198. }
  199. fGetBrcdPrntInfo(); //바코드 프린터 설정 정보를 가진 Instance 생성 및 바코드 프린터 설정 가져오기
  200. lzzfMakeBrcdPrntObjHanDo("CommAX"); //yjh : 라벨출력 미확인
  201. group3.switch1.case1.grp_sea.ipt_pid.setFocus();//등록번호로 포커스 맞춤
  202. }
  203. /**
  204. * @group :
  205. * @ver : 2016.04.05
  206. * @by : 윤주호
  207. * @---------------------------------------------------
  208. * @type : function
  209. * @access : public
  210. * @desc : MultiCheckBox 값 셋팅
  211. * @param :
  212. * @param :
  213. * @return :
  214. * @---------------------------------------------------
  215. */
  216. function fn_mChkTnssideeffect(){
  217. var rtn = "";
  218. var tmp = "";
  219. rtn = group3.switch1.case2.chk_tnssideeffect.getData();
  220. for( var i=0 ; i<rtn.length ; i++ ){
  221. if( i == 0 ) tmp = rtn[i];
  222. else tmp = tmp + " " +rtn[i];
  223. }
  224. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnssideeffect", tmp);
  225. fSelctTnssideEffect(); //수혈부작용 선택, 선택취소시 disable/able되도록 수정_20100126_SMY
  226. }
  227. function cf_TRMNR01099(sSvcId, nErrorCode, sErrorMsg) {
  228. arErrorCode.push(sSvcId, nErrorCode);
  229. }
  230. /**
  231. * @group :
  232. * @ver : 2007.09.27
  233. * @by : 정찬성
  234. * @---------------------------------------------------
  235. * @type : function
  236. * @access : public
  237. * @desc : 바이탈싸인 행삭제 (2008-08-19 요구사항으로 삭제 처리)
  238. * @param :
  239. * @return :
  240. * @---------------------------------------------------
  241. */
  242. function fDelRow(){
  243. var iRow = grd_vitalsigngruplist.row ;
  244. var sRowNum = model.getValue(xVitalSignPath + "[" + iRow + "]/tnscarerecvsseq");
  245. if(parseInt(sRowNum) < 4){
  246. messageBox("Vital Sign 기본정보는 삭제 ","E001");
  247. return;
  248. } else if( model.getValue(xVitalSignPath+"["+1+"]/stat") == 'I' ) {
  249. grd_vitalsigngruplist.deleteRow(iRow);
  250. } else if( model.getValue(xVitalSignPath+"["+1+"]/stat") == 'U' && model.getValue(xVitalSignPath+"["+iRow+"]/stat") == 'I' ) {
  251. grd_vitalsigngruplist.deleteRow(iRow);
  252. } else if( model.getValue(xVitalSignPath+"["+1+"]/stat") == 'U' ) {
  253. grd_vitalsigngruplist.textmatrix(iRow, 1) = "D" ;
  254. }
  255. }
  256. /**
  257. * @group :
  258. * @ver : 2007.09.27
  259. * @by : 정찬성
  260. * @---------------------------------------------------
  261. * @type : function
  262. * @access : public
  263. * @desc : 줄추가 버튼 (2008-08-19 요구사항으로 삭제 처리)
  264. * @param :
  265. * @return :
  266. * @---------------------------------------------------
  267. */
  268. function fAddSameLevlItemButton(){
  269. // var iRows = grd_vitalsigngruplist.rows;
  270. var iRow = grd_vitalsigngruplist.row;
  271. if(iRow > 0 ){
  272. grd_vitalsigngruplist.insertRow(iRow, "below");
  273. model.setValue(xVitalSignPath+"["+grd_vitalsigngruplist.row+"]/tnscarerecseq", model.getValue(xVitalSignPath+"["+1+"]/tnscarerecseq") );
  274. model.setValue(xVitalSignPath+"["+grd_vitalsigngruplist.row+"]/stat","I");
  275. }
  276. }
  277. /**
  278. * @group :
  279. * @ver : 2007.05.09
  280. * @by : 정찬성
  281. * @---------------------------------------------------
  282. * @type : function
  283. * @access : public
  284. * @desc : 참여자 정보 팝업 조회
  285. * @param : originalNode
  286. * @param : copyNode
  287. * @return : true/false
  288. * @---------------------------------------------------
  289. */
  290. function fClickUserBtn(userflag, seq, deptcd2, flag){
  291. var deptcd = "";
  292. var jobkindcd = "";
  293. var deptcd = "";
  294. if(userflag == "doctor"){
  295. deptcd = deptcd2;
  296. jobkindcd = "";
  297. }else if(userflag == "nurse"){
  298. deptcd = deptcd2;
  299. jobkindcd = "";
  300. }else{}
  301. frmf_setParameter("SPMNN02100_deptcd", deptcd);
  302. frmf_setParameter("SPMNN02100_jobkindcd", jobkindcd);
  303. frmf_modal("SPMNR02100","SPMNR02100","","","","","","","","","","","M"); //yjh : 커밋
  304. var userid = frmf_getParameter("SPMNN02100_userid");
  305. var usernm = frmf_getParameter("SPMNN02100_usernm");
  306. var posinstnm = frmf_getParameter("SPMNN02100_posinstnm");
  307. var posinstcd = frmf_getParameter("SPMNN02100_posinstcd");
  308. var posdeptnm = frmf_getParameter("SPMNN02100_posdeptnm");
  309. var posdeptcd = frmf_getParameter("SPMNN02100_posdeptcd");
  310. if( !utlf_isNull(userid) && !utlf_isNull(posdeptcd) ){//사용자 정보가 있을 경우에만 처리
  311. if(flag == "str"){
  312. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursdeptnm", userid);// 저장할 데이터 생성
  313. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursnm", usernm);// 저장할 데이터 생성
  314. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursall", userid+","+usernm+","+posinstnm+","+posinstcd+","+posdeptnm+","+posdeptcd);// 저장할 데이터 생성
  315. } else if(flag == "end"){
  316. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursdeptnm", userid);// 저장할 데이터 생성
  317. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursnm", usernm);// 저장할 데이터 생성
  318. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursall", userid+","+usernm+","+posinstnm+","+posinstcd+","+posdeptnm+","+posdeptcd);// 저장할 데이터 생성
  319. }
  320. }
  321. frmf_setParameter("SPMNN02100_userid", "");
  322. frmf_setParameter("SPMNN02100_usernm", "");
  323. }
  324. /**
  325. * @group :
  326. * @ver : 2007.07.09
  327. * @by : 정찬성
  328. * @---------------------------------------------------
  329. * @type : function
  330. * @access : public
  331. * @desc : 그리드 클릭시 선택컬럼 값 변경
  332. * @param :
  333. * @return :
  334. * @---------------------------------------------------
  335. */
  336. function fClickedGridRow(datagrid, aGridNm, xListPath){
  337. var iRow = 0;
  338. var iCol = 0;
  339. var ocrtag = "";
  340. var objDsXListPath = eval(xListPath);
  341. iRow = datagrid.currentrow;
  342. iCol = datagrid.currentcol;
  343. if(iCol == 1) return;
  344. if(iRow < 0) return;
  345. var ocrtag = "";
  346. if( datagrid.getBindCellIndex("body", "ocrtag") != -1 ){
  347. ocrtag = objDsXListPath.getColumn(iRow, "ocrtag");
  348. }
  349. if( utlf_isNull(ocrtag) ){
  350. objDsXListPath.updatecontrol = false;
  351. objDsXListPath.enableevent = false;
  352. if( objDsXListPath.getColumn(iRow, "sel") == "1" ){
  353. objDsXListPath.setColumn(iRow, "sel", "0");
  354. if( objDsXListPath.getRowType(iRow) == 4 ){
  355. objDsXListPath.setRowType(iRow, 1);
  356. }
  357. }else{
  358. objDsXListPath.setColumn(iRow, "sel", "1");
  359. objDsXListPath.setRowType(iRow, 4);
  360. if (aGridNm == "grd_execdetlgruplist") fSelchange();
  361. }
  362. objDsXListPath.updatecontrol = true;
  363. objDsXListPath.enableevent = true;
  364. } else {
  365. objDsXListPath.updatecontrol = false;
  366. objDsXListPath.enableevent = false;
  367. for( var i=0 ; i<objDsXListPath.rowcount ; i++ ){
  368. if( ocrtag == objDsXListPath.getColumn(i, "ocrtag") ){
  369. if( objDsXListPath.getColumn(i, "sel") == "1" ){
  370. objDsXListPath.setColumn(i, "sel", "0");
  371. if( objDsXListPath.getRowType(i) == 4 ){
  372. objDsXListPath.setRowType(i, 1);
  373. }
  374. }else{
  375. objDsXListPath.setColumn(i, "sel", "1");
  376. objDsXListPath.setRowType(i, 4);
  377. if (aGridNm == "grd_execdetlgruplist") fSelchange();
  378. }
  379. }
  380. }
  381. objDsXListPath.updatecontrol = true;
  382. objDsXListPath.enableevent = true;
  383. }
  384. }
  385. /**
  386. * @group :
  387. * @ver : 2007.07.09
  388. * @by : 정찬성
  389. * @---------------------------------------------------
  390. * @type : function
  391. * @access : public
  392. * @desc : 미수행기록 목록에서 선택항목 체크(더블클릭)
  393. * @param :
  394. * @return :
  395. * @---------------------------------------------------
  396. */
  397. function fParam(getparam) {
  398. var openernull = "" // 파마리터 null check
  399. var popvalue = "" ;
  400. var pidvalue = "" ;
  401. var sPid = appf_getPatientInfo("pid");
  402. //debugger;
  403. //sGolPid = sPid; // 기존 Pid 기록
  404. /* 메뉴 || 파라미터로 들어올때 체크 시작 */
  405. /* IPRC1 : 수혈불출관리화면(병동) */
  406. /* IPRC2 : 수혈간호기록(병동) */
  407. /* OPRC1 : 수혈불출관리화면(외래) */
  408. /* OPRC2 : 수혈간호기록(외래) */
  409. if( utlf_isNull(opener) &&
  410. ( getparam == "IPRC1" || getparam == "IPRC2" ||
  411. getparam == "OPRC1" || getparam == "OPRC2" ||
  412. getparam == "IPRC" || getparam == "OPRC") ) {//병동메인/주사에서 들어오지 않을때...
  413. openernull = 'Y';
  414. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "pid", sPid);//등록번호 화면에 셋팅
  415. if(getparam == "OPRC1"){
  416. group3.switch1.tabindex = 0;
  417. group4.visible = false;
  418. getparam = "OPRC" ;
  419. ioparam = getparam ;
  420. if( !utlf_isNull(sPid) ) group3.switch1.case1.grp_sea.btn_srch1.click(); //상단정보가 있을때
  421. } else if(getparam == "OPRC2"){
  422. group3.switch1.tabindex = 1;
  423. group4.visible = true;
  424. getparam = "OPRC" ;
  425. ioparam = getparam ;
  426. fGetPatientInfo("pid","case2");// 환자 개인정보를 가져온다.
  427. if( !utlf_isNull(sPid) ) group3.switch1.case2.group2.btn_srch2.click(); //상단정보가 있을때
  428. } else if(getparam == "IPRC1"){
  429. group3.switch1.tabindex = 0;
  430. group4.visible = false;
  431. getparam = "IPRC" ;
  432. ioparam = getparam ;
  433. if( !utlf_isNull(sPid) ) group3.switch1.case1.grp_sea.btn_srch1.click(); //상단정보가 있을때
  434. } else if(getparam == "IPRC2"){
  435. group3.switch1.tabindex = 1;
  436. group4.visible = true;
  437. getparam = "IPRC" ;
  438. ioparam = getparam ;
  439. fGetPatientInfo("pid","case2");// 환자 개인정보를 가져온다.
  440. if( !utlf_isNull(sPid) ) group3.switch1.case2.group2.btn_srch2.click(); //상단정보가 있을때
  441. }
  442. } else if( !utlf_isNull(opener) &&
  443. ( opener.frmf_getParameter("ioflag") == "IPRC1" ||
  444. opener.frmf_getParameter("ioflag") == "IPRC2" ||
  445. opener.frmf_getParameter("ioflag") == "OPRC1" ||
  446. opener.frmf_getParameter("ioflag") == "OPRC2" )) {//병동메인/주사실메인에서 들어올때...
  447. popvalue = opener.frmf_getParameter("ioflag");
  448. pidvalue = opener.frmf_getParameter("pid");
  449. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "pid", opener.frmf_getParameter("pid"));
  450. //sGolPid = opener.window.javascript.getParameter("pid");
  451. if( !utlf_isNull(popvalue) && !utlf_isNull(pidvalue) ){//플래그별 화면 case 선택
  452. if(popvalue == "OPRC1"){
  453. group3.switch1.tabindex = 0;
  454. group4.visible = false;
  455. getparam = "OPRC" ;
  456. ioparam = getparam ;
  457. group3.switch1.case1.grp_sea.btn_srch1.click();
  458. } else if(popvalue == "OPRC2"){
  459. group3.switch1.tabindex = 1;
  460. group4.visible = true;
  461. getparam = "OPRC" ;
  462. ioparam = getparam ;
  463. group3.switch1.case2.group2.btn_srch2.click();
  464. } else if(popvalue == "IPRC1"){
  465. group3.switch1.tabindex = 0;
  466. group4.visible = false;
  467. getparam = "IPRC" ;
  468. ioparam = getparam ;
  469. group3.switch1.case1.grp_sea.btn_srch1.click();
  470. } else if(popvalue == "IPRC2"){
  471. group3.switch1.tabindex = 1;
  472. group4.visible = true;
  473. getparam = "IPRC" ;
  474. ioparam = getparam ;
  475. group3.switch1.case2.group2.btn_srch2.click();
  476. }
  477. }
  478. } else if(( getparam == "IPRC1" || getparam == "IPRC2" || getparam == "OPRC1" || getparam == "OPRC2" || getparam == "IPRC" || getparam == "OPRC")) {// 메뉴에서 들어올때
  479. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "pid", sPid);//등록번호 화면에 셋팅
  480. if(getparam == "OPRC1"){
  481. group3.switch1.tabindex = 0;
  482. group4.visible = false;
  483. getparam = "OPRC" ;
  484. ioparam = getparam ;
  485. if( !utlf_isNull(sPid) ) group3.switch1.case1.grp_sea.btn_srch1.click(); //상단정보가 있을때
  486. } else if(getparam == "OPRC2"){
  487. group3.switch1.tabindex = 1;
  488. group4.visible = true;
  489. getparam = "OPRC" ;
  490. ioparam = getparam ;
  491. if( !utlf_isNull(sPid) ) group3.switch1.case2.group2.btn_srch2.click(); //상단정보가 있을때
  492. } else if(getparam == "IPRC1"){
  493. group3.switch1.tabindex = 0;
  494. group4.visible = false;
  495. getparam = "IPRC" ;
  496. ioparam = getparam ;
  497. if( !utlf_isNull(sPid) ) group3.switch1.case1.grp_sea.btn_srch1.click(); //상단정보가 있을때
  498. } else if(getparam == "IPRC2"){
  499. group3.switch1.tabindex = 1;
  500. group4.visible = true;
  501. getparam = "IPRC" ;
  502. ioparam = getparam ;
  503. if( !utlf_isNull(sPid) ) group3.switch1.case2.group2.btn_srch2.click(); //상단정보가 있을때
  504. } else {
  505. if( !utlf_isNull(sPid) ){//상단정보가 있을때
  506. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "pid", sPid);//등록번호 화면에 셋팅
  507. }
  508. }
  509. } else if( utlf_isNull(getparam) ){// 화면파라미터 없을때
  510. group3.switch1.tabindex = 0;
  511. group4.visible = false;
  512. getparam = "IPRC";
  513. } else {
  514. openernull = 'Y';
  515. getparam = "" ;
  516. }
  517. /* 메뉴 && 파라미터가 아닌 로컬이나 다른 값으로 들어올때 기본 셋팅값으로 시작 */
  518. if( utlf_isNull(getparam) && openernull == "Y" ){
  519. // 화면파라미터/팝업파라미터 모두 없을때
  520. group3.switch1.tabindex = 0;
  521. group4.visible = false;
  522. getparam = "IPRC" ;
  523. }
  524. /* 메뉴 && 파라미터가 아닌 로컬이나 다른 값으로 들어올때 기본 셋팅값으로 끝 */
  525. /* 메뉴 || 파라미터가 외래일때 병동/병실/환자 리스트 disabled 시작 */
  526. if(getparam == "OPRC"){ // 외래일때, 병동/병실/환자 리스트 disabled
  527. group3.switch1.case2.group2.cmb_wardcdgruplist2.enable = false ;
  528. group3.switch1.case2.group2.cmb_roomcdgruplist2.enable = false ;
  529. group3.switch1.case2.group2.cmb_patientgruplist2.enable = false ;
  530. group3.switch1.case1.grp_sea.cmb_wardcdgruplist.enable = false ;
  531. group3.switch1.case1.grp_sea.cmb_roomcdgruplist.enable = false ;
  532. group3.switch1.case1.grp_sea.cmb_patientgruplist.enable = false ;
  533. }else{
  534. group3.switch1.case2.group2.cmb_wardcdgruplist2.enable = true ;
  535. group3.switch1.case2.group2.cmb_roomcdgruplist2.enable = true ;
  536. group3.switch1.case2.group2.cmb_patientgruplist2.enable = true ;
  537. group3.switch1.case1.grp_sea.cmb_wardcdgruplist.enable = true ;
  538. group3.switch1.case1.grp_sea.cmb_roomcdgruplist.enable = true ;
  539. group3.switch1.case1.grp_sea.cmb_patientgruplist.enable = true ;
  540. }
  541. /* 메뉴 || 파라미터가 외래일때 병동/병실/환자 리스트 disabled 끝 */
  542. ioparam = getparam ;
  543. return getparam ;
  544. }
  545. /**
  546. * @group :
  547. * @ver : 2007.07.09
  548. * @by : 정찬성
  549. * @---------------------------------------------------
  550. * @type : function
  551. * @access : public
  552. * @desc : 혈액요청취소 선택했을때...
  553. * @param :
  554. * @return :
  555. * @---------------------------------------------------
  556. */
  557. function fBlodReqCancelDoc(){
  558. var sRowCnt = grd_delivedetlgruplist.rows-grd_delivedetlgruplist.fixedrows;
  559. var cnt = 0 ;
  560. model.removeNode ("/root/send/report");
  561. for(var i=1; i<= sRowCnt; i++){ // 선택한 값이 불출신청 상태인지 체크
  562. if( grd_delivedetlgruplist.labelmatrix(i, 1) == "true" ) {
  563. cnt = cnt + 1;
  564. if( grd_delivedetlgruplist.labelmatrix(i, 2) != "불출요청") {
  565. messageBox("불출요청 상태 이외에는 혈액요청취소를 ","E001");
  566. return;
  567. }
  568. if( grd_delivedetlgruplist.labelmatrix(i, grd_delivedetlgruplist.colRef("blodno") ).length < 5 ) {
  569. messageBox("혈액번호가 ","I004");
  570. return;
  571. }
  572. model.makeValue("/root/send/report/delivedetlgrup/delivedetlgruplist["+cnt+"]","");
  573. model.copyNode( "/root/send/report/delivedetlgrup/delivedetlgruplist["+cnt+"]", "/root/main/cond/delivedetlgrup/delivedetlgruplist["+i+"]" );
  574. }
  575. }
  576. if(cnt < 1){
  577. messageBox("선택 정보가 ","I004");
  578. return;
  579. }
  580. if(messageBox("혈액요청 취소를 ","Q004") != 6) return;// 저장하시겠습니까?
  581. model.makeValue("/root/send/report/patientnm",model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/patientnm1") );
  582. model.makeValue("/root/send/report/pid",model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/pid") );
  583. model.makeValue("/root/send/report/sexage",model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/sexage") );
  584. model.makeValue("/root/send/report/btypee",model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/btype") );
  585. model.makeValue("/root/send/detlgrup",grd_delivedetlgruplist.getupdatedataAll("i"));
  586. if(submit("TXMNR01034")){
  587. fGettDeliveDetlList();// 불출신청 내역 재조회
  588. }
  589. }
  590. /**
  591. * @group :
  592. * @ver : 2007.07.09
  593. * @by : 정찬성
  594. * @---------------------------------------------------
  595. * @type : function
  596. * @access : public
  597. * @desc : 미수행기록 목록에서 선택항목 체크(더블클릭)
  598. * @param :
  599. * @return :
  600. * @---------------------------------------------------
  601. */
  602. function fGridSel() {
  603. var sRowCnt2 = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount;
  604. var iRow = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowposition;
  605. if( ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(iRow, "stat") == "0" ){
  606. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.setColumn(iRow, "stat", "1");
  607. fOtherRecListUncheck("noexec");
  608. } else if( ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(iRow, "stat") == "1" ) {
  609. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.setColumn(iRow, "stat", "0");
  610. }
  611. }
  612. /**
  613. * @group :
  614. * @ver : 2007.07.09
  615. * @by : 정찬성
  616. * @---------------------------------------------------
  617. * @type : function
  618. * @access : public
  619. * @desc : 수행기록 내역 상세정보 (더블클릭)
  620. * @param :
  621. * @return :
  622. * @---------------------------------------------------
  623. */
  624. function fBlodExecRecDetlinfo() {
  625. var sRowCnt = grd_blodexecrecgruplist.rows-grd_blodexecrecgruplist.fixedrows;
  626. var iRow = grd_blodexecrecgruplist.row ;
  627. model.setValue(cap_blodno.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/blodno"));
  628. model.setValue(cap_blodnm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/prcpnm"));
  629. model.setValue(cap_aborh.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/abo") + model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/rh") );
  630. model.setValue(ipt_fromdd.attribute("ref"), utlf_transNullToEmpty(model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrddtm")).substring(0,8));
  631. model.setValue(ipt_fromtm.attribute("ref"), utlf_transNullToEmpty(model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrddtm")).substring(8,12));
  632. model.setValue(ipt_todd.attribute("ref"), utlf_transNullToEmpty(model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendddtm")).substring(0,8));
  633. model.setValue(ipt_totm.attribute("ref"), utlf_transNullToEmpty(model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendddtm")).substring(8,12));
  634. model.setValue(opt_fromdeptnm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnursedeptnm"));
  635. model.setValue(opt_fromusernm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnursenm"));
  636. model.setValue(opt_todeptnm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnursedeptnm"));
  637. model.setValue(opt_tousernm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnursenm"));
  638. model.setValue(cmb_tnssideeffect.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnssideeffect"));
  639. model.setValue(ipt_prcpdelivefact.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/prcpdelivefact"));
  640. model.setValue(rdo_discontinuyn.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/discontinuyn"));
  641. //rdo_discontinuyn.disabled = true;
  642. //cmb_discontinu.disabled = true;
  643. model.setValue(cmb_discontinu.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/discontinu"));
  644. model.setValue(ipt_etc.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/discontinuetc"));
  645. //model.setValue(ipt_drugqty.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/drugqty"));
  646. model.setValue(ipt_onepintqty.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/onepintqty"));
  647. fSumQtyCalc(model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/drugqty"));// 총투여량 계산 onepintqty * 혈액갯수
  648. model.setValue(textarea1.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsrec"));
  649. model.setValue(opt_instcd.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/instcd"));
  650. model.setValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/signno",
  651. model.getValue("/root/main/cond/blodreturnreqgrup/blodexecrecgruplist["+iRow+"]/signno"));
  652. model.setValue(chk_smlqtytnsyn.attribute("ref"), model.getValue("/root/main/cond/blodreturnreqgrup/blodexecrecgruplist["+iRow+"]/smlqtytnsyn"));
  653. model.setValue(opt_tnsstrnursall.attribute("ref"),
  654. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnurseid")+","+
  655. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnursenm")+","+","+","+
  656. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnursedeptnm")+","+
  657. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsstrnursedeptcd"));
  658. model.setValue(opt_tnsendnursall.attribute("ref"),
  659. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnurseid")+","+
  660. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnursenm")+","+","+","+
  661. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnursedeptnm")+","+
  662. model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnsendnursedeptcd"));
  663. if(rdo_discontinuyn.value=='Y'){
  664. cmb_discontinu.disabled = false ;
  665. if( utlf_transNullToEmpty(cmb_discontinu.value).substring(3,5) == "99") {
  666. ipt_etc.disabled = false ;
  667. }
  668. }else{
  669. cmb_discontinu.disabled = true;
  670. ipt_etc.disabled = true ;
  671. }
  672. model.refresh();
  673. var sRowCnt2 = grd_blodnoexecrecgruplist.rows-grd_blodnoexecrecgruplist.fixedrows;
  674. for(var i=1; i<= sRowCnt2; i++){ // 선택한 값이 불출신청 상태인지 체크
  675. grd_blodnoexecrecgruplist.textmatrix(i, 1) = "FALSE" ;
  676. }
  677. }
  678. /**
  679. * @group :
  680. * @ver : 2007.07.16
  681. * @by : 정찬성
  682. * @---------------------------------------------------
  683. * @type : function
  684. * @access : public
  685. * @desc : 수혈 수행 내역 리스트
  686. * @param :
  687. * @return :
  688. * @---------------------------------------------------
  689. */
  690. function fGetBlodExecRecList(blodpidflag){
  691. var sRowCnt = grd_execdetlgruplist.rows-grd_execdetlgruplist.fixedrows;
  692. if( model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/pid") == "" && model.getValue("/root/main/cond/blodno") == "" ){
  693. // messageBox("혈액번호/등록번호를 ","C001");
  694. // model.setfocus("ipt_blodno");
  695. // return;
  696. }
  697. model.refresh();
  698. model.makeValue("/root/send/blodpidflag",blodpidflag);
  699. model.makeValue("/root/send/blodno", ipt_blodno.value );
  700. model.makeValue("/root/send/prcpddfrom", ipt_prcpddfrom2.value );
  701. model.makeValue("/root/send/prcpddto", ipt_prcdddto2.value );
  702. model.makeValue("/root/send/wardcd", cmb_wardcdgruplist2.value );
  703. model.makeValue("/root/send/wardcdnm", cmb_wardcdgruplist2.label );
  704. model.makeValue("/root/send/roomcd", cmb_roomcdgruplist2.value );
  705. model.makeValue("/root/send/hngnm", cmb_patientgruplist2.value );
  706. model.makeValue("/root/send/pid", ipt_pid2.value );
  707. model.makeValue("/root/send/ioparam", ioparam);
  708. if(submit("TRMNR01024")){
  709. }
  710. }
  711. /**
  712. * @group :
  713. * @ver : 2007.05.09
  714. * @by : 정찬성
  715. * @---------------------------------------------------
  716. * @type : function
  717. * @access : public
  718. * @desc : 수혈간호기록 기록저장 버튼
  719. * @param :
  720. * @return :
  721. * @---------------------------------------------------
  722. */
  723. function fTnsRecSave(pFlag){
  724. if( utlf_isNull(pFlag) ){
  725. pFlag = "TempSave";
  726. }
  727. //20100415 khj 12061 수혈종료일시 입력후 임시저장 기능 블로킹
  728. if ( pFlag == "TempSave" && !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) ){
  729. sysf_messageBox("수혈종료일시의 기록은 인증저장만 ","I006");
  730. return;
  731. }
  732. //if (!isNull(model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/signno") ) ){
  733. // messageBox("최초 인증저장이 아니므로 FlowSheet에서 V/S 수정이 필요합니다.","I");
  734. //}
  735. var CheckValue = "";
  736. var check = "" ;
  737. var sRowCnt = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount;
  738. var rtnBlodList = "";
  739. var rtnBlodFindRow = 0;
  740. var rtnBlodListArr = new Array();
  741. // 기존 Signno 여부 확인
  742. var CheckSignno = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno")).split(",") ;
  743. if(CheckSignno.length > 0){
  744. for(var i=0 ; i <= CheckSignno.length ; i++){
  745. if(!utlf_isNull(CheckSignno[i])){
  746. sysf_messageBox("최초 인증저장이 아니므로 FlowSheet에서 V/S 수정이 필요합니다.","I");
  747. break;
  748. }
  749. }
  750. }
  751. // 미수행기록목록 리스트, 수행기록 내역 리스트 확인 작업
  752. var blodnodupSourcebase = new Array();
  753. var prcpnodupSourcebase = new Array();
  754. if( !utlf_isNull(group3.switch1.case2.cap_blodno.text) ){
  755. blodnodupSourcebase = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  756. prcpnodupSourcebase = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",") ;
  757. }
  758. // else {
  759. // blodnodupSourcebase[0] = cap_blodno.value ;
  760. // }
  761. for( var i=0 ; i<sRowCnt ; i++ ){ // 선택한 값이 불출신청 상태인지 체크, 수행기록내역에서 선택한 혈액번호인지 체크
  762. if( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "blodno") == blodnodupSourcebase[0] &&
  763. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "prcpno") == prcpnodupSourcebase[0] ) {
  764. check = "Y" ;
  765. rtnBlodFindRow = i;
  766. break;
  767. }
  768. }
  769. if(check == "Y" && pFlag == "CertSave" && blodnodupSourcebase.length == 1 ){//인증저장이고 하나의 혈액번호가 선택되어 수정할경우 함께 기록된 혈액번호가 존재하는지 체크
  770. rtnBlodList = fExistsExecRecTogether(rtnBlodFindRow,"U");
  771. }
  772. if(group3.switch1.case2.chk_smlqtytnsyn.value == "Y"){
  773. //if(model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/drugqty") == ""){
  774. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty")) ){
  775. sysf_messageBox("투여량을 입력하십시요", "E");
  776. group3.switch1.case2.ipt_onepintqty.setFocus();
  777. return;
  778. }
  779. }
  780. /* 수혈종료일시가 입력되면 반드시 투여량이 입력되어야함 */
  781. if( !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) || !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm")) ){
  782. //if(model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/drugqty") == ""){
  783. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty")) ){
  784. sysf_messageBox("혈액 투여량이 입력되지 않았습니다.\n\n투여량을 입력하세요.", "E");
  785. group3.switch1.case2.ipt_onepintqty.setFocus();
  786. return;
  787. }
  788. }
  789. //190403_AYS_수혈부작용 필수항목 체크(인증평가 대비 QI!!!)
  790. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect")) ){
  791. sysf_messageBox("수혈 부작용 항목이 선택되지 않았습니다.\n\n수혈 부작용 항목을 선택하세요.", "E");
  792. group3.switch1.case2.chk_tnssideeffect.setFocus();
  793. return;
  794. }
  795. //2008-12-16 추가
  796. if( group3.switch1.case2.ipt_tnssideeffectetc.enable == true && utlf_isNull(group3.switch1.case2.ipt_tnssideeffectetc.value) ){
  797. sysf_messageBox("수혈 부작용 기타에 대한 상세 입력을 하지 않았습니다.\n\n부작용 기타란에 입력하세요.", "E");
  798. group3.switch1.case2.ipt_tnssideeffectetc.setFocus();
  799. return;
  800. }
  801. /* 수혈중단이 Y 일때 수혈폐기로 상태 변경 시작 */
  802. if( group3.switch1.case2.rdo_discontinuyn.value == 'Y') {
  803. CheckValue = "Y";
  804. var blodnodupSource = new Array();
  805. var prcpnodupSource = new Array();
  806. if( !utlf_isNull(group3.switch1.case2.cap_blodno.text) ){
  807. blodnodupSource = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  808. prcpnodupSource = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",") ;
  809. }
  810. // else {
  811. // blodnodupSource[0] = cap_blodno.value ;
  812. // }
  813. for( var i=0 ; i<=blodnodupSource.length-1 ; i++ ){
  814. // if ( check != "Y" ){// 신규 저장
  815. for( var n=0 ; n <ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; n++ ){
  816. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "blodno") &&
  817. prcpnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "prcpno") ){//혈액번호와 같으면 그리드에 셋팅
  818. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "reqflagstat") == "Y" ){
  819. //messageBox(model.getValue(xBlodReturnReqGrupListPath+"["+n+"]/blodno") + " 는 폐기 확정 된 혈액입니다.", "E");
  820. //return;
  821. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "stat", "1");
  822. }else{
  823. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "stat", "1");
  824. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "reqflag", "3");
  825. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "returnabandondate", group3.switch1.case2.ipt_todd.value);
  826. if( group3.switch1.case2.chk_smlqtytnsyn.value == "Y" ){
  827. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "etcprcpresncd", "13001"); //소량수혈 코드 하드코딩
  828. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "clinccmtcnts", "");
  829. }else{
  830. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "etcprcpresncd", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinu"));
  831. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "clinccmtcnts", group3.switch1.case2.ipt_etc.value);
  832. }
  833. }
  834. }
  835. }
  836. }
  837. var cnt = 0 ;
  838. var Hosyn = 0;
  839. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; i++ ){//체크된 그리드 값 체크
  840. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "stat") == "1" ){
  841. cnt = cnt + 1;
  842. // ****************************** 반납사유 필수 로직 추가 ***************************************
  843. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag")) ){//반납/폐기를 체크
  844. fReturnData("Y");
  845. sysf_messageBox("잔량폐기를 ","C002");
  846. return;
  847. }
  848. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "returnabandondate") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "returnabandondate")) ){//반납/폐기일 체크
  849. fReturnData("Y");
  850. sysf_messageBox("잔량폐기일을","C002");
  851. group3.switch1.case2.ipt_todd.setFocus();
  852. return;
  853. }
  854. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")) ){//반납사유 체크
  855. fReturnData("Y");
  856. sysf_messageBox("잔량폐기 사유를","C002");
  857. group3.switch1.case2.cmb_discontinu.setFocus();
  858. return;
  859. }
  860. if( utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")).substr(3,2) == "99" && utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "clinccmtcnts")) ){//반납사유 체크
  861. fReturnData("Y");
  862. sysf_messageBox("기타 사유 처리 시 기타사유내역을 입력해야 합니다.","C");
  863. group3.switch1.case2.ipt_etc.setFocus();
  864. return;
  865. }
  866. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty")) ){//투여량 체크
  867. fReturnData("Y");
  868. sysf_messageBox("투여량을 입력하십시요","C");
  869. group3.switch1.case2.ipt_onepintqty.setFocus();
  870. return;
  871. }
  872. // if(model.getValue(xBlodReturnReqGrupListPath+"["+i+"]/etcprcpresncd").substring(0,3) == "080"){ //반납사유가 병원사유인지 체크
  873. if( utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(0, "etcprcpresncd")).substring(0,3) == "072" ){ //반납사유가 병원사유인지 체크
  874. Hosyn++;
  875. }
  876. }
  877. }
  878. if(Hosyn > 0 || CheckValue == "Y"){
  879. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) ||
  880. utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm")) ){
  881. fReturnData("Y");
  882. sysf_messageBox("수혈종료 일시를 ","C002");
  883. group3.switch1.case2.ipt_todd.setFocus();
  884. return;
  885. }
  886. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursnm")) ){
  887. fReturnData("Y");
  888. sysf_messageBox("수혈종료 간호사를 ","C002");
  889. group3.switch1.case2.btn_usersetting.setFocus();
  890. return;
  891. }
  892. //반납사유가 병원사유인지 체크
  893. if(Hosyn > 0){
  894. var sRtnMsg = sysf_messageBox("병원사유에 의한 혈액폐기시 혈액대금이 병원손실처리 됩니다.\n\n","Q003");
  895. if(sRtnMsg != 6){
  896. fReturnData("Y");
  897. return;
  898. }
  899. }else{
  900. if( utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinu")).substring(0,3) == "072" ){
  901. var sRtnMsg = sysf_messageBox("병원사유에 의한 혈액폐기시 혈액대금이 병원손실처리 됩니다.\n\n","Q003");
  902. if(sRtnMsg != 6){
  903. fReturnData("Y");
  904. return;
  905. }
  906. }
  907. }
  908. }
  909. //return;
  910. //if ( check != "Y" ){// 신규 저장
  911. if (CheckValue =="Y"){
  912. if(cnt < 1){
  913. sysf_messageBox("선택 정보가 ","I004");
  914. fReturnData("Y");
  915. return;
  916. }
  917. ds_send_detlgrup2.copyData(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist);
  918. }
  919. ds_send.setColumn(0, "discontinuyn2", "Y");
  920. } else {
  921. var blodnodupSource2 = new Array();
  922. var prcpnodupSource2 = new Array();
  923. if( !utlf_isNull(group3.switch1.case2.cap_blodno.text) ){
  924. blodnodupSource2 = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  925. prcpnodupSource2 = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",") ;
  926. }
  927. for( var i=0 ; i<=blodnodupSource2.length-1 ; i++ ){
  928. for( var x=0 ; x<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; x++ ){
  929. if( blodnodupSource2[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(x, "blodno") &&
  930. prcpnodupSource2[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(x, "prcpno") ) {//혈액번호와 같으면 그리드에 셋팅
  931. //if(model.getValue(xBlodReturnReqGrupListPath+"["+x+"]/reqflagstat") == "Y"){
  932. // messageBox(model.getValue(xBlodReturnReqGrupListPath+"["+x+"]/blodno") + " 는 폐기 확정 된 혈액입니다.", "E");
  933. // return;
  934. //}else{
  935. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.updatecontrol = false;
  936. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.enableevent = false;
  937. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "stat", "1");
  938. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.enableevent = true;
  939. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.updatecontrol = true;
  940. //}
  941. }
  942. }
  943. }
  944. }
  945. /* 수혈중단이 Y 일때 수혈폐기로 상태 변경 끝 */
  946. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno")) ){
  947. fReturnData("N");
  948. sysf_messageBox("혈액번호를","C002");
  949. return;
  950. }
  951. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpnm")) ){
  952. fReturnData("N");
  953. sysf_messageBox("혈액명을","C002");
  954. return;
  955. }
  956. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "abo")) ){
  957. fReturnData("N");
  958. sysf_messageBox("혈액형을","C002");
  959. return;
  960. }
  961. // 15.09.08 추가 - AYS
  962. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrdd")) || utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrtm")) ){
  963. fReturnData("N");
  964. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" ){
  965. sysf_messageBox("수혈시작시간을","C001");
  966. } else{
  967. sysf_messageBox("환자보낸 시간을","C001");
  968. }
  969. group3.switch1.case2.btn_setfromdt.setFocus();
  970. return;
  971. }
  972. // 15.09.08 추가 - AYS
  973. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrnursdeptnm")) ||
  974. utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrnursnm")) ||
  975. utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrnursall")) ){
  976. fReturnData("N");
  977. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" ){
  978. sysf_messageBox("수혈시작 간호사를","C002");
  979. } else{
  980. sysf_messageBox("담당 간호사를","C001");
  981. }
  982. group3.switch1.case2.btn_srchfromus.setFocus();
  983. return;
  984. }
  985. // 15.09.08 추가 - AYS
  986. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" ){
  987. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsrec")) ){
  988. fReturnData("N");
  989. sysf_messageBox("수혈기록을","C001");
  990. return;
  991. }
  992. }
  993. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn") != "Y"){
  994. if( (!utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursdeptnm")) || !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursnm"))) &&
  995. (utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) || utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm"))) ){
  996. fReturnData("N");
  997. sysf_messageBox("수혈종료시간을","C001");
  998. group3.switch1.case2.btn_settodt.setFocus();
  999. return;
  1000. }
  1001. }
  1002. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn") != "Y" ){
  1003. if( (!utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) || !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm"))) &&
  1004. (utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursdeptnm")) || utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursnm"))) ){
  1005. fReturnData("N");
  1006. sysf_messageBox("수혈종료 간호사를","C002");
  1007. group3.switch1.case2.btn_usersetting.setFocus();
  1008. return;
  1009. }
  1010. }
  1011. if( (ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn") == "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuyn") == "Y") ||
  1012. (ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") == "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuyn") == "Y") ||
  1013. (ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn") == "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuyn") == "Y") ){
  1014. fReturnData("N");
  1015. sysf_messageBox("전원, 검사및시술 및 성분채집실 수혈 시 수혈 중단을 선택할 수 없습니다.","C");
  1016. return;
  1017. }
  1018. // if(ipt_tnssideeffectetc.attribute("disabled")== "false"){
  1019. // if(ipt_tnssideeffectetc.value == ""){
  1020. // fReturnData("N");
  1021. // messageBox("수혈 부작용 내역 중 기타 항목이 선택되었습니다.\n\n부작용 기타 내역은 필수입력입니다.","I");
  1022. // return;
  1023. // }
  1024. // }
  1025. if(sysf_messageBox("수혈기록을 ","Q002") != 6){
  1026. fReturnData("N");
  1027. return;// 저장하시겠습니까?
  1028. }
  1029. ds_send.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
  1030. ds_send.setColumn(0, "blodno", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno"));
  1031. ds_send.setColumn(0, "tnsstrddtm", ( !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrtm")) ?
  1032. (ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrdd") + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrtm")+"00").substring(0,14) :
  1033. ""));
  1034. ds_send.setColumn(0, "tnsendddtm", ( !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm")) ?
  1035. (ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd") + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm")+"00").substring(0,14) :
  1036. ""));
  1037. ds_send.setColumn(0, "tnsstrnursall", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrnursall"));
  1038. ds_send.setColumn(0, "tnsendnursall", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursall"));
  1039. ds_send.setColumn(0, "sideeffectcomcodelist", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect"));
  1040. ds_send.setColumn(0, "tnssideeffectetc", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffectetc"));
  1041. ds_send.setColumn(0, "discontinuyn", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuyn"));
  1042. ds_send.setColumn(0, "discontinucomcodelist", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinu"));
  1043. ds_send.setColumn(0, "discontinuetc", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuetc"));
  1044. ds_send.setColumn(0, "drugqty", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "drugqty"));
  1045. ds_send.setColumn(0, "onepintqty", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty"));
  1046. ds_send.setColumn(0, "tnsrec", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsrec"));
  1047. ds_send.setColumn(0, "smlqtytnsyn", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "smlqtytnsyn"));
  1048. ds_send.setColumn(0, "tprlnkyn", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tprlnkyn"));
  1049. // 150423 추가 - AYS
  1050. // if(model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/transferyn") != "Y") {
  1051. // model.setValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/transferyn", "N");
  1052. // }
  1053. ds_send.setColumn(0, "transferyn", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn"));
  1054. // 15.09.08 - AYS 추가
  1055. ds_send.setColumn(0, "nonactpher", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher"));
  1056. ds_send.setColumn(0, "exceptyn", ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn")); // '18.06.18_AYS_검사및시술 항목
  1057. ds_send.setColumn(0, "ioparam", ioparam);
  1058. //model.makeValue("/root/send/prcpdelivefact",model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/prcpdelivefact") );
  1059. var sp = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsstrnursall")).split(",");
  1060. ds_send.setColumn(0, "tnsstrnurseid", sp[0]);
  1061. ds_send.setColumn(0, "tnsstrnursenm", sp[1]);
  1062. ds_send.setColumn(0, "tnsstrnursedeptcd", sp[5]);
  1063. ds_send.setColumn(0, "tnsstrnursedeptnm", sp[4]);
  1064. var sp2 = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursall")).split(",");
  1065. ds_send.setColumn(0, "tnsendnurseid", sp2[0]);
  1066. ds_send.setColumn(0, "tnsendnursenm", sp2[1]);
  1067. ds_send.setColumn(0, "tnsendnursedeptcd", sp2[5]);
  1068. ds_send.setColumn(0, "tnsendnursedeptnm", sp2[4]);
  1069. ds_send.setColumn(0, "wardcd", group3.switch1.case2.group2.cmb_wardcdgruplist2.value);
  1070. ds_send.setColumn(0, "roomcd", group3.switch1.case2.group2.cmb_roomcdgruplist2.value);
  1071. ds_send.setColumn(0, "instcd", sysf_getUserInfo("dutplceinstcd"));
  1072. var chekBlod = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno")).split(",");
  1073. if(chekBlod.length > 0) {
  1074. ds_send.setColumn(0, "orddd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(0, "orddd"));
  1075. ds_send.setColumn(0, "cretno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(0, "cretno"));
  1076. }
  1077. var pidblodflag = '';
  1078. if( !utlf_isNull(group3.switch1.case2.group2.ipt_pid2.value) ){
  1079. pidblodflag = 'pid';
  1080. } else if( !utlf_isNull(group3.switch1.case2.ipt_blodno.value) ){
  1081. pidblodflag = 'blod';
  1082. }
  1083. if(pFlag == "CertSave"){
  1084. // 인증저장시에는 수혈종료일시, 수혈종료간호사 반드시 입력 후 저장 되도록 추가 : 2008-01-16
  1085. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn") != "Y" ){
  1086. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursdeptnm")) || utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendnursnm")) ){
  1087. fReturnData("Y");
  1088. sysf_messageBox("수혈종료 간호사를","C002");
  1089. return;
  1090. }
  1091. }
  1092. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "transferyn") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") != "Y" && ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "exceptyn") != "Y" ){
  1093. if( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsenddd")) || utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnsendtm")) ){
  1094. fReturnData("Y");
  1095. sysf_messageBox("수혈종료 시간을","C001");
  1096. return;
  1097. }
  1098. }
  1099. ds_send_signdata.clearData();
  1100. var chekBlod = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno")).split(",");
  1101. var chekprcpnm = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpnm")).split(",");
  1102. var chekabo = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "abo")).split(",");
  1103. var cheksignno = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno")).split(",");
  1104. var chekprcpno = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",");
  1105. //alert(chekBlod + "============" + chekBlod.length );
  1106. // if(chekBlod.length == 1){
  1107. // Sign.certreload = true;
  1108. // }
  1109. for( var i=0 ; i<chekBlod.length ; i++ ){
  1110. ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.copyRow(0, ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist, 0);
  1111. ds_hidden_vitalsigngrup_vitalsigngruplist.copyData(ds_main_cond_vitalsigngrup_vitalsigngruplist);
  1112. ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "blodno", chekBlod[i]);
  1113. ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpnm", chekprcpnm[i]);
  1114. ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "abo", chekabo[i]);
  1115. ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "signno", cheksignno[i]);
  1116. sFindBlodnm = "";
  1117. //if(getPatientInfo("pid") == ""){
  1118. sFindBlodnm = chekprcpno[i];
  1119. //}
  1120. //if(chekBlod.length == 1){
  1121. if( i== 0 ){
  1122. Sign.certreload = true;
  1123. } else {
  1124. Sign.certreload = false;
  1125. }
  1126. var fRow = "";
  1127. fRow = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.findRow("prcpno", sFindBlodnm);
  1128. if(Sign.signprocess() == true){
  1129. var nRow = ds_certtmp_signdata.addRow();
  1130. ds_certtmp_signdata.setColumn(nRow, "certblodno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "blodno"));
  1131. ds_certtmp_signdata.setColumn(nRow, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
  1132. ds_certtmp_signdata.setColumn(nRow, "orddd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "orddd"));
  1133. ds_certtmp_signdata.setColumn(nRow, "cretno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "cretno"));
  1134. ds_certtmp_signdata.setColumn(nRow, "signno", cheksignno[i]);
  1135. ds_certtmp_signdata.setColumn(nRow, "recdd", utlf_getCurrentDate());
  1136. ds_certtmp_signdata.setColumn(nRow, "rectm", utlf_getCurrentTime());
  1137. // if( check != "Y" ){// 신규 저장
  1138. // model.makeValue("/root/certtmp/signdata/recsaveflag", "N");
  1139. // }else{
  1140. ds_certtmp_signdata.setColumn(nRow, "recsaveflag", "Y");
  1141. // }
  1142. ds_certtmp_signdata.setColumn(nRow, "signflag", "02");
  1143. if(ioparam == "IPRC"){
  1144. //model.makeValue("/root/certtmp/signdata/signgenrflag", model.getValue("/root/temp/cond/patientgrup/patientgruplist/ordtype"));
  1145. ds_certtmp_signdata.setColumn(nRow, "signgenrflag", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "ordtype"));
  1146. ds_certtmp_signdata.setColumn(nRow, "orddeptcd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "inptorddeptcd"));
  1147. ds_certtmp_signdata.setColumn(nRow, "orddrid", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "medispclid"));
  1148. }else{
  1149. ds_certtmp_signdata.setColumn(nRow, "signgenrflag", "O");
  1150. ds_certtmp_signdata.setColumn(nRow, "orddeptcd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "orddeptcd"));
  1151. ds_certtmp_signdata.setColumn(nRow, "orddrid", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "orddrid"));
  1152. }
  1153. ds_certtmp_signdata.setColumn(nRow, "formcd", "0000002460");
  1154. //alert( Sign.signedInfos[4]);
  1155. //alert( Sign.signedInfos[5]);
  1156. //return; // test 주석
  1157. // ▶ 인증할 데이터 정보(미기록 노드 제거된 정보)
  1158. // ▶ 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1159. ds_certtmp_signdata.setColumn(nRow, "signbfcnts", Sign.signedInfos[1]);
  1160. //
  1161. // ▶ 공인인증 처리후 데이터
  1162. ds_certtmp_signdata.setColumn(nRow, "signaftcnts", Sign.signedInfos[2]);
  1163. //ds_send.copyRow(0, ds_certtmp_signdata, 0);
  1164. }else{
  1165. fBlodDeliveList(pidblodflag);// 혈액불출내역 리스트
  1166. fTnsRecInit(); //수혈간호기록 초기화
  1167. //fBlodColChg(); //컬럼속성 변경
  1168. return false;
  1169. }
  1170. }
  1171. ds_hidden_vitalsigngrup_vitalsigngruplist.clearData();
  1172. } else {
  1173. }
  1174. //debugger;
  1175. /* 저장 / 업데이트 구분 체크 끝 */
  1176. if( check != "Y" ){// 신규 저장
  1177. ds_send.setColumn(0, "instcd", "");
  1178. ds_send.setColumn(0, "execprcpuniqno", "");
  1179. //model.makeValue("/root/send/detlgrup",grd_blodnoexecrecgruplist.getupdatedataAll("i"));
  1180. dsf_setCSVToDs("ds_send_detlgrup", fSaveExecRecListMake("noexec"));//20100419 khj 체크된 정보 get
  1181. for( var i=0 ; i<ds_send_detlgrup.rowcount ; i++ ){
  1182. if( ds_send_detlgrup.getColumn(i, "stat") == "1" ){
  1183. ds_send_detlgrup.setColumn(i, "stat", "true");
  1184. }else{
  1185. ds_send_detlgrup.setColumn(i, "stat", "false");
  1186. }
  1187. dsf_makeValue(ds_send_detlgrup, "pid", "string", ds_send.getColumn(0, "pid"), i);
  1188. dsf_makeValue(ds_send_detlgrup, "tnsstrddtm", "string", ds_send.getColumn(0, "tnsstrddtm"), i);
  1189. dsf_makeValue(ds_send_detlgrup, "tnsendddtm", "string", ds_send.getColumn(0, "tnsendddtm"), i);
  1190. dsf_makeValue(ds_send_detlgrup, "tnsstrnursall", "string", ds_send.getColumn(0, "tnsstrnursall"), i);
  1191. dsf_makeValue(ds_send_detlgrup, "tnsendnursall", "string", ds_send.getColumn(0, "tnsendnursall"), i);
  1192. dsf_makeValue(ds_send_detlgrup, "tnsstrnurseid", "string", ds_send.getColumn(0, "tnsstrnurseid"), i);
  1193. dsf_makeValue(ds_send_detlgrup, "tnsstrnursenm", "string", ds_send.getColumn(0, "tnsstrnursenm"), i);
  1194. dsf_makeValue(ds_send_detlgrup, "tnsstrnursedeptcd", "string", ds_send.getColumn(0, "tnsstrnursedeptcd"), i);
  1195. dsf_makeValue(ds_send_detlgrup, "tnsstrnursedeptnm", "string", ds_send.getColumn(0, "tnsstrnursedeptnm"), i);
  1196. dsf_makeValue(ds_send_detlgrup, "tnsendnurseid", "string", ds_send.getColumn(0, "tnsendnurseid"), i);
  1197. dsf_makeValue(ds_send_detlgrup, "tnsendnursenm", "string", ds_send.getColumn(0, "tnsendnursenm"), i);
  1198. dsf_makeValue(ds_send_detlgrup, "tnsendnursedeptcd", "string", ds_send.getColumn(0, "tnsendnursedeptcd"), i);
  1199. dsf_makeValue(ds_send_detlgrup, "tnsendnursedeptnm", "string", ds_send.getColumn(0, "tnsendnursedeptnm"), i);
  1200. dsf_makeValue(ds_send_detlgrup, "sideeffectcomcodelist", "string", ds_send.getColumn(0, "sideeffectcomcodelist"), i);
  1201. dsf_makeValue(ds_send_detlgrup, "discontinuyn", "string", ds_send.getColumn(0, "discontinuyn"), i);
  1202. dsf_makeValue(ds_send_detlgrup, "discontinucomcodelist", "string", ds_send.getColumn(0, "discontinucomcodelist"), i);
  1203. dsf_makeValue(ds_send_detlgrup, "discontinuetc", "string", ds_send.getColumn(0, "discontinuetc"), i);
  1204. dsf_makeValue(ds_send_detlgrup, "drugqty", "string", ds_send.getColumn(0, "drugqty"), i);
  1205. dsf_makeValue(ds_send_detlgrup, "onepintqty", "string", ds_send.getColumn(0, "onepintqty"), i);
  1206. dsf_makeValue(ds_send_detlgrup, "tnsrec", "string", ds_send.getColumn(0, "tnsrec"), i);
  1207. dsf_makeValue(ds_send_detlgrup, "ioparam", "string", ds_send.getColumn(0, "ioparam"), i);
  1208. dsf_makeValue(ds_send_detlgrup, "instcd", "string", ds_send.getColumn(0, "instcd"), i);
  1209. dsf_makeValue(ds_send_detlgrup, "execprcpuniqno", "string", ds_send.getColumn(0, "execprcpuniqno"), i);
  1210. dsf_makeValue(ds_send_detlgrup, "smlqtytnsyn", "string", ds_send.getColumn(0, "smlqtytnsyn"), i);
  1211. dsf_makeValue(ds_send_detlgrup, "tnssideeffectetc", "string", ds_send.getColumn(0, "tnssideeffectetc"), i);
  1212. dsf_makeValue(ds_send_detlgrup, "tprlnkyn", "string", ds_send.getColumn(0, "tprlnkyn"), i);
  1213. dsf_makeValue(ds_send_detlgrup, "orddd", "string", ds_send.getColumn(0, "orddd"), i);
  1214. dsf_makeValue(ds_send_detlgrup, "cretno", "string", ds_send.getColumn(0, "cretno"), i);
  1215. dsf_makeValue(ds_send_detlgrup, "wardcd", "string", ds_send.getColumn(0, "wardcd"), i);
  1216. dsf_makeValue(ds_send_detlgrup, "roomcd", "string", ds_send.getColumn(0, "roomcd"), i);
  1217. dsf_makeValue(ds_send_detlgrup, "instcd", "string", ds_send.getColumn(0, "instcd"), i);
  1218. dsf_makeValue(ds_send_detlgrup, "transferyn", "string", ds_send.getColumn(0, "transferyn"), i);
  1219. dsf_makeValue(ds_send_detlgrup, "nonactpher", "string", ds_send.getColumn(0, "nonactpher"), i);
  1220. dsf_makeValue(ds_send_detlgrup, "exceptyn", "string", ds_send.getColumn(0, "exceptyn"), i); // '18.06.18_AYS_검사및시술 항목
  1221. }
  1222. ds_send_vitalgrup.clearData();
  1223. for( var i=0 ; i<ds_main_cond_vitalsigngrup_vitalsigngruplist.rowcount ; i++ ){
  1224. ds_send_vitalgrup.addRow();
  1225. ds_send_vitalgrup.copyRow(i, ds_main_cond_vitalsigngrup_vitalsigngruplist, i);
  1226. ds_send_vitalgrup.copyRow(i, ds_send, 0, "instcd=instcd,pid=pid,orddd=orddd,cretno=cretno,prcpcd=prcpcd,wardcd=wardcd,roomcd=roomcd");
  1227. }
  1228. // if(messageBox("수혈기록을 ","Q002") != 6) return;// 저장하시겠습니까?
  1229. for( var i=0 ; i<ds_send_detlgrup2.rowcount ; i++ ){
  1230. if( ds_send_detlgrup2.getColumn(i, "stat") == "1" ){
  1231. ds_send_detlgrup2.setColumn(i, "stat", "true");
  1232. }else{
  1233. ds_send_detlgrup2.setColumn(i, "stat", "false");
  1234. }
  1235. }
  1236. if( utlf_isNull(ds_send_detlgrup2.getColumnInfo("ioparam")) ){
  1237. ds_send_detlgrup2.addColumn("ioparam", "string");
  1238. }
  1239. if( utlf_isNull(ds_send_detlgrup2.getColumnInfo("discontinuyn2")) ){
  1240. ds_send_detlgrup2.addColumn("discontinuyn2", "string");
  1241. }
  1242. for( var i=0 ; i<ds_send_detlgrup2.rowcount ; i++ ){
  1243. ds_send_detlgrup2.setColumn(i, "ioparam", ds_send.getColumn(0, "ioparam"));
  1244. ds_send_detlgrup2.setColumn(i, "discontinuyn2", ds_send.getColumn(0, "discontinuyn2"));
  1245. }
  1246. var oParam = {};
  1247. oParam.id = "TXMNR01031";
  1248. oParam.service = "carerecapp.TnsCareRec";
  1249. oParam.method = "reqInsTnsNurseRecInfo";
  1250. oParam.inds = "vitalgrup=ds_send_vitalgrup detlgrup2=ds_send_detlgrup2 detlgrup=ds_send_detlgrup signinfo=ds_certtmp_signdata";
  1251. oParam.outds = "ds_temp_cntinfo=prcplist";
  1252. oParam.async = false;
  1253. oParam.callback = "cf_TXMNR01031";
  1254. tranf_submit(oParam);
  1255. if( arErrorCode.pop("TXMNR01031") > -1 ){
  1256. //model.copyNode("/root/hidden/main","/root/main");
  1257. }
  1258. // 저장 실패 해도 재조회 :
  1259. // fBlodDeliveList(pidblodflag);// 혈액불출내역 리스트
  1260. // //fGetBlodNoExecRecList(pidblodflag); //수혈 미수행 내역 리스트
  1261. // //fGetBlodExecRecList(pidblodflag); //수혈 수행 내역 리스트
  1262. // fTnsRecInit(); //수혈간호기록 초기화
  1263. // fBlodColChg(); //컬럼속성 변경
  1264. } else if( check == "Y") {// 업데이트
  1265. ds_send.setColumn(0, "prcpdd", "");
  1266. ds_send.setColumn(0, "prcpno", "");
  1267. ds_send.setColumn(0, "prcphistno", "");
  1268. ds_send.setColumn(0, "instcd", "");
  1269. ds_send.setColumn(0, "execprcpuniqno", "");
  1270. dsf_setCSVToDs("ds_send_detlgrup", fSaveExecRecListMake("exec"));//20100419 khj 체크된 정보 get
  1271. for( var i=0 ; i<ds_send_detlgrup.rowcount ; i++ ){
  1272. if( ds_send_detlgrup.getColumn(i, "stat") == "1" ){
  1273. ds_send_detlgrup.setColumn(i, "stat", "true");
  1274. }else{
  1275. ds_send_detlgrup.setColumn(i, "stat", "false");
  1276. }
  1277. dsf_makeValue(ds_send_detlgrup, "blodnoselect", "string", ds_send.getColumn(0, "blodno"), i);
  1278. dsf_makeValue(ds_send_detlgrup, "tnsstrddtm", "string", ds_send.getColumn(0, "tnsstrddtm"), i);
  1279. dsf_makeValue(ds_send_detlgrup, "tnsendddtm", "string", ds_send.getColumn(0, "tnsendddtm"), i);
  1280. dsf_makeValue(ds_send_detlgrup, "tnsstrnursall", "string", ds_send.getColumn(0, "tnsstrnursall"), i);
  1281. dsf_makeValue(ds_send_detlgrup, "tnsendnursall", "string", ds_send.getColumn(0, "tnsendnursall"), i);
  1282. dsf_makeValue(ds_send_detlgrup, "tnsstrnurseid", "string", ds_send.getColumn(0, "tnsstrnurseid"), i);
  1283. dsf_makeValue(ds_send_detlgrup, "tnsstrnursenm", "string", ds_send.getColumn(0, "tnsstrnursenm"), i);
  1284. dsf_makeValue(ds_send_detlgrup, "tnsstrnursedeptcd", "string", ds_send.getColumn(0, "tnsstrnursedeptcd"), i);
  1285. dsf_makeValue(ds_send_detlgrup, "tnsstrnursedeptnm", "string", ds_send.getColumn(0, "tnsstrnursedeptnm"), i);
  1286. dsf_makeValue(ds_send_detlgrup, "tnsendnurseid", "string", ds_send.getColumn(0, "tnsendnurseid"), i);
  1287. dsf_makeValue(ds_send_detlgrup, "tnsendnursenm", "string", ds_send.getColumn(0, "tnsendnursenm"), i);
  1288. dsf_makeValue(ds_send_detlgrup, "tnsendnursedeptcd", "string", ds_send.getColumn(0, "tnsendnursedeptcd"), i);
  1289. dsf_makeValue(ds_send_detlgrup, "tnsendnursedeptnm", "string", ds_send.getColumn(0, "tnsendnursedeptnm"), i);
  1290. dsf_makeValue(ds_send_detlgrup, "sideeffectcomcodelist", "string", ds_send.getColumn(0, "sideeffectcomcodelist"), i);
  1291. dsf_makeValue(ds_send_detlgrup, "prcpdelivefact", "string", ds_send.getColumn(0, "prcpdelivefact"), i);
  1292. dsf_makeValue(ds_send_detlgrup, "discontinuyn", "string", ds_send.getColumn(0, "discontinuyn"), i);
  1293. dsf_makeValue(ds_send_detlgrup, "discontinucomcodelist", "string", ds_send.getColumn(0, "discontinucomcodelist"), i);
  1294. dsf_makeValue(ds_send_detlgrup, "discontinuetc", "string", ds_send.getColumn(0, "discontinuetc"), i);
  1295. dsf_makeValue(ds_send_detlgrup, "drugqty", "string", ds_send.getColumn(0, "drugqty"), i);
  1296. dsf_makeValue(ds_send_detlgrup, "onepintqty", "string", ds_send.getColumn(0, "onepintqty"), i);
  1297. dsf_makeValue(ds_send_detlgrup, "tnsrec", "string", ds_send.getColumn(0, "tnsrec"), i);
  1298. dsf_makeValue(ds_send_detlgrup, "ioparam", "string", ds_send.getColumn(0, "ioparam"), i);
  1299. dsf_makeValue(ds_send_detlgrup, "instcd", "string", ds_send.getColumn(0, "instcd"), i);
  1300. dsf_makeValue(ds_send_detlgrup, "smlqtytnsyn", "string", ds_send.getColumn(0, "smlqtytnsyn"), i);
  1301. dsf_makeValue(ds_send_detlgrup, "tnssideeffectetc", "string", ds_send.getColumn(0, "tnssideeffectetc"), i);
  1302. dsf_makeValue(ds_send_detlgrup, "tprlnkyn", "string", ds_send.getColumn(0, "tprlnkyn"), i);
  1303. dsf_makeValue(ds_send_detlgrup, "orddd", "string", ds_send.getColumn(0, "orddd"), i);
  1304. dsf_makeValue(ds_send_detlgrup, "cretno", "string", ds_send.getColumn(0, "cretno"), i);
  1305. dsf_makeValue(ds_send_detlgrup, "wardcd", "string", ds_send.getColumn(0, "wardcd"), i);
  1306. dsf_makeValue(ds_send_detlgrup, "roomcd", "string", ds_send.getColumn(0, "roomcd"), i);
  1307. dsf_makeValue(ds_send_detlgrup, "transferyn", "string", ds_send.getColumn(0, "transferyn"), i);
  1308. dsf_makeValue(ds_send_detlgrup, "nonactpher", "string", ds_send.getColumn(0, "nonactpher"), i);
  1309. dsf_makeValue(ds_send_detlgrup, "exceptyn", "string", ds_send.getColumn(0, "exceptyn"), i);
  1310. }
  1311. ds_send_vitalgrup.clearData();
  1312. for( var i=0 ; i<ds_main_cond_vitalsigngrup_vitalsigngruplist.rowcount ; i++ ){
  1313. ds_send_vitalgrup.addRow();
  1314. ds_send_vitalgrup.copyRow(i, ds_main_cond_vitalsigngrup_vitalsigngruplist, i);
  1315. ds_send_vitalgrup.copyRow(i, ds_send, 0, "instcd=instcd,pid=pid,prcpcd=prcpcd");
  1316. }
  1317. // if(messageBox("","Q002") != 6) return;// 저장하시겠습니까?
  1318. for( var i=0 ; i<ds_send_detlgrup2.rowcount ; i++ ){
  1319. if( ds_send_detlgrup2.getColumn(i, "stat") == "1" ){
  1320. ds_send_detlgrup2.setColumn(i, "stat", "true");
  1321. }else{
  1322. ds_send_detlgrup2.setColumn(i, "stat", "false");
  1323. }
  1324. }
  1325. if( utlf_isNull(ds_send_detlgrup2.getColumnInfo("ioparam")) ){
  1326. ds_send_detlgrup2.addColumn("ioparam", "string");
  1327. }
  1328. if( utlf_isNull(ds_send_detlgrup2.getColumnInfo("discontinuyn2")) ){
  1329. ds_send_detlgrup2.addColumn("discontinuyn2", "string");
  1330. }
  1331. for( var i=0 ; i<ds_send_detlgrup2.rowcount ; i++ ){
  1332. ds_send_detlgrup2.setColumn(i, "ioparam", ds_send.getColumn(0, "ioparam"));
  1333. ds_send_detlgrup2.setColumn(i, "discontinuyn2", ds_send.getColumn(0, "discontinuyn2"));
  1334. }
  1335. var oParam = {};
  1336. oParam.id = "TXMNR01032";
  1337. oParam.service = "carerecapp.TnsCareRec";
  1338. oParam.method = "reqSetTnsNurseRecInfo";
  1339. oParam.inds = "vitalgrup=ds_send_vitalgrup detlgrup2=ds_send_detlgrup2 detlgrup=ds_send_detlgrup signinfo=ds_certtmp_signdata";
  1340. oParam.outds = "ds_temp_cntinfo=prcplist";
  1341. oParam.async = false;
  1342. //oParam.callback = "cf_TXMNR01032";
  1343. tranf_submit(oParam);
  1344. // if( arErrorCode.pop("TXMNR01031") > -1 ){
  1345. // //model.copyNode("/root/hidden/main","/root/main");
  1346. // }
  1347. // 저장 실패 해도 재조회 : // 저장 실패 해도 재조회
  1348. // fBlodDeliveList(pidblodflag);// 혈액불출내역 리스트
  1349. //
  1350. // //fGetBlodNoExecRecList(pidblodflag); //수혈 미수행 내역 리스트
  1351. // //fGetBlodExecRecList(pidblodflag); //수혈 수행 내역 리스트
  1352. //
  1353. // //model.removeNodeset("/root/main/cond/vitalsigngrup/vitalsigngruplist");
  1354. //
  1355. // fTnsRecInit(); //수혈간호기록 초기화
  1356. // fBlodColChg(); //컬럼속성 변경
  1357. }
  1358. ds_certtmp_signdata.clearData();
  1359. fBlodDeliveList(pidblodflag);// 혈액불출내역 리스트
  1360. //fGetBlodNoExecRecList(pidblodflag); //수혈 미수행 내역 리스트
  1361. //fGetBlodExecRecList(pidblodflag); //수혈 수행 내역 리스트
  1362. fTnsRecInit(); //수혈간호기록 초기화
  1363. //fBlodColChg(); //컬럼속성 변경
  1364. }
  1365. function cf_TXMNR01031(sSvcId, nErrorCode, sErrorMsg) {
  1366. arErrorCode.push(sSvcId, nErrorCode);
  1367. }
  1368. function fMake_SignData(){
  1369. //위쪽로직으로 이동 : 환자정보 값이 셋팅이 안되서...
  1370. if( !utlf_isNull(sFindBlodnm) ){
  1371. var fRow = "";
  1372. fRow = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.findRow("prcpno", sFindBlodnm);
  1373. if(fRow > -1){
  1374. //singno = 1600000073351225
  1375. // model.setValue(Sign.XPATH_BASICINFO + "/pid" , model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/pid"));
  1376. // model.setValue(Sign.XPATH_BASICINFO + "/pname" , model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/patientnm1"));
  1377. // model.setValue(Sign.XPATH_BASICINFO + "/age" , model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/sexage"));
  1378. // model.setValue(Sign.XPATH_BASICINFO + "/body" , "");
  1379. // model.setValue(Sign.XPATH_BASICINFO + "/btype" , model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/btype"));
  1380. // model.setValue(Sign.XPATH_BASICINFO + "/insukind" , "");
  1381. // model.setValue(Sign.XPATH_BASICINFO + "/orddept" , model.getValue("/root/main/cond/blodreturnreqgrup/blodreturnreqgruplist["+fRow+"]/orddeptnm"));
  1382. // model.setValue(Sign.XPATH_BASICINFO + "/apntdr" , model.getValue("/root/main/cond/blodreturnreqgrup/blodreturnreqgruplist["+fRow+"]/orddrnm"));
  1383. // model.setValue(Sign.XPATH_BASICINFO + "/attndr" , "");
  1384. var sPid = ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid");
  1385. // appf_setPatientInfo("pid", sPid);
  1386. // appf_setPatientInfo("pname", sPid + "|" + ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "patientnm1"));
  1387. // appf_setPatientInfo("age", sPid + "|" + ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "sexage"));
  1388. // appf_setPatientInfo("body", sPid + "|" + "");
  1389. // appf_setPatientInfo("btype", sPid + "|" + ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "btype"));
  1390. // appf_setPatientInfo("insukind", sPid + "|" + "");
  1391. // appf_setPatientInfo("orddept", sPid + "|" + ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "orddeptnm"));
  1392. // appf_setPatientInfo("apntdr", sPid + "|" + ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "orddrnm"));
  1393. // appf_setPatientInfo("attndr", sPid + "|" + "");
  1394. }
  1395. }
  1396. // Sign.addnode("/root/hidden/tnsnurserecgrup/tnsnurserecgruplist");
  1397. // Sign.addnode("/root/hidden/vitalsigngrup");
  1398. var xRecinfoPath = ds_hidden_tnsnurserecgrup_tnsnurserecgruplist;
  1399. var xRecinfoVitalPath = ds_hidden_vitalsigngrup_vitalsigngruplist;
  1400. var sTnsSideeffect = xRecinfoPath.getColumn(0, "tnssideeffect");
  1401. var sTnsDiscontinu = xRecinfoPath.getColumn(0, "discontinu");
  1402. var sTnsTnsrec = xRecinfoPath.getColumn(0, "tnsrec");
  1403. var sTnsstrdd = xRecinfoPath.getColumn(0, "tnsstrdd");
  1404. var sTnsstrtm = xRecinfoPath.getColumn(0, "tnsstrtm");
  1405. var sTnsenddd = xRecinfoPath.getColumn(0, "tnsenddd");
  1406. var sTnsendtm = xRecinfoPath.getColumn(0, "tnsendtm");
  1407. var sTnsSideeffectRslt = utlf_transNullToEmpty(sTnsSideeffect).split(" ");
  1408. if( !utlf_isNull(sTnsSideeffect) ){
  1409. sTnsEfftInfo = "";
  1410. for( var i=0 ; i<sTnsSideeffectRslt.length ; i++ ){
  1411. for( var j=0 ; j<ds_init_sideeffectcom_M0330.rowcount ; j++ ){
  1412. if( sTnsSideeffectRslt[i] == ds_init_sideeffectcom_M0330.getColumn(j, "cdid") ){
  1413. if( utlf_isNull(sTnsEfftInfo) ){
  1414. sTnsEfftInfo += ds_init_sideeffectcom_M0330.getColumn(ds_init_sideeffectcom_M0330.findRow("cdid", sTnsSideeffectRslt[i]), "cdnm");
  1415. }else{
  1416. sTnsEfftInfo += ", " + ds_init_sideeffectcom_M0330.getColumn(ds_init_sideeffectcom_M0330.findRow("cdid", sTnsSideeffectRslt[i]), "cdnm");
  1417. }
  1418. }
  1419. }
  1420. }
  1421. xRecinfoPath.setColumn(0, "tnssideeffect", sTnsEfftInfo);
  1422. }
  1423. if( !utlf_isNull(sTnsDiscontinu) ){
  1424. xRecinfoPath.setColumn(0, "discontinu", ds_init_L0093list_L0093.getColumn(ds_init_L0093list_L0093.findRow("cdid", sTnsDiscontinu), "cdnm"));
  1425. }
  1426. Sign.addnode("/tnsnurserecgruplist",ds_hidden_tnsnurserecgrup_tnsnurserecgruplist.saveXML());
  1427. Sign.addnode("/vitalsigngrup/vitalsigngruplist",ds_hidden_vitalsigngrup_vitalsigngruplist.saveXML());
  1428. // if(sTnsstrdd != "" && sTnsstrtm != ""){
  1429. // model.makeValue(xRecinfoPath + "/tnsstrdt",
  1430. // sTnsstrdd.substring(1,4) + "-" +
  1431. // sTnsstrdd.substring(5,2) + "-" +
  1432. // sTnsstrdd.substring(7,2) + " " +
  1433. // sTnsstrtm.substring(1,2) + ":" +
  1434. // sTnsstrtm.substring(3,2) );
  1435. // model.removenode(xRecinfoPath + "/tnsstrdd");
  1436. // model.removenode(xRecinfoPath + "/tnsstrtm");
  1437. // }
  1438. //
  1439. // if(sTnsenddd != "" && sTnsendtm != ""){
  1440. // model.makeValue(xRecinfoPath + "/tnsenddt",
  1441. // sTnsenddd.substring(1,4) + "-" +
  1442. // sTnsenddd.substring(5,2) + "-" +
  1443. // sTnsenddd.substring(7,2) + " " +
  1444. // sTnsendtm.substring(1,2) + ":" +
  1445. // sTnsendtm.substring(3,2) );
  1446. // model.removenode(xRecinfoPath + "/tnsenddd");
  1447. // model.removenode(xRecinfoPath + "/tnsendtm");
  1448. //
  1449. // }
  1450. }
  1451. /**
  1452. * @group :
  1453. * @ver : 2008.01.17
  1454. * @by : 양천덕
  1455. * @---------------------------------------------------
  1456. * @type : function
  1457. * @access : public
  1458. * @desc : 수혈기록 내역이 있는 내역은 모든 상태 변경 불가능 not used
  1459. * @param :
  1460. * @return :
  1461. * @---------------------------------------------------
  1462. */
  1463. function fBlodColChg(){
  1464. for(var i = 1 ; i < grd_blodreturnreqgruplist.rows; i++ ){
  1465. for(var n = 1 ; n < grd_blodexecrecgruplist.rows; n++ ){
  1466. if( model.getValue("/root/main/cond/blodreturnreqgrup/blodreturnreqgruplist["+ i +"]/blodno") == model.getValue("/root/main/cond/blodreturnreqgrup/blodexecrecgruplist["+ n +"]/blodno")
  1467. || model.getValue("/root/main/cond/blodreturnreqgrup/blodreturnreqgruplist["+ i +"]/prcpno") == model.getValue("/root/main/cond/blodreturnreqgrup/blodexecrecgruplist["+ n +"]/prcpno")
  1468. ) {
  1469. grd_blodreturnreqgruplist.isReadOnly(i, grd_blodreturnreqgruplist.colRef("reqflag")) = true;
  1470. grd_blodreturnreqgruplist.isReadOnly(i, grd_blodreturnreqgruplist.colRef("returnabandondate")) = true;
  1471. grd_blodreturnreqgruplist.isReadOnly(i, grd_blodreturnreqgruplist.colRef("etcprcpresncd")) = true;
  1472. grd_blodreturnreqgruplist.isReadOnly(i, grd_blodreturnreqgruplist.colRef("stat")) = true;
  1473. grd_blodreturnreqgruplist.rowstyle(i, "data", "background-color") = "#fff000";
  1474. }
  1475. }
  1476. }
  1477. }
  1478. /**
  1479. * @group :
  1480. * @ver : 2007.05.09
  1481. * @by : 정찬성
  1482. * @---------------------------------------------------
  1483. * @type : function
  1484. * @access : public
  1485. * @desc : 미수행기록목록에서 선택한 혈액정보 기록버튼
  1486. * @param :
  1487. * @return :
  1488. * @---------------------------------------------------
  1489. */
  1490. function fExecRec(){
  1491. var sRowCnt = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount;
  1492. var cnt = 0 ;
  1493. //grdf_setStatusColumn(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist, "stat");
  1494. ds_send_detlgrup.copyData(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist);
  1495. var blodno = "" ;
  1496. var prcpnm = "" ;
  1497. var aborh = "" ;
  1498. var prcpno = "";
  1499. var prcpdelivefact = "" ;
  1500. var duplreccheck = false ;
  1501. group3.switch1.case2.btn_init.enable = true;
  1502. group3.switch1.case2.btn_tempsave.enable = true;
  1503. group3.switch1.case2.btn_certsave.enable = true;
  1504. /* 미수행기록 목록 선택 되어 있는지 체크 시작 */
  1505. for( var i=0 ; i<sRowCnt ; i++ ){
  1506. // alert(grd_blodnoexecrecgruplist.labelmatrix(i, 1));
  1507. if( ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "stat") == "1" ){
  1508. blodno += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "blodno") + "," ;
  1509. prcpnm += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "prcpnm") + "," ;
  1510. aborh += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "abo")
  1511. + ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "rh") + "," ;
  1512. prcpno += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "prcpno") + "," ;
  1513. if( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "prcpdelivefact")) ){
  1514. prcpdelivefact += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "prcpdelivefact") + "," ;
  1515. }
  1516. cnt = cnt + 1;
  1517. }
  1518. }
  1519. if(cnt < 1){
  1520. sysf_messageBox("선택 정보가 ","I004");
  1521. return;
  1522. }
  1523. /* 미수행기록 목록 선택 되어 있는지 체크 끝 */
  1524. var blodnodupSource = utlf_transNullToEmpty(blodno.substr(0,blodno.length-1)).split(",");
  1525. var prcpnodupSource = utlf_transNullToEmpty(prcpno.substr(0,prcpno.length-1)).split(",");
  1526. // alert(blodnodupSource);
  1527. /* 미수행내역 기록버튼시 중복 체크 시작 */
  1528. for( var i=0; i<=blodnodupSource.length ; i++ ){
  1529. // alert(grd_blodnoexecrecgruplist.labelmatrix(i, 1));
  1530. for( var n=0 ; n<ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount ; n++ ){
  1531. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "blodno") &&
  1532. prcpnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "prcpno") ){
  1533. duplreccheck = true ;
  1534. }
  1535. }
  1536. }
  1537. /* 미수행내역 기록버튼시 중복 체크 끝 */
  1538. // alert(blodno.substr(0,blodno.length-1));
  1539. // if( duplreccheck ){// 중복기록 체크
  1540. // messageBox("수행기록된 혈액을 중복으로 기록할수 ","I004");
  1541. // return;
  1542. // };
  1543. // fClearChildNode("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist");
  1544. // model.refresh();
  1545. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "blodno", blodno.substr(0,blodno.length-1));
  1546. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpnm", prcpnm.substr(0,prcpnm.length-1));
  1547. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "abo", aborh.substr(0,aborh.length-1));
  1548. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpno", prcpno.substr(0,prcpno.length-1));
  1549. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "discontinuyn", "N");
  1550. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpdelivefact", prcpdelivefact.substr(0,prcpdelivefact.length-1));//전달사항
  1551. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrdd", utlf_getCurrentDate());
  1552. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrtm", utlf_getCurrentTime().substring(0,4));
  1553. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursdeptnm", sysf_getUserId());
  1554. //기록 저장시 부서정보 삭제, 사용자 이름 세팅 : 2008-01-16
  1555. //model.setValue(opt_fromusernm.attribute("ref"), getUserInfo("dutplcenm") );
  1556. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursnm", sysf_getUserName());
  1557. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursall", sysf_getUserInfo("userid")+","+sysf_getUserInfo("usernm")+","+sysf_getUserInfo("dutplceinstnm")+","+sysf_getUserInfo("dutplceinstcd")+","+sysf_getUserInfo("dutplcenm")+","+sysf_getUserInfo("dutplcecd"));// 저장할 데이터 생성
  1558. group3.switch1.case2.chk_smlqtytnsyn.enableevent = false;
  1559. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "smlqtytnsyn", ""); //소량수혈 체크
  1560. group3.switch1.case2.chk_smlqtytnsyn.enableevent = true;
  1561. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tprlnkyn", ""); //I/O연동설정값 DEFAULT ''
  1562. // '15.11.26 성분채집실수혈, 전원 관련 초기화
  1563. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "nonactpher", "N"); // 성분채집실수혈 여부
  1564. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "transferyn", "N"); // 전원여부
  1565. // '15.11.26 성분채집실수혈, 전원 관련 초기화
  1566. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "exceptyn", "N"); // '18.06.18_AYS_검사및시술 항목 초기화
  1567. //model.setValue(opt_todeptnm.attribute("ref"), getUserId() );
  1568. //model.setValue(opt_tousernm.attribute("ref"), getUserInfo("dutplcenm") );
  1569. //model.setValue(opt_tnsendnursall.attribute("ref"), getUserInfo("userid")+","+getUserInfo("usernm")+","+getUserInfo("dutplceinstnm")+","+getUserInfo("dutplceinstcd")+","+getUserInfo("dutplcenm")+","+getUserInfo("dutplcecd"));// 저장할 데이터 생성
  1570. /* 미수행내역 리스트에서 기록버튼 누를때 vital sign 측정시작 측정일시/시간 15분후 일시 시간 셋팅 시작 */
  1571. //grd_vitalsigngruplist.valuematrix(1, grd_vitalsigngruplist.colRef("recdd")) = getCurrentDate() ;
  1572. //grd_vitalsigngruplist.valuematrix(1, grd_vitalsigngruplist.colRef("rectm")) = getCurrentTime() ;
  1573. /* 미수행내역 리스트에서 기록버튼 누를때 vital sign 측정시작 측정일시/시간 15분후 일시 시간 셋팅 끝 */
  1574. //model.refresh();
  1575. // if(submit("TRMNR01023")){
  1576. // model.copyNode("/root/hidden/main","/root/main");
  1577. // }
  1578. }
  1579. /**
  1580. * @group :
  1581. * @ver : 2007.07.09
  1582. * @by : 정찬성
  1583. * @---------------------------------------------------
  1584. * @type : function
  1585. * @access : public
  1586. * @desc : 혈액요청서 선택했을때...
  1587. * @param :
  1588. * @return :
  1589. * @---------------------------------------------------
  1590. */
  1591. function fBlodReqDoc(gubn){
  1592. //debugger;
  1593. var sRowCnt = ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount;
  1594. var cnt = 0 ;
  1595. ds_send_report_delivedetlgrup_delivedetlgruplist.clearData();
  1596. var receiptid = ds_main_cond.getColumn(0, "receiptid");
  1597. var receiptnm = ds_main_cond.getColumn(0, "receiptnm");
  1598. //20101220_KNUH_Start
  1599. if( utlf_isNull(receiptid) && utlf_isNull(receiptnm) ){
  1600. ds_main_cond.setColumn(0, "receiptid", sysf_getUserInfo("userid"));
  1601. ds_main_cond.setColumn(0, "receiptnm", sysf_getUserInfo("usernm"));
  1602. }
  1603. //20101220_KNUH_End
  1604. for( var i=0 ; i<sRowCnt ; i++ ){ // 선택한 값이 불출신청 상태인지 체크
  1605. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "1" ){
  1606. cnt = cnt + 1;
  1607. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "pid") != group3.switch1.case1.grp_sea.ipt_pid.value ){
  1608. sysf_messageBox("입력된 등록번호가 ","E004");
  1609. group3.switch1.case1.grp_sea.ipt_pid.setFocus();
  1610. return;
  1611. }
  1612. if(gubn == "Blood") { // 혈액요청서 출력. 체크
  1613. // if( grd_delivedetlgruplist.labelmatrix(i, 2) != "검사완료" ) { // 코드 변경후 바꾸기
  1614. // if( grd_delivedetlgruplist.labelmatrix(i, 35) != "520") {// 520 혈액준비 (공통코드)
  1615. //
  1616. //// messageBox("검사완료 상태 이외에는 혈액요청서를 출력 ","E001");// 코드 변경후 바꾸기
  1617. //
  1618. //// if(grd_delivedetlgruplist.labelmatrix(i, 35) == "525"){
  1619. //// messageBox("혈액요청서를 이미 출력한 상태입니다. 혈액요청서를 출력 ","E001");
  1620. //// return;
  1621. //// } else
  1622. //
  1623. //// if(grd_delivedetlgruplist.labelmatrix(i, 35) != "520" && grd_delivedetlgruplist.labelmatrix(i, 35) != "525"){
  1624. //// messageBox("준비완료 상태 이외에는 혈액요청서를 출력 ","E001");
  1625. //// return;
  1626. //// }
  1627. //
  1628. // }
  1629. if( !utlf_isNull(ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "ocrtag")) ){
  1630. sysf_messageBox("이미 출력한 혈액이므로 재출력됩니다.", "E");
  1631. fRePrtBldReq();//이미 출력한 혈액일 경우에는 재출력 로직을 태움.
  1632. return;
  1633. }
  1634. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "prcpstatcd3") != "520" || ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "prcpstatcd3") != "525" ){
  1635. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "prcpstatcd") != "준비완료" ){
  1636. sysf_messageBox("준비완료 상태 이외에는 혈액요청서를 출력 ","E001");
  1637. return;
  1638. }
  1639. }
  1640. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "blodno").length < 5 ){
  1641. sysf_messageBox("혈액번호가 ","I004");
  1642. return;
  1643. }
  1644. var nRow = ds_send_report_delivedetlgrup_delivedetlgruplist.addRow();
  1645. ds_send_report_delivedetlgrup_delivedetlgruplist.copyRow(nRow, ds_main_cond_delivedetlgrup_delivedetlgruplist, i);
  1646. // alert(instance1.selectSingleNode("/root/send/report/delivedetlgrup/delivedetlgruplist"+"["+cnt+"]").xml);
  1647. } else if(gubn == "ER") { // 응급혈액불출요청서 출력. 체크
  1648. var nRow = ds_send_report_delivedetlgrup_delivedetlgruplist.addRow();
  1649. ds_send_report_delivedetlgrup_delivedetlgruplist.copyRow(nRow, ds_main_cond_delivedetlgrup_delivedetlgruplist, i);
  1650. if( ds_send_report_delivedetlgrup_delivedetlgruplist.getColumn(nRow, "blodno") == "-" ){
  1651. ds_send_report_delivedetlgrup_delivedetlgruplist.setColumn(nRow, "blodno", "");
  1652. }
  1653. }
  1654. }
  1655. }
  1656. ds_send_report.setColumn(0, "receiptid", receiptid);
  1657. ds_send_report.setColumn(0, "receiptnm", receiptnm);
  1658. if(cnt < 1){
  1659. sysf_messageBox("선택 정보가 ","I004");
  1660. return;
  1661. }
  1662. if( sysf_messageBox("혈액요청 출력을 ","Q004") != 6 ) return;
  1663. for( var i=0 ; i<sRowCnt ; i++ ){ // 선택한 값이 불출신청 상태인지 체크
  1664. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "1" ){
  1665. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(i, "receiptid", receiptid);
  1666. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(i, "receiptnm", receiptnm);
  1667. }
  1668. }
  1669. ds_send_report.setColumn(0, "patientnm", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "patientnm1"));
  1670. ds_send_report.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
  1671. ds_send_report.setColumn(0, "sexage", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "sexage"));
  1672. ds_send_report.setColumn(0, "btype", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "btype"));
  1673. ds_send_report.setColumn(0, "wardnm", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.text);
  1674. ds_send_report.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  1675. //model.makeValue("/root/send/report/logourl", getBigLogoImageURL("",getUserInfo("dutplceinstcd")));
  1676. ds_send_report.setColumn(0, "logourl", rptf_getImageURL("biglogo"+sysf_getUserInfo("dutplceinstcd"), "jpg"));
  1677. // 170221_응급실 구역추가(EICU, 외상소생구역 표기) //180103_AYS_응급실 BED정보 변경에따른 주석처리
  1678. /*
  1679. if(sysf_getUserInfo("dutplceinstcd") == "031" && ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "ordtype") == "E"){
  1680. ds_send_report.setColumn(0, "roomcd", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "erbdsect"));
  1681. } else {
  1682. ds_send_report.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  1683. }
  1684. */
  1685. //출력일시
  1686. var printdd = utlf_getCurrentDate().substr(0,4) + "/" + utlf_getCurrentDate().substr(4,2) + "/" + utlf_getCurrentDate().substr(6,2);
  1687. var printtm = utlf_getCurrentTime().substr(0,2) + ":" + utlf_getCurrentTime().substr(2,2) + ":" + utlf_getCurrentTime().substr(4,2);
  1688. ds_send_report.setColumn(0, "printdt", printdd + " " +printtm);
  1689. ds_send_report.setColumn(0, "usernm", sysf_getUserName());
  1690. if(gubn == "Blood"){
  1691. ds_send.setColumn(0, "ocrflag", "B");
  1692. }else if(gubn == "ER"){
  1693. ds_send.setColumn(0, "ocrflag", "E");
  1694. }
  1695. ds_send.setColumn(0, "ioparam", ioparam);
  1696. // exeReportPreview("RFMNR01000", "XMLSTR");
  1697. /*
  1698. exeReportPreview(레포트명, 연계방법, 매개변수필드 XPath, SubmitID, 출력여부, 인쇄 창 보임 여부, 저장타입, 파일명, 파일 저장 창 보임여부, 미리보기창닫기여부, 모니터 번호, 데이터 소스, 데이터 XPath , 메인리포트 반복XPath, 서브리포트1 반복Xpath)
  1699. */
  1700. ds_send.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
  1701. var oParam = {};
  1702. oParam.id = "TRMNR01027";
  1703. oParam.service = "carerecapp.TnsCareRec";
  1704. oParam.method = "reqGetOcrAcpTagInfo";
  1705. oParam.inds = "req=ds_send";
  1706. oParam.outds = "ds_temp_ocrtag_ocrtagseq=ocrtagseq";
  1707. oParam.async = false;
  1708. oParam.callback = "cf_TRMNR01027";
  1709. tranf_submit(oParam);
  1710. if( arErrorCode.pop("TRMNR01027") < 0 ) return; //"TRMNN01603"
  1711. //alert(model.getValue("/root/temp/ocrtag/ocrtagseq/seq"));
  1712. //model.makeValue("/root/send/report/seq", "50001");
  1713. ds_send_report.setColumn(0, "seq", ds_temp_ocrtag_ocrtagseq.getColumn(0, "seq"));
  1714. ds_send_report.setColumn(0, "formcd", ds_temp_ocrtag_ocrtagseq.getColumn(0, "formcd"));
  1715. ds_send_report.setColumn(0, "formfromdt", ds_temp_ocrtag_ocrtagseq.getColumn(0, "formfromdt"));
  1716. var objExtCommon = new ExtCommon();
  1717. var ip = utlf_transNullToEmpty(objExtCommon.getIPAddress()+"").split("^");
  1718. var ipstr = utlf_transNullToEmpty(ip[0]).split(".");
  1719. ds_send_report.setColumn(0, "ip", ipstr[2] + "." + ipstr[3]);
  1720. // ****************************************************************************************************************
  1721. //통합기록조회 연동 param setting
  1722. var sSeq = "";
  1723. var sPid = "";
  1724. var sIndd = "";
  1725. var sCretno = "";
  1726. var sOrdtype = "";
  1727. var sOrddeptcd = "";
  1728. var sMedispclid = "";
  1729. var sFormcd = "";
  1730. var sFormfromdt = "";
  1731. var sPagecnt = "";
  1732. var compareCretno = "";
  1733. var compareIndd = "";
  1734. var compareOrddeptcd = "";
  1735. var compareMedispclid = "";
  1736. var rowcnt = 0;
  1737. //통합기록조회 연동 parameter 설정 부분
  1738. for( var i=0 ; i<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; i++ ){
  1739. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "1" ){
  1740. if( utlf_isNull(compareCretno) ){
  1741. compareCretno = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "cretno");
  1742. }else{
  1743. if( compareCretno != ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "cretno") ){
  1744. sysf_messageBox("통합기록조회 연동중 생성번호가 일치하지 않는 데이터가 존재합니다.", "I");
  1745. return;
  1746. }
  1747. }
  1748. if( utlf_isNull(compareIndd) ){
  1749. if(ioparam == "OPRC"){
  1750. compareIndd = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "orddd");
  1751. }else if(ioparam == "IPRC"){
  1752. compareIndd = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "indd");
  1753. }
  1754. }else{
  1755. if(ioparam == "OPRC"){
  1756. if( compareIndd != ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "orddd") ){
  1757. sysf_messageBox("통합기록조회 연동중 진료일자가 일치하지 않는 데이터가 존재합니다.", "I");
  1758. return;
  1759. }
  1760. }else{
  1761. if( compareIndd != ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "indd") ){
  1762. sysf_messageBox("통합기록조회 연동중 입원일자가 일치하지 않는 데이터가 존재합니다.", "I");
  1763. return;
  1764. }
  1765. }
  1766. }
  1767. if( utlf_isNull(compareOrddeptcd) ){
  1768. if(ioparam == "OPRC"){
  1769. compareOrddeptcd = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "orddeptcd");
  1770. }else if(ioparam == "IPRC"){
  1771. compareOrddeptcd = ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "orddeptcd");
  1772. }
  1773. }
  1774. if( utlf_isNull(compareMedispclid) ){
  1775. if(ioparam == "OPRC"){
  1776. compareMedispclid = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "orddrid");
  1777. }else if(ioparam == "IPRC"){
  1778. compareMedispclid = ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "medispclid");
  1779. }
  1780. }
  1781. // 김병로 팀장 요구에 의해 삭제(2008-09-27)
  1782. // if(compareOrddeptcd == ""){
  1783. // compareOrddeptcd = model.getValue("/root/main/cond/delivedetlgrup/delivedetlgruplist["+i+"]/orddeptcd");
  1784. // }else{
  1785. // if(compareOrddeptcd != model.getValue("/root/main/cond/delivedetlgrup/delivedetlgruplist["+i+"]/orddeptcd")){
  1786. // messageBox("통합기록조회 연동중 진료과가 일치하지 않는 데이터가 존재합니다.", "I");
  1787. // return;
  1788. // }
  1789. // }
  1790. //
  1791. // if(compareMedispclid == ""){
  1792. // compareMedispclid = model.getValue("/root/main/cond/delivedetlgrup/delivedetlgruplist["+i+"]/orddrid");
  1793. // }else{
  1794. // if(compareMedispclid != model.getValue("/root/main/cond/delivedetlgrup/delivedetlgruplist["+i+"]/orddrid")){
  1795. // messageBox("통합기록조회 연동중 진료의사가 일치하지 않는 데이터가 존재합니다.", "I");
  1796. // return;
  1797. // }
  1798. // }
  1799. rowcnt++;
  1800. }
  1801. }
  1802. //출력 page 수
  1803. if(rowcnt == 0){
  1804. sysf_messageBox("불출요청서 출력건이 존재하지 않습니다.","E");
  1805. return;
  1806. }else if( rowcnt < 5 ){
  1807. sPagecnt = 1;
  1808. }else{
  1809. sPagecnt = 0;
  1810. sPagecnt = sPagecnt + parseInt(rowcnt/4);
  1811. if((rowcnt % 4 ) > 0 ){
  1812. sPagecnt = sPagecnt + 1;
  1813. }
  1814. }
  1815. if(ioparam == "OPRC"){ //외래
  1816. sSeq = ds_temp_ocrtag_ocrtagseq.getColumn(0, "seq");
  1817. sPid = ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid");
  1818. sIndd = compareIndd;
  1819. sCretno = compareCretno;
  1820. sOrdtype = "O";
  1821. sOrddeptcd = compareOrddeptcd;
  1822. sMedispclid = compareMedispclid;
  1823. sFormcd = ds_temp_ocrtag_ocrtagseq.getColumn(0, "formcd");
  1824. sFormfromdt = ds_temp_ocrtag_ocrtagseq.getColumn(0, "formfromdt");
  1825. }else if(ioparam == "IPRC"){ // 입원
  1826. sSeq = ds_temp_ocrtag_ocrtagseq.getColumn(0, "seq");
  1827. sPid = ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid");
  1828. sIndd = compareIndd;
  1829. sCretno = compareCretno;
  1830. sOrdtype = ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", sPid), "ordtype");
  1831. sOrddeptcd = compareOrddeptcd;
  1832. sMedispclid = compareMedispclid;
  1833. sFormcd = ds_temp_ocrtag_ocrtagseq.getColumn(0, "formcd");
  1834. sFormfromdt = ds_temp_ocrtag_ocrtagseq.getColumn(0, "formfromdt");
  1835. }
  1836. //param 데이터 존재하지 여부 체크
  1837. if( utlf_isNull(sSeq) || utlf_isNull(sPid) || utlf_isNull(sIndd) || utlf_isNull(sCretno) || utlf_isNull(sOrdtype) ||
  1838. utlf_isNull(sOrddeptcd) || utlf_isNull(sMedispclid) || utlf_isNull(sFormcd) || utlf_isNull(sFormfromdt) ){
  1839. //alert(sSeq + " : " + sPid + " : " + sIndd + " : " + sCretno + " : " + sOrdtype + " : " + sOrddeptcd + " : " + sMedispclid + " : " + sFormcd + " : " + sFormfromdt);
  1840. sysf_messageBox("통합기록조회 연동 설정 조건값이 정확하지 않습니다.", "E");
  1841. return;
  1842. }
  1843. if( !fSaveOCRIF(sSeq, sPid, sIndd, sCretno, sOrdtype, sOrddeptcd, sMedispclid, sFormcd, sFormfromdt, "", "", sPagecnt) ){
  1844. sysf_messageBox("통합기록조회 연동중 실패하였습니다.","C999");
  1845. return;
  1846. }
  1847. if(gubn == "Blood") { // 혈액요청서 출력. 체크
  1848. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1849. rptf_setNodeListToDOM(objDOM, "root/send/report", ds_send_report); // 데이터셋
  1850. rptf_setNodeListToDOM(objDOM, "root/send/report/delivedetlgrup/delivedetlgruplist", ds_send_report_delivedetlgrup_delivedetlgruplist); // 데이터셋
  1851. var objParam = new Object();
  1852. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1853. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  1854. rptf_exeReportPreview30(["RFMNR01000"],[objParam], option);
  1855. //exeReportPreview("RFMNR01000", "XMLSTR", ""); //임시 미리보기 창 활성화
  1856. //exeReportPreview("RFMNR01000", "XMLSTR", "", "", "true", "", "", "", "", "true"); // 미리보기 떻다가 사라지면서 출력
  1857. for( var i=0 ; i<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; i++ ){
  1858. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "1" ){
  1859. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(i, "ocrtag", ds_temp_ocrtag_ocrtagseq.getColumn(0, "seq"));
  1860. }
  1861. }
  1862. //grdf_setStatusColumn(ds_main_cond_delivedetlgrup_delivedetlgruplist, "stat");
  1863. ds_send_detlgrup.copyData(ds_main_cond_delivedetlgrup_delivedetlgruplist);
  1864. ds_send_detlgrup.updateColID("sel", "stat");
  1865. if( utlf_isNull(ds_send_detlgrup.getColumnInfo("ioparam")) ){
  1866. ds_send_detlgrup.addColumn("ioparam", "string");
  1867. }
  1868. for( var i=0 ; i<ds_send_detlgrup.rowcount ; i++ ){
  1869. if( ds_send_detlgrup.getColumn(i, "stat") == "1" ){
  1870. ds_send_detlgrup.setColumn(i, "stat", "true");
  1871. }else{
  1872. ds_send_detlgrup.setColumn(i, "stat", "false");
  1873. }
  1874. ds_send_detlgrup.setColumn(i, "ioparam", ds_send.getColumn(0, "ioparam"));
  1875. }
  1876. if( utlf_isNull(ds_send.getColumnInfo("ocrtag")) ){
  1877. ds_send.addColumn("ocrtag", "string");
  1878. }
  1879. ds_send.setColumn(0, "ocrtag", ds_temp_ocrtag_ocrtagseq.getColumn(0, "seq"));
  1880. trace(ds_send_detlgrup.saveXML());
  1881. var oParam = {};
  1882. oParam.id = "TXMNR01033";
  1883. oParam.service = "carerecapp.TnsCareRec";
  1884. oParam.method = "reqInsTnsReqHistRec";
  1885. oParam.inds = "detlgrup=ds_send_detlgrup";
  1886. oParam.outds = "";
  1887. oParam.async = false;
  1888. oParam.callback = "cf_TXMNR01033";
  1889. tranf_submit(oParam);
  1890. if( arErrorCode.pop("TXMNR01033") > -1 ){
  1891. fGettDeliveDetlList();// 불출신청 내역 재조회
  1892. }
  1893. } else if(gubn == "ER") { // 응급혈액불출요청서 출력. 체크
  1894. var objDOM = rptf_createDOM(); // DOM 객체 설정
  1895. rptf_setNodeListToDOM(objDOM, "root/send/report", ds_send_report); // 데이터셋
  1896. rptf_setNodeListToDOM(objDOM, "root/send/report/delivedetlgrup/delivedetlgruplist", ds_send_report_delivedetlgrup_delivedetlgruplist); // 데이터셋
  1897. var objParam = new Object();
  1898. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  1899. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  1900. rptf_exeReportPreview30(["RFMNR01002"],[objParam], option);
  1901. //exeReportPreview("RFMNR01002", "XMLSTR", ""); //임시 미리보기 창 활성화
  1902. //exeReportPreview("RFMNR01002", "XMLSTR", "", "", "true", "", "", "", "", "true"); // 미리보기 떻다가 사라지면서 출력
  1903. grdf_setStatusColumn(ds_main_cond_delivedetlgrup_delivedetlgruplist, "stat");
  1904. ds_send_detlgrup.copyData(ds_main_cond_delivedetlgrup_delivedetlgruplist);
  1905. for( var idx=0 ; idx<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; idx++ ){
  1906. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(idx, "sel", "0");
  1907. }
  1908. }
  1909. }
  1910. function cf_TRMNR01027(sSvcId, nErrorCode, sErrorMsg) {
  1911. arErrorCode.push(sSvcId, nErrorCode);
  1912. }
  1913. function cf_TXMNR01033(sSvcId, nErrorCode, sErrorMsg) {
  1914. arErrorCode.push(sSvcId, nErrorCode);
  1915. }
  1916. /**
  1917. * @group :
  1918. * @ver : 2007.07.09
  1919. * @by : 정찬성
  1920. * @---------------------------------------------------
  1921. * @type : function
  1922. * @access : public
  1923. * @desc : 혈액불출 내역 선택 삭제 (신청취소)
  1924. * @param :
  1925. * @return :
  1926. * @---------------------------------------------------
  1927. */
  1928. function fDelDeliveExecPrcp(){
  1929. var sRowCnt = grd_delivedetlgruplist.rows-grd_delivedetlgruplist.fixedrows;
  1930. var cnt = 0 ;
  1931. for(var i=1; i<= sRowCnt; i++){ // 선택한 값이 불출신청 상태인지 체크
  1932. if( grd_delivedetlgruplist.labelmatrix(i, 1) == "true" ) {
  1933. cnt = cnt + 1;
  1934. // if( grd_delivedetlgruplist.labelmatrix(i, 2) != "500" ) {
  1935. //
  1936. // messageBox("불출신청 이외의 상태에서는 삭제할 수 ","I004");
  1937. // return;
  1938. //
  1939. // }
  1940. if( grd_delivedetlgruplist.labelmatrix(i, grd_delivedetlgruplist.colRef("prcpstatcd3")) > "100" ) {// 500 불출요청 (공통코드)
  1941. messageBox("혈액은행에 접수된 상태에서는 신청취소 할 수 ","I004");
  1942. return;
  1943. } else if( grd_delivedetlgruplist.labelmatrix(i, grd_delivedetlgruplist.colRef("prcppreptfflag")) == "의사") {// 의사 처방 삭제 불가능
  1944. messageBox("의사처방은 신청취소 할 수 ","I004");
  1945. return;
  1946. }
  1947. }
  1948. }
  1949. if(cnt < 1){
  1950. messageBox("선택 정보가 ","I004");
  1951. return;
  1952. }
  1953. model.removenode("/root/send");
  1954. model.refresh();
  1955. // model.makeValue("/root/send/blodpidflag",blodpidflag);
  1956. model.makeValue("/root/send/blodno", ipt_blodno.value );
  1957. model.makeValue("/root/send/prcpddfrom", ipt_prcpddfrom2.value );
  1958. model.makeValue("/root/send/prcpddto", ipt_prcdddto2.value );
  1959. model.makeValue("/root/send/wardcd", cmb_wardcdgruplist2.value );
  1960. model.makeValue("/root/send/wardcdnm", cmb_wardcdgruplist2.label );
  1961. model.makeValue("/root/send/roomcd", cmb_roomcdgruplist2.value );
  1962. model.makeValue("/root/send/hngnm", cmb_patientgruplist2.value );
  1963. model.makeValue("/root/send/pid", ipt_pid2.value );
  1964. model.makeValue("/root/send/ioparam", ioparam);
  1965. /* 양천덕시 로직 시작 */
  1966. if(messageBox ( "신청취소를 ", "Q004" ) == "6"){
  1967. model.makeValue("/root/send/detlgrup",grd_delivedetlgruplist.getupdatedataAll("i"));
  1968. if(submit("TXMNR01035") == true ){
  1969. fGetExecDetlList();// 수행처방내역리스트
  1970. fGettDeliveDetlList();// 불출신청 내역 리스트
  1971. fGetPatCmtList();
  1972. }
  1973. }
  1974. /* 양천덕시 로직 끝 */
  1975. }
  1976. /**
  1977. * @group :
  1978. * @ver : 2007.07.16
  1979. * @by : 정찬성
  1980. * @---------------------------------------------------
  1981. * @type : function
  1982. * @access : public
  1983. * @desc : 수혈 미수행 내역 리스트
  1984. * @param :
  1985. * @return :
  1986. * @---------------------------------------------------
  1987. */
  1988. function fGetBlodNoExecRecList(blodpidflag){
  1989. var sRowCnt = grd_execdetlgruplist.rows-grd_execdetlgruplist.fixedrows;
  1990. if( model.getValue("/root/main/cond/patientgrupInfo/patientgruplistInfo/pid") == "" && model.getValue("/root/main/cond/blodno") == "" ){
  1991. // messageBox("혈액번호/등록번호를 ","C001");
  1992. // model.setfocus("ipt_blodno");
  1993. // return;
  1994. }
  1995. /* 수혈간호기록 내용 초기화 */
  1996. // fClearChildNode("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist");
  1997. //
  1998. // model.refresh();
  1999. model.makeValue("/root/send/blodpidflag",blodpidflag);
  2000. model.makeValue("/root/send/blodno", ipt_blodno.value );
  2001. model.makeValue("/root/send/prcpddfrom", ipt_prcpddfrom2.value );
  2002. model.makeValue("/root/send/prcpddto", ipt_prcdddto2.value );
  2003. model.makeValue("/root/send/wardcd", cmb_wardcdgruplist2.value );
  2004. model.makeValue("/root/send/wardcdnm", cmb_wardcdgruplist2.label );
  2005. model.makeValue("/root/send/roomcd", cmb_roomcdgruplist2.value );
  2006. model.makeValue("/root/send/hngnm", cmb_patientgruplist2.value );
  2007. model.makeValue("/root/send/pid", ipt_pid2.value );
  2008. model.makeValue("/root/send/ioparam", ioparam);
  2009. if(submit("TRMNR01021")){
  2010. }
  2011. }
  2012. /**
  2013. * @group :
  2014. * @ver : 2007.05.09
  2015. * @by : 정찬성
  2016. * @---------------------------------------------------
  2017. * @type : function
  2018. * @access : public
  2019. * @desc : 혈액불출내역의 혈액반납의뢰 저장
  2020. * @param :
  2021. * @return :
  2022. * @---------------------------------------------------
  2023. */
  2024. function fBlodReturnSave(){
  2025. var sRowCnt = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount;
  2026. var cnt = 0 ;
  2027. ds_send_detlgrup.copyData(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist);
  2028. for( var i=0 ; i<ds_send_detlgrup.rowcount ; i++ ){
  2029. if( ds_send_detlgrup.getColumn(i, "stat") == "1" ){
  2030. ds_send_detlgrup.setColumn(i, "stat", "true");
  2031. }else{
  2032. ds_send_detlgrup.setColumn(i, "stat", "false");
  2033. }
  2034. }
  2035. var Hosyn = 0 ;
  2036. for( var i=0 ; i<sRowCnt ; i++ ){
  2037. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "stat") == "1" ){
  2038. cnt = cnt + 1;
  2039. // ****************************** 반납사유 필수 로직 추가 ***************************************
  2040. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag")) ){//반납/폐기를 체크
  2041. sysf_messageBox("반납/폐기를 ","C002");
  2042. return;
  2043. }
  2044. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "returnabandondate") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "returnabandondate")) ){//반납/폐기일 체크
  2045. sysf_messageBox("반납/폐기일을 ","C002");
  2046. return;
  2047. }
  2048. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd") == "-" || utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")) ){//반납사유 체크
  2049. sysf_messageBox("반납/폐기 사유를 ","C002");
  2050. return;
  2051. }
  2052. // if(model.getValue(xBlodReturnReqGrupListPath+"["+i+"]/etcprcpresncd").substring(0,3) == "080"){ //반납사유가 병원사유인지 체크
  2053. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd").substring(0,3) == "072" ){ //반납사유가 병원사유인지 체크
  2054. Hosyn++;
  2055. }
  2056. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd").substr(3,2) == "99" && utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "clinccmtcnts")) ){
  2057. sysf_messageBox("기타 사유 처리 시 기타사유내역을 입력해야 합니다.","C");
  2058. return;
  2059. }
  2060. }
  2061. }
  2062. if(Hosyn > 0){
  2063. var sRtnMsg = sysf_messageBox("병원사유에 의한 혈액폐기시 혈액대금이 병원손실처리 됩니다.\n\n","Q003");
  2064. if(sRtnMsg != 6) return;
  2065. }
  2066. if(cnt < 1){
  2067. sysf_messageBox("선택 정보가 ","I004");
  2068. return;
  2069. }
  2070. //return;
  2071. ds_temp_rtninfo_rtnlist.clearData();
  2072. dsf_makeValue(ds_send_detlgrup, "ioparam", "string", ioparam);
  2073. var oParam = {};
  2074. oParam.id = "TXMNR01030";
  2075. oParam.service = "carerecapp.TnsCareRec";
  2076. oParam.method = "reqSetBlodReturnReqInfo";
  2077. oParam.inds = "detlgrup=ds_send_detlgrup";
  2078. oParam.outds = "ds_temp_rtninfo_rtnlist=rtnlist";
  2079. oParam.async = false;
  2080. oParam.callback = "cf_TXMNR01030";
  2081. tranf_submit(oParam);
  2082. if( arErrorCode.pop("TXMNR01030") > -1 ){
  2083. if( ds_temp_rtninfo_rtnlist.rowcount > 0 ){
  2084. if( ds_temp_rtninfo_rtnlist.getColumn(0, "rtnflag") == "4" ){
  2085. }else{
  2086. sysf_messageBox("퇴원환자에게 병원손실처리 사유로 반납/폐기 의뢰 할 수 없습니다.", "E");
  2087. }
  2088. }else{
  2089. sysf_messageBox("반납/폐기 의뢰 처리를 실패하였습니다.", "E");
  2090. }
  2091. //model.copyNode("/root/hidden/main","/root/main");
  2092. }
  2093. /* 반납/폐기 이후 정보 조회 실행 */
  2094. var pidblodflag = '';
  2095. if( !utlf_isNull(group3.switch1.case2.group2.ipt_pid2.value) ){
  2096. pidblodflag = 'pid';
  2097. } else if (!utlf_isNull(group3.switch1.case2.ipt_blodno.value) ){
  2098. pidblodflag = 'blod';
  2099. }
  2100. fBlodDeliveList(pidblodflag); //혈액불출 리스트 조회버튼
  2101. //fGetBlodNoExecRecList(pidblodflag); //수혈 미수행 내역 리스트
  2102. //fBlodColChg(); //컬럼속성 변경
  2103. }
  2104. function cf_TXMNR01030(sSvcId, nErrorCode, sErrorMsg) {
  2105. arErrorCode.push(sSvcId, nErrorCode);
  2106. }
  2107. /**
  2108. * @group :
  2109. * @ver : 2007.07.16
  2110. * @by : 정찬성
  2111. * @---------------------------------------------------
  2112. * @type : function
  2113. * @access : public
  2114. * @desc : 혈액불출 내역 조회 리스트
  2115. * @param :
  2116. * @return :
  2117. * @---------------------------------------------------
  2118. */
  2119. function fBlodDeliveList(blodpidflag){
  2120. var sRowCnt = ds_main_cond_execdetlgrup_execdetlgruplist.rowcount;
  2121. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid")) && utlf_isNull(ds_main_cond.getColumn(0, "blodno")) ){
  2122. // messageBox("혈액번호/등록번호를 ","C001");
  2123. // model.setfocus("ipt_blodno");
  2124. // return;
  2125. }
  2126. ds_send.setColumn(0, "blodpidflag", blodpidflag);
  2127. ds_send.setColumn(0, "blodno", group3.switch1.case2.ipt_blodno.value);
  2128. ds_send.setColumn(0, "prcpddfrom", group3.switch1.case2.group2.ipt_prcpddfrom2.value);
  2129. ds_send.setColumn(0, "prcpddto", group3.switch1.case2.group2.ipt_prcdddto2.value);
  2130. ds_send.setColumn(0, "wardcd", group3.switch1.case2.group2.cmb_wardcdgruplist2.value);
  2131. ds_send.setColumn(0, "wardcdnm", group3.switch1.case2.group2.cmb_wardcdgruplist2.text);
  2132. ds_send.setColumn(0, "roomcd", group3.switch1.case2.group2.cmb_roomcdgruplist2.value);
  2133. ds_send.setColumn(0, "hngnm", group3.switch1.case2.group2.cmb_patientgruplist2.value);
  2134. ds_send.setColumn(0, "pid", group3.switch1.case2.group2.ipt_pid2.value);
  2135. ds_send.setColumn(0, "ioparam", ioparam);
  2136. var oParam = {};
  2137. oParam.id = "TRMNR01020";
  2138. oParam.service = "carerecapp.TnsCareRec";
  2139. oParam.method = "reqGetBlodDeliveList";
  2140. oParam.inds = "refCond=ds_send";
  2141. oParam.outds = "ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist=blodreturnreqgruplist ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist=blodnoexecrecgruplist ds_main_cond_blodreturnreqgrup_blodexecrecgruplist=blodexecrecgruplist";
  2142. oParam.async = false;
  2143. oParam.callback = "cf_TRMNR01020";
  2144. tranf_submit(oParam);
  2145. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.addColumn("etcprcpresncd" , "string");
  2146. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.addColumn("clinccmtcnts" , "string");
  2147. if( arErrorCode.pop("TRMNR01020") > -1 ){
  2148. ds_blodrtninfo_blodreturnreqgruplist.clearData();
  2149. ds_blodrtninfo_blodreturnreqgruplist.copyData(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist);
  2150. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.addColumn("stat", "string");
  2151. dsf_setDefaultVal(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist, "all");
  2152. var sExprReqflag = "expr:";
  2153. var sExprReqflagCombo = "expr:";
  2154. var sExprStat = "expr:";
  2155. var sExprStatcbg = "expr:";
  2156. var sExprReturnabandondate = "expr:";
  2157. var sExprEtcprcpresncd = "expr:";
  2158. var sExprEtcprcpresncdCombo = "expr:";
  2159. var sExprClinccmtcnts = "expr:";
  2160. var sExprBack = "EXPR(";
  2161. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.updatecontrol = false;
  2162. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.enableevent = false;
  2163. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; i++ ){
  2164. // 셀 초기화 부분
  2165. if( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount > 0 ){ //수행기록 내역 존재 할 경우
  2166. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "chkstat") == "Y" ){ //20090401_SMY수정
  2167. if( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")) ){
  2168. sExprReqflagCombo += "currow == "+i+" ? 'ds_init_reqflaglist_itemlist2_item' : ";
  2169. //폐기 반납 사유 셋팅
  2170. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag") == "1" ){
  2171. sExprEtcprcpresncdCombo += "currow == "+i+" ? 'ds_init_etcprcpresncd_L0084' : "; //반납사유
  2172. }
  2173. sExprBack += "currow == "+i+" ? '#fff000' : ";
  2174. }
  2175. sExprReqflag += "currow == "+i+" ? 'none' : ";
  2176. sExprStat += "currow == "+i+" ? 'none' : ";
  2177. sExprStatcbg += "currow == "+i+" ? 'silver' : ";
  2178. sExprReturnabandondate += "currow == "+i+" ? 'none' : ";
  2179. sExprEtcprcpresncd += "currow == "+i+" ? 'none' : ";
  2180. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2181. //최은희 선생님 요청 : 2008 - 01- 29 혈액 폐기/반납이 아닌 건은 색 표시 제외
  2182. }else{
  2183. if( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")) ) {
  2184. sExprReqflagCombo += "currow == "+i+" ? 'ds_init_reqflaglist_itemlist2_item' : ";
  2185. //폐기 반납 사유 셋팅
  2186. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag") == "1" ){
  2187. sExprEtcprcpresncdCombo += "currow == "+i+" ? 'ds_init_etcprcpresncd_L0084' : "; //반납사유
  2188. }else{
  2189. sExprEtcprcpresncdCombo += "currow == "+i+" ? 'ds_init_discontinucom_L0085' : "; //폐기사유
  2190. }
  2191. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflagstat") == "Y"){
  2192. sExprReturnabandondate += "currow == "+i+" ? 'none' : ";
  2193. sExprEtcprcpresncd += "currow == "+i+" ? 'none' : ";
  2194. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2195. }else{
  2196. sChkReadOnlyCd = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd");
  2197. //사유가 기타인 항목은 입력할 수 있도록 수정
  2198. if(sChkReadOnlyCd.substr(3,5) != "99"){
  2199. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2200. }
  2201. }
  2202. sExprReqflag += "currow == "+i+" ? 'none' : ";
  2203. sExprStat += "currow == "+i+" ? 'none' : ";
  2204. sExprStatcbg += "currow == "+i+" ? 'silver' : ";
  2205. sExprBack += "currow == "+i+" ? '#fff000' : ";
  2206. }
  2207. }
  2208. }else{ //수행기록 내역 존재하지 않을 경우
  2209. if( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd")) ){
  2210. //폐기 반납 사유 셋팅
  2211. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag") == "1" ){
  2212. sExprEtcprcpresncdCombo += "currow == "+i+" ? 'ds_init_etcprcpresncd_L0084' : "; //반납사유
  2213. }else{
  2214. sExprEtcprcpresncdCombo += "currow == "+i+" ? 'ds_init_discontinucom_L0085' : "; //폐기사유
  2215. }
  2216. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflagstat") == "Y" ){
  2217. sExprReturnabandondate += "currow == "+i+" ? 'none' : ";
  2218. sExprEtcprcpresncd += "currow == "+i+" ? 'none' : ";
  2219. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2220. }else{
  2221. sChkReadOnlyCd = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "etcprcpresncd");
  2222. //사유가 기타인 항목은 입력할 수 있도록 수정
  2223. if(sChkReadOnlyCd.substr(3,5) != "99"){
  2224. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2225. }
  2226. }
  2227. sExprReqflag += "currow == "+i+" ? 'none' : ";
  2228. sExprStat += "currow == "+i+" ? 'none' : ";
  2229. sExprStatcbg += "currow == "+i+" ? 'silver' : ";
  2230. sExprBack += "currow == "+i+" ? '#fff000' : ";
  2231. }else{
  2232. sExprReturnabandondate += "currow == "+i+" ? 'none' : ";
  2233. sExprEtcprcpresncd += "currow == "+i+" ? 'none' : ";
  2234. sExprClinccmtcnts += "currow == "+i+" ? 'none' : ";
  2235. }
  2236. }
  2237. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "stat") == "FALSE" ){
  2238. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(i, "stat", "0");
  2239. }else{
  2240. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(i, "stat", "1");
  2241. }
  2242. }
  2243. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.enableevent = true;
  2244. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.updatecontrol = true;
  2245. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowposition = -1;
  2246. // 180103_AYS_ 폐기사유 선택불가 버그 수정(레코드가 1개일 경우 발생)
  2247. sExprReqflag.length > 5 ? sExprReqflag += "'combo'" : sExprReqflag = 'combo';
  2248. //sExprReqflag += "'combo'";
  2249. sExprReqflagCombo += "'ds_init_reqflaglist_itemlist1_item'";
  2250. sExprStat += "'checkbox'";
  2251. sExprStatcbg += "''";
  2252. sExprReturnabandondate += "'date'";
  2253. sExprEtcprcpresncd += "'combo'";
  2254. sExprEtcprcpresncdCombo += "'ds_init_totresncd_item'";
  2255. sExprClinccmtcnts += "'text'";
  2256. sExprBack += "'transparent')";
  2257. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "reqflag"), "edittype", sExprReqflag);
  2258. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "reqflag"), "combodataset", sExprReqflagCombo);
  2259. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "stat"), "edittype", sExprStat);
  2260. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "stat"), "controlbackground", sExprStatcbg);
  2261. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "returnabandondate"), "edittype", sExprReturnabandondate);
  2262. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "etcprcpresncd"), "edittype", sExprEtcprcpresncd);
  2263. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "etcprcpresncd"), "combodataset", sExprEtcprcpresncdCombo);
  2264. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", group3.switch1.case2.grd_blodreturnreqgruplist.getBindCellIndex("Body", "clinccmtcnts"), "edittype", sExprClinccmtcnts);
  2265. for( var i=1 ; i<group3.switch1.case2.grd_blodreturnreqgruplist.getCellCount("Body") ; i++ ){
  2266. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", i, "background", sExprBack);
  2267. group3.switch1.case2.grd_blodreturnreqgruplist.setCellProperty("Body", i, "background2", sExprBack);
  2268. }
  2269. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount ; i++ ){
  2270. if( ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "stat") == "FALSE" ){
  2271. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.setColumn(i, "stat", "0");
  2272. }else{
  2273. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.setColumn(i, "stat", "1");
  2274. }
  2275. }
  2276. //Expr로 처리
  2277. /*//수행기록 내역 미종료 건 색표시
  2278. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount ; i++ ){
  2279. var sColor3 = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "signno"); //인증번호
  2280. if( !utlf_isNull(sColor3) ){
  2281. grd_blodexecrecgruplist.rowstyle(i, "data", "background-color") = "#ffff00"; //인증 정보 확인
  2282. }else{
  2283. grd_blodexecrecgruplist.rowstyle(i, "data", "background-color") = "#00FF00"; //종료시간 정보 확인
  2284. }
  2285. }*/
  2286. }
  2287. group3.switch1.case2.ipt_blodno.setFocus();
  2288. }
  2289. function cf_TRMNR01020(sSvcId, nErrorCode, sErrorMsg) {
  2290. arErrorCode.push(sSvcId, nErrorCode);
  2291. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowposition = -1;
  2292. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowposition = -1;
  2293. }
  2294. /**
  2295. * @group :
  2296. * @ver : 2007.06.18
  2297. * @by : 정찬성
  2298. * @---------------------------------------------------
  2299. * @type : function
  2300. * @access : public
  2301. * @desc : 불출신청 내역 조회 리스트
  2302. * @param :
  2303. * @return :
  2304. * @---------------------------------------------------
  2305. */
  2306. function fGettDeliveDetlList(){
  2307. if( utlf_isNull(group3.switch1.case1.grp_sea.ipt_pid.value) ){
  2308. ds_main_cond_delivedetlgrup_delivedetlgruplist.clearData();
  2309. return;
  2310. }
  2311. ds_send.setColumn(0, "prcpddfrom", group3.switch1.case1.grp_sea.ipt_prcpddfrom.value);
  2312. ds_send.setColumn(0, "prcpddto", group3.switch1.case1.grp_sea.ipt_prcdddto.value);
  2313. ds_send.setColumn(0, "wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  2314. ds_send.setColumn(0, "wardcdnm", group3.switch1.case2.group2.cmb_wardcdgruplist2.value);
  2315. ds_send.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  2316. ds_send.setColumn(0, "hngnm", group3.switch1.case1.grp_sea.cmb_patientgruplist.value);
  2317. ds_send.setColumn(0, "pid", group3.switch1.case1.grp_sea.ipt_pid.value);
  2318. ds_send.setColumn(0, "ioparam", ioparam);
  2319. var oParam = {};
  2320. oParam.id = "TRMNR01009";
  2321. oParam.service = "carerecapp.TnsCareRec";
  2322. oParam.method = "reqGetDeliveDetlList";
  2323. oParam.inds = "refCond=ds_send";
  2324. oParam.outds = "ds_main_cond_delivedetlgrup_delivedetlgruplist=delivedetlgruplist";
  2325. oParam.async = false;
  2326. oParam.callback = "cf_TRMNR01009";
  2327. tranf_submit(oParam);
  2328. if( arErrorCode.pop("TRMNR01009") > -1 ){
  2329. var sTodate = utlf_getCurrentDate();
  2330. var sExprBack = "EXPR(";
  2331. ds_main_cond_delivedetlgrup_delivedetlgruplist.enableevent = false;
  2332. ds_main_cond_delivedetlgrup_delivedetlgruplist.updatecontrol = false;
  2333. for( var i=0 ; i<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; i++ ){
  2334. var sChkBlodBarCd = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "blodbarcd");
  2335. var sValiDt = utlf_transNullToEmpty(ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "validt")).substr(0,8);
  2336. var sChkDay = getDateCalc(sTodate, 4, "+");
  2337. if( !utlf_isNull(sValiDt) ){
  2338. if( sChkBlodBarCd == "12003" || sChkBlodBarCd == "12004" || sChkBlodBarCd == "12017" || sChkBlodBarCd == "A0003"){
  2339. if(sTodate >= sValiDt ){
  2340. sExprBack += "currow == "+i+" ? '#f7a08b' : ";
  2341. }
  2342. }else{
  2343. if(sChkDay >= sValiDt ){
  2344. sExprBack += "currow == "+i+" ? '#f7a08b' : ";
  2345. }
  2346. }
  2347. }
  2348. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "FALSE" ){
  2349. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(i, "sel", "0");
  2350. }else{
  2351. ds_main_cond_delivedetlgrup_delivedetlgruplist.setColumn(i, "sel", "1");
  2352. }
  2353. }
  2354. ds_main_cond_delivedetlgrup_delivedetlgruplist.updatecontrol = true;
  2355. ds_main_cond_delivedetlgrup_delivedetlgruplist.enableevent = true;
  2356. sExprBack += "''";
  2357. for( var i=1 ; i<group3.switch1.case1.grd_delivedetlgruplist.getCellCount("Body") ; i++ ){
  2358. group3.switch1.case1.grd_delivedetlgruplist.setCellProperty("Body", i, "background", sExprBack);
  2359. group3.switch1.case1.grd_delivedetlgruplist.setCellProperty("Body", i, "background2", sExprBack);
  2360. }
  2361. }
  2362. }
  2363. function cf_TRMNR01009(sSvcId, nErrorCode, sErrorMsg) {
  2364. arErrorCode.push(sSvcId, nErrorCode);
  2365. ds_main_cond_delivedetlgrup_delivedetlgruplist.rowposition = -1;
  2366. }
  2367. /**
  2368. * @group :
  2369. * @ver : 2007.04.02
  2370. * @by : 정찬성
  2371. * @---------------------------------------------------
  2372. * @type : function
  2373. * @access : public
  2374. * @desc : 수행처방 선택시 체크사항
  2375. * @param :
  2376. * @return :
  2377. * @---------------------------------------------------
  2378. */
  2379. function fSelchange(){
  2380. var iRow = ds_main_cond_execdetlgrup_execdetlgruplist.rowposition ;
  2381. var pid = ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid");
  2382. if( parseInt(ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpqty")) <= parseInt(ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "appno")) ){
  2383. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2384. sysf_messageBox("신청수량이 처방수량보다 클 수 ","I004");
  2385. return;
  2386. }
  2387. if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "D/C" ){
  2388. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2389. sysf_messageBox("D/C 상태에서는 신청할 수 ","I004");
  2390. return;
  2391. } else if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "의사" ){
  2392. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2393. sysf_messageBox("의사 상태에서는 신청할 수 ","I004");
  2394. return;
  2395. } else if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "완료") {
  2396. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2397. sysf_messageBox("완료 상태에서는 신청할 수 ","I004");
  2398. return;
  2399. } else if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") != "처방" ){
  2400. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2401. sysf_messageBox("처방 상태 이외에는 신청할 수 ","I004");
  2402. return;
  2403. } else {
  2404. if( ds_main_cond.getColumn(0, "ioflag") == "I"
  2405. && (ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "orddd") != ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid), "indd")
  2406. || ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "cretno") != ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid), "cretno")) ){
  2407. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2408. sysf_messageBox("과거 (퇴원)수진처방은 신청할 수 ","I004");
  2409. return;
  2410. }else {
  2411. if ( ds_main_cond.getColumn(0, "ioflag") == "I" ){
  2412. ds_temp_cond_patientgrup_patientgruplist.clearData();/* 환자리스트*/
  2413. fGetPatientList();// 환자리스트 정보를 가져온다.
  2414. if( ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid), "dschnotiyn") == "Y" ){
  2415. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2416. sysf_messageBox("간호사 퇴원확정 취소하시고", "C003");
  2417. return;
  2418. }
  2419. }
  2420. }
  2421. }
  2422. }
  2423. /**
  2424. * @group :
  2425. * @ver : 2007.04.02
  2426. * @by : 정찬성
  2427. * @---------------------------------------------------
  2428. * @type : function
  2429. * @access : public
  2430. * @desc : 그리드의 값이 변경되었을때, 상태값을 변경한다.
  2431. * @param :
  2432. * @return :
  2433. * @---------------------------------------------------
  2434. */
  2435. function fChangedGridCol(event){
  2436. var sDetlGrupRow = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.rowposition;
  2437. var sDetlGrupBKRow=-1;
  2438. var num = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, "num");
  2439. for( var i=0 ; i<ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.rowcount ; i++ ){
  2440. if( ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "num") == num ){
  2441. sDetlGrupBKRow = i;
  2442. break;
  2443. }
  2444. }
  2445. if( !utlf_isNull(event) && event.keycode == 32 ){
  2446. sysf_messageBox("신청수량에 스페이스를 넣을 수 ","I004");
  2447. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "stat", "-");
  2448. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "appno", "");
  2449. return;
  2450. }
  2451. //예약시간 수정할 경우 6자리 셋팅_20090304_SMY
  2452. //var prcphopetm = group3.grd_execpopwnddetlgruplist.getCellText(sDetlGrupRow, group3.grd_execpopwnddetlgruplist.getBindCellIndex("body", "prcphopetm"));
  2453. var prcphopetm = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, "prcphopetm");
  2454. if( prcphopetm.length > 0 && prcphopetm.length < 4 ){
  2455. sysf_messageBox("예약시간 정보를 정확하게 입력하세요","I");
  2456. return;
  2457. }else if( prcphopetm.length == 4 ){
  2458. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "prcphopetm", prcphopetm+"00");
  2459. }
  2460. //170623_AYS_예약일자 수정할 경우 Validation Check
  2461. /*
  2462. var prcphopedd = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, "prcphopedd");
  2463. trace("prcphopedd : " + prcphopedd + "/ length : " + prcphopedd.length);
  2464. if(utlf_isValidDateTime(prcphopedd, "YYYYMMDD") == false){
  2465. sysf_messageBox("입력한 예약일자는 유효하지","E007");
  2466. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "prcphopedd", sTodayDate);
  2467. return;
  2468. }else if( prcphopedd.length > 0 && prcphopedd.length < 8 ){
  2469. sysf_messageBox("예약일자 정보를 정확하게 입력하세요","I");
  2470. return;
  2471. } else if( prcphopedd < sTodayDate ){
  2472. sysf_messageBox("예약일자는 현재일자보다 이전일 수 없습니다. 정확하게 입력하세요","I");
  2473. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "prcphopedd", sTodayDate);
  2474. return;
  2475. }*/
  2476. var irr = group3.grd_execpopwnddetlgruplist.getCellText(sDetlGrupRow, group3.grd_execpopwnddetlgruplist.getBindCellIndex("body", "irr"));
  2477. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, "appno") == "0" || utlf_isNull(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, "appno")) ){
  2478. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "stat", "-");
  2479. //grd_execpopwnddetlgruplist.rebuild();
  2480. //return;
  2481. }
  2482. // alert(instance1.selectSingleNode(xPopWndExecDetlListPath+"["+sDetlGrupRow+"]").xml);
  2483. //
  2484. // alert(instance1.selectSingleNode(xPopWndClsListBKPath+"["+sDetlGrupBKRow+"]").xml);
  2485. for( var i=0 ; i<ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.colcount ; i++ ){
  2486. var sColName = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColID(i);
  2487. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupRow, sColName) != ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(sDetlGrupBKRow, sColName) ){
  2488. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(sDetlGrupRow, "stat", "I");
  2489. break;
  2490. }
  2491. }
  2492. }
  2493. /**
  2494. * @group :
  2495. * @ver : 2007.05.09
  2496. * @by : 정찬성
  2497. * @---------------------------------------------------
  2498. * @type : function
  2499. * @access : public
  2500. * @desc : 혈액불출관리 init
  2501. * @param :
  2502. * @return :
  2503. * @---------------------------------------------------
  2504. */
  2505. function fPopWndSave(){
  2506. //debugger;
  2507. var sRowCnt = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.rowcount;
  2508. var saveyn = 0 ;
  2509. var rsrvflag = "";
  2510. var sTodayDate = utlf_getCurrentDate();
  2511. var sMonAddDate = getDateCalc(sTodayDate, 30, "+");
  2512. for( var i=0 ; i<sRowCnt ; i++ ){
  2513. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" ){
  2514. saveyn = 1 ;
  2515. }
  2516. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && !utlf_isValidDateTime((ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopedd")), "YYYYMMDD")){
  2517. sysf_messageBox("입력한 예약일자는 유효하지 않습니다.","E");
  2518. return;
  2519. }
  2520. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopedd") < sTodayDate){
  2521. sysf_messageBox("예약일자는 현재일자보다 이전일 수 없습니다.","E");
  2522. return;
  2523. }
  2524. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopedd") > sMonAddDate){
  2525. sysf_messageBox("예약일자가 한달 이후입니다. 한달 이전으로 수정하십시오.","E");
  2526. return;
  2527. }
  2528. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && !utlf_isValidDateTime((ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopetm")), "hhmmss")){
  2529. sysf_messageBox("입력한 예약시간은 유효하지 않습니다.","E");
  2530. return;
  2531. }
  2532. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && utlf_isNull(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "appno")) ){
  2533. sysf_messageBox("신청수량은","I003");
  2534. return;
  2535. }
  2536. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "stat") != "-" && utlf_isNull(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "appno")) ){
  2537. sysf_messageBox("신청수량은","I003");
  2538. return;
  2539. }
  2540. // if( !isNumber(model.getValue(xPopWndExecDetlListPath+"["+i+"]/appno")) ) {
  2541. // messageBox("숫자형을 ","C001");
  2542. // return;
  2543. // }
  2544. if( parseInt(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "appno")) < 1 || parseInt(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "appno")) == " " ){
  2545. sysf_messageBox("신청수량은 1건 이하로 입력할 수","E001");
  2546. return;
  2547. }
  2548. if( parseInt(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "delivepossno")) < parseInt(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "appno")) ){
  2549. sysf_messageBox("신청수량은 불출수량보다 크게 입력","E001");
  2550. return;
  2551. }
  2552. /**************************************************************강남성모기준_서울성모오픈시 삭제부분
  2553. if(model.getValue(xPopWndExecDetlListPath+"["+i+"]/prcphopedd") == "" || model.getValue(xPopWndExecDetlListPath+"["+i+"]/prcphopetm") == ""){
  2554. messageBox("예약일자/예약시간은","I003");
  2555. return;
  2556. }
  2557. ***************************************************************/
  2558. //*************************************************************************************서울성모오픈시 적용
  2559. if( utlf_isNull(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopedd")) || utlf_isNull(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "prcphopetm")) ){
  2560. //setrsrvyn : Y일 경우 예약일시 지정코드_20090223_SMY추가
  2561. if( rsrvflag != "N" && ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "setrsrvyn") == "Y"){
  2562. rsrvflag = "Y";
  2563. }else{
  2564. rsrvflag = "N";
  2565. }
  2566. }
  2567. //****************************************************************************************/
  2568. }
  2569. //*****************************************************************************************서울성모오픈시 적용
  2570. //FFP, LRSDP, CRYO 혈액제제는 예약일자와 시간지정이 필수_20090223_SMY추가
  2571. if(rsrvflag == "N"){
  2572. sysf_messageBox("예약일자/예약시간은","I003");
  2573. return;
  2574. }else if (rsrvflag == "Y"){
  2575. var rtn = sysf_messageBox("FFP, LRSDP, CRYO 혈액제제는 예약일자와 시간지정이 필수입니다." +"\n" + "지정하지 않는 경우 현재 일시로 접수됩니다." +"\n" + "현재일시로 바로 접수하시겠습니까?","Q");
  2576. if (rtn == "7"){
  2577. return;
  2578. }else{
  2579. for( var i=0 ; i<sRowCnt ; i++ ){
  2580. if( ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "setrsrvyn") == "Y" ){
  2581. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopedd", utlf_getCurrentDate());
  2582. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopetm", utlf_getCurrentTime());
  2583. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "stat", "I");
  2584. }
  2585. }
  2586. }
  2587. }
  2588. //********************************************************************************************/
  2589. if(saveyn <= 0 ){
  2590. sysf_messageBox("수정사항이 없어 저장 ","E001");
  2591. return;
  2592. }
  2593. //alert("result : " + saveyn);
  2594. // if(saveyn <= 0 ){
  2595. // messageBox("수정사항이 없어 저장 ","E001");
  2596. // return;
  2597. // }
  2598. // alert(model.getValue("/root/main/cond/clsflag"));
  2599. // alert(model.getValue("/root/main/cond/recflag"));
  2600. //
  2601. // if(messageBox("","Q002") != 6) return;
  2602. // alert(model.getValue("/root/main/cond/todd"));
  2603. // model.makeValue("/root/send/lrggrupcd", model.getValue(xCondPath+"/lrggrupcd"));
  2604. // model.makeValue("/root/send/clsflag", model.getValue("/root/main/cond/clsflag"));
  2605. // model.makeValue("/root/send/recflag", model.getValue("/root/main/cond/recflag"))
  2606. // model.makeValue("/root/send/todd2", model.getValue("/root/main/cond/todd"))
  2607. // alert(model.getValue("/root/send/todd2"));
  2608. ds_send_detlgrup.copyData(ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist);
  2609. var oParam = {};
  2610. oParam.id = "TXMNR01008";
  2611. oParam.service = "carerecapp.TnsCareRec";
  2612. oParam.method = "reqInsDeliveGrupDetlInfo";
  2613. oParam.inds = "detlgrup=ds_send_detlgrup";
  2614. oParam.outds = "ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist=execpopwnddetlgruplist";
  2615. oParam.async = false;
  2616. oParam.callback = "cf_TXMNR01008";
  2617. tranf_submit(oParam);
  2618. ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.addColumn("ocrtargetyn", "string");
  2619. if( arErrorCode.pop("TXMNR01008") > -1 ){
  2620. //model.copyNode("/root/hidden/main","/root/main");
  2621. var nFindRow1 = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.findRow("ocrtargetyn", "Y");
  2622. var nFindRow2 = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.findRow("ocrtargetyn", "E");
  2623. if ( !utlf_isNull(ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "ocrtargetyn"))
  2624. && ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "ocrtargetyn") == "Y" ){
  2625. group3.grp_msg.cap_msg.text = "첫 수혈이거나 마지막 수혈시행일로부터 60일 이상이 경과하였으니 \n 수혈동의서를 작성해주시기 바랍니다.\n 수혈동의서를 지금 출력하시겠습니까?";
  2626. group3.grp_msg.visible = true;
  2627. group3.grp_msg.rdo_msgcnfm.visible = true;
  2628. ds_main_cond.setColumn(0, "ocrprntyn", "N");
  2629. ds_main_cond.setColumn(0, "ocrtargetyn", "Y");
  2630. } else if( !utlf_isNull(ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow2, "ocrtargetyn"))
  2631. && ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow2, "ocrtargetyn") == "E" ){
  2632. group3.grp_msg.cap_msg.text = "당일 수혈동의서 출력 이력이 존재합니다. \n OCR 출력 리스트에서 확인하시기 바랍니다";
  2633. group3.grp_msg.visible = true;
  2634. group3.grp_msg.rdo_msgcnfm.visible = false;
  2635. ds_main_cond.setColumn(0, "ocrtargetyn", "E");
  2636. } else {
  2637. ds_main_cond.setColumn(0, "ocrtargetyn", "N");
  2638. group3.grp_msg.visible = false;
  2639. group3.grp_msg.cap_msg.text = "";
  2640. close();
  2641. }
  2642. }
  2643. // grd_detlgrup.row = 1;
  2644. }
  2645. function cf_TXMNR01008(sSvcId, nErrorCode, sErrorMsg) {
  2646. arErrorCode.push(sSvcId, nErrorCode);
  2647. }
  2648. /**
  2649. * @group :
  2650. * @ver : 2007.05.09
  2651. * @by : 정찬성
  2652. * @---------------------------------------------------
  2653. * @type : function
  2654. * @access : public
  2655. * @desc : 수혈동의서 출력 confirm
  2656. * @param :
  2657. * @return :
  2658. * @---------------------------------------------------
  2659. */
  2660. function fPopWndOcrCnfm(){
  2661. if ( ds_main_cond.getColumn(0, "ocrtargetyn") == "Y" ){
  2662. var nFindRow1 = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.findRow("ocrtargetyn", "Y");
  2663. if( ds_main_cond.getColumn(0, "ocrprntyn") == "Y" ){
  2664. //emr/prcpmngtweb/js/MMO001.js
  2665. fOcrAutoPrint(ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "calcscorcd") + "▦");
  2666. } else if( ds_main_cond.getColumn(0, "ocrprntyn") == "N" ){
  2667. //<script type="javascript" src="../../../emr/formmngtweb/js/MRF03800.js"/>
  2668. //fSaveOCRIF(seq, pid, indd, cretno, ordtype, orddeptcd, medispclid, formcd, formfromdt, "", "", pagecnt)
  2669. //xPatientPath
  2670. var pid = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "pid");
  2671. var nFindRow2 = ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid);
  2672. fSaveOCRIF(ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "seq")
  2673. , pid
  2674. , opener.ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "indd")
  2675. , opener.ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "cretno")
  2676. , opener.ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "ordtype")
  2677. , opener.ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "orddeptcd")
  2678. , opener.ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "medispclid")
  2679. , ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "formcd")
  2680. , ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "formfromdt")
  2681. , ""
  2682. , ""
  2683. , ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "pagecnt"));
  2684. }
  2685. }
  2686. close();
  2687. }
  2688. /**
  2689. * @desc : OCR 자동출력
  2690. * @
  2691. * @return :
  2692. * @author : 20087. 10. 17
  2693. * @---------------------------------------------------
  2694. */
  2695. function fOcrAutoPrint(calcscorcd) {
  2696. var nFindRow1 = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.findRow("ocrtargetyn", "Y");
  2697. var nFindRow2 = ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid);
  2698. var pid = ds_temp_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(nFindRow1, "pid");
  2699. ds_hidden_ocrprint_calcscor.setColumn(0, "pid", pid);
  2700. ds_hidden_ocrprint_calcscor.setColumn(0, "cretno", ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "cretno"));
  2701. ds_hidden_ocrprint_calcscor.setColumn(0, "orddd", ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "indd"));
  2702. ds_hidden_ocrprint_calcscor.setColumn(0, "ordtype", ds_temp_cond_patientgrup_patientgruplist.getColumn(nFindRow2, "ordtype"));
  2703. ds_hidden_ocrprint_calcscor.setColumn(0, "calcscorcd", calcscorcd);
  2704. ds_hidden_ocrprint_calcscor.setColumn(0, "disflag", "calcscor");
  2705. var xpt = e.screenX + 50;
  2706. var ypt = e.screenY + 50;
  2707. //var coord = getRelativeCoordinate ( xpt, ypt );
  2708. var mon = 1;
  2709. //xpt = coord[1];
  2710. //ypt = coord[2];
  2711. // model.addLog("동의서 출력 - LSH");
  2712. // model.addLog(model.instances(0).selectNodesXml("/root/hidden/ocrprint/calcscor"));
  2713. var objArg = new Object();
  2714. objArg.arg_ds_main_temp_calcscor = ds_hidden_ocrprint_calcscor;
  2715. frmf_modal("SPMRF04500","SPMRF04500",objArg,"",mon,xpt,ypt,"","","","","","M");
  2716. }
  2717. /**
  2718. * @group :
  2719. * @ver : 2007.05.09
  2720. * @by : 정찬성
  2721. * @---------------------------------------------------
  2722. * @type : function
  2723. * @access : public
  2724. * @desc : 혈액불출관리 init
  2725. * @param :
  2726. * @return :
  2727. * @---------------------------------------------------
  2728. */
  2729. function fPopWndInit(){
  2730. ds_send.setColumn(0, "prcpddfrom", opener.frmf_getParameter("prcpddfrom"));
  2731. ds_send.setColumn(0, "prcpddto", opener.frmf_getParameter("prcpddto"));
  2732. ds_send.setColumn(0, "wardcd", opener.frmf_getParameter("wardcd"));
  2733. ds_send.setColumn(0, "roomcd", opener.frmf_getParameter("roomcd"));
  2734. ds_send.setColumn(0, "pid", opener.frmf_getParameter("pid"));
  2735. ds_send.setColumn(0, "queryprcpdd", opener.frmf_getParameter("queryprcpdd"));
  2736. ds_send.setColumn(0, "queryprcpno", opener.frmf_getParameter("queryprcpno"));
  2737. ds_send.setColumn(0, "queryprcphistno", opener.frmf_getParameter("queryprcphistno"));
  2738. var oParam = {};
  2739. oParam.id = "TRMNR01007";
  2740. oParam.service = "carerecapp.TnsCareRec";
  2741. oParam.method = "reqGetExecPopWndDetlList";
  2742. oParam.inds = "refCond=ds_send";
  2743. oParam.outds = "ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist=execpopwnddetlgruplist";
  2744. oParam.async = false;
  2745. oParam.callback = "cf_TRMNR01007";
  2746. tranf_submit(oParam);
  2747. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.addColumn("appno", "string");
  2748. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.addColumn("num", "string");
  2749. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.addColumn("stat", "string");
  2750. if( arErrorCode.pop("TRMNR01007") > -1 ){
  2751. //model.copyNode("/root/temp/main","/root/main");
  2752. for( var i=0 ; i<ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.rowcount ; i++ ){
  2753. //setrsrvyn : Y일 경우 예약일시 지정코드_20090223_SMY추가
  2754. var setrsrvyn = ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.getColumn(i, "setrsrvyn");
  2755. //if(model.getValue(xPopWndExecDetlListPath+"["+i+"]/prcphopetm") == "000000" ){
  2756. /**************************************************************강남성모기준_서울성모오픈시 삭제부분
  2757. //prep order는 무조건 당일로 셋팅 : 2008-01-15
  2758. model.setValue(xPopWndExecDetlListPath+"["+i+"]/prcphopedd",getCurrentDate());
  2759. model.setValue(xPopWndExecDetlListPath+"["+i+"]/prcphopetm",getCurrentTime());
  2760. ***************************************************************/
  2761. //*************************************************************************************서울성모오픈시 적용
  2762. if(setrsrvyn == "Y"){
  2763. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopedd", "");
  2764. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopetm", "");
  2765. }else{
  2766. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopedd", utlf_getCurrentDate());
  2767. ds_main_cond_execpopwnddetlgrup_execpopwnddetlgruplist.setColumn(i, "prcphopetm", utlf_getCurrentTime());
  2768. }
  2769. //********************************************************************************************/
  2770. //}
  2771. }
  2772. }
  2773. }
  2774. function cf_TRMNR01007(sSvcId, nErrorCode, sErrorMsg) {
  2775. arErrorCode.push(sSvcId, nErrorCode);
  2776. }
  2777. /**
  2778. * @group :
  2779. * @ver : 2007.06.18
  2780. * @by : 정찬성
  2781. * @---------------------------------------------------
  2782. * @type : function
  2783. * @access : public
  2784. * @desc : 혈액불출신청 팝업
  2785. * @param :
  2786. * @return :
  2787. * @---------------------------------------------------
  2788. */
  2789. function fPopWnd(){
  2790. var iRows = ds_main_cond_execdetlgrup_execdetlgruplist.rowcount;
  2791. var queryprcpdd = "" ;
  2792. var queryprcpno = "" ;
  2793. var queryprcphistno = "" ;
  2794. var checkcnt = 0 ;
  2795. for( var i=0 ; i<ds_main_cond_execdetlgrup_execdetlgruplist.rowcount ; i++ ){// 전체를 돌면서 그룹에 값이 체크되어 있는것 초기화
  2796. if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(i, "sel") == "1" ) {
  2797. queryprcpdd = queryprcpdd + "'" + ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(i, "prcpdd2") + "'," ;
  2798. queryprcpno = queryprcpno + "" + ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(i, "prcpno") + "," ;
  2799. queryprcphistno = queryprcphistno + "" + ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(i, "prcphistno") + "," ;
  2800. checkcnt++ ;
  2801. } else {
  2802. }
  2803. }
  2804. if( checkcnt <= 0 ) {
  2805. sysf_messageBox("수혈처방내역을 ","C002");
  2806. return 0 ;
  2807. }
  2808. if( utlf_isNull(group3.switch1.case1.opt_inj.text) ){
  2809. sysf_messageBox("보관검체가 없습니다.", "E");
  2810. }
  2811. queryprcpdd = queryprcpdd.replace("/-/g","")
  2812. queryprcpdd = queryprcpdd.substr(0,queryprcpdd.length-1) ;
  2813. queryprcpno = queryprcpno.substr(0,queryprcpno.length-1) ;
  2814. queryprcphistno = queryprcphistno.substr(0,queryprcphistno.length-1) ;
  2815. frmf_setParameter("prcpddfrom", group3.switch1.case1.grp_sea.ipt_prcpddfrom.value);
  2816. frmf_setParameter("prcpddto", group3.switch1.case1.grp_sea.ipt_prcdddto.value);
  2817. frmf_setParameter("wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  2818. frmf_setParameter("roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  2819. frmf_setParameter("pid", group3.switch1.case1.grp_sea.ipt_pid.value);
  2820. frmf_setParameter("queryprcpdd", queryprcpdd);
  2821. frmf_setParameter("queryprcpno", queryprcpno);
  2822. frmf_setParameter("queryprcphistno", queryprcphistno);
  2823. //var left = e.screenX-1000;
  2824. //var top = e.screenY+50;
  2825. frmf_modal("SMMNR01001","SMMNR01001",null,"",1,"","","","","","","","M"); //yjh : 커밋
  2826. }
  2827. /**
  2828. * @group :
  2829. * @ver : 2007.06.18
  2830. * @by : 정찬성
  2831. * @---------------------------------------------------
  2832. * @type : function
  2833. * @access : public
  2834. * @desc : 수행처방내역 조회 리스트
  2835. * @param :
  2836. * @return :
  2837. * @---------------------------------------------------
  2838. */
  2839. function fGetExecDetlList(){
  2840. var pid = group3.switch1.case1.grp_sea.ipt_pid.value;
  2841. if( utlf_isNull(pid) ){
  2842. ds_main_cond_execdetlgrup_execdetlgruplist.clearData();
  2843. return;
  2844. }
  2845. ds_send.setColumn(0, "prcpddfrom", group3.switch1.case1.grp_sea.ipt_prcpddfrom.value);
  2846. ds_send.setColumn(0, "prcpddto", group3.switch1.case1.grp_sea.ipt_prcdddto.value);
  2847. ds_send.setColumn(0, "wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  2848. ds_send.setColumn(0, "wardcdnm", group3.switch1.case2.group2.cmb_wardcdgruplist2.value);
  2849. ds_send.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  2850. ds_send.setColumn(0, "hngnm", group3.switch1.case1.grp_sea.cmb_patientgruplist.value);
  2851. ds_send.setColumn(0, "pid", pid);
  2852. ds_send.setColumn(0, "ioparam", ioparam);
  2853. var oParam = {};
  2854. oParam.id = "TRMNR01006";
  2855. oParam.service = "carerecapp.TnsCareRec";
  2856. oParam.method = "reqGetExecDetlList";
  2857. oParam.inds = "refCond=ds_send";
  2858. oParam.outds = "ds_main_cond_execdetlgrup_execdetlgruplist=execdetlgruplist";
  2859. oParam.async = false;
  2860. oParam.callback = "cf_TRMNR01006";
  2861. tranf_submit(oParam);
  2862. if( arErrorCode.pop("TRMNR01006") > -1 ){
  2863. var sExprEdittype = "expr:";
  2864. var sExprControlBgtype = "expr:";
  2865. ds_main_cond_execdetlgrup_execdetlgruplist.updatecontrol = false;
  2866. ds_main_cond_execdetlgrup_execdetlgruplist.enableevent = false;
  2867. //신청 불가 선택란 Disabled 처리 : 2008-01-16
  2868. for( var iRow=0 ; iRow<ds_main_cond_execdetlgrup_execdetlgruplist.rowcount ; iRow++ ){
  2869. if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "D/C" || ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "의사" ||
  2870. ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "완료" || ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") != "처방" ){
  2871. sExprEdittype += "currow == "+iRow+" ? 'none' : ";
  2872. sExprControlBgtype += "currow == "+iRow+" ? 'silver' : ";
  2873. } else if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "prcpstatcd") == "처방" ){
  2874. if( ds_main_cond.getColumn(0, "ioflag") == "I" &&
  2875. (ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "orddd") != ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid), "indd") ||
  2876. ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "cretno") != ds_temp_cond_patientgrup_patientgruplist.getColumn(ds_temp_cond_patientgrup_patientgruplist.findRow("pid", pid), "cretno")) ){
  2877. sExprEdittype += "currow == "+iRow+" ? 'none' : ";
  2878. sExprControlBgtype += "currow == "+iRow+" ? 'silver' : ";
  2879. }
  2880. }
  2881. if( ds_main_cond_execdetlgrup_execdetlgruplist.getColumn(iRow, "sel") == "FALSE" ){
  2882. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "0");
  2883. }else{
  2884. ds_main_cond_execdetlgrup_execdetlgruplist.setColumn(iRow, "sel", "1");
  2885. }
  2886. }
  2887. ds_main_cond_execdetlgrup_execdetlgruplist.enableevent = true;
  2888. ds_main_cond_execdetlgrup_execdetlgruplist.updatecontrol = true;
  2889. sExprEdittype += "'checkbox'";
  2890. sExprControlBgtype += "''";
  2891. group3.switch1.case1.grd_execdetlgruplist.setCellProperty("Body", 1, "edittype", sExprEdittype);
  2892. group3.switch1.case1.grd_execdetlgruplist.setCellProperty("Body", 1, "controlbackground", sExprControlBgtype);
  2893. }
  2894. }
  2895. function cf_TRMNR01006(sSvcId, nErrorCode, sErrorMsg) {
  2896. arErrorCode.push(sSvcId, nErrorCode);
  2897. ds_main_cond_execdetlgrup_execdetlgruplist.rowposition = -1;
  2898. }
  2899. /**
  2900. * @group :
  2901. * @ver : 2007.06.18
  2902. * @by : 정찬성
  2903. * @---------------------------------------------------
  2904. * @type : function
  2905. * @access : public
  2906. * @desc : 환자 상세정보 조회 combo
  2907. * @param :
  2908. * @return :
  2909. * @---------------------------------------------------
  2910. */
  2911. function fGetPatientInfo(arg, aCase){
  2912. var sLoPid = "";
  2913. //기존 Pid와 새로 조회되는 Pid같은지 점검
  2914. if(aCase == "case1") {
  2915. sLoPid = group3.switch1.case1.grp_sea.ipt_pid.value;
  2916. } else {
  2917. sLoPid = group3.switch1.case2.group2.ipt_pid2.value;
  2918. }
  2919. if(appf_getPatientInfo("pid") != sLoPid ){
  2920. appf_delPatientInfos(); //화면상단정보 삭제
  2921. sysf_setGlobalVariable("paminfo", ""); //원무정보 reset
  2922. }
  2923. // if(sGolPid == sLoPid) return;
  2924. if(aCase == "case1") { //수혈불출관리화면
  2925. if( !utlf_isNull(arg) ){
  2926. //cmb_wardcdgruplist2.value = "";
  2927. //cmb_roomcdgruplist2.value = "";
  2928. //cmb_patientgruplist2.value = "";
  2929. //model.setValue("/root/temp/cond/wardcdgrup/wardcdgruplist", "");
  2930. //model.setValue("/root/temp/cond/roomcdgrup/roomcdgruplist", "");
  2931. //model.setValue("/root/temp/cond/patientgrup/patientgruplist", "");
  2932. }
  2933. //opt_patientnm.value = "" ;
  2934. //opt_sexage1.value = "" ;
  2935. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "patientnm", "");
  2936. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "sexage", "");
  2937. ds_send.setColumn(0, "wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  2938. ds_send.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  2939. if( !utlf_isNull(group3.switch1.case1.grp_sea.ipt_pid.value) ){
  2940. ds_send.setColumn(0, "pid", group3.switch1.case1.grp_sea.ipt_pid.value);
  2941. } else if( !utlf_isNull(group3.switch1.case1.grp_sea.cmb_patientgruplist.value) ){
  2942. ds_send.setColumn(0, "pid", group3.switch1.case1.grp_sea.cmb_patientgruplist.value);
  2943. }
  2944. } else {
  2945. if( !utlf_isNull(arg) ){
  2946. //cmb_wardcdgruplist.value = "" ;
  2947. //cmb_roomcdgruplist.value = "" ;
  2948. //cmb_patientgruplist.value = "" ;
  2949. //model.setValue("/root/temp/cond/wardcdgrup/wardcdgruplist", "");
  2950. //model.setValue("/root/temp/cond/roomcdgrup/roomcdgruplist", "");
  2951. //model.setValue("/root/temp/cond/patientgrup/patientgruplist", "");
  2952. }
  2953. //opt_patientnm2.value = "" ;
  2954. //opt_sexage.value = "" ;
  2955. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "patientnm", "");
  2956. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "sexage", "");
  2957. //opt_signno.value = "" ;
  2958. ds_send.setColumn(0, "wardcd", group3.switch1.case2.group2.cmb_wardcdgruplist2.value);
  2959. ds_send.setColumn(0, "roomcd", group3.switch1.case2.group2.cmb_roomcdgruplist2.value);
  2960. if( !utlf_isNull(group3.switch1.case2.group2.ipt_pid2.value) ){
  2961. ds_send.setColumn(0, "pid", group3.switch1.case2.group2.ipt_pid2.value);
  2962. } else if( !utlf_isNull(group3.switch1.case2.group2.cmb_patientgruplist2.value) ){
  2963. ds_send.setColumn(0, "pid", group3.switch1.case2.group2.cmb_patientgruplist2.value);
  2964. }
  2965. }
  2966. ds_send.setColumn(0, "ioparam", ioparam);
  2967. var oParam = {};
  2968. oParam.id = "TRMNR01005";
  2969. oParam.service = "carerecapp.TnsCareRec";
  2970. oParam.method = "reqGetPatientInto";
  2971. oParam.inds = "refCond=ds_send";
  2972. oParam.outds = "ds_main_cond_patientgrupInfo_patientgruplistInfo=patientgrupInfo";
  2973. oParam.async = false;
  2974. oParam.callback = "cf_TRMNR01005";
  2975. tranf_submit(oParam);
  2976. if( arErrorCode.pop("TRMNR01005") > -1 ){
  2977. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.copyRow(0, ds_main_cond_patientgrupInfo_patientgruplistInfo, 0);
  2978. sGolPid = sLoPid;
  2979. if( arg == "pid" && ioparam == "IPRC" ){
  2980. // fGetWardList();
  2981. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "wardcd")) ){
  2982. return ;
  2983. }
  2984. if(aCase == "case1") { //수혈불출관리화면
  2985. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "wardcd", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "wardcd"));
  2986. fGetRoomList();
  2987. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "roomcd")) ){
  2988. return ;
  2989. }
  2990. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "roomcd", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "roomcd"));
  2991. fGetPatientList();
  2992. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "pid")) ){
  2993. return ;
  2994. }
  2995. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "pid"));
  2996. } else {
  2997. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "wardcd", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "wardcd"));
  2998. fGetRoomList();
  2999. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "roomcd")) ){
  3000. return ;
  3001. }
  3002. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "roomcd", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "roomcd"));
  3003. fGetPatientList();
  3004. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "pid")) ){
  3005. return ;
  3006. }
  3007. ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo.getColumn(0, "pid"));
  3008. }
  3009. }
  3010. }
  3011. if(aCase == "case1") { //수혈불출관리화면
  3012. group3.switch1.case1.grp_sea.btn_srch1.setFocus();
  3013. } else {
  3014. group3.switch1.case2.group2.btn_srch2.setFocus();
  3015. }
  3016. }
  3017. function cf_TRMNR01005(sSvcId, nErrorCode, sErrorMsg) {
  3018. arErrorCode.push(sSvcId, nErrorCode);
  3019. }
  3020. /**
  3021. * @group :
  3022. * @ver : 2007.06.18
  3023. * @by : 정찬성
  3024. * @---------------------------------------------------
  3025. * @type : function
  3026. * @access : public
  3027. * @desc : 환자 정보 조회 combo
  3028. * @param :
  3029. * @return :
  3030. * @---------------------------------------------------
  3031. */
  3032. function fGetPatientList(){
  3033. ds_send.setColumn(0, "wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  3034. ds_send.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  3035. var oParam = {};
  3036. oParam.id = "TRMNR01004";
  3037. oParam.service = "carerecapp.TnsCareRec";
  3038. oParam.method = "reqGetPatientList";
  3039. oParam.inds = "refCond=ds_send refCond1=ds_send";
  3040. oParam.outds = "ds_temp_cond_patientgrup_patientgruplist=patientgruplist";
  3041. oParam.async = false;
  3042. //oParam.callback = "cf_TRMNR01004";
  3043. tranf_submit(oParam);
  3044. group3.switch1.case1.grp_sea.cmb_patientgruplist.setFocus();
  3045. }
  3046. /**
  3047. * @group :
  3048. * @ver : 2007.06.18
  3049. * @by : 정찬성
  3050. * @---------------------------------------------------
  3051. * @type : function
  3052. * @access : public
  3053. * @desc : 병실 조회 combo
  3054. * @param :
  3055. * @return :
  3056. * @---------------------------------------------------
  3057. */
  3058. function fGetRoomList(){
  3059. ds_send.setColumn(0, "wardcd", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value);
  3060. var oParam = {};
  3061. oParam.id = "TRMNR01003";
  3062. oParam.service = "carerecapp.TnsCareRec";
  3063. oParam.method = "reqGetRoomList";
  3064. oParam.inds = "refCond=ds_send";
  3065. oParam.outds = "ds_temp_cond_roomcdgrup_roomcdgruplist=roomcdgruplist";
  3066. oParam.async = false;
  3067. //oParam.callback = "cf_TRMNR01003";
  3068. tranf_submit(oParam);
  3069. group3.switch1.case1.grp_sea.cmb_roomcdgruplist.setFocus();
  3070. }
  3071. /**
  3072. * @group :
  3073. * @ver : 2007.06.18
  3074. * @by : 정찬성
  3075. * @---------------------------------------------------
  3076. * @type : function
  3077. * @access : public
  3078. * @desc : 병동 조회
  3079. * @param :
  3080. * @return :
  3081. * @---------------------------------------------------
  3082. */
  3083. function fGetWardList(){
  3084. ds_send.setColumn(0, "wardcd", ds_temp_cond_wardcdgrup_wardcdgruplist.getColumn(0, "wardcd"));
  3085. var oParam = {};
  3086. oParam.id = "TRMNR01002";
  3087. oParam.service = "carerecapp.TnsCareRec";
  3088. oParam.method = "reqGetWardList";
  3089. oParam.inds = "refCond=ds_send";
  3090. oParam.outds = "ds_temp_cond_wardcdgrup_wardcdgruplist=wardcdgruplist";
  3091. oParam.async = false;
  3092. //oParam.callback = "cf_TRMNR01002";
  3093. tranf_submit(oParam);
  3094. // model.setfocus("cmb_wardcdgruplist");
  3095. }
  3096. /**
  3097. * @group :
  3098. * @ver : 2007.05.09
  3099. * @by : 정찬성
  3100. * @---------------------------------------------------
  3101. * @type : function
  3102. * @access : public
  3103. * @desc : 혈액불출관리 init
  3104. * @param :
  3105. * @return :
  3106. * @---------------------------------------------------
  3107. */
  3108. function fInitWardList( getparam){
  3109. fGetWardList();// 병동코드 리스트
  3110. }
  3111. /**
  3112. * @group :
  3113. * @ver : 2007.08.29
  3114. * @by : 정찬성
  3115. * @---------------------------------------------------
  3116. * @type : function
  3117. * @access : public
  3118. * @desc : 초기화
  3119. * @param :
  3120. * @return :
  3121. * @---------------------------------------------------
  3122. */
  3123. function fTnsRecInit(){
  3124. group3.switch1.case2.rdo_discontinuyn.value = "N"; // 수혈중단
  3125. group3.switch1.case2.rdo_discontinuyn.enable = true; // 수혈중단
  3126. group3.switch1.case2.cmb_discontinu.enable = false; // 수혈중단 콤보
  3127. group3.switch1.case2.ipt_etc.enable = false; // 수혈중단 기타
  3128. group3.switch1.case2.ipt_drugqty.enable = false; // 총투여량
  3129. group3.switch1.case2.ipt_onepintqty.enable = true; // 1pint 투여량
  3130. group3.switch1.case2.chk_tnssideeffect.setEnbale(true); //20100126_SMY추가
  3131. group3.switch1.case2.ipt_tnssideeffectetc.enable = false; // 수혈부작용 기타 비활성화
  3132. group3.switch1.case2.chk_smlqtytnsyn.enable = false; // 소량수혈 비활성화
  3133. group3.switch1.case2.btn_deltemprec.enable = false; // 기록삭제 버튼 비활성화
  3134. group3.switch1.case2.btn_init.enable = false; // 초기화 버튼 비활성화
  3135. group3.switch1.case2.btn_tempsave.enable = false; // 임시저장 버튼 비활성화
  3136. group3.switch1.case2.btn_certsave.enable = false; // 인증저장 버튼 비활성화
  3137. group3.switch1.case2.chk_tnssideeffect.setData(null, utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect")).split(" "), false);
  3138. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.copyRow(0, ds_temp_tnsnurserecgrup_tnsnurserecgruplist, 0);
  3139. group3.switch1.case2.chk_tnssideeffect.setData(utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect")).split(" "), null, false);
  3140. ds_main_cond_vitalsigngrup_vitalsigngruplist.clearData();
  3141. ds_main_cond_vitalsigngrup_vitalsigngruplist.copyData(ds_temp_vitalsigngrup_vitalsigngruplist);
  3142. // textarea1.value = "수혈팔찌 확인함" + "\n" + "본인확인 혈액형 :";
  3143. // 170221_마취회복실_수혈기록_문구수정_AYS
  3144. if(sysf_getUserInfo("dutplceinstcd") == "031" && (sysf_getUserInfo("dutplcecd") == ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "016"), "cdid") || sysf_getUserInfo("dutplcecd") == ds_codelist.getColumn(ds_codelist.findRow("cdgrupid", "013"), "cdid")) ){
  3145. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsrec", "혈액전달 및 연결시 수여자와 혈액의 환자이름, 혈액형, 혈액종류를 확인한다." + "\n" + "수혈간호기록의 vital sign기록을 마취기록조회(진료)의 5분 vital sign으로 대체한다."); //수혈부작용 설명함 추가_20090327_SMY
  3146. } else {
  3147. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsrec", "환자 확인함, 혈액종류 및 혈액형 확인함, 수혈 부작용에 대해 설명함, 수혈이 완료될 때까지 30분 마다 환자 상태 관찰함"); //수혈부작용 설명함 추가_20090327_SMY
  3148. }
  3149. //ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsrec", "수혈팔찌 확인함, 수혈부작용 설명함" + "\n" + "수혈이 완료될 때까지 30분마다 환자 상태를 관찰하고 확인한다." + "\n" + "본인확인 혈액형 확인함"); //수혈부작용 설명함 추가_20090327_SMY
  3150. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "transferyn", "N"); // 150309 - AYS
  3151. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "nonactpher", "N"); // 150908 - AYS
  3152. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "exceptyn", "N"); // // '18.06.18_AYS_검사및시술 항목
  3153. // '15.09.08 - AYS
  3154. group3.switch1.case2.caption17.text = "수혈시작일시";
  3155. group3.switch1.case2.caption19.text = "수혈시작 간호사";
  3156. ds_main_cond_vitalsigngrup_vitalsigngruplist.rowposition = -1;
  3157. group3.switch1.case2.grd_vitalsigngruplist.setCellPos(0);
  3158. group3.switch1.case2.grd_vitalsigngruplist.setFocus();
  3159. //model.refresh();
  3160. }
  3161. /**
  3162. * @group :
  3163. * @ver : 2007.08.29
  3164. * @by : 정찬성
  3165. * @---------------------------------------------------
  3166. * @type : function
  3167. * @access : public
  3168. * @desc : Set선택의 항목 지정
  3169. * @param :
  3170. * @return :
  3171. * @---------------------------------------------------
  3172. */
  3173. function fBaseMakeParameter() {
  3174. var param = "";
  3175. rowsep = "▩";
  3176. colsep = "▦";
  3177. param = "recflag" + colsep + "dutplaccd" + colsep + "reclnkkey"+ rowsep+"O" + colsep + "12611" + colsep + "12611" + rowsep;
  3178. return param;
  3179. }
  3180. /**
  3181. * @group :
  3182. * @ver : 2007.12.29
  3183. * @by : 양천덕
  3184. * @---------------------------------------------------
  3185. * @type : function
  3186. * @access : public
  3187. * @desc : 혈액번호 조회
  3188. * @param :
  3189. * @return :
  3190. * @---------------------------------------------------
  3191. */
  3192. function fFindBlod(){
  3193. var sCheckBold = group3.switch1.case2.ipt_blodno.text;
  3194. var frow1 = "";
  3195. var frow2 = "";
  3196. var frow3 = "";
  3197. // 혈액불출내역 조회
  3198. frow1 = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.findRow("blodno", sCheckBold);
  3199. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowposition = frow1;
  3200. // 미수행기록목록 조회
  3201. frow2 = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.findRow("blodno", sCheckBold);
  3202. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowposition = frow2;
  3203. // 수행기록 내역 조회
  3204. frow3 = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.findRow("blodno", sCheckBold);
  3205. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowposition = frow3;
  3206. if(frow1 < 0 && frow2 < 0 && frow3 < 0){
  3207. sysf_messageBox("검색 된 혈액이 없습니다.", "I");
  3208. return;
  3209. }
  3210. }
  3211. /**
  3212. * @group :
  3213. * @ver : 2007.12.29
  3214. * @by : 양천덕
  3215. * @---------------------------------------------------
  3216. * @type : function
  3217. * @access : public
  3218. * @desc : 수행기록내역 더블클릭 이밴트 처리
  3219. * @param :
  3220. * @return :
  3221. * @---------------------------------------------------
  3222. */
  3223. function fCheckExecRecDBclick(){
  3224. //debugger;
  3225. if( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowposition < 0 ){
  3226. return;
  3227. }
  3228. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount ; i++ ){
  3229. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.setColumn(i, "stat", "0");
  3230. }
  3231. var iRow = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowposition;
  3232. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.setColumn(iRow, "stat", "1");
  3233. fOtherRecListUncheck("exec");
  3234. //fBlodExecRecDetlinfo();// 수행기록내역 상세정보
  3235. //fTnsRecInit();
  3236. fExecRecBottom();
  3237. fVitalSignList();// vital sign List
  3238. }
  3239. /**
  3240. * @group :
  3241. * @ver : 2007.12.29
  3242. * @by : 양천덕
  3243. * @---------------------------------------------------
  3244. * @type : function
  3245. * @access : public
  3246. * @desc : 수행기록내역 더블클릭으로 수혈간호기록에 Seeting 처리
  3247. * @param :
  3248. * @return :
  3249. * @---------------------------------------------------
  3250. */
  3251. function fExecRecBottom(){
  3252. var sRowCnt = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount;
  3253. var cnt = 0 ;
  3254. ds_send_detlgrup.copyData(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist);
  3255. var blodno = "" ;
  3256. var prcpnm = "" ;
  3257. var aborh = "" ;
  3258. var prcpdelivefact = "" ;
  3259. var iRow = "";
  3260. var chkreqcnt = 0;
  3261. var signno = "";
  3262. var prcpno = "";
  3263. var duplreccheck = false ;
  3264. var discontinuyn = "";
  3265. sFlagChkYN = "N";
  3266. /* 미수행기록 목록 선택 되어 있는지 체크 시작 */
  3267. for( var i=0 ; i<sRowCnt ; i++ ){
  3268. // alert(grd_blodnoexecrecgruplist.labelmatrix(i, 1));
  3269. if( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "stat") == "1" ){
  3270. blodno += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "blodno") + "," ;
  3271. prcpnm += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "prcpnm") + "," ;
  3272. aborh += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "abo")
  3273. + ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "rh") + "," ;
  3274. prcpdelivefact += ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "prcpdelivefact") + "," ;
  3275. signno += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "signno") + "," ;
  3276. prcpno += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "prcpno") + "," ;
  3277. discontinuyn += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "discontinuyn") + "," ;
  3278. if( utlf_isNull(iRow) ){
  3279. iRow = i ;
  3280. }
  3281. cnt = cnt + 1;
  3282. }
  3283. }
  3284. if(cnt < 1){
  3285. sysf_messageBox("선택 정보가 ","I004");
  3286. return false;
  3287. }
  3288. /* 수행기록 목록 선택 되어 있는지 체크 끝 */
  3289. var blodnodupSource = utlf_transNullToEmpty(blodno.substr(0,blodno.length-1)).split(",");
  3290. var prcpnodupSource = utlf_transNullToEmpty(prcpno.substr(0,prcpno.length-1)).split(",");
  3291. // alert(blodnodupSource);
  3292. /* 수행내역 기록버튼시 중복 체크 시작 */
  3293. for( var i=0 ; i<=blodnodupSource.length ; i++ ){
  3294. // alert(grd_blodnoexecrecgruplist.labelmatrix(i, 1));
  3295. for( var n=0 ; n<ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount ; n++ ){
  3296. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(n, "blodno") &&
  3297. prcpnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(n, "prcpno") ){
  3298. duplreccheck = true ;
  3299. }
  3300. }
  3301. }
  3302. group3.switch1.case2.btn_init.enable = false;//20100415 khj 수행기록내역에서 넘긴경우 초기화버튼비활성화
  3303. group3.switch1.case2.btn_certsave.enable = true;
  3304. //btn_deltemprec.disabled = true;
  3305. var sChkSign = utlf_transNullToEmpty(signno).split(",");
  3306. var sChkDiscontinuyn = utlf_transNullToEmpty(discontinuyn).split(",");
  3307. for( var i=0 ; i<sChkSign.length-1 ; i++ ){
  3308. if( utlf_isNull(sChkSign[i]) ){
  3309. group3.switch1.case2.btn_tempsave.enable = true;
  3310. if(sChkDiscontinuyn[i]== "N"){
  3311. group3.switch1.case2.btn_deltemprec.enable = true;
  3312. }
  3313. }
  3314. }
  3315. for( var i=0; i<=blodnodupSource.length ; i++ ){
  3316. // alert(grd_blodnoexecrecgruplist.labelmatrix(i, 1));
  3317. for( var n=0; n<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; n++ ){
  3318. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "blodno") &&
  3319. prcpnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "prcpno") ){
  3320. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "reqflagstat") == "Y" && ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "reqflag") == "2" ){
  3321. chkreqcnt = chkreqcnt + 1;
  3322. }
  3323. // //반납폐기 구분에 정보가 있을 경우 기록 삭제 버튼 비활성화-> 20100415 김홍점 폐기확정전까지는 활성화하고 메시지 팝업
  3324. // if(model.getValue(xBlodReturnReqGrupListPath+"["+n+"]/reqflag") != ""){
  3325. // btn_deltemprec.disabled = true;
  3326. // }
  3327. }
  3328. }
  3329. }
  3330. if(chkreqcnt > 0 ){
  3331. group3.switch1.case2.rdo_discontinuyn.enable = false;
  3332. group3.switch1.case2.cmb_discontinu.enable = false;
  3333. group3.switch1.case2.chk_smlqtytnsyn.enable = false;
  3334. group3.switch1.case2.ipt_etc.enable = false;
  3335. group3.switch1.case2.ipt_drugqty.enable = false;
  3336. group3.switch1.case2.ipt_onepintqty.enable = false;
  3337. group3.switch1.case2.btn_deltemprec.enable = false;
  3338. sysf_messageBox("폐기 확정 혈액은 사유 변경을 할 수 없습니다.","I");
  3339. sFlagChkYN = "Y";
  3340. } else {
  3341. //수혈중단N인경우 기록삭제버튼 활성화 20100415 khj 12061
  3342. //잔여폐기의뢰건도 버튼은 활성화 후 메시지 팝업
  3343. group3.switch1.case2.btn_deltemprec.enable = true;
  3344. group3.switch1.case2.ipt_onepintqty.enable = true;
  3345. }
  3346. /* 수행내역 기록버튼시 중복 체크 끝 */
  3347. // alert(blodno.substr(0,blodno.length-1));
  3348. // if( duplreccheck ){// 중복기록 체크
  3349. // messageBox("수행기록된 혈액을 중복으로 기록할수 ","I004");
  3350. // return;
  3351. // };
  3352. // fClearChildNode("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist");
  3353. // model.refresh();
  3354. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.enableevent = false;
  3355. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.updatecontrol = false;
  3356. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "blodno", blodno.substr(0,blodno.length-1));
  3357. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpnm", prcpnm.substr(0,prcpnm.length-1));
  3358. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "abo", aborh.substr(0,aborh.length-1));
  3359. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpno", prcpno.substr(0,prcpno.length-1));
  3360. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "signno", signno.substr(0,signno.length-1));
  3361. //alert(instance1.selectSingleNode(xBlodExecRecGrupListPath).xml);
  3362. // model.setValue(cap_blodno.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/blodno"));
  3363. // model.setValue(cap_blodnm.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/prcpnm"));
  3364. // model.setValue(cap_aborh.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/abo") + model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/rh") );
  3365. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrdd", utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrddtm")).substring(0,8));
  3366. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrtm", utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrddtm")).substring(8,12));
  3367. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsenddd", utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendddtm")).substring(0,8));
  3368. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendtm", utlf_transNullToEmpty(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendddtm")).substring(8,12));
  3369. //20100415 12061 khj 수혈종료일시입력된 기록은 임시저장버튼활성화, 수혈중단N인경우 기록삭제버튼 활성화
  3370. if ( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendddtm")) ){
  3371. group3.switch1.case2.btn_tempsave.enable = false;
  3372. }else{
  3373. group3.switch1.case2.btn_tempsave.enable = true;
  3374. }
  3375. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursdeptnm", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnursedeptnm"));
  3376. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursnm", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnursenm"));
  3377. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursdeptnm", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnursedeptnm"));
  3378. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursnm", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnursenm"));
  3379. //model.setValue(cmb_tnssideeffect.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/tnssideeffect"));
  3380. group3.switch1.case2.chk_tnssideeffect.setData(null, utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect")).split(" "), false);
  3381. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnssideeffect", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnssideeffect"));
  3382. group3.switch1.case2.chk_tnssideeffect.setData(utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect")).split(" "), null, false);
  3383. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnssideeffectetc", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnssideeffectetc"));
  3384. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpdelivefact", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "prcpdelivefact"));
  3385. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "discontinuyn", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "discontinuyn"));
  3386. //rdo_discontinuyn.disabled = true;
  3387. //cmb_discontinu.disabled = true;
  3388. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "discontinu", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "discontinu"));
  3389. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "discontinuetc", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "discontinuetc"));
  3390. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "onepintqty", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "onepintqty"));
  3391. fSumQtyCalc(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "drugqty"));// 총투여량 계산 onepintqty * 혈액갯수 20100415 khj
  3392. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnscarerecseq", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnscarerecseq"));
  3393. //model.setValue(ipt_drugqty.attribute("ref"), model.getValue(xBlodExecRecGrupListPath+"["+iRow+"]/drugqty"));
  3394. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsrec", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsrec"));
  3395. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "instcd", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "instcd"));
  3396. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "smlqtytnsyn", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "smlqtytnsyn"));
  3397. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tprlnkyn", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tprlnkyn"));
  3398. // 15.04.28 - AYS
  3399. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "transferyn", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "transferyn"));
  3400. // '15.09.08 - AYS 추가
  3401. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "nonactpher", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "nonactpher"));
  3402. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "exceptyn", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "exceptyn")); // '18.06.18_AYS_검사및시술 항목 초기화
  3403. // 15.11.27 성분채집실, 전원 기록은 임시저장버튼활성화 기록삭제버튼 활성화
  3404. if ( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "transferyn") == 'Y' || ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "nonactpher") == 'Y' || ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "exceptyn") == 'Y'){
  3405. group3.switch1.case2.btn_tempsave.enable = false;
  3406. }else{
  3407. group3.switch1.case2.btn_tempsave.enable = true;
  3408. }
  3409. // 15.11.27 성분채집실, 전원 기록은 임시저장버튼활성화 기록삭제버튼 활성화
  3410. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrnursall", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnurseid")+","+
  3411. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnursenm")+","+","+","+
  3412. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnursedeptnm")+","+
  3413. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsstrnursedeptcd"));
  3414. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsendnursall", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnurseid")+","+
  3415. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnursenm")+","+","+","+
  3416. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnursedeptnm")+","+
  3417. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnsendnursedeptcd"));
  3418. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.updatecontrol = true;
  3419. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.enableevent = true;
  3420. if(sFlagChkYN == "N"){
  3421. if( group3.switch1.case2.rdo_discontinuyn.value == 'Y' ){
  3422. group3.switch1.case2.rdo_discontinuyn.enable = false;
  3423. //chk_smlqtytnsyn.disabled = true ;
  3424. if( group3.switch1.case2.chk_smlqtytnsyn.value == 'Y' ){
  3425. group3.switch1.case2.chk_smlqtytnsyn.enable = true ;
  3426. group3.switch1.case2.cmb_discontinu.enable = false ;
  3427. }else{
  3428. group3.switch1.case2.chk_smlqtytnsyn.enable = true ;
  3429. group3.switch1.case2.cmb_discontinu.enable = true ;
  3430. if( utlf_transNullToEmpty(group3.switch1.case2.cmb_discontinu.value).substring(3,5) == "99" ){
  3431. group3.switch1.case2.ipt_etc.enable = true ;
  3432. }
  3433. }
  3434. }else{
  3435. group3.switch1.case2.rdo_discontinuyn.enable = true;
  3436. group3.switch1.case2.cmb_discontinu.enable = false;
  3437. group3.switch1.case2.chk_smlqtytnsyn.enable = false ;
  3438. group3.switch1.case2.ipt_etc.enable = false ;
  3439. }
  3440. }
  3441. // '15.09.08 추가 - AYS
  3442. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "nonactpher") == "Y" ){
  3443. group3.switch1.case2.caption17.text = "환자 보낸일자";
  3444. group3.switch1.case2.caption19.text = "담당 간호사";
  3445. } else{
  3446. group3.switch1.case2.caption17.text = "수혈시작일시";
  3447. group3.switch1.case2.caption19.text = "수혈시작 간호사";
  3448. }
  3449. //수혈부작용 기타사항 입력창 disabled 설정
  3450. /*
  3451. var sItem = model.getValue("/root/main/cond/tnsnurserecgrup/tnsnurserecgruplist/tnssideeffect");
  3452. var sItemList = sItem.split(" ");
  3453. var chkYN = "N";
  3454. for(var i = 0 ; i < sItemList.length ; i ++){
  3455. if(sItemList[i] == "07"){
  3456. chkYN = "Y";
  3457. }
  3458. }
  3459. if(chkYN == "Y"){
  3460. ipt_tnssideeffectetc.disabled = false;
  3461. }else{
  3462. ipt_tnssideeffectetc.value = "";
  3463. ipt_tnssideeffectetc.disabled = true;
  3464. }
  3465. //model.refresh();
  3466. */
  3467. fSelctTnssideEffect("Y"); //20100126_SMY
  3468. var sRowCnt2 = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount;
  3469. for( var i=0 ; i<sRowCnt2 ; i++ ){ // 선택한 값이 불출신청 상태인지 체크
  3470. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.setColumn(i, "stat", "0");
  3471. }
  3472. return true;
  3473. }
  3474. /**
  3475. * @group :
  3476. * @ver : 2007.07.16
  3477. * @by : 정찬성
  3478. * @---------------------------------------------------
  3479. * @type : function
  3480. * @access : public
  3481. * @desc : 수혈 수행 내역에서 더블클릭 했을때, vital sign 리스트
  3482. * @param :
  3483. * @return :
  3484. * @---------------------------------------------------
  3485. */
  3486. function fVitalSignList(){
  3487. var sRowCnt = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount;
  3488. var iRow = "";
  3489. for( var i=0 ; i<sRowCnt ; i++ ){
  3490. if( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(i, "stat") == "1" ){
  3491. if( utlf_isNull(iRow) ){
  3492. iRow = i ;
  3493. }
  3494. }
  3495. }
  3496. ds_send.setColumn(0, "tnscarerecseq", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "tnscarerecseq"));
  3497. ds_send.setColumn(0, "pid", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "pid"));
  3498. ds_send.setColumn(0, "instcd", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "instcd"));
  3499. ds_send.setColumn(0, "blodno", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "blodno"));
  3500. ds_send.setColumn(0, "ioparam", ioparam);
  3501. var oParam = {};
  3502. oParam.id = "TRMNR01025";
  3503. oParam.service = "carerecapp.TnsCareRec";
  3504. oParam.method = "reqGetTnsVitalSignList";
  3505. oParam.inds = "refCond=ds_send";
  3506. oParam.outds = "ds_hidden_vitalsigngrup_vitalsigngruplist=vitalsigngruplist";
  3507. oParam.async = false;
  3508. oParam.callback = "cf_TRMNR01025";
  3509. tranf_submit(oParam);
  3510. if( arErrorCode.pop("TRMNR01025") > -1 ){
  3511. ds_hidden_vitalsigngrup_vitalsigngruplist.updateColID("vitalflag", "flag");
  3512. ds_main_cond_vitalsigngrup_vitalsigngruplist.clearData();
  3513. ds_main_cond_vitalsigngrup_vitalsigngruplist.copyData(ds_temp_vitalsigngrup_vitalsigngruplist);
  3514. if( !utlf_isNull(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(iRow, "signno")) ){
  3515. ds_main_cond_vitalsigngrup_vitalsigngruplist.copyData(ds_hidden_vitalsigngrup_vitalsigngruplist);
  3516. }else{
  3517. for( var i=0 ; i<ds_hidden_vitalsigngrup_vitalsigngruplist.rowcount ; i++ ){
  3518. insIndex = ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "tnscarerecvsseq")-1;
  3519. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "stat", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "stat"));
  3520. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "recdd", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "recdd"));
  3521. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "rectm", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "rectm"));
  3522. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "flag", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "flag"));
  3523. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "bp", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "bp"));
  3524. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "pulse", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "pulse"));
  3525. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "breth", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "breth"));
  3526. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "bdtp", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "bdtp"));
  3527. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "tnscarerecseq", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "tnscarerecseq"));
  3528. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "tnscarerecvsseq", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "tnscarerecvsseq"));
  3529. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "instcd", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "instcd"));
  3530. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "blodno", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "blodno"));
  3531. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "pid", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "pid"));
  3532. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "prcpcd", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "prcpcd"));
  3533. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "sbp", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "sbp"));
  3534. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(insIndex, "dbp", ds_hidden_vitalsigngrup_vitalsigngruplist.getColumn(i, "dbp"));
  3535. }
  3536. }
  3537. ds_main_cond_vitalsigngrup_vitalsigngruplist.rowposition = -1;
  3538. }
  3539. }
  3540. function cf_TRMNR01025(sSvcId, nErrorCode, sErrorMsg) {
  3541. arErrorCode.push(sSvcId, nErrorCode);
  3542. }
  3543. /**
  3544. * @group :
  3545. * @ver : 2008.01.10
  3546. * @by : 양천덕
  3547. * @---------------------------------------------------
  3548. * @type : function
  3549. * @access : public
  3550. * @desc : 보관검체바코드 출력
  3551. * @param :
  3552. * @return :
  3553. * @---------------------------------------------------
  3554. */
  3555. function fKeepBcnoPrint(){
  3556. var pid = ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid");
  3557. if( utlf_isNull(pid) ){
  3558. sysf_messageBox("등록번호를", "C001");
  3559. group3.switch1.case1.grp_sea.ipt_pid.setFocus();
  3560. return;
  3561. }
  3562. ds_send.setColumn(0, "data1", pid);
  3563. var oParam = {};
  3564. oParam.id = "TRLLC80101";
  3565. oParam.service = "bcollmngtapp.BCollMngt";
  3566. oParam.method = "reqGetKeepBcnoPrint";
  3567. oParam.inds = "cond=ds_send";
  3568. oParam.outds = "ds_main_KeepBcnoPrint_printinfo=printinfo";
  3569. oParam.async = false;
  3570. //oParam.callback = "cf_TRLLC80101";
  3571. tranf_submit(oParam);
  3572. if( utlf_isNull(ds_main_KeepBcnoPrint_printinfo.getColumnInfo("bggc")) ){
  3573. ds_main_KeepBcnoPrint_printinfo.addColumn("bggc", "string");
  3574. }
  3575. if( ds_main_KeepBcnoPrint_printinfo.rowcount > 0 ){
  3576. //fKeLabel();
  3577. var prtkind = ds_data_setupinfo.getColumn(0, "prntkind"); // 프틴터종류 추가_20090522(ByJA)
  3578. var portnm = ds_data_setupinfo.getColumn(0, "commkind");
  3579. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7" ){ // SATO일 경우 추가_20090522(ByJA)
  3580. fKeLabel2(ds_main_KeepBcnoPrint_printinfo, 1); // liscommonweb/js/LLZ001.js
  3581. }else{
  3582. fKeLabel (ds_main_KeepBcnoPrint_printinfo, 1); // liscommonweb/js/LLZ001.js
  3583. }
  3584. }
  3585. //20101228_KNUH_Start
  3586. /*
  3587. var scrid = getScreenID();
  3588. var pid = "";
  3589. var toppid = "";
  3590. //채혈버튼 클릭하여 보관검체 출력시엔 선택된 환자 목록에서 환자 아이디 가져옴. 2008.12.04 김성희 수정.
  3591. if(flag == "B"){
  3592. pid = model.getValue(ipt_pid.attribute("ref"));
  3593. }else{
  3594. toppid = getPatientInfo("pid");
  3595. //top 정보가 없으면 조회조건에 입력한 환자번호
  3596. if(toppid == ""){
  3597. pid = model.getValue("/root/hidden/JoHoiFlag/regnopatnm");
  3598. //top 정보가 있으면 탑정보의 환자번호
  3599. }else{
  3600. pid = toppid;
  3601. }
  3602. }
  3603. if(pid=="") return;
  3604. model.removeNodeset("/root/send/data1");
  3605. model.makeValue("/root/send/data1" , pid);
  3606. submit("TRLLC80101");
  3607. if(getNodesetCount("/root/main/KeepBcnoPrint/printinfo") > 0){
  3608. var prtkind = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/prntkind");
  3609. var portnm = model.getvalue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/commkind");
  3610. if( (prtkind == "9" && portnm == "01") || (prtkind == "11" && portnm == "01") || prtkind == "10" || prtkind == "2" || prtkind == "6" || prtkind == "7"){
  3611. if((flag == "B") && (scrid == "SMLLC00100")) { //외래채혈일때
  3612. LCount = getNodesetCount("/root/main/TestInfo/barcodeinfo"); //진검바코드 갯수
  3613. fKeLabel2("/root/main/KeepBcnoPrint/printinfo", LCount);//portopen을 넘기기 위해
  3614. } else if ((flag == "B") && (scrid != "SMLLC00100")){ //병동채혈 및 환자별채혈일때
  3615. fKeLabel2("/root/main/KeepBcnoPrint/printinfo", "P"); //portopen을 넘기기 위해
  3616. } else {//채혈이 아닐때..
  3617. //보관검체 출력
  3618. fKeLabel2("/root/main/KeepBcnoPrint/printinfo");
  3619. }
  3620. }else if(prtkind == "8"){ // 여의도 B472
  3621. if((flag == "B") && (scrid == "SMLLC00100")) { //외래채혈일때
  3622. LCount = getNodesetCount("/root/main/TestInfo/barcodeinfo"); //진검바코드 갯수
  3623. fKeLabel_B472("/root/main/KeepBcnoPrint/printinfo", LCount);//portopen을 넘기기 위해
  3624. } else if ((flag == "B") && (scrid != "SMLLC00100")){ //병동채혈 및 환자별채혈일때
  3625. fKeLabel_B472("/root/main/KeepBcnoPrint/printinfo", "P"); //portopen을 넘기기 위해
  3626. } else {//채혈이 아닐때..
  3627. //보관검체 출력
  3628. fKeLabel_B472("/root/main/KeepBcnoPrint/printinfo");
  3629. }
  3630. }else{
  3631. if((flag == "B") && (scrid == "SMLLC00100")) { //외래채혈일때
  3632. LCount = getNodesetCount("/root/main/TestInfo/barcodeinfo"); //진검바코드 갯수
  3633. fKeLabel("/root/main/KeepBcnoPrint/printinfo", LCount);//portopen을 넘기기 위해
  3634. } else if ((flag == "B") && (scrid != "SMLLC00100")){ //병동채혈 및 환자별채혈일때
  3635. fKeLabel("/root/main/KeepBcnoPrint/printinfo", "P"); //portopen을 넘기기 위해
  3636. } else {//채혈이 아닐때..
  3637. //보관검체 출력
  3638. fKeLabel("/root/main/KeepBcnoPrint/printinfo");
  3639. }
  3640. }
  3641. }
  3642. */
  3643. }
  3644. /*
  3645. function fKeLabel(){
  3646. var ref = "/root/main/KeepBcnoPrint/printinfo";
  3647. var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  3648. var sPrntKind = model.getValue(barcdRef + "[1]/prntkind");
  3649. var sSndMsg = "";
  3650. if (sPrntKind == 0) return;
  3651. var sCommKind = model.getValue(barcdRef + "[1]/commkind");
  3652. if(sCommKind == "01") {
  3653. var sSetUpVal = model.getValue(barcdRef + "[1]/comm01/setupval");
  3654. } else if(sCommKind == "02") {
  3655. var sComm = model.getValue(barcdRef + "[1]/comm02/comm");
  3656. var sDataBit = model.getValue(barcdRef + "[1]/comm02/databit");
  3657. var sStopBit = model.getValue(barcdRef + "[1]/comm02/stopbit");
  3658. var sBaudRate = model.getValue(barcdRef + "[1]/comm02/baudrate");
  3659. var sParity = model.getValue(barcdRef + "[1]/comm02/parity");;
  3660. CommAX.CommPort = sComm;
  3661. CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
  3662. CommAX.PortOpen();
  3663. } else if(sCommKind == "03") {
  3664. var sSetUpVal = model.getValue(barcdRef + "[1]/comm03/setupval");
  3665. }
  3666. var sStr = "보관검체";
  3667. var sRoomcd = model.getvalue(ref +"/roomcd");
  3668. var sPid = model.getvalue(ref +"/pid");
  3669. var sPatnm = model.getvalue(ref +"/patnm");
  3670. var sPatsexage = model.getvalue(ref +"/patsex") + "/" + model.getvalue(ref +"/patage");
  3671. var sOrddeptNm= model.getvalue(ref +"/orddeptnm").substring(0,2);
  3672. var sBtype = model.getvalue(ref +"/btype");
  3673. var sBcollNm = "채혈자:" ;//+ model.getvalue(ref +"/bcollnm");
  3674. var sDt = model.getvalue(ref +"/dt");
  3675. var sPidW = 85;
  3676. var sBarcodeW = 130;
  3677. var sBtypeW = 50;
  3678. if(sPid.length == 10){
  3679. //sPidW = 75;
  3680. sBarcodeW = 90;
  3681. sBtypeW = 20
  3682. }
  3683. if(sPrntKind == "1") {
  3684. sSndMsg += lzzfBP_StartFormat(0, 20); // 시작위치 셋팅
  3685. sSndMsg += CommAX.PrtImgOut("GRAPH001", sStr);
  3686. sSndMsg += lzzfBP_FiendOrigin(20, 2);
  3687. sSndMsg += "^XGGRAPH001,1,1^FS";
  3688. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3689. sSndMsg += lzzfBP_FieldDataA(200, 20, sRoomcd);
  3690. sSndMsg += lzzfBP_ChangeFont("C", 10, 14); // 폰트 설정
  3691. sSndMsg += lzzfBP_FieldDataA(30, 55, sPid);
  3692. sSndMsg += CommAX.PrtImgOut("GRAPH004", sPatnm);
  3693. sSndMsg += lzzfBP_FiendOrigin(210, 50);
  3694. sSndMsg += "^XGGRAPH004,2,1^FS";
  3695. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3696. sSndMsg += lzzfBP_FieldDataA(265, 25, sPatsexage);
  3697. sSndMsg += CommAX.PrtImgOut("GRAPH006", sOrddeptNm);
  3698. sSndMsg += lzzfBP_FiendOrigin(340, 20);
  3699. sSndMsg += "^XGGRAPH006,1,1^FS";
  3700. sSndMsg += CommAX.PrtImgOut("GRAPH007", sBcollNm);
  3701. sSndMsg += lzzfBP_FiendOrigin(230, 230);
  3702. sSndMsg += "^XGGRAPH007,1,1^FS";
  3703. sSndMsg += lzzfBP_ChangeFont("C", 85, 20); // 폰트 설정
  3704. sSndMsg += lzzfBP_FieldDataA(sBtypeW, 110, sBtype);
  3705. sSndMsg += lzzfBP_ChangeFont("F", 1, 1);
  3706. sSndMsg += lzzfBP_BarCode_Code39(sBarcodeW, 100, "N", 100, sPid); // 바코드
  3707. sSndMsg += lzzfBP_ChangeFont("C", 5, 5); // 폰트 설정
  3708. sSndMsg += lzzfBP_FieldDataA(205, 205, "*"+sPid+"*");
  3709. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3710. sSndMsg += lzzfBP_FieldDataA(20, 240, sDt);
  3711. sSndMsg += lzzfBP_EndFormat();
  3712. if(sCommKind == "01") {
  3713. CommAX.SendMessageToLPT(sSndMsg);
  3714. } else if(sCommKind == "02") {
  3715. CommAX.SendMessage(sSndMsg);
  3716. }
  3717. //CommAX.SendMessageToLPT(sSndMsg);
  3718. }
  3719. }
  3720. */
  3721. /*
  3722. function fKeLabel(){
  3723. var ref = "/root/main/KeepBcnoPrint/printinfo";
  3724. var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
  3725. var sPrntKind = model.getValue(barcdRef + "[1]/prntkind");
  3726. var sSndMsg = "";
  3727. if (sPrntKind == 0) return;
  3728. var sCommKind = model.getValue(barcdRef + "[1]/commkind");
  3729. if(sCommKind == "01") {
  3730. var sSetUpVal = model.getValue(barcdRef + "[1]/comm01/setupval");
  3731. } else if(sCommKind == "02") {
  3732. var sComm = model.getValue(barcdRef + "[1]/comm02/comm");
  3733. var sDataBit = model.getValue(barcdRef + "[1]/comm02/databit");
  3734. var sStopBit = model.getValue(barcdRef + "[1]/comm02/stopbit");
  3735. var sBaudRate = model.getValue(barcdRef + "[1]/comm02/baudrate");
  3736. var sParity = model.getValue(barcdRef + "[1]/comm02/parity");;
  3737. CommAX.CommPort = sComm;
  3738. CommAX.Settings = sBaudRate + "," + sParity + "," + sDataBit + "," + sStopBit;
  3739. } else if(sCommKind == "03") {
  3740. var sSetUpVal = model.getValue(barcdRef + "[1]/comm03/setupval");
  3741. }
  3742. var sStr = "보관검체";
  3743. var sRoomcd = model.getvalue(ref +"/roomcd");
  3744. var sPid = model.getvalue(ref +"/pid");
  3745. var sPatnm = model.getvalue(ref +"/patnm");
  3746. var sPatsexage = model.getvalue(ref +"/patsex") + "/" + model.getvalue(ref +"/patage");
  3747. var sOrddeptNm= model.getvalue(ref +"/orddeptnm").substring(0,2);
  3748. var sBtype = model.getvalue(ref +"/btype");
  3749. var sBcollNm = "채혈자:" ;//+ model.getvalue(ref +"/bcollnm");
  3750. var sDt = model.getvalue(ref +"/dt");
  3751. var sPidW = 85;
  3752. var sBarcodeW = 130;
  3753. var sBtypeW = 30;
  3754. if(sPid.length == 10){
  3755. sBarcodeW = 90;
  3756. sBtypeW = 20
  3757. }
  3758. if(sPrntKind == "1") {
  3759. sSndMsg += lzzfBP_StartFormat(0, 1); // 시작위치 셋팅
  3760. sSndMsg += CommAX.PrtImgOut(20, 2, sStr, 1, 1); //가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율)
  3761. sSndMsg += CommAX.HanImageData();
  3762. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3763. sSndMsg += lzzfBP_FieldDataA(200, 20, sRoomcd);
  3764. sSndMsg += lzzfBP_ChangeFont("C", 10, 14); // 폰트 설정
  3765. sSndMsg += lzzfBP_FieldDataA(30, 55, sPid);
  3766. sSndMsg += CommAX.PrtImgOut(210, 50, sPatnm, 2, 1); //가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율)
  3767. sSndMsg += CommAX.HanImageData();
  3768. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3769. sSndMsg += lzzfBP_FieldDataA(265, 25, sPatsexage);
  3770. sSndMsg += CommAX.PrtImgOut(340, 20, sOrddeptNm, 1, 1); //가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율)
  3771. sSndMsg += CommAX.HanImageData();
  3772. sSndMsg += CommAX.PrtImgOut(230, 230, sBcollNm, 1, 1); //가로시작위치, 세로시작위치, 출력할문자열, 1,1 (비율)
  3773. sSndMsg += CommAX.HanImageData();
  3774. sSndMsg += lzzfBP_ChangeFont("C", 85, 20); // 폰트 설정
  3775. sSndMsg += lzzfBP_FieldDataA(sBtypeW, 110, sBtype);
  3776. sSndMsg += lzzfBP_ChangeFont("F", 1, 1);
  3777. sSndMsg += lzzfBP_BarCode_Code39(sBarcodeW, 100, "N", 100, sPid); // 바코드
  3778. sSndMsg += lzzfBP_ChangeFont("C", 5, 5); // 폰트 설정
  3779. sSndMsg += lzzfBP_FieldDataA(205, 205, "*"+sPid+"*");
  3780. sSndMsg += lzzfBP_ChangeFont("C", 10, 10); // 폰트 설정
  3781. sSndMsg += lzzfBP_FieldDataA(20, 240, sDt);
  3782. sSndMsg += lzzfBP_EndFormat();
  3783. if(sCommKind == "01") {
  3784. CommAX.SendMessageToLPT(sSndMsg);
  3785. } else if(sCommKind == "02") {
  3786. var portOpenTF = ""; //오픈 성공 여부
  3787. portOpenTF = CommAX.PortOpen("true");
  3788. if(portOpenTF == "TRUE"){
  3789. CommAX.SendMessage(sSndMsg);
  3790. CommAX.PortOpen("false");
  3791. } else {
  3792. messageBox("아래 사항을 확인후 재출력해주십시오."
  3793. + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
  3794. + " \n 2.케이블 확인"
  3795. + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
  3796. return;
  3797. }
  3798. }
  3799. }
  3800. }
  3801. */
  3802. /**
  3803. * @group :
  3804. * @ver : 2008.01.16
  3805. * @by : 양천덕
  3806. * @---------------------------------------------------
  3807. * @type : function
  3808. * @access : public
  3809. * @desc : 수혈종료일자, 수혈종료일시 유효성 체크
  3810. * @param :
  3811. * @return :
  3812. * @---------------------------------------------------
  3813. */
  3814. function fCheckTnsEndDt(pFlag, pData){
  3815. var crtDate = utlf_getCurrentDate();
  3816. var crtTime = utlf_getCurrentTime().substr(0,4);
  3817. var sChkStrData = "";
  3818. var sChkEndData = "";
  3819. var fRow = "";
  3820. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.rowcount ; i++ ){
  3821. if( ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "stat") == "1"){
  3822. fRow = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.findRow("blodno", ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.getColumn(i, "blodno"));
  3823. if( utlf_isNull(sChkStrData) ){
  3824. sChkStrData = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "fstdelive2");
  3825. }else{
  3826. if( sChkStrData < ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "fstdelive2") ){
  3827. sChkStrData = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(fRow, "fstdelive2");
  3828. }
  3829. }
  3830. }
  3831. }
  3832. if(pFlag =="SD"){
  3833. if(utlf_isValidDateTime(pData+"", "YYYYMMDD") == false){
  3834. sysf_messageBox("입력한 일자는 유효하지","E007");
  3835. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrdd", crtDate);
  3836. return false;
  3837. }else if(sChkStrData.substr(0,8) > pData ) {
  3838. sysf_messageBox("시작일자는 불출일보다 이전일 수 없습니다.","E");
  3839. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrdd", crtDate);
  3840. return false;
  3841. }else{
  3842. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsstrdd", pData);
  3843. }
  3844. var trsfsdt = getDateAddcTm(""+group3.switch1.case2.ipt_fromdd.value+group3.switch1.case2.ipt_fromtm.value, 15);
  3845. var trsfsdt2 = getDateAddcTm(""+group3.switch1.case2.ipt_fromdd.value+group3.switch1.case2.ipt_fromtm.value, 30);
  3846. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(0, "recdd", group3.switch1.case2.ipt_fromdd.value);
  3847. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(0, "rectm", group3.switch1.case2.ipt_fromtm.value);
  3848. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(1, "recdd", trsfsdt.substr(0,8));
  3849. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(1, "rectm", trsfsdt.substr(8, 12));
  3850. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "recdd", trsfsdt2.substr(0,8));
  3851. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "rectm", trsfsdt2.substr(8, 12));
  3852. }
  3853. if(pFlag =="ST"){
  3854. if( utlf_isNull(group3.switch1.case2.ipt_fromdd.value) ){
  3855. sysf_messageBox("시작 일자를 먼저 입력 하십시요","E");
  3856. group3.switch1.case2.ipt_fromtm.value = "";
  3857. group3.switch1.case2.ipt_fromdd.setFocus();
  3858. return false;
  3859. }else if(utlf_isValidDateTime(pData+"", "hhmm") == false){
  3860. sysf_messageBox("입력한 시간은 유효하지","E007");
  3861. group3.switch1.case2.ipt_fromtm.value = crtTime;
  3862. return false;
  3863. }else if(sChkStrData.substr(0,12) > group3.switch1.case2.ipt_fromdd.value + "" + group3.switch1.case2.ipt_fromtm.value){
  3864. sysf_messageBox("시작일시는 불출일시보다 이전일 수 없습니다.","E");
  3865. group3.switch1.case2.ipt_fromdd.value = crtDate;
  3866. group3.switch1.case2.ipt_fromtm.value = crtTime;
  3867. return false;
  3868. }else{
  3869. group3.switch1.case2.ipt_fromtm.value = pData;
  3870. }
  3871. var trsfsdt = getDateAddcTm(group3.switch1.case2.ipt_fromdd.value+group3.switch1.case2.ipt_fromtm.value, 15);
  3872. var trsfsdt2 = getDateAddcTm(group3.switch1.case2.ipt_fromdd.value+group3.switch1.case2.ipt_fromtm.value, 30);
  3873. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(0, "recdd", group3.switch1.case2.ipt_fromdd.value);
  3874. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(0, "rectm", group3.switch1.case2.ipt_fromtm.value);
  3875. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(1, "recdd", trsfsdt.substr(0,8));
  3876. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(1, "rectm", trsfsdt.substr(8, 12));
  3877. if( utlf_isNull(ds_main_cond_vitalsigngrup_vitalsigngruplist.getColumn(0, "signno")) ){
  3878. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "recdd", trsfsdt2.substr(0,8));
  3879. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "rectm", trsfsdt2.substr(8, 12));
  3880. }
  3881. }
  3882. if(pFlag =="ED"){
  3883. if( !utlf_isNull(pData) ){
  3884. if(utlf_isValidDateTime(pData+"", "YYYYMMDD") == false){
  3885. sysf_messageBox("입력한 일자는 유효하지","E007");
  3886. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsenddd", crtDate);
  3887. return false;
  3888. }else if(group3.switch1.case2.ipt_fromdd.value > pData ){
  3889. sysf_messageBox("종료일자는 시작일자보다 이전일 수 없습니다.","E");
  3890. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsenddd", crtDate);
  3891. return false;
  3892. }else{
  3893. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnsenddd", pData);
  3894. }
  3895. }
  3896. if( utlf_isNull(ds_main_cond_vitalsigngrup_vitalsigngruplist.getColumn(0, "signno")) ){
  3897. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(3, "recdd", group3.switch1.case2.ipt_todd.value);
  3898. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(3, "rectm", group3.switch1.case2.ipt_totm.value);
  3899. }else{
  3900. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "recdd", group3.switch1.case2.ipt_todd.value);
  3901. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "rectm", group3.switch1.case2.ipt_totm.value);
  3902. }
  3903. }
  3904. if(pFlag =="ET"){
  3905. if( !utlf_isNull(pData) ){
  3906. if( utlf_isNull(group3.switch1.case2.ipt_todd.value) ){
  3907. sysf_messageBox("종료 일자를 먼저 입력 하십시요","E");
  3908. group3.switch1.case2.ipt_totm.value = "";
  3909. group3.switch1.case2.ipt_todd.setFocus();
  3910. return false;
  3911. }else if(utlf_isValidDateTime(pData+"", "hhmm") == false){
  3912. sysf_messageBox("입력한 시간은 유효하지","E007");
  3913. group3.switch1.case2.ipt_totm.value = crtTime;
  3914. return false;
  3915. }else if(group3.switch1.case2.ipt_fromdd.value + "" + group3.switch1.case2.ipt_fromtm.value > group3.switch1.case2.ipt_todd.value + "" + pData){
  3916. sysf_messageBox("종료일시는 시작일시보다 이전일 수 없습니다.","E");
  3917. group3.switch1.case2.ipt_todd.value = crtDate;
  3918. group3.switch1.case2.ipt_totm.value = crtTime;
  3919. return false;
  3920. }else{
  3921. group3.switch1.case2.ipt_totm.value = pData;
  3922. }
  3923. }
  3924. if( utlf_isNull(ds_main_cond_vitalsigngrup_vitalsigngruplist.getColumn(0, "signno")) ){
  3925. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(3, "recdd", group3.switch1.case2.ipt_todd.value);
  3926. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(3, "rectm", group3.switch1.case2.ipt_totm.value);
  3927. }else{
  3928. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "recdd", group3.switch1.case2.ipt_todd.value);
  3929. ds_main_cond_vitalsigngrup_vitalsigngruplist.setColumn(2, "rectm", group3.switch1.case2.ipt_totm.value);
  3930. }
  3931. }
  3932. }
  3933. /**
  3934. * @group :
  3935. * @ver : 2008.01.16
  3936. * @by : 양천덕
  3937. * @---------------------------------------------------
  3938. * @type : function
  3939. * @access : public
  3940. * @desc : 외래, 입원 조회 대상 변경
  3941. * @param :
  3942. * @return :
  3943. * @---------------------------------------------------
  3944. */
  3945. function fChangeIOflag(sparam, sflag){
  3946. var pidblodflag = '';
  3947. if( !utlf_isNull(group3.switch1.case2.group2.ipt_pid2.value) ){
  3948. pidblodflag = 'pid';
  3949. }else if( !utlf_isNull(group3.switch1.case2.ipt_blodno.value) ){
  3950. pidblodflag = 'blod';
  3951. }
  3952. //if(getPatientInfoDetail("pid") == ""){
  3953. //resetInstanceNode로 변경_20090423_SMY
  3954. //model.removenodeset("/root/temp/cond/roomcdgrup");
  3955. //model.removenodeset("/root/temp/cond/patientgrup");
  3956. ds_temp_cond_roomcdgrup_roomcdgruplist.clearData();
  3957. ds_temp_cond_patientgrup_patientgruplist.clearData();
  3958. fClearChildNode("ds_main_cond_patientgrupInfo_patientgruplistInfo");
  3959. fClearChildNode("ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo");
  3960. //model.setValue(opt_patientnm.attribute("ref"), "" );
  3961. //model.setValue(opt_sexage1.attribute("ref"), "" );
  3962. //model.setValue(opt_allseq.attribute("ref"), "" );
  3963. //model.setValue(opt_inj.attribute("ref"), "" );
  3964. //model.setValue(opt_signno.attribute("ref"), "" );
  3965. group3.switch1.case2.group2.cmb_wardcdgruplist2.value = "";
  3966. group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value = "";
  3967. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "patientnm", "");
  3968. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "sexage", "");
  3969. //}
  3970. if(sparam =="1"){
  3971. if(sflag == "O"){
  3972. fParam("OPRC1");
  3973. }else{
  3974. fParam("IPRC1");
  3975. }
  3976. ds_main_cond_execdetlgrup_execdetlgruplist.clearData();
  3977. ds_main_cond_delivedetlgrup_delivedetlgruplist.clearData();
  3978. ds_main_cond_patcmtgrup_patcmtgruplist.clearData();
  3979. }
  3980. if(sparam =="2"){
  3981. if(sflag == "O"){
  3982. fParam("OPRC2");
  3983. }else{
  3984. fParam("IPRC2");
  3985. }
  3986. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.clearData();
  3987. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.clearData();
  3988. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.clearData();
  3989. }
  3990. fTnsRecInit();
  3991. }
  3992. /**
  3993. * @group :
  3994. * @ver : 2008.01.28
  3995. * @by : 양천덕
  3996. * @---------------------------------------------------
  3997. * @type : function
  3998. * @access : public
  3999. * @desc : 에러, 중단 시 혈액불출내역 값 셋팅 초기화
  4000. * @param :
  4001. * @return :
  4002. * @---------------------------------------------------
  4003. */
  4004. function fReturnData(sParam){
  4005. var blodnodupSource = new Array();
  4006. if( utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).length > 10){
  4007. blodnodupSource = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  4008. } else {
  4009. blodnodupSource[0] = group3.switch1.case2.cap_blodno.text ;
  4010. }
  4011. if(sParam == "Y"){
  4012. for( var i=0 ; i<=blodnodupSource.length-1 ; i++ ){
  4013. for( var n=0 ; n<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; n++ ){
  4014. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "blodno") ){//혈액번호와 같으면 그리드에 셋팅
  4015. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(n, "reqflagstat") == "Y" ){
  4016. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "stat", "0");
  4017. }else{
  4018. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "stat", "0");
  4019. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "reqflag", "");
  4020. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "returnabandondate", "");
  4021. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "etcprcpresncd", "");
  4022. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(n, "clinccmtcnts", "");
  4023. }
  4024. }
  4025. }
  4026. }
  4027. }else{
  4028. for( var i=0 ; i<=blodnodupSource.length-1 ; i++ ){
  4029. for(var x=0 ; x<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; x++ ){
  4030. if( blodnodupSource[i] == ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(x, "blodno") ){//혈액번호와 같으면 그리드에 셋팅
  4031. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "stat", "0");
  4032. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "reqflag", ds_blodrtninfo_blodreturnreqgruplist.getColumn(ds_blodrtninfo_blodreturnreqgruplist.findRow("blodno", blodnodupSource[i]), "reqflag"));
  4033. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "returnabandondate", ds_blodrtninfo_blodreturnreqgruplist.getColumn(ds_blodrtninfo_blodreturnreqgruplist.findRow("blodno", blodnodupSource[i]), "returnabandondate"));
  4034. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "etcprcpresncd", ds_blodrtninfo_blodreturnreqgruplist.getColumn(ds_blodrtninfo_blodreturnreqgruplist.findRow("blodno", blodnodupSource[i]), "etcprcpresncd"));
  4035. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.setColumn(x, "clinccmtcnts", ds_blodrtninfo_blodreturnreqgruplist.getColumn(ds_blodrtninfo_blodreturnreqgruplist.findRow("blodno", blodnodupSource[i]), "clinccmtcnts"));
  4036. }
  4037. }
  4038. }
  4039. }
  4040. }
  4041. /**
  4042. * @group :
  4043. * @ver : 2008.02.21
  4044. * @by : 양천덕
  4045. * @---------------------------------------------------
  4046. * @type : function
  4047. * @access : public
  4048. * @desc : 수혈간호기록 리스트 조회 부분
  4049. * @param :
  4050. * @return :
  4051. * @---------------------------------------------------
  4052. */
  4053. function fSrchTnsList(sParam){
  4054. var pidblodflag = '';
  4055. if( !utlf_isNull(group3.switch1.case2.group2.ipt_pid2.value) ){
  4056. pidblodflag = 'pid';
  4057. }else if ( !utlf_isNull(group3.switch1.case2.ipt_blodno.value) ){
  4058. pidblodflag = 'blod';
  4059. }else{
  4060. sysf_messageBox("등록번호를 ","C001");
  4061. group3.switch1.case2.group2.ipt_pid2.setFocus();
  4062. return;
  4063. }
  4064. fTnsRecInit();
  4065. if(sParam == "button"){
  4066. fGetPatientInfo("pid","case2"); // 환자 개인정보를 가져온다(병동/병실/환자 셋팅)
  4067. }
  4068. if( utlf_isNull(ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid")) && utlf_isNull(ds_main_cond.getColumn(0, "blodno")) ){
  4069. sysf_messageBox("환자 정보가 존재하지 않습니다.","E");
  4070. ds_temp_cond_roomcdgrup_roomcdgruplist.clearData();
  4071. ds_temp_cond_patientgrup_patientgruplist.clearData();
  4072. fClearChildNode("ds_main_cond_patientgrupInfo_patientgruplistInfo");
  4073. fClearChildNode("ds_main_cond_patientgrupInfo_patientgruplistInfo_pidsearchlistInfo");
  4074. group3.switch1.case2.group2.cmb_wardcdgruplist2.value = "";
  4075. group3.switch1.case1.grp_sea.cmb_wardcdgruplist.value = "";
  4076. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "patientnm", "");
  4077. ds_main_cond_patientgrupInfo_patientgruplistInfo.setColumn(0, "sexage", "");
  4078. ds_main_cond_execdetlgrup_execdetlgruplist.clearData();
  4079. ds_main_cond_delivedetlgrup_delivedetlgruplist.clearData();
  4080. ds_main_cond_patcmtgrup_patcmtgruplist.clearData();
  4081. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.clearData();
  4082. ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist.clearData();
  4083. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.clearData();
  4084. group3.switch1.case2.group2.ipt_pid2.setFocus();
  4085. return;
  4086. }
  4087. fBlodDeliveList(pidblodflag); //혈액불출 리스트 조회버튼
  4088. //fGetBlodNoExecRecList(pidblodflag); //수혈 미수행 내역 리스트
  4089. //fGetBlodExecRecList(pidblodflag); //수혈 수행 내역 리스트
  4090. //fBlodColChg(); //컬럼속성 변경
  4091. }
  4092. /**
  4093. * @group :
  4094. * @ver : 2008.02.21
  4095. * @by : 양천덕
  4096. * @---------------------------------------------------
  4097. * @type : function
  4098. * @access : public
  4099. * @desc : 수혈간호기록 리스트 조회 부분
  4100. * @param :
  4101. * @return :
  4102. * @---------------------------------------------------
  4103. */
  4104. function fGetPatCmtList(){
  4105. if( utlf_isNull(group3.switch1.case1.grp_sea.ipt_pid.value) ){
  4106. ds_main_cond_delivedetlgrup_delivedetlgruplist.clearData();
  4107. return;
  4108. }
  4109. ds_send.setColumn(0, "prcpddfrom", group3.switch1.case1.grp_sea.ipt_prcpddfrom.value);
  4110. ds_send.setColumn(0, "prcpddto", group3.switch1.case1.grp_sea.ipt_prcdddto.value);
  4111. ds_send.setColumn(0, "pid", group3.switch1.case1.grp_sea.ipt_pid.value);
  4112. var oParam = {};
  4113. oParam.id = "TRMNR01028";
  4114. oParam.service = "carerecapp.TnsCareRec";
  4115. oParam.method = "reqGetPatCmtList";
  4116. oParam.inds = "refCond=ds_send";
  4117. oParam.outds = "ds_main_cond_patcmtgrup_patcmtgruplist=patcmtgruplist";
  4118. oParam.async = false;
  4119. //oParam.callback = "cf_TRMNR01028";
  4120. tranf_submit(oParam);
  4121. ds_main_cond_patcmtgrup_patcmtgruplist.rowposition = -1;
  4122. }
  4123. /**
  4124. * @group :
  4125. * @ver : 2008.08.18
  4126. * @by : 양천덕
  4127. * @---------------------------------------------------
  4128. * @type : function
  4129. * @access : public
  4130. * @desc : 날짜 계산(기준일자를 기준으로 입력분만큼 이후 날짜를 찾아오기)
  4131. * @param :
  4132. * @return :
  4133. * @---------------------------------------------------
  4134. */
  4135. function getDateAddcTm(inputday,addend){
  4136. var backDate ="";
  4137. var rt = 0;
  4138. var yyyy = inputday.substring(0,4) +"";
  4139. var mm = inputday.substring(4,6) +"";
  4140. var dd = inputday.substring(6,8) +"";
  4141. var hh = inputday.substring(8,10) +"";
  4142. var mi = inputday.substring(10,12) +"";
  4143. var startDate = new Date(yyyy,(eval(mm)-1),dd, hh, mi);
  4144. startDate.setTime(startDate.getTime()+(60000*addend));
  4145. NowYear = startDate.getYear();// 년
  4146. NowMonth = startDate.getMonth()+1;// 월
  4147. NowDay = startDate.getDate(); // 일
  4148. NowHours = startDate.getHours() ; // 시
  4149. NowMinutes = startDate.getMinutes() ; // 분
  4150. backDate += NowYear ; //년도
  4151. if (NowMonth < 10 ) backDate += "0" + NowMonth ;
  4152. else backDate += (startDate.getMonth() + 1);
  4153. if (NowDay < 10 ) backDate += "0" + NowDay ;
  4154. else backDate += (startDate.getDate());
  4155. if (NowHours < 10 ) backDate += "0" + NowHours ;
  4156. else backDate += (startDate.getHours());
  4157. if(NowMinutes < 10 ) backDate += "0" + NowMinutes ;
  4158. else backDate += (startDate.getMinutes());
  4159. return backDate ;
  4160. }
  4161. /**
  4162. * @group :
  4163. * @ver : 2008.09.20
  4164. * @by : 양천덕
  4165. * @---------------------------------------------------
  4166. * @type : function
  4167. * @access : public
  4168. * @desc : 문자입력 제한
  4169. * @param :
  4170. * @return :
  4171. * @---------------------------------------------------
  4172. */
  4173. function isNumber(str) {
  4174. str += ''; // 문자열로 변환
  4175. str = str.replace(/^\s*|\s*$/g, ''); // 좌우 공백 제거
  4176. if (str == '' || isNaN(str)) return false;
  4177. return true;
  4178. }
  4179. /**
  4180. * @group :
  4181. * @ver : 2008.10.17
  4182. * @by : 양천덕
  4183. * @---------------------------------------------------
  4184. * @type : function
  4185. * @access : public
  4186. * @desc : 혈액 반납/폐기 의뢰 취소 기능
  4187. * @param :
  4188. * @return :
  4189. * @---------------------------------------------------
  4190. */
  4191. function fBlodRtnCncl(pParam){
  4192. var sChkRow = -1;
  4193. var sChkBlodRtnFlag = "";
  4194. var sDisUseYn = "N";//폐기
  4195. var sDisUseResnCd = "";
  4196. if( utlf_isNull(pParam) ){
  4197. sysf_messageBox("반납/폐기 의뢰 취소할 혈액번호를 입력하십시요", "E");
  4198. group3.switch1.case2.ipt_blodrtncncl.setFocus();
  4199. return;
  4200. }
  4201. for( var i=0 ; i<ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.rowcount ; i++ ){
  4202. if( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "blodno") == pParam &&
  4203. ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflagstat") == "N" ){
  4204. if(sChkRow == -1){
  4205. sChkRow = i;
  4206. sChkBlodRtnFlag = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag");
  4207. }else{
  4208. var msg = sysf_messageBox("반납/폐기 의뢰중인 동일한 혈액번호가 존재합니다.\n\n"+ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "prcpnm")+" 혈액을 반납/폐기 의뢰취소 하시겠습니까?", "Q");
  4209. if(msg == 6){
  4210. sChkRow = i;
  4211. sChkBlodRtnFlag = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(i, "reqflag");
  4212. }
  4213. }
  4214. }
  4215. }
  4216. if(sChkRow == -1){
  4217. sysf_messageBox("의뢰취소를 할 수 없는 혈액번호입니다.", "E");
  4218. group3.switch1.case2.ipt_blodrtncncl.value = "";
  4219. group3.switch1.case2.ipt_blodrtncncl.setFocus();
  4220. //return;
  4221. }else{
  4222. /*
  4223. * <ul>
  4224. * <li> ioflag : 외래/입원구분 (I/O)
  4225. * <li> reqflag : 의뢰구분 (1:반납의뢰, 2:반납완료, 3:폐기의뢰, 4:폐기완료, 5:반납/폐기의뢰 취소)
  4226. * <li> prcpdd : 처방일자 (원 처방)
  4227. * <li> prcpno : 처방번호 (원 처방)
  4228. * <li> prcphistno : 처방이력번호 (원 처방)
  4229. * <li> instcd : 기관코드 (원 처방)
  4230. * <li> etcprcpresncd : 반납 및 폐기사유코드
  4231. * <li> clinccmtcnts : 반납 및 폐기기타사유
  4232. * <li> deptcd : 부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  4233. * <li> deptnm : 부서명 (입력자 또는 로그인한 사용자의 부서명)
  4234. * <li> userid : 사용자ID (입력자 또는 로그인한 사용자ID)
  4235. * <li> usernm : 사용자명 (입력자 또는 로그인한 사용자명)
  4236. */
  4237. ds_send.setColumn(0, "ioparam", ds_main_cond.getColumn(0, "ioflag"));
  4238. ds_send.setColumn(0, "prcpdd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "prcpdd"));
  4239. ds_send.setColumn(0, "prcpno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "prcpno"));
  4240. ds_send.setColumn(0, "prcphistno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "prcphistno"));
  4241. ds_send.setColumn(0, "instcd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "instcd"));
  4242. ds_send.setColumn(0, "etcprcpresncd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "etcprcpresncd"));
  4243. ds_send.setColumn(0, "clinccmtcnts", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "clinccmtcnts"));
  4244. ds_send.setColumn(0, "reqflag", "5");
  4245. ds_send.setColumn(0, "reqflagstat", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "reqflagstat"));
  4246. ds_send.setColumn(0, "returnabandondate", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "returnabandondate"));
  4247. ds_send.setColumn(0, "pid", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "pid"));
  4248. ds_send.setColumn(0, "blodno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "blodno"));
  4249. ds_send.setColumn(0, "blodbarcd", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "blodbarcd"));
  4250. ds_send.setColumn(0, "execprcpuniqno", ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "execprcpuniqno"));
  4251. var pDelPrcpNo = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "prcpno");
  4252. var pDelBlodNo = ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "blodno");
  4253. if ( ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "reqflag") == "1" ){//반납
  4254. sDisUseYn = "N"
  4255. } else {
  4256. sDisUseYn = "Y"
  4257. }
  4258. ds_send.setColumn(0, "disuseyn", sDisUseYn);//폐기여부
  4259. var msg1 ="";
  4260. var msgtext = "혈액번호 : "+ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "blodno") +" ["+ds_main_cond_blodreturnreqgrup_blodreturnreqgruplist.getColumn(sChkRow, "prcpnm") +"]";
  4261. if(sChkBlodRtnFlag == "2"){
  4262. msg1 = sysf_messageBox(msgtext + " 혈액을 반납/폐기 의뢰 취소 하겠습니다.\n\n잔여폐기 의뢰 된 혈액의 수혈기록은 임시저장 상태로 변경됩니다.","Q003");
  4263. }else{
  4264. msg1 = sysf_messageBox(msgtext + " 혈액을 반납/폐기 의뢰 취소 하겠습니다.","Q003");
  4265. }
  4266. if(msg1 == 6){
  4267. //var sFindRecRow = grd_blodreturnreqgruplist.findRow(pParam, 0, grd_blodreturnreqgruplist.colRef("blodno"));
  4268. //model.makeValue("/root/send/recdelflag" , "Y");
  4269. var nRow = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.findRowExpr("prcpno=='"+pDelPrcpNo+"' && blodno=='"+pDelBlodNo+"'");
  4270. ds_send.setColumn(0, "tnscarerecseq", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nRow, "tnscarerecseq"));
  4271. ds_send.setColumn(0, "prcpcd", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nRow, "prcpcd"));
  4272. ds_send.setColumn(0, "signno", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nRow, "signno"));
  4273. }else{
  4274. group3.switch1.case2.ipt_blodrtncncl.setFocus();
  4275. return;
  4276. }
  4277. ds_temp_rtninfo_rtnlist.clearData();
  4278. var oParam = {};
  4279. oParam.id = "TXMNR01036";
  4280. oParam.service = "carerecapp.TnsCareRec";
  4281. oParam.method = "reqSetBlodReturnCnclReqInfo";
  4282. oParam.inds = "detlgrup=ds_send";
  4283. oParam.outds = "ds_temp_rtninfo_rtnlist=rtnlist";
  4284. oParam.async = false;
  4285. //oParam.callback = "cf_TRMNR01030";
  4286. tranf_submit(oParam);
  4287. if( ds_temp_rtninfo_rtnlist.rowcount > 0){
  4288. if( ds_temp_rtninfo_rtnlist.getColumn(0, "rtnflag") == "1" ){
  4289. //messageBox("반납 / 폐기 의뢰 취소가 완료되었습니다.", "I");
  4290. group3.switch1.case2.ipt_blodrtncncl.value = "";
  4291. }else{
  4292. sysf_messageBox("반납/폐기 의뢰 취소 처리를 할 수 없는 상태입니다.", "C");
  4293. }
  4294. }else{
  4295. sysf_messageBox("의뢰 취소 처리를 실패하였습니다.", "E");
  4296. }
  4297. }
  4298. fBlodDeliveList('pid');// 혈액불출내역 리스트
  4299. fTnsRecInit(); //수혈간호기록 초기화
  4300. group3.switch1.case2.ipt_blodrtncncl.setFocus();
  4301. }
  4302. /**
  4303. * @group :
  4304. * @ver : 2008.10.20
  4305. * @by : 양천덕
  4306. * @---------------------------------------------------
  4307. * @type : function
  4308. * @access : public
  4309. * @desc : 기록 삭제 기능
  4310. * @param :
  4311. * @return :
  4312. * @---------------------------------------------------
  4313. */
  4314. function fDelTempRec(){
  4315. //폐기 확정된 혈액의 경우 삭제버튼은 비활성화되므로 아래 조건에서 삭제버튼 클릭하는경우는 폐기의뢰의 경우
  4316. if( ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "discontinuyn") == "Y" ){
  4317. sysf_messageBox("잔여폐기 의뢰된 혈액입니다. 반납폐기의뢰 취소 후 기록삭제가 ","I006");
  4318. return;
  4319. }
  4320. if ( sysf_messageBox("선택한 기록내역을 ","Q001") != "6" ){//삭제하시겠습니까?
  4321. return;
  4322. }
  4323. var delBlodRow = 0;
  4324. var sDelBoldNo = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  4325. var sDelPrcpNo = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",") ;
  4326. var sDelSignNo = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno")).split(",") ;
  4327. var rtnBlodList = "";
  4328. if( !utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnscarerecseq")) && sDelBoldNo.length == 1 ){
  4329. //인증저장이고 하나의 혈액번호가 선택되어 삭제 할경우 함께 기록된 혈액번호가 존재하는지 체크
  4330. for( var idx=0 ; idx<ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount ; idx++ ){
  4331. if ( ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "stat") == "1" &&
  4332. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "blodno") == sDelBoldNo[0] &&
  4333. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "prcpno") == sDelPrcpNo[0] ) {
  4334. delBlodRow = idx;
  4335. break;
  4336. }
  4337. }
  4338. rtnBlodList = fExistsExecRecTogether(delBlodRow,"D");
  4339. sDelBoldNo = utlf_transNullToEmpty(group3.switch1.case2.cap_blodno.text).split(",") ;
  4340. sDelPrcpNo = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno")).split(",") ;
  4341. sDelSignNo = utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno")).split(",") ;
  4342. }
  4343. ds_send_delreclist.clearData();
  4344. if ( !utlf_isNull(sDelSignNo[0]) ){
  4345. Sign.certreload = true ; // 전자서명 호출시 인증저장 버튼을 누를때마다 인증서가 뜨도록 처리
  4346. if(Sign.signprocess() == true){
  4347. // 전자인증 관련 환자 인적 정보를 보내줌.
  4348. ds_send_delreclist.addRow();
  4349. ds_send_delreclist.setColumn(0, "status", "d"); //삭제 상태
  4350. ds_send_delreclist.setColumn(0, "formcd", "0000002460"); //각 기록지별 서식코드
  4351. ds_send_delreclist.setColumn(0, "signflag", "02"); //서명자료구분 (01 : 진료, 02 : 간호, 03 : LIS, 04 : 진료지원)
  4352. ds_send_delreclist.setColumn(0, "signbfcnts", "삭제");
  4353. ds_send_delreclist.setColumn(0, "recdd", utlf_getCurrentDate());// 실제 기록이 이루어진 기록일자
  4354. ds_send_delreclist.setColumn(0, "rectm", utlf_getCurrentTime());// 실제 기록이 이루어진 기록일자
  4355. ds_send_signdata.setColumn(0, "screenid", frmf_getScreenID());
  4356. }else{
  4357. return;
  4358. }
  4359. }
  4360. for( var i=0 ; i<=sDelBoldNo.length-1 ; i++ ){
  4361. if( ds_send_delreclist.rowcount != 1 || i != 0 ){
  4362. ds_send_delreclist.addRow();
  4363. }
  4364. var nFindRow = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.findRowExpr("blodno=='"+sDelBoldNo[i]+"' && prcpno=='"+sDelPrcpNo[i]+"'");
  4365. ds_send_delreclist.setColumn(i, "pid", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "pid"));
  4366. ds_send_delreclist.setColumn(i, "tnscarerecseq", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "tnscarerecseq"));
  4367. ds_send_delreclist.setColumn(i, "blodno", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "blodno"));
  4368. ds_send_delreclist.setColumn(i, "prcpcd", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "prcpcd"));
  4369. ds_send_delreclist.setColumn(i, "prcpno", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "prcpno"));
  4370. ds_send_delreclist.setColumn(i, "prcpdd", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "prcpdd"));
  4371. ds_send_delreclist.setColumn(i, "ioflag", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "ioflag"));
  4372. ds_send_delreclist.setColumn(i, "signno", ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(nFindRow, "signno"));
  4373. }
  4374. var oParam = {};
  4375. oParam.id = "TXMNR01037";
  4376. oParam.service = "carerecapp.TnsCareRec";
  4377. oParam.method = "reqExeDelRecList";
  4378. oParam.inds = "delreclist=ds_send_delreclist";
  4379. oParam.outds = "ds_temp_rtninfo_rtnlist=rtnlist";
  4380. oParam.async = false;
  4381. //oParam.callback = "cf_TRMNR01030";
  4382. tranf_submit(oParam);
  4383. var rtncount = ds_temp_rtninfo_rtnlist.rowcount;
  4384. if(rtncount != 0){
  4385. var rtnmsg = "";
  4386. for( var i=0 ; i<rtncount ; i++ ){
  4387. rtnmsg += ds_temp_rtninfo_rtnlist.getColumn(i, "blodno") + " " ;
  4388. }
  4389. rtnmsg += "혈액에 대한 수혈기록 삭제를 할 수 없습니다.";
  4390. sysf_messageBox(rtnmsg, "E");
  4391. } else {
  4392. if ( !utlf_isNull(rtnBlodList) && sDelPrcpNo.length == 1 ){
  4393. sysf_messageBox("필요시 함께 기록한 수혈간호기록을 수정하십시오","I");
  4394. }
  4395. }
  4396. fBlodDeliveList('pid');// 혈액불출내역 리스트
  4397. fTnsRecInit(); //수혈간호기록 초기화
  4398. }
  4399. /**
  4400. * @group :
  4401. * @ver : 2008.10.20
  4402. * @by : 양천덕
  4403. * @---------------------------------------------------
  4404. * @type : function
  4405. * @access : public
  4406. * @desc : Multi 수혈 기록 혈액 Alias 체크
  4407. * @param :
  4408. * @return :
  4409. * @---------------------------------------------------
  4410. */
  4411. function fChkPrcpAlias(){
  4412. if(grd_blodnoexecrecgruplist.valueMatrix(grd_blodnoexecrecgruplist.row, grd_blodnoexecrecgruplist.colRef("stat")) == "true"){
  4413. var sPrcpAlias = grd_blodnoexecrecgruplist.valueMatrix(grd_blodnoexecrecgruplist.row, grd_blodnoexecrecgruplist.colRef("prcpalias"));
  4414. for(var i = grd_blodnoexecrecgruplist.fixedRows ; i < grd_blodnoexecrecgruplist.Rows - grd_blodnoexecrecgruplist.fixedRows ; i++){
  4415. if(grd_blodnoexecrecgruplist.valueMatrix(i, grd_blodnoexecrecgruplist.colRef("prcpalias")) != sPrcpAlias &&
  4416. grd_blodnoexecrecgruplist.valueMatrix(i, grd_blodnoexecrecgruplist.colRef("stat")) == "true" ){
  4417. messageBox("선택한 혈액 처방은 기선택된 혈액 처방과 Multi 기록을", "E001");
  4418. grd_blodnoexecrecgruplist.valueMatrix(grd_blodnoexecrecgruplist.row, grd_blodnoexecrecgruplist.colRef("stat")) = "FALSE";
  4419. i = grd_blodnoexecrecgruplist.Rows;
  4420. return;
  4421. }
  4422. }
  4423. fOtherRecListUncheck("noexec");
  4424. }
  4425. }
  4426. /**
  4427. * @group :
  4428. * @ver : 2010.01.26
  4429. * @by : 성미연
  4430. * @---------------------------------------------------
  4431. * @type : function
  4432. * @access : public
  4433. * @desc : 수혈부작용 선택, 선택취소
  4434. * @param :
  4435. * @return :
  4436. * @---------------------------------------------------
  4437. */
  4438. function fSelctTnssideEffect(ReadYN){
  4439. //'없음' 체크 선택시 그 이외의 선택항목들을 disable하도록 수정_20100126_SMY
  4440. var sItem = ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "tnssideeffect");
  4441. group3.switch1.case2.ipt_tnssideeffectetc.enable = false;
  4442. if(fSearchChar(sItem, "01") == true){ //없음(01)이 선택된 경우
  4443. //ReadYN : Y 기존에 입력되어 있는 데이터 중에 없음을 포함하여 중복체크되어 있는 데이터가 있으므로 없음만 체크된 경우 disable함
  4444. if(ReadYN == "Y"){
  4445. if(sItem == "01"){
  4446. selectAll(true);
  4447. group3.switch1.case2.ipt_tnssideeffectetc.enable = false;
  4448. }
  4449. }else{
  4450. selectAll(true);
  4451. group3.switch1.case2.ipt_tnssideeffectetc.enable = false;
  4452. }
  4453. } else if(fSearchChar(sItem, "07") == true){ //기타(07)이 선택된 경우
  4454. group3.switch1.case2.ipt_tnssideeffectetc.enable = true;
  4455. } else if(fSearchChar(sItem, "07") == false){ //기타(07)이 선택해제된 경우
  4456. group3.switch1.case2.ipt_tnssideeffectetc.enable = false;
  4457. group3.switch1.case2.ipt_tnssideeffectetc.value = "";
  4458. } else if( utlf_isNull(sItem) ){
  4459. selectAll(false);
  4460. group3.switch1.case2.ipt_tnssideeffectetc.enable = false;
  4461. group3.switch1.case2.ipt_tnssideeffectetc.value = "";
  4462. }
  4463. if(fSearchChar(sItem, "01") == false){ //없음(01)이 선택해제된 경우
  4464. group3.switch1.case2.chk_tnssideeffect.setEnbale(true);
  4465. }
  4466. }
  4467. /**
  4468. * @group :
  4469. * @ver : 2010.01.26
  4470. * @by : 성미연
  4471. * @---------------------------------------------------
  4472. * @type : function
  4473. * @access : public
  4474. * @desc : 수혈부작용 체크시 disable/able
  4475. * @param :
  4476. * @return :
  4477. * @---------------------------------------------------
  4478. */
  4479. function selectAll(flag){
  4480. var sTempFalse = "";
  4481. for( var i=1 ; i<ds_init_sideeffectcom_M0330.rowcount ; i++ ){
  4482. eval("group3.switch1.case2.chk_tnssideeffect.chk_"+i).enable = !flag;
  4483. if( i == (ds_init_sideeffectcom_M0330.rowcount-1) ){
  4484. sTempFalse += ds_init_sideeffectcom_M0330.getColumn(i, "cdid");
  4485. }else{
  4486. sTempFalse += ds_init_sideeffectcom_M0330.getColumn(i, "cdid") + " ";
  4487. }
  4488. }
  4489. group3.switch1.case2.chk_tnssideeffect.setData(null, utlf_transNullToEmpty(sTempFalse).split(" "), false);
  4490. if( flag == true ){
  4491. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnssideeffect", ds_init_sideeffectcom_M0330.getColumn(0, "cdid"));
  4492. }else{
  4493. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "tnssideeffect", "");
  4494. }
  4495. }
  4496. /**
  4497. * @desc : String에서 특정 문자 검사
  4498. * @
  4499. * @param : trgtStr - 타켓이 되는 String문자열
  4500. * : fndCh - 찾을 Char문자
  4501. *
  4502. * @return : true/false
  4503. * @author : 성미연
  4504. * @---------------------------------------------------
  4505. */
  4506. function fSearchChar(sItem, chFndChar){
  4507. var sItemList = utlf_transNullToEmpty(sItem).split(" ");
  4508. for(var i = 0 ; i < sItemList.length ; i ++){
  4509. if(sItemList[i] == chFndChar){
  4510. return true;
  4511. }
  4512. }
  4513. return false;
  4514. }
  4515. /**
  4516. * @desc : 1pint량으로 총투여량 계산
  4517. * @
  4518. * @param : drugqty 총투여량
  4519. * :
  4520. *
  4521. * @return :
  4522. * @author : khj
  4523. * @---------------------------------------------------
  4524. */
  4525. function fSumQtyCalc(drugqty){
  4526. var blodcnt = (utlf_transNullToEmpty(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno")).split(",")).length;
  4527. if ( utlf_isNull(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty")) ){
  4528. if ( !utlf_isNull(drugqty) ){
  4529. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "drugqty", drugqty);
  4530. }else {
  4531. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "drugqty", "");
  4532. }
  4533. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "onepintqty", "");
  4534. } else {
  4535. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "drugqty", eval(ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "onepintqty")) * blodcnt);
  4536. }
  4537. }
  4538. /**
  4539. * @desc : 체크박스 선택시 다른 기록내역의 체크박스는 uncheck처리
  4540. * @
  4541. * @param : checkTarget: 체크박스 클릭한 목록 exec:수행 noexec:미수행
  4542. * :
  4543. *
  4544. * @return :
  4545. * @author : khj
  4546. * @---------------------------------------------------
  4547. */
  4548. function fOtherRecListUncheck(checkTarget){
  4549. var xUncheckTargetPath;
  4550. var xUncheckTargetGrid = group3.switch1.case2.grd_blodexecrecgruplist;
  4551. if ( checkTarget =="exec" ){
  4552. xUncheckTargetPath = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist;
  4553. xUncheckTargetGrid = group3.switch1.case2.grd_blodnoexecrecgruplist;
  4554. } else {
  4555. xUncheckTargetPath = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist;
  4556. xUncheckTargetGrid = group3.switch1.case2.grd_blodexecrecgruplist;
  4557. }
  4558. xUncheckTargetPath.updatecontrol = false;
  4559. xUncheckTargetPath.enableevent = false;
  4560. for( var n=0 ; n<xUncheckTargetGrid.rowcount ; n++ ){
  4561. if ( xUncheckTargetPath.getColumn(n, "stat") == "1" ){
  4562. xUncheckTargetPath.setColumn(n, "stat", "0");
  4563. }
  4564. }
  4565. xUncheckTargetPath.enableevent = true;
  4566. xUncheckTargetPath.updatecontrol = true;
  4567. }
  4568. /**
  4569. * @desc : 수행기록내역에서 선택된 혈액번호와 함께 기록된 내역이 존재하는지 체크
  4570. * @
  4571. * @param : pBlodNo : 선택한 혈액번호, pFlag = U(수정시 일괄수정하므로 체크박스 체크), D(all삭제여부를 컨펌받으므로 체크박스 체크안함.) 수정삭제구분
  4572. * :
  4573. *
  4574. * @return : rBlodList : 함께 기록된 혈액번호
  4575. * @author : khj
  4576. * @---------------------------------------------------
  4577. */
  4578. function fExistsExecRecTogether(pRow, pFlag ){
  4579. var sRow = pRow;
  4580. if ( sRow < 0 ){
  4581. return "";
  4582. }
  4583. var sRowStratTime = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "fstrgstdt3");
  4584. var sRowEndTime = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "tnsendddtm");
  4585. var sRowTnsstrnurseid = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "tnsstrnurseid");
  4586. var sRowTnsendnurseid = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "tnsendnurseid");
  4587. var sRowSmlqtytnsyn = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "smlqtytnsyn");
  4588. var sRowTnssideeffectetc = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "tnssideeffectetc");
  4589. var sRowDiscontinuyn = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "discontinuyn");
  4590. var sRowPrcpcd = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(sRow, "prcpcd");
  4591. var rBlodList = "";
  4592. var sPrcpNoList = "";
  4593. var sPrcpNmList = "";
  4594. var sAboRhList = "";
  4595. var sSignNoList = "";
  4596. var sReturnGridBlodList = "";
  4597. for( var idx=0 ; idx<ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.rowcount ; idx++ ){
  4598. if ( sRow != idx &&
  4599. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "fstrgstdt3") == sRowStratTime &&
  4600. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "tnsendddtm") == sRowEndTime &&
  4601. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "tnsstrnurseid") == sRowTnsstrnurseid &&
  4602. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "tnsendnurseid") == sRowTnsendnurseid &&
  4603. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "smlqtytnsyn") == sRowSmlqtytnsyn &&
  4604. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "tnssideeffectetc") == sRowTnssideeffectetc &&
  4605. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "discontinuyn") == sRowDiscontinuyn &&
  4606. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "prcpcd") == sRowPrcpcd ) {
  4607. rBlodList += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "blodno") + "," ;
  4608. sPrcpNmList += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "prcpnm") + "," ;
  4609. sAboRhList += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "abo")
  4610. + ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "rh") + "," ;
  4611. sSignNoList += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "signno") + "," ;
  4612. sPrcpNoList += ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.getColumn(idx, "prcpno") + "," ;
  4613. //if ( model.getValue(xBlodReturnReqGrupListPath + "[]/)
  4614. if ( pFlag == "U" ){
  4615. ds_main_cond_blodreturnreqgrup_blodexecrecgruplist.setColumn(idx, "stat", "1");
  4616. }
  4617. }
  4618. }
  4619. if ( pFlag == "U" ){
  4620. if ( !utlf_isNull(rBlodList) ){
  4621. sysf_messageBox("함께 기록된 수혈간호기록이 존재합니다.( 혈액번호 : " + rBlodList.substring(0,rBlodList.length -1 )
  4622. + ")\n\n함께 기록된 수혈간호기록도 수정됩니다.\n\n부분수정은 기록삭제 이후에만 ","I006");
  4623. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "blodno", rBlodList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno"));
  4624. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpnm", sPrcpNmList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpnm"));
  4625. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "abo", sAboRhList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "abo"));
  4626. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpno", sPrcpNoList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno"));
  4627. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "signno", sSignNoList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno"));
  4628. }
  4629. } else if ( pFlag == "D" ){
  4630. if ( !utlf_isNull(rBlodList) ){
  4631. if( sysf_messageBox("함께 기록된 수혈간호기록이 존재합니다.( 혈액번호 : " + rBlodList.substring(0,rBlodList.length -1 )
  4632. + ")\n함께 기록 ","Q001") == 6 ){//삭제 하시겠습니까 ? yes=6, no=7
  4633. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "blodno", rBlodList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "blodno"));
  4634. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpnm", sPrcpNmList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpnm"));
  4635. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "abo", sAboRhList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "abo"));
  4636. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "prcpno", sPrcpNoList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "prcpno"));
  4637. ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.setColumn(0, "signno", sSignNoList + ds_main_cond_tnsnurserecgrup_tnsnurserecgruplist.getColumn(0, "signno"));
  4638. }
  4639. }
  4640. }
  4641. fSumQtyCalc();// 총투여량 계산 onepintqty * 혈액갯수
  4642. return rBlodList;
  4643. }
  4644. /**
  4645. * @desc : 수행기록내역에서 체크 된 detlgrup 저장파라미터 만들기
  4646. * @
  4647. * @param : checkTarget : exec:수행 noexec:미수행
  4648. * :
  4649. *
  4650. * @return : rSaveList
  4651. * @author : khj
  4652. * @---------------------------------------------------
  4653. */
  4654. function fSaveExecRecListMake(checkTarget){
  4655. var rSaveList = "stat▦blodno▦prcpnm▦abo▦rh▦prcpdd▦prcpno▦prcpcd▦prcphistno▦prcpdelivefact▦pid▦tnscarerecseq▦instcd▩";
  4656. var rSaveHeader = "";
  4657. var xTargetGrid = group3.switch1.case2.grd_blodexecrecgruplist;
  4658. var xTargetPath = "";
  4659. if ( checkTarget =="exec" ){
  4660. xTargetPath = ds_main_cond_blodreturnreqgrup_blodexecrecgruplist;
  4661. xTargetGrid = group3.switch1.case2.grd_blodexecrecgruplist;
  4662. dsf_makeValue(ds_main_cond_blodreturnreqgrup_blodexecrecgruplist, "prcphistno", "string", "");
  4663. } else {
  4664. xTargetPath = ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist;
  4665. xTargetGrid = group3.switch1.case2.grd_blodnoexecrecgruplist;
  4666. dsf_makeValue(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist, "prcphistno", "string", "");
  4667. dsf_makeValue(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist, "tnscarerecseq", "string", "");
  4668. dsf_makeValue(ds_main_cond_blodreturnreqgrup_blodnoexecrecgruplist, "instcd", "string", "");
  4669. }
  4670. for( var n=0 ; n<xTargetGrid.rowcount ; n++ ){
  4671. if ( xTargetPath.getColumn(n, "stat") == "1" ){
  4672. rSaveList += utlf_transNullToEmpty(xTargetPath.getColumn(n, "stat")) + "▦"
  4673. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "blodno")) + "▦"
  4674. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcpnm")) + "▦"
  4675. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "abo")) + "▦"
  4676. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "rh")) + "▦"
  4677. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcpdd")) + "▦"
  4678. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcpno")) + "▦"
  4679. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcpcd")) + "▦"
  4680. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcphistno")) + "▦"
  4681. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "prcpdelivefact")) +"▦"
  4682. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "pid")) + "▦"
  4683. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "tnscarerecseq")) +"▦"
  4684. + utlf_transNullToEmpty(xTargetPath.getColumn(n, "instcd"))+ "▩"
  4685. }
  4686. }
  4687. return rSaveList;
  4688. }
  4689. function fRePrtBldReq() {
  4690. var chkyn;
  4691. var ocrtag;
  4692. var pretag;
  4693. var cnt = 0;
  4694. var receiptid="";
  4695. var receiptnm="";
  4696. for( var i=0 ; i<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; i++ ){
  4697. chkyn = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel");
  4698. ocrtag = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "ocrtag");
  4699. if(chkyn == "1") {
  4700. if(cnt == 0) {
  4701. pretag = ocrtag;
  4702. receiptid = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "receiptid");
  4703. receiptnm = ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "receiptnm");
  4704. cnt++;
  4705. }
  4706. if(pretag != ocrtag) {
  4707. sysf_messageBox("다른 OCR번호를 가진 혈액은 재출력할 수 없습니다.", "E");
  4708. return;
  4709. }
  4710. if( utlf_isNull(ocrtag) ) {
  4711. sysf_messageBox("혈액불출되지 않은 혈액은 재출력 하실 수 없습니다.", "E");
  4712. return;
  4713. } else {
  4714. }
  4715. }
  4716. }
  4717. var objExtCommon = new ExtCommon();
  4718. var ip = utlf_transNullToEmpty((objExtCommon.getIPAddress()+"")).split("^");
  4719. var ipstr = utlf_transNullToEmpty(ip[0]).split(".");
  4720. ds_send_report.setColumn(0, "patientnm", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "patientnm1"));
  4721. ds_send_report.setColumn(0, "pid", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "pid"));
  4722. ds_send_report.setColumn(0, "sexage", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "sexage"));
  4723. ds_send_report.setColumn(0, "btype", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "btype"));
  4724. ds_send_report.setColumn(0, "wardnm", group3.switch1.case1.grp_sea.cmb_wardcdgruplist.text);
  4725. ds_send_report.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  4726. //model.makeValue("/root/send/report/logourl", getBigLogoImageURL("",getUserInfo("dutplceinstcd")));
  4727. // 170221_응급실 구역추가(EICU, 외상소생구역 표기) //180103_AYS_응급실 BED정보 변경에따른 주석처리
  4728. /*
  4729. if(sysf_getUserInfo("dutplceinstcd") == "031" && ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "ordtype") == "E"){
  4730. ds_send_report.setColumn(0, "roomcd", ds_main_cond_patientgrupInfo_patientgruplistInfo.getColumn(0, "erbdsect"));
  4731. } else {
  4732. ds_send_report.setColumn(0, "roomcd", group3.switch1.case1.grp_sea.cmb_roomcdgruplist.value);
  4733. }
  4734. */
  4735. ds_send_report.setColumn(0, "logourl", rptf_getImageURL("biglogo"+sysf_getUserInfo("dutplceinstcd"), "jpg"));
  4736. ds_send_report.setColumn(0, "ip", ipstr[2] + "." + ipstr[3]);
  4737. //출력일시
  4738. var printdd = utlf_getCurrentDate().substr(0,4) + "/" + utlf_getCurrentDate().substr(4,2) + "/" + utlf_getCurrentDate().substr(6,2);
  4739. var printtm = utlf_getCurrentTime().substr(0,2) + ":" + utlf_getCurrentTime().substr(2,2) + ":" + utlf_getCurrentTime().substr(4,2);
  4740. ds_send_report.setColumn(0, "printdt", printdd + " " +printtm);
  4741. ds_send_report.setColumn(0, "usernm", sysf_getUserName());
  4742. ds_send_report.setColumn(0, "seq", pretag);
  4743. ds_send_report.setColumn(0, "receiptid", receiptid);
  4744. ds_send_report.setColumn(0, "receiptnm", receiptnm);
  4745. ds_send_report_delivedetlgrup_delivedetlgruplist.clearData();
  4746. for( var i=0 ; i<ds_main_cond_delivedetlgrup_delivedetlgruplist.rowcount ; i++ ){
  4747. if( ds_main_cond_delivedetlgrup_delivedetlgruplist.getColumn(i, "sel") == "1" ){
  4748. var nRow = ds_send_report_delivedetlgrup_delivedetlgruplist.addRow();
  4749. ds_send_report_delivedetlgrup_delivedetlgruplist.copyRow(nRow, ds_main_cond_delivedetlgrup_delivedetlgruplist, i);
  4750. }
  4751. }
  4752. var objDOM = rptf_createDOM(); // DOM 객체 설정
  4753. rptf_setNodeListToDOM(objDOM, "root/send/report", ds_send_report); // 데이터셋
  4754. rptf_setNodeListToDOM(objDOM, "root/send/report/delivedetlgrup/delivedetlgruplist", ds_send_report_delivedetlgrup_delivedetlgruplist); // 데이터셋
  4755. var objParam = new Object();
  4756. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  4757. var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
  4758. rptf_exeReportPreview30(["RFMNR01000"],[objParam], option);
  4759. }
  4760. function fChngGridInfo() {
  4761. var sel = grd_delivedetlgruplist.valueMatrix(grd_delivedetlgruplist.row, grd_delivedetlgruplist.colRef("sel"));
  4762. if(grd_delivedetlgruplist.col == grd_delivedetlgruplist.colRef("sel")) {
  4763. var ocrtag = grd_delivedetlgruplist.valueMatrix(grd_delivedetlgruplist.row, grd_delivedetlgruplist.colRef("ocrtag"));
  4764. if(ocrtag == "" || ocrtag == null) {
  4765. return;
  4766. }
  4767. var ocrtag2="";
  4768. for(i = grd_delivedetlgruplist.fixedRows; i < grd_delivedetlgruplist.rows; i++) {
  4769. ocrtag2 = grd_delivedetlgruplist.valueMatrix(i, grd_delivedetlgruplist.colRef("ocrtag"));
  4770. if(ocrtag == ocrtag2) {
  4771. grd_delivedetlgruplist.valueMatrix(i, grd_delivedetlgruplist.colRef("sel")) = sel;
  4772. }
  4773. }
  4774. grd_delivedetlgruplist.refresh();
  4775. }
  4776. }
  4777. ]]></Script>