1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- 투약시간일괄관리(SMMNR08001_투약기록.xrw - JScript )
- - Version :
- 1) : Ver.1.00.01
- */
- var xCondPath = "/root/main/cond";
- var xWardPatListPath = "ds_main_wardpatinfo_wardpatlist";
- var xWardActListPath = "ds_main_wardactinfo_wardactlist";
- var xTempWardActListPath = "/root/temp/wardactinfo/wardactlist";
- var xWardDrugListPath = "ds_main_warddruginfo_warddruglist";
- var xHiddenWardDrugPath = "/root/hidden/warddruginfo/warddruglist";
- var xPatInfoPath = "/root/main/paminfo/pamlist";
- var xMediCard8 = "/root/send/medicard8/warddruglist";
- var barcdRef = "/root/main/barcdprntsetup/prntsetupinfo/setupinfo";
- //var grd_colcnt = 17+1;
- //-----------------(20081118)
- //var grd_colcnt = 18;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^ ^";
- //var grd_colcnt = 19;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^수액No\n적용^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방희망일^수액No\n적용^ ^";
- var grd_colcnt = 22;
- //var grd_title1 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //var grd_title2 = " ^구분^Mix^처방코드^처방명^1일\n용량^단위^1일\n수량^단위^1일\n횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- var grd_title1 = "선택^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^AST^1회\n용량^단위^1회\n수량^단위^횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- var grd_title2 = "^구분^승인^Mix^처방코드^처방명\n[* : 혼동주의/고위험 약제]^AST^1회\n용량^단위^1회\n수량^단위^횟수^경로^용법^기준시간Setting^처방Remark^처방의^처방시간^처방적용일^수액No\n적용^영문명^ ^";
- //-----------------(20081118)
- var addCol_Array = new Array;
- var baseCol_Array = new Array;
- var mixno_Array = new Array;
- var colIndex_Array = new Array;
- var addCol_Cnt = 0;
- var screen_mode = "pat";
- var gray = "#c0c0c0";
- var yellow = "#ffff00";
- var yellowishgreen = "#80ff00";
- var red = "#ff0000";
- var sky = "#00ffff";
- var blue = "#0000ff";
- var white = "#ffffff";
- //var yellowishgreen = "#80ff00"
- //-----------------(20081201)
- var orange = "#ffcc00";
- //-----------------(20081201)
- var top_pid = "";
- var sign_row = "";
- var sign_saverow = ""; //20081112
- var sign_savecol = ""; //20081112
- //-------------(20080831)
- var sSignRow = "";
- var gTimer = "";
- //-------------(20081121)
- var toprow = 0;
- var toprowflag = "N";
- //-------------(20081121)
- var nfixedcols = 0;
- var flagDsWarddruglist = false;
- var ninst_cnt = -1;
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 초기값 셋팅 및 초기조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fInitialize(){
-
- //-------------------(20080727)
- var instcd = sysf_getUserInfo("dutplceinstcd");
- if ( sysf_getSystemCd() == "HIS012") {
- group3.btn_drugcard.visible = false;
- } else {
- group3.btn_drugcard.visible = true;
- }
- if ( frmf_checkOpener() && opener.frmf_getParameter("SMMNR00600_OPENFLAG") == "Y"){//투약기록에서 open시 투약기록 버튼 비활성화
- group3.btn_medirec.visible = false;
- } else {
- group3.btn_medirec.visible = true;
- }
- //-------------------
-
- //-------------------(20080910)
- //로그인 간호사의 정보추출
- ds_main_cond.setColumn(0, "loguserid", sysf_getUserId());
- ds_main_cond.setColumn(0, "logdeptcd", sysf_getUserInfo("dutplcecd"));
-
- //model.resetInstanceNode("/root/send/reqdata");
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00606";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetLogUserInfo";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_loguserinfo_loguserlist=loguserlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00606";
- tranf_submit(oParam);
-
- if( ds_main_loguserinfo_loguserlist.rowcount > 0 ){
- ds_main_cond.setColumn(0, "opprcpcond", "2");
- }
- //-------------------
- //-------------(20080910)
- group3.bolall.value = 0;
- //-------------(20080910)
- ds_main_cond.setColumn(0, "orddd", utlf_getCurrentDate());
- //model.setValue("/root/main/cond/orddd", "20080124");
- ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
- ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
-
- group3.swtpatList.tabindex = 0;
-
- radio_ColorChange();
-
- ds_main_warddruginfo_warddruglist.clearData();
-
- //--------------------------------------
- // 바코드OCX 생성(출력시로 이동)(20080720)
- // 20080917 다시 open함
- if( utlf_isNull(this.objects["CommAX"]) ){
- //lzzfMakeBrcdPrntObj("CommAX"); //(20080721이전버젼)
- //0929
- var scrnid = "SMMNR08000";
- fGetBarCodeInfo(frmf_getScreenID()); // CareCom.js
-
- // 노드값을 컬럼 값으로 가져옴에 따라 DS 로 변환 처리 ---------------------------------------------------
-
- //XML string 값을 파라미터로 넘김
- //성공시 : 'success' 실패시 : 'error' 값을 리턴함
- var sParamObj = new Object();
- sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
-
- var pXmlStr = ds_barcdprntsetup.getColumn(0, "prntsetupinfo");
-
- var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
-
- sysf_trace(succYn);
-
- // => retrun DS
- // : ds_data_setupinfo(prntkind, commkind)
- // : ds_data_comm01(setupval)
- // : ds_data_comm02(comm, databit, stopbit, baudrate, parity, setupval)
- // : ds_data_comm03(setupval)
- // : ds_data_blank(left, top)
-
- // ------------------------------------------------------------------------------------------------------------
-
- lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721이후버젼) //0921임시로막음
- }
- //--------------------------------------
- fGetWardList();
-
- var arrParam = [{dsNm: "ds_init_M0381list_M0381", cdGrpId: "M0381"}];
- appf_getCodeList(arrParam);
-
- // 환자정보 조회
- var sPamInfo = sysf_getGlobalVariable("paminfo");
- dsf_setCSVToDs("ds_main_paminfo_pamlist", sPamInfo); //환자정보내리기
-
- var sPID = ds_main_paminfo_pamlist.getColumn(0, "pid");
- var sWardCd = ds_main_paminfo_pamlist.getColumn(0, "wardcd");
- var sRoomCd = ds_main_paminfo_pamlist.getColumn(0, "roomcd"); //병실정보(20080912)
- var roomcd = "";
- var patnm = "";
- var sexage = "";
- if( utlf_isNull(sWardCd) ){
- ds_main_cond.setColumn(0, "wardcd", sysf_getUserInfo("dutplcecd"));
- }else{
- ds_main_cond.setColumn(0, "wardcd", sWardCd);
- }
- fGetRoomList();
- //-----------------------------(20080912)
- if( !utlf_isNull(sRoomCd) ){
- ds_main_cond.setColumn(0, "roomcd", sRoomCd);
- }
- //-----------------------------(20080912)
-
- fGetPatList();
- //-----------------------------(20080906)
- fSetsettingrnid();
- //-----------------------------(20080906)
- if( !utlf_isNull(sPID) ){
- for( var i=0 ; i<ds_main_wardpatinfo_wardpatlist.rowcount ; i++ ){
- if( ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid") == sPID ){
- roomcd = ds_main_wardpatinfo_wardpatlist.getColumn(i, "roomcd");
- patnm = ds_main_wardpatinfo_wardpatlist.getColumn(i, "patnm");
- sexage = ds_main_wardpatinfo_wardpatlist.getColumn(i, "sexage");
- ds_main_patinfo.setColumn(0, "roomcd", roomcd);
- ds_main_patinfo.setColumn(0, "pid", sPID);
- ds_main_patinfo.setColumn(0, "patnm", patnm);
- ds_main_patinfo.setColumn(0, "sexage", sexage);
- ds_main_wardpatinfo_wardpatlist.rowposition = i;
- group3.swtpatList.pat.grd_patlist.setCellPos(0);
- group3.swtpatList.pat.grd_patlist.setFocus();
- //----------(20090104)
- //콤보자료 구성
- var pGrd = group3.swtpatList.pat.grd_patlist;
- var sParam = "drg";
- var row = pGrd.currentrow;
-
- fgetwarddrugtimecomboList(sParam,row);
- //----------(20090104)
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("drg", i);
- fClickDrugListAfter(); //------------(20081031)
- return;
- }
- }
- }
- // //-------------------(20080727)
- // var instcd = getUserInfo("dutplceinstcd");
- // if (instcd == '012') {
- // btn_drugcard.visible = false;
- // } else {
- // btn_drugcard.visible = true;
- // }
- // //-------------------
- }
- /**
- * @group :
- * @ver : 2008.09.06
- * @by :
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 내환자가 설정되어 있으면 자동으로 내환자설정시키기(성공)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetsettingrnid(){
- var sUserId = sysf_getUserId();
- var sUserIdFind = ""
-
- for( var i=0 ; i<ds_main_wardpatinfo_settingrn.rowcount ; i++ ){
- sUserIdFind = ds_main_wardpatinfo_settingrn.getColumn(i, "settingrnid");
- if (sUserId == sUserIdFind) {
- ds_main_cond.setColumn(0, "settingrnid", sUserIdFind);
-
- fGetPatList();
- return;
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 병동 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetWardList(){
- var oParam = {};
- oParam.id = "TRMNR00601";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWMInitData";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_init_ward=ward ds_init_settingrn=settingrn ds_init_orddd=orddd";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00601";
- tranf_submit(oParam);
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 투약 상태 라디오 버튼 배경색 변경
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function radio_ColorChange(){
- //-------------(20081201)
- group3.rdo_drugstat.rdo_multi_0.style.background = gray;
- group3.rdo_drugstat.rdo_multi_1.style.background = yellow;
- group3.rdo_drugstat.rdo_multi_2.style.background = yellowishgreen;
- group3.rdo_drugstat.rdo_multi_3.style.background = red;
- group3.rdo_drugstat.rdo_multi_4.style.background = sky;
- //rdo_drugstat.item(0).attribute("background-color") = gray;
- //rdo_drugstat.item(1).attribute("background-color") = orange;
- //rdo_drugstat.item(2).attribute("background-color") = yellow;
- //rdo_drugstat.item(3).attribute("background-color") = yellowishgreen;
- //rdo_drugstat.item(4).attribute("background-color") = red;
- //rdo_drugstat.item(5).attribute("background-color") = sky;
- //-------------(20081201)
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 환자 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetPatList(){
- //model.resetInstanceNode("/root/send/reqdata");
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00603";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWardPatList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_wardpatinfo_wardpatlist=wardpatlist ds_main_wardpatinfo_settingrn=settingrn";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00603";
- tranf_submit(oParam);
-
- ds_main_wardpatinfo_wardpatlist.rowposition = -1;
-
- var sPID = ds_main_patinfo.getColumn(0, "pid");
- if( !utlf_isNull(sPID) ){
- for( var i=0 ; i<ds_main_wardpatinfo_wardpatlist.rowcount ; i++ ){
- if( ds_main_wardpatinfo_wardpatlist.getColumn(i, "pid") == sPID ){
- ds_main_wardpatinfo_wardpatlist.rowposition = i;
- group3.swtpatList.pat.grd_patlist.setCellPos(0);
- group3.swtpatList.pat.grd_patlist.setFocus();
-
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("drg", i);
- fClickDrugListAfter(); //------------(20081031)
-
- return;
- }
- }
- }
-
- if( ds_main_wardpatinfo_settingrn.rowcount > 0 && ds_main_wardpatinfo_settingrn.getColumn(0, "settingrnnm") == "-" && utlf_isNull(ds_main_cond.getColumn(0, "settingrnid")) ){
- ds_main_wardpatinfo_settingrn.setColumn(0, "settingrnid", "");
- group3.group5.cmb_settingrn.value = "";
- }
-
- //group3.group5.cmb_settingrn.index = 0;
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 병동별 병실 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetRoomList(){
- ds_main_cond.setColumn(0, "roomcd", "");
- //model.resetInstanceNode("/root/send/reqdata");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00602";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetRoomInitData";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_init_room_room=room";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00602";
- tranf_submit(oParam);
-
- if( ds_init_room_room.rowcount > 0 && ds_init_room_room.getColumn(0, "roomnm") == "-" ){
- ds_init_room_room.setColumn(0, "roomcd", "");
- }
-
- group3.group5.cmb_room.index = 0;
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 환자별 투약 기록 리스트 조회
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickDrugList(sParam, row){
- group3.btn_drugcard.enable = false;
- group3.btn_hydprint.enable = false;
- ds_send_medicard_warddruglist.clearData();
- ds_send_medicard8_warddruglist.clearData();
- var pid = "";
-
- if(sParam == "drg"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardpatinfo_wardpatlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardpatinfo_wardpatlist.getColumn(row, "cretno"));
- }else if(sParam == "act"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardactinfo_wardactlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardactinfo_wardactlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardactinfo_wardactlist.getColumn(row, "cretno"));
- ds_main_cond.setColumn(0, "orddd", ds_main_wardactinfo_wardactlist.getColumn(row, "prcpdd"));
- }else{}
- //model.resetInstanceNode("/root/send/reqdata");
-
- ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
- ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
-
- //---------------------(20080721)
- //ER 환자에 대한 선처치기능을 처리하기 위해서 ORDTYPE을 넘긴다.
- var ordtype = ds_main_wardpatinfo_wardpatlist.getColumn(row, "ordtype");
- ds_main_cond.setColumn(0, "ordtype", ordtype);
- //----------------------
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR08002";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetwarddrugtimeList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_hidden_warddruginfo_warddruglist=warddruglist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR08002";
- tranf_submit(oParam);
-
- ds_hidden_warddruginfo_warddruglist.updatecontrol = false;
- ds_hidden_warddruginfo_warddruglist.enableevent = false;
- ds_hidden_warddruginfo_warddruglist.addColumn("carertnyn", "string");
- ds_hidden_warddruginfo_warddruglist.deleteColumn("prcpvol");
- ds_hidden_warddruginfo_warddruglist.deleteColumn("prcpqty");
- ds_hidden_warddruginfo_warddruglist.enableevent = true;
- ds_hidden_warddruginfo_warddruglist.updatecontrol = true;
-
- ds_hidden_warddruginfo_warddruglist.updateColID("drprcpetc7", "prcpvol");
- ds_hidden_warddruginfo_warddruglist.updateColID("drprcpetc8", "prcpqty");
-
- dsf_setDefaultVal(ds_hidden_warddruginfo_warddruglist, "soding:-,last:-");
- //----------(20081031)
- ////////////alert("db통과_ok");성능좋음
- //----------(20080808)
- //아래의 정보를 기준으로 화면을 구성한다.
- //그러나 아래의 정보가 정확하지 않을수 있으므로 fndrugcalcBefore() 에서 정확한 정보를 만들고 fndrugcalc()를 호출한다.
- //1. fndrugcalcbefore : model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")에 값설정(예정)
- //2. fndrugcalc : model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")를 기준으로 화면구성
- //----------
- //------------------------------------
- //투약시간계산(20080808)
- //------------------------------------
- fndrugcalcbefore();
- //----------(20080808)
-
- //------------------------------------
- //투약시간계산(20080530)
- //------------------------------------
- fndrugcalc(); //조회여부구분
- //------------------------------------
- //-----------------------------------(20081014)
- // hidden의 instance에 있는 drugtmspec 의 항목의 split 수와 calctims수를 확인한다.
- fndrugcalcCheck();
- //-----------------------------------(20081014)
-
- var array_drugtmspec = "";
- var drugtmspec = "";
- var drugtmspeccal = "";
- var temp_drugtmspec = 0;
- /* --(20080530)
- //--------------------------------------------------------------------
- //drugtmspec에서 시간 추출해서 drugtmspeccal에 화면 표시 시간으로 변경
- // fndrugcalc에서 drugtmspeccal를 생성함
- //--------------------------------------------------------------------
- for(var i = 1; i<= getNodesetCount(xHiddenWardDrugPath); i++){
- drugtmspec = model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec"); //투여기준시간(1000 2200)
- if(drugtmspec != ""){
- array_drugtmspec = drugtmspec.split(" ");
- for(var j = 0; j < array_drugtmspec.length; j++){
- temp_drugtmspec = Number(array_drugtmspec[j]) % 2400;
- temp_drugtmspec = Math.abs(Number(temp_drugtmspec)).toString();
- drugtmspeccal += fCarec_GetFillZeno(temp_drugtmspec,4,0) + " ";
- }
- model.makeValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspeccal", drugtmspeccal);
- drugtmspeccal = "";
- }else{
- model.makeValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspeccal", "");
- }
- }
- */
- ds_main_warddruginfo_warddruglist.clearData();
-
- var nodecnt = ds_hidden_warddruginfo_warddruglist.rowcount;
-
- ////alert("1:" + nodecnt);
- if(nodecnt > 0){
- //수정(20080602)
- //dispflag 조건에 추가
- flagDsWarddruglist = true;
-
- fSetDrugReBuild(nodecnt); //Hidden에 있는 인스턴스를 main으로 copy(처방별로 묶음)(임시row별 -> main컴럼설정)
- //막음(20080602)
- //Acting한 경우 Acting시간으로 컬럼 셋팅(OLD)(20080601이전)
- //fndrugcalc에서 ACTING 정보 반영(NEW)(20080601이후)작업중
- //fSetDrugExecDT(nodecnt);
- //그리드 시간 컬럼 삭제(시간 컬럼을 제외한 나머지 컬럼갯수 빼기(12))
- var sColCnt = group3.grd_druglist.getCellCount("Body") - nfixedcols - grd_colcnt;//grd_druglist.fixedcols - grd_colcnt;
- var nColCount = group3.grd_druglist.getCellCount("Body")-1;
-
- //grd_druglist.refresh();
- for( sColCnt ; sColCnt > 0 ; sColCnt-- ){
- group3.grd_druglist.deleteContentsCol("body", nColCount--, false); //refresh 하지 않음(false)
- }
-
- //////////////////alert("test");
- //return;
- //----------(20081031)
- ////////////alert("튜닝요구되는 모듈시작");
- //----(20080603) new버젼
- fAddBaseDrugTime(); //투약기록 처방 내역 기준시간 Setting작업
- //----------(20081031)
- ////////////alert("튜닝요구되는 모듈종료");
-
- }
-
- //careSetTree(grd_druglist,17,2,false);
- //그리드 타이틀 부분 머지
- for(var k = 1; k < grd_colcnt; k++){
- group3.grd_druglist.mergeContentsCell("Head", 0, k, 1, k, k, false);
- }
-
- //DC는 CHECK불가
- for( var l=0 ; l<ds_main_warddruginfo_warddruglist.rowcount ; l++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(l, "dccomcountyn") == "Y" ){
- ds_main_warddruginfo_warddruglist.setColumn(l, "check", "0");
- }
- }
-
- //---------------------------(20080930)
- //기준시간setting를 sort한다.
- //시간대가-1이 되어 2200 1300 1800 -> 1300 1800 2200으로 변경
- //var pGrd = grd_druglist;
- var settingtime = "";
- for( var l=0 ; l<ds_main_warddruginfo_warddruglist.rowcount ; l++ ){
- settingtime = ds_main_warddruginfo_warddruglist.getColumn(l, "drugtmspec_recalc1");
- settingtime = sortHashKeysString(settingtime); //sort
- ds_main_warddruginfo_warddruglist.setColumn(l, "drugtmspec_recalc1", settingtime); //반영
- }
-
- flagDsWarddruglist = false;
- //---------------------------(20080930)
-
- group3.btn_drugcard.enable = true;
- group3.btn_hydprint.enable = true;
- //model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Hidden에 있는 인스턴스를 main으로 copy(처방별로 묶음)(조회data -> 화면data로 이동)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugReBuild(nodecnt){
- var inst_cnt = 0;
- var prev_prcpno = "";
- var execcarestatcd = ""; //시간컬럼에 추가 하는 instanceList
- var tims = "";
- var execdd = "";
- //---------------------------------------------------------------
- //조회대상이 되는 자료row만 화면으로 넘긴다.
- //nodecnt : xHiddenWardDrugPath 이다.
- //---------------------------------------------------------------
- for( var cnt=0 ; cnt<nodecnt ; cnt++ ){
- var prcpno1 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpno"));
- var prcpcd1 = utlf_transNullToEmpty(ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpcd"));
- var copyflag = "N";
- //-------------------(20081014)
- var validateYN = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "validateyn1");
- if (validateYN == "N") continue;
- //-------------------(20081015)
-
- //-------------------(시간대정보가 없음을 알림)(20080620)
- var timeinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "drugtmspec");
- var prcpinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpcd");
- var drugmthdspccdinfo = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "drugmthdspccd");
- ////alert("2:" +timeinfo);
- if( utlf_isNull(timeinfo) ){
- //--------------(20081014)fAddBaseDrugTime에서 메세지를 보낸다.
- //messageBox("처방(" + prcpinfo + ")에 대한 용법(" + drugmthdspccdinfo + ")의 " +
- // "투약기준시간정보가 존재하지 않습니다. " +
- // "투약기준시간정보를 확인하십시오.","E999");
- //--------------(20081014)
- continue;
- }
- //-----------------------------------------------------------------------
- //조회대상이 되는 자료를 찾는다.(의미없음)
- ////alert("3:"+ model.getValue(xHiddenWardDrugPath + "[" + cnt + "]/dispflag"));
- if( ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "dispflag") == "Y" ){
- var prcpno2 = "";
- var prcpcd2 = "";
-
- //이미 복사했는지 찾는다.(처방일자,처방번호 : pk의 성격과 유사하다)
- for( var i=0 ; i<=inst_cnt ; i++ ){
- prcpno2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno"));
- prcpcd2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd"));
-
- if (prcpno1 == prcpno2 && prcpcd1 == prcpcd2) {
- copyflag = "Y";
- break;
- }
- }
- if (copyflag != "Y") {
- ds_main_warddruginfo_warddruglist.addRow();
- ds_main_warddruginfo_warddruglist.copyRow(inst_cnt, ds_hidden_warddruginfo_warddruglist, cnt);
- prev_prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(cnt, "prcpno");
- inst_cnt++;
- }
- }
- }
- //-----------(20080702)
- //막으면 오류발생함
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Acting한 경우 Acting시간으로 컬럼 셋팅
- * 투약한경우:투약일과 ACTING일(원무시행일)은 다를수 있다
- * 투약일은 용법에 의해서 변경되고 ACTING일은 투약일(5/2)이라도 오늘(5/1)ACTING하면 서로 다를수 있다.
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugExecDT(nodecnt){
- var inst_cnt = 1;
- //시간컬럼에 추가 하는 instanceList
- var tims = "";
- var drugtms = "";
- var execdd = "";
- var exectm = "";
- var prcpdd = "";
- var intervaldd = "";
- var temp_drugtmspec = "";
- var inst_cnt = 1;
- var temp_cnt = 1;
- var tmcalculate = "";
- var drugdd = model.getValue("/root/main/cond/orddd"); //조회일
- for(var i = 1; i <= nodecnt; i){
- drugtmspec = model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec").split(" ");
- tims = model.getValue(xHiddenWardDrugPath + "[" + i + "]/tims");
- //-------------(20080912)
- var calctims = model.getValue(xHiddenWardDrugPath + "[" + i + "]/calctims");
- //-------------(20080912)
- prcpdd = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpdd");
- temp_drugtmspec = "";
- temp_cnt = i;
- if(drugtmspec != ""){
-
- //-------------(20080912)
- //for(var j = 1; j <= tims; j++){
- for(var j = 1; j <= calctims; j++){
- //-------------(20080912)
- execdd = model.getValue(xHiddenWardDrugPath + "[" + i + "]/medrexecdd"); //투약일
- exectm = model.getValue(xHiddenWardDrugPath + "[" + i + "]/medrexectm"); //투약시간
-
- ////////////alert("fSetDrugExecDT:" + execdd + "/" + exectm);
-
- exectm = exectm.substr(0,4);
- if(j != 1){
- temp_drugtmspec += " ";
- }
- if(execdd != "00000000"){ //acting이면
- intervaldd = getDateInterval(drugdd, execdd); //조회일과 acting일자의 차이 일수
- if(intervaldd < 0){
- tmcalculate = (-Number(exectm) + (Number(intervaldd) * 2400)); //-0900 + -2400 = -3300
- }else{
- tmcalculate = (Number(exectm) + (Number(intervaldd) * 2400)); // 0900 + 2400 = 3300
- }
- }else{
- tmcalculate = drugtmspec[j-1];
- }
- temp_drugtmspec += fCarec_GetFillZeno(tmcalculate,4,0);
- i++;
- }
- model.setValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspec", temp_drugtmspec);
- inst_cnt++;
-
- //-----------(20080912)
- //for(var j = 1; j <= tims; j++){
- for(var j = 1; j <= calctims; j++){
- //-----------(20080912)
- model.setValue(xHiddenWardDrugPath + "[" + (temp_cnt + j - 1) + "]/drugtmspec", temp_drugtmspec);
- }
- }else{
- //----------(20080912)
- //i = i + parseInt(tims);
- i = i + parseInt(calctims);
- //----------(20080912)
- inst_cnt++;
- }
- }
- model.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 처방 내역 기준시간 Setting작업(화면에 표시)
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fAddBaseDrugTime(){
- var rows = group3.grd_druglist.rowcount;
- var tims = 0;
- var drugtmspec = "";
- var drugtms = "";
- var sColCnt = group3.grd_druglist.getCellCount("Body") - nfixedcols - grd_colcnt;//시간 컬럼을 제외한 나머지 컬럼갯수 빼기(17)
- var sGrdCap = "";
- var prcpdd = ds_main_cond.getColumn(0, "orddd"); //처방일자(조회일)
- var meddays = "";
- var medtims = "";
- var cnt = 0;
- var sGrdCapDay = "";
- var sGrdCapTims = "";
- var execdd = "";
- var temp_drugtms = "";
- var temp_meddays = "";
- var timsYN = false;
- var daysYN = false;
- //---------------------------------------------
- //헤더구성하기
- //---------------------------------------------
- var maxcalctims = 0;
- //--------------(20110122) 경북대
- var scalctims = 0;
- for( var i=0 ; i<rows ; i++ ){
- scalctims = ds_main_warddruginfo_warddruglist.getColumn(i, "calctims");
-
- if ( parseInt(maxcalctims) < parseInt(scalctims) ) {
- maxcalctims = ds_main_warddruginfo_warddruglist.getColumn(i, "calctims");
- }
- }
- //--------------(20110122) 경북대
- cnt = 0; //증가되야 하는 컬럼수
- for( var i=1 ; i<=maxcalctims ; i++ ){
- for( var j=1 ; j<3 ; j++ ){
- meddays += i + "회" + "^"; //전체횟수컬럼(헤더1)
- if (j == 1) {
- medtims += "Time" + "^"; //횟수상세컬럼(헤더2)시간
- } else if (j == 2) {
- medtims += "Day" + "^"; //횟수상세컬럼(헤더2)날짜
- }
- // else if (j == 3) {
- // medtims += "상태" + "^"; //횟수상세컬럼(헤더2)구분
- // }
- cnt++;
- }
- }
-
- //---------------------------------------------
- //총컬럼 갯수를 정렬한다.
- //---------------------------------------------
- addCol_Cnt = cnt;
- var sMeddays = meddays;
- var sMedtims = medtims;
- //--------------------------------------------
- //컬럼 숨김 계속 지정하기 위해...
- //그리드 기본/펼치기 모드 이벤트(뒤의 마지막필드's)
- //--------------------------------------------
- fSelectOpenMoe();
-
- //--------------------------------------------
- //컬럼추가
- //--------------------------------------------
- for( var i=1 ; i<=maxcalctims ; i++ ){
- for( var j=1 ; j<3 ; j++ ){
- //grd_druglist.addColumn("ref:carecfactnm" + grd_druglist.cols + "; type:output; ", false);
-
- if( j == 1 ){
- var nCol = group3.grd_druglist.appendContentsCol();
- group3.grd_druglist.setCellProperty("Body", nCol, "edittype", "mask");
- group3.grd_druglist.setCellProperty("Body", nCol, "text", "bind:times"+nCol);
- group3.grd_druglist.setCellProperty("Body", nCol, "editautoselect", "true");
- group3.grd_druglist.setCellProperty("Body", nCol, "align", "center");
- group3.grd_druglist.setCellProperty("Body", nCol, "mask", "expr:utlf_isNull(times"+nCol+") == true ? '' : '##:##'");
- group3.grd_druglist.setCellProperty("Body", nCol, "editautoskip", "true");
- group3.grd_druglist.setCellProperty("Body", nCol, "tooltiptext", "bind:times"+nCol);
- group3.grd_druglist.setCellProperty("Body", nCol, "edittrimtype", "both");
-
- group3.grd_druglist.setFormatColProperty(group3.grd_druglist.getCellCount("Body")-1, "size", 60);
-
- group3.grd_druglist.setCellProperty("Head", nCol, "text", i+"회");
- group3.grd_druglist.setCellProperty("Head", group3.grd_druglist.getCellCount("Head")-1, "text", "Time");
- } else if( j == 2 ){
- var nCol = group3.grd_druglist.appendContentsCol();
- group3.grd_druglist.setCellProperty("Body", nCol, "edittype", "text");
- group3.grd_druglist.setCellProperty("Body", nCol, "text", "bind:times"+nCol);
- group3.grd_druglist.setCellProperty("Body", nCol, "editautoselect", "true");
- group3.grd_druglist.setCellProperty("Body", nCol, "align", "center");
- group3.grd_druglist.setCellProperty("Body", nCol, "tooltiptext", "bind:times"+nCol);
-
- group3.grd_druglist.setFormatColProperty(group3.grd_druglist.getCellCount("Body")-1, "size", 40);
-
- group3.grd_druglist.setCellProperty("Head", nCol, "text", i+"회");
- group3.grd_druglist.setCellProperty("Head", group3.grd_druglist.getCellCount("Head")-1, "text", "Day");
- }
- // else if (j == 3) {
- // grd_druglist.addColumn("ref:times" + grd_druglist.cols + "; type:output;text-align:center ", false);
- // grd_druglist.colWidth(grd_druglist.cols - 1) = 30;
- // }
- }
- }
-
- for( var i=(group3.grd_druglist.getCellCount("Body")-1) ; i>=grd_colcnt ; i-- ){
- if( i%2 == 1 ){
- group3.grd_druglist.mergeContentsCell("Head", 0, i-1, 0, i, i-1, false);
- }
- }
-
- //컬럼 타이틀 변경
- //위 헤더 구성 까지 코딩 중.............................(일단 위까지 성공)
- //return;
- var inst_cnt = 0;
- var tims = "";
- var drugtmspec = "";
- var prcphistno = "";
- var execprcpno = "";
- var execcarestatcd = "";
- var iudflag = "";
- var carecfact = "";
- var carecfactcd = "";
- var carecfactnm = "";
- var medrexistyn = "";
- var execprcpuniqno = "";
- var execdd = "";
- var prcpdd = ""
- var exectm = "";
- var signno = "";
- var signflag = "";
- var col_index = 0;
- var forarr = "";
- var prcphistno_array = "";
- var prcpuniqno_array = "";
- var prcp_array = "";
- var drugtmspeccal = "";
- var timesch = "";
- var drugdd = ds_main_cond.getColumn(0, "orddd");
- var tdrugdd = getDateAddc(drugdd, 1);
- var duty = ds_main_cond.getColumn(0, "duty");
- var calcdd = "";
- var medrexecdd = "";
- var medrexectm = "";
- var hiddenYN = new Array;
- //------------------------------
- //forarr : 자료존재 번호XML 태그
- //추가 컬럼만큼 /forarr을 만든다.(컴럼의 상세정보를 반영하기 위해서)
- //------------------------------
-
- for( var x=0 ; x<ds_main_warddruginfo_warddruglist.rowcount ; x++ ){
- for( var y=0 ; y<addCol_Cnt ; y++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "forarr"+(grd_colcnt+y), "string", "", x);
- }
- }
- for( var x=0 ; x<ds_main_warddruginfo_warddruglist.rowcount ; x++ ){
- for( var y=0 ; y<addCol_Cnt ; y++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "times"+(grd_colcnt+y), "string", "", x);
- }
- }
- for( var x=0 ; x<ds_main_warddruginfo_warddruglist.rowcount ; x++ ){
- for( var y=0 ; y<addCol_Cnt ; y++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "forarrcol"+(grd_colcnt+y), "string", "", x);
- }
- }
- for( var x=0 ; x<ds_main_warddruginfo_warddruglist.rowcount ; x++ ){
- for( var y=0 ; y<addCol_Cnt ; y++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "forarrno"+(grd_colcnt+y), "string", "", x);
- }
- //---------(20081223)
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "forarrnocnt", "string", addCol_Cnt, x);
- //---------(20081223)
- }
- //------------------------------
- //모든 필드숨김기
- //테스트로 임시로 막는다.
- //------------------------------
- //test
- for( var z=0 ; z<=grd_colcnt+addCol_Cnt ; z++ ){
- hiddenYN[z] = "true"; //0923
- }
- //------------------------------
- //for : 자료존재 번호에 대한 상세 정보 XML 태그
- //------------------------------
- //조회data(xHiddenWardDrugPath) -> 화면data(xWardDrugListPath) -> xHiddenWardDrugPath 컬럼에 대한 상세정보를 반영(for)함
- //인스턴스 맵핑
- //------------------------------
- var prcpnohidden = "";
- var prcpnobefore = "";
- var prcpnonow = "";
- var prcpnosavecnt = 1; //컬럼위치를 잡기위해서
-
- var execprcpqty =""; //(2008112)
- var execprcpvol =""; //(2008112)
-
- var preantiyn = ""; //(20081211) 예방적항생제여부
- //return; //이곳
- if( ninst_cnt != -1 ){
- for( var i=0 ; i<=ninst_cnt ; i++ ){
- if( !utlf_isNull(this.objects[xWardDrugListPath+i+"for"]) ){
- eval(xWardDrugListPath+i+"for").clearData();
- }
- }
- }
- //-------------------20080604
- for( var m=0 ; m<ds_hidden_warddruginfo_warddruglist.rowcount ; m ){
-
- //------------------------(20081014)
- if( ds_hidden_warddruginfo_warddruglist.getColumn(m, "validateyn1") != "Y" ){
- m++;
- continue;
- }
- //------------------------(20081014)
-
- //DISPLAY 대상이 되는 자료만 화면을 만든다.(의미없음)
- //전부보임
- if( ds_hidden_warddruginfo_warddruglist.getColumn(m, "dispflaggroup") != "Y" ){
- m++;
- continue;
- }
- tims = ds_hidden_warddruginfo_warddruglist.getColumn(m, "tims");
- //----------(20080912)
- calctims = ds_hidden_warddruginfo_warddruglist.getColumn(m, "calctims");
- //----------(20080912)
- drugtmspec = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec")).split(" ");
- drugtmspeccal = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugbasetmspec")).split(" ");
- var drugtmspec_recalc1 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec_recalc1")).split(" "); //처방적용일기준으로
- var drugtmspec_recalc2 = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "drugtmspec_recalc2")).split(" "); //조회일자기준으로
-
- var dispddarray = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "dispddarray")).split(" "); //실질투약일
- var disptmarray = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "disptmarray")).split(" "); //실질투약시간대
- var dispflagarray = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "dispflagarray")).split("/"); //조회일자에 따른 투약여부(실패)
- var todaydrugtimes = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "todaydrugtimes")).split("/"); //---(20080920)당일투약대상자만 보이기 위해서
- var carebasedd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "carebasedd")).split("/"); //--(20081226)
- var carebasetm = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "carebasetm")).split("/"); //--(20081226)
- //////////alert("calctims:" + calctims);
- //---------------(20080912)
- //for(var n = 0; n < tims; n++){
- col_index = grd_colcnt-1;
- //hidden 3row
-
- for( var n=0 ; n<calctims ; n++ ){ //exip단위 갯수임...(warddruglist 1row로)내부에서 증가시킴
- //////////alert("n:"+n);
- //---------------(20080912)
- if(n == 0){
- prcp_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcphistno_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- prcpuniqno_array = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- }else{
- prcp_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcphistno_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- prcpuniqno_array += " " + ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- }
- execprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpno");
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcpdd");
- execcarestatcd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execcarestatcd");
- carecfact = ds_hidden_warddruginfo_warddruglist.getColumn(m, "carecfact");
- carecfactcd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "carecfactcd");
- execprcpuniqno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpuniqno");
- medrexistyn = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexistyn");
- prcphistno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "prcphistno");
- execdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execdd");
- exectm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "exectm");
- signno = ds_hidden_warddruginfo_warddruglist.getColumn(m, "signno");
- signflag = ds_hidden_warddruginfo_warddruglist.getColumn(m, "signflag");
- medrexecdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexecdd");
- medrexectm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "medrexectm");
- execprcpvol = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpvol"); //---(20081112)
- execprcpqty = ds_hidden_warddruginfo_warddruglist.getColumn(m, "execprcpqty"); //---(20081112)
- preantiyn = ds_hidden_warddruginfo_warddruglist.getColumn(m, "preantiyn"); //---(20081211)
- if(medrexistyn == "Y"){
- iudflag = "-";
- }else if(medrexistyn == "N"){
- iudflag = "";
- }
- if(iudflag == "-" && signflag == "N"){
- carecfactnm = ds_init_M0381list_M0381.getColumn(ds_init_M0381list_M0381.findRow("cdid", carecfactcd), "cdnm") + " " + carecfact;
- }else{
- carecfactnm = ds_init_M0381list_M0381.getColumn(ds_init_M0381list_M0381.findRow("cdid", carecfactcd), "cdnm") + " " + carecfact;
- }
-
- //인스턴스 정보 set(상세내역)
-
- //////////alert(drugtmspec[n] + "/" +drugtmspec);
-
- //시간대
- if( !utlf_isNull(drugtmspec[n]) && !utlf_isNull(drugtmspec) ){
- if( utlf_isNull(this.objects[xWardDrugListPath+inst_cnt+"for"]) ){
- dsf_createDs(xWardDrugListPath+inst_cnt+"for", [{col:"execprcpno"},
- {col:"execcarestatcd"},
- {col:"pastexeccarestatcd"},
- {col:"iudflag"},
- {col:"carecfactnm"},
- {col:"carecfactcd"},
- {col:"carecfact"},
- {col:"execprcpuniqno"},
- {col:"prcphistno"},
- {col:"execdd"},
- {col:"medrexecdd"},
- {col:"medrexectm"},
- {col:"medrexistyn"},
- {col:"signno"},
- {col:"signflag"},
- {col:"drugtmspec"},
- {col:"drugtmspeccal"},
- {col:"drugtmspec_recalc1"},
- {col:"drugtmspec_recalc2"},
- {col:"dispdd"},
- {col:"disptm"},
- {col:"currentflag"},
- {col:"currentdd"},
- {col:"currenttm"},
- {col:"execprcpvol"},
- {col:"execprcpqty"},
- {col:"preantiyn"},
- {col:"dispflag"},
- {col:"todaydrug"},
- {col:"carebasedd"},
- {col:"carebasetm"}]);
- }
-
- var objDsxWardDrugListPath = eval(xWardDrugListPath+inst_cnt+"for");
-
- for( var i=0 ; i<=n ; i++ ){
- if( objDsxWardDrugListPath.rowcount <= i ){
- objDsxWardDrugListPath.addRow();
- }
- }
-
- dsf_makeValue(objDsxWardDrugListPath, "execprcpno", "string", execprcpno, n);
- dsf_makeValue(objDsxWardDrugListPath, "execcarestatcd", "string", execcarestatcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "pastexeccarestatcd", "string", execcarestatcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "iudflag", "string", iudflag, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfactnm", "string", carecfactnm, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfactcd", "string", carecfactcd, n);
- dsf_makeValue(objDsxWardDrugListPath, "carecfact", "string", carecfact, n);
- dsf_makeValue(objDsxWardDrugListPath, "execprcpuniqno", "string", execprcpuniqno, n);
- dsf_makeValue(objDsxWardDrugListPath, "prcphistno", "string", prcphistno, n);
- dsf_makeValue(objDsxWardDrugListPath, "execdd", "string", execdd, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexecdd", "string", medrexecdd, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexectm", "string", medrexectm, n);
- dsf_makeValue(objDsxWardDrugListPath, "medrexistyn", "string", medrexistyn, n);
- dsf_makeValue(objDsxWardDrugListPath, "signno", "string", signno, n);
- dsf_makeValue(objDsxWardDrugListPath, "signflag", "string", signflag, n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec", "string", drugtmspec[n], n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspeccal", "string", drugtmspeccal[n], n);
-
- //-----------------------------------(20080605추가)
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec_recalc1", "string", drugtmspec_recalc1[n], n);
- dsf_makeValue(objDsxWardDrugListPath, "drugtmspec_recalc2", "string", drugtmspec_recalc2[n], n);
- dsf_makeValue(objDsxWardDrugListPath, "dispdd", "string", dispddarray[n], n);
- dsf_makeValue(objDsxWardDrugListPath, "disptm", "string", disptmarray[n], n);
-
- //-----------------------------------(20080802추가)
- dsf_makeValue(objDsxWardDrugListPath, "currentflag", "string", "", n); //현재시간반영여부
- dsf_makeValue(objDsxWardDrugListPath, "currentdd", "string", "", n); //현재시간체크후 설정된일자
- dsf_makeValue(objDsxWardDrugListPath, "currenttm", "string", "", n); //현재시간체크후 설정된시간
- //-----------------------------------
- //-----------------------------------(20081112추가)
- dsf_makeValue(objDsxWardDrugListPath, "execprcpvol", "string", execprcpvol, n); //exip의 용량
- dsf_makeValue(objDsxWardDrugListPath, "execprcpqty", "string", execprcpqty, n); //exip의 수량
- //-----------------------------------
- //-----------------------------------(20081211추가)
- dsf_makeValue(objDsxWardDrugListPath, "preantiyn", "string", preantiyn, n); //medr의 예방적항생제
- //-----------------------------------
-
- var querydd = ds_main_cond.getColumn(0, "orddd");
- if (dispddarray[n] == querydd || dispddarray[n] == getDateAddc(querydd, 1) ) {
- //////////////////////alert(dispddarray[n] + "/" + querydd + "/" + getDateAddc(querydd, 1));
- dispflagarray[n] = "Y";
- } else {
- dispflagarray[n] = "N";
- }
-
- dsf_makeValue(objDsxWardDrugListPath, "dispflag", "string", dispflagarray[n], n);
- //-----------------------------------(20080920)
- dsf_makeValue(objDsxWardDrugListPath, "todaydrug", "string", todaydrugtimes[n], n); //현재시간체크후 설정된시간
- //-----------------------------------
- dsf_makeValue(objDsxWardDrugListPath, "carebasedd", "string", carebasedd[n], n); //--(20081226)
- dsf_makeValue(objDsxWardDrugListPath, "carebasetm", "string", carebasetm[n], n); //--(20081226)
- //-----------------------------------
- //hidden자료->화면자료로 상세정보이동시 컬럼위치를 찾는 방법
- //
- //일자를 찾고, 시간대를 찾는다.
- //-----------------------------------
- //col_index = (grd_colcnt + isSearchArrayIndex(addCol_Array, drugtmspec[n]));
- //row별로 반영되는 컬럼위치 찾기
- var sGrdCap0 = utlf_transNullToEmpty(grd_title1 + sMeddays + "|" + grd_title2 + sMedtims).split("|");
- var sGrdCap1 = sGrdCap0[0].split("^"); //첫줄: 일자
- var sGrdCap2 = sGrdCap0[1].split("^"); //두번째줄: 시간대
-
- var tdispdd = ds_hidden_warddruginfo_warddruglist.getColumn(m, "dispdd"); //절대일자
- var tdisptm = ds_hidden_warddruginfo_warddruglist.getColumn(m, "disptm"); //절대시간대
-
- var tdispddyy = tdispdd.substr(0,4);
- var tdispddmm = tdispdd.substr(4,2);
- var tdispdddd = tdispdd.substr(6,2);
-
- tdispdd = tdispddmm + "/" + tdispdddd;
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr"+col_index)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarr"+col_index, "string");
- }
-
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(inst_cnt, "forarr"+col_index));
- timesch = fSetTimsSetting(utlf_transNullToEmpty(forarr).split(" ").length);
-
- //model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/carecfactnm" + col_index, timesch + carecfactnm);
-
- for( var j=0 ; j<2 ; j++ ){
- col_index ++;
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("times"+col_index)) ){
- ds_main_warddruginfo_warddruglist.addColumn("times"+col_index, "string");
- }
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarrcol"+col_index)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarrcol"+col_index, "string");
- }
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarrno"+col_index)) ){
- ds_main_warddruginfo_warddruglist.addColumn("forarrno"+col_index, "string");
- }
-
- if (j==0) {
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "times"+col_index, tdisptm);
- } else if(j ==1) {
- var daycnt = parseInt( drugtmspec_recalc2[n] / 2400);
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "times"+col_index, daycnt);
- }
- // else if(j==2) {
- // //model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/times" + col_index, execcarestatcd); //20090525 김홍점 상태는 보이지 않게.
- // }
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "forarr"+col_index, forarr+(n+1)+" ");
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "forarrcol"+col_index, (n+1)+" ");
- ds_main_warddruginfo_warddruglist.setColumn(inst_cnt, "forarrno"+col_index, j+" ");
- }
- //if (model.getValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/dispflag") == "Y") {
- // hiddenYN[col_index] = "false";
- //}
- }
- m++; //hidden의 row
- }
-
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "execprcpnoarr", "string", prcp_array, inst_cnt);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "prcphistnoarr", "string", prcphistno_array, inst_cnt);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "execuniqnoarr", "string", prcpuniqno_array, inst_cnt);
- inst_cnt++; //화면상의 row
- }
-
- ninst_cnt = inst_cnt;
-
- //---------------------------------------
- //조회조건의 (근무구분)에 대해서 자료 컬럼 중 근무시간에 해당하는 자료만 보이고 , 나머지는 숨김
- //---------------------------------------
- /*
- for(var a = grd_colcnt; a <= grd_colcnt + addCol_Cnt; a++){
- if(duty != "All"){//근무조건
- //dyty조건
- if(fCarec_JobTimeYN(sMedtims[a-grd_colcnt], duty) == "Y"){ //기준시간에서 Interval 시간계산(근무시간(D/E/N)
- grd_druglist.colhidden(a) = false;
- }else{
- grd_druglist.colhidden(a) = true;
- }
- }
- if(hiddenYN[a] == "true"){//투약일 조건
- grd_druglist.colhidden(a) = true;
- }
- }
- */
- //--------------------(20081031)확인 결과 위에서 속도를 차지함
- //컬럼 타이틀 변경
- //grd_druglist.caption = grd_title1 + sGrdCapDay + "|" + grd_title2 + sGrdCapTims;
- //투약 시간 셀 color 변경
- fDrugCellColorChg();
- //당일투약기준으로 화면의 자료 display를 재설정한다.(20080920)
- //fDrugCellDispChg();
- }
- //
- //function fAddBaseDrugTime_OLD(){
- //
- // var rows = grd_druglist.rows;
- // var tims = 0;
- // var drugtmspec = "";
- // var drugtms = "";
- // var sColCnt = grd_druglist.cols - grd_druglist.fixedcols - grd_colcnt;//시간 컬럼을 제외한 나머지 컬럼갯수 빼기(17)
- // var sGrdCap = "";
- // var prcpdd = model.getValue("/root/main/cond/orddd"); //처방일자(조회일)
- // var meddays = "";
- // var medtims = "";
- // var cnt = 0;
- // var sGrdCapDay = "";
- // var sGrdCapTims = "";
- // var execdd = "";
- // var temp_drugtms = "";
- // var temp_meddays = "";
- // var timsYN = false;
- // var daysYN = false;
- //
- // //그리드에 추가 할 컬럼 조사 및 정렬
- // for(var i = 1; i <= rows - 2; i++){
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + i + "]/drugtmspec");
- // tims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- // if(drugtmspec != ""){
- // for(var j = 1; j <= tims; j++){
- // drugtms = drugtmspec.split(" ");
- // temp_drugtms = drugtms[j-1]; //0900
- // temp_meddays = getDateAddc(prcpdd, parseInt(drugtms[j-1] / 2400)); //20080425
- //
- // timsYN = careIsSearchString(medtims, temp_drugtms); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- // daysYN = careIsSearchString(meddays, temp_meddays); //전체 문장에서 특정 문장이 있는지를 검사하는 함수
- //
- // //총컬럼갯수를 알기 위해서 전체 시간대를 찾는다.
- // if(timsYN == false || daysYN == false){
- // medtims += temp_drugtms + "^"; //전체 시간대
- // meddays += temp_meddays + "^"; //전체 일자
- // cnt++;
- // }
- // }
- // }
- // }
- //
- // addCol_Cnt = cnt;
- // var sMedtims = sortHashKeys(medtims, cnt); //시간대 문자열 정렬(오름차순)
- // var sMeddays = sortHashKeys(meddays, cnt); //일자 문자열 정렬(오름차순)
- //
- // var tempString = "";
- // sGrdCap = grd_druglist.caption.split("|");
- // //컬럼 숨김 계속 지정하기 위해...
- // fSelectOpenMoe(); //투약기록 그리드 기본/펼치기 모드 이벤트(뒤의 마지막필드5개 숨기기)
- //
- // var temp_tims = 0;
- // //컬럼추가
- // for(var k = 1; k <= cnt; k++){
- // grd_druglist.addColumn("ref:carecfactnm" + grd_druglist.cols + "; type:output; ", false);
- // grd_druglist.colWidth(grd_druglist.cols - 1) = 50;
- // tempString = sMeddays[k-1].toString();
- // addCol_Array[k-1] = sMedtims[k-1];
- // sGrdCapDay += tempString.substr(4,2) + "/" + tempString.substr(6,2) + "^";
- // temp_tims = sMedtims[k-1] % 2400;
- // temp_tims = Math.abs(Number(temp_tims)).toString();
- // temp_tims = fCarec_GetFillZeno(temp_tims, 4,0);
- // sGrdCapTims += temp_tims + "^";
- // }
- //
- // var inst_cnt = 1;
- // var tims = "";
- // var drugtmspec = "";
- // var prcphistno = "";
- // var execprcpno = "";
- // var execcarestatcd = "";
- // var iudflag = "";
- // var carecfact = "";
- // var carecfactcd = "";
- // var carecfactnm = "";
- // var medrexistyn = "";
- // var execprcpuniqno = "";
- // var execdd = "";
- // var prcpdd = ""
- // var exectm = "";
- // var signno = "";
- // var signflag = "";
- // var col_index = 0;
- // var forarr = "";
- // var prcphistno_array = "";
- // var prcpuniqno_array = "";
- // var prcp_array = "";
- // var drugtmspeccal = "";
- // var timesch = "";
- // var drugdd = model.getValue("/root/main/cond/orddd");
- // var tdrugdd = getDateAddc(drugdd, 1);
- // var duty = model.getValue("/root/main/cond/duty");
- // var calcdd = "";
- // var medrexecdd = "";
- // var medrexectm = "";
- // var hiddenYN = new Array;
- //
- // //------------------------------
- // //forarr : 자료존재 번호XML 태그
- // //------------------------------
- //
- // //////////////////////alert ("getNodesetCount(xWardDrugListPath):" + getNodesetCount(xWardDrugListPath) )
- // for(var x = 1; x <= getNodesetCount(xWardDrugListPath); x++){
- // //////////////////////alert("addCol_Array.length:" + addCol_Array.length);
- // for(var y = 0; y < addCol_Array.length; y++){
- // //////////////////////alert("y:" + xWardDrugListPath + "[" + x + "]/forarr" + (grd_colcnt + y));
- // model.makeValue(xWardDrugListPath + "[" + x + "]/forarr" + (grd_colcnt + y), "");
- // }
- // }
- //
- // //필드숨김기
- // for(var z = 0; z <= grd_colcnt + addCol_Cnt; z++){
- // hiddenYN[z] = "true";
- // }
- //
- // //------------------------------
- // //for : 자료존재 번호에 대한 상세 정보 XML 태그
- // //------------------------------
- // //인스턴스 맵핑
- // for(var m = 1; m <= getNodesetCount(xHiddenWardDrugPath); m){
- // tims = model.getValue(xHiddenWardDrugPath + "[" + m + "]/tims");
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/drugtmspec").split(" ");
- // drugtmspeccal = model.getValue(xWardDrugListPath + "[" + inst_cnt + "]/drugbasetmspec").split(" ");
- // for(var n = 0; n < tims; n++){
- // if(n == 0){
- // prcp_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcphistno_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // prcpuniqno_array = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // }else{
- // prcp_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcphistno_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // prcpuniqno_array += " " + model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // }
- // execprcpno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpno");
- // prcpdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcpdd");
- // execcarestatcd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execcarestatcd");
- // carecfact = model.getValue(xHiddenWardDrugPath + "[" + m + "]/carecfact");
- // carecfactcd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/carecfactcd");
- // execprcpuniqno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execprcpuniqno");
- // medrexistyn = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexistyn");
- // prcphistno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/prcphistno");
- // execdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/execdd");
- // exectm = model.getValue(xHiddenWardDrugPath + "[" + m + "]/exectm");
- // signno = model.getValue(xHiddenWardDrugPath + "[" + m + "]/signno");
- // signflag = model.getValue(xHiddenWardDrugPath + "[" + m + "]/signflag");
- // medrexecdd = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexecdd");
- // medrexectm = model.getValue(xHiddenWardDrugPath + "[" + m + "]/medrexectm");
- // if(medrexistyn == "Y"){
- // iudflag = "-";
- // }else if(medrexistyn == "N"){
- // iudflag = "";
- // }
- // if(iudflag == "-" && signflag == "N"){
- // carecfactnm = model.getValue("/root/init/M0381list/M0381[cdid ='" + carecfactcd + "']/cdnm") + " " + carecfact;
- // }else{
- // carecfactnm = model.getValue("/root/init/M0381list/M0381[cdid ='" + carecfactcd + "']/cdnm") + " " + carecfact;
- // }
- // //인스턴스 정보 set
- // if(drugtmspec[n] != "" && drugtmspec!= ""){
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]", "");
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execprcpno", execprcpno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execcarestatcd", execcarestatcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/pastexeccarestatcd", execcarestatcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/iudflag", iudflag);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfactnm", carecfactnm);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfactcd", carecfactcd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/carecfact", carecfact);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execprcpuniqno", execprcpuniqno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/prcphistno", prcphistno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/execdd", execdd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexecdd", medrexecdd);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexectm", medrexectm);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/medrexistyn", medrexistyn);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/signno", signno);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/signflag", signflag);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/drugtmspec", drugtmspec[n]);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt+ "]/for[" + (n+1) + "]/drugtmspeccal", drugtmspeccal[n]);
- //
- // col_index = (grd_colcnt + isSearchArrayIndex(addCol_Array, drugtmspec[n]));
- // forarr = model.getValue(xWardDrugListPath + "[" + inst_cnt+ "]/forarr" + col_index);
- //
- // timesch = fSetTimsSetting(forarr.split(" ").length);
- //
- // model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/carecfactnm" + col_index, timesch + carecfactnm);
- // model.setValue(xWardDrugListPath + "[" + inst_cnt+ "]/forarr" + col_index, forarr + (n+1) + " ");
- //
- // calcdd = getDateAddc(drugdd, parseInt(drugtmspec[n] / 2400));
- // if(calcdd == drugdd ||
- // prcpdd == drugdd && calcdd == tdrugdd){
- // hiddenYN[col_index] = "false";
- // }
- // }
- // m++;
- // }
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/execprcpnoarr", prcp_array);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/prcphistnoarr", prcphistno_array);
- // model.makeValue(xWardDrugListPath + "[" + inst_cnt + "]/execuniqnoarr", prcpuniqno_array);
- // inst_cnt++;
- // }
- //
- // //조회조건의 (근무구분)에 대해서 자료 컬럼 중 근무시간에 해당하는 자료만 보이고 , 나머지는 숨김
- // for(var a = grd_colcnt; a <= grd_colcnt + addCol_Cnt; a++){
- // if(duty != "All"){//근무조건
- // //dyty조건
- // if(fCarec_JobTimeYN(sMedtims[a-grd_colcnt], duty) == "Y"){ //기준시간에서 Interval 시간계산(근무시간(D/E/N)
- // grd_druglist.colhidden(a) = false;
- // }else{
- // grd_druglist.colhidden(a) = true;
- // }
- // }
- // if(hiddenYN[a] == "true"){//투약일 조건
- // grd_druglist.colhidden(a) = true;
- // }
- // }
- //
- //// //컬럼 타이틀 변경
- //// grd_druglist.caption = grd_title1 + sGrdCapDay + "|" + grd_title2 + sGrdCapTims;
- //
- // //투약 시간 셀 color 변경
- // fDrugCellColorChg();
- //}
- function fSetTimsSetting(len){
- if(len == 1){
- //return ①;
- return '';
- }else if(len == 2){
- return '②';
- }else if(len == 3){
- return '③';
- }else if(len == 4){
- return '④';
- }else if(len == 5){
- return '⑤';
- }else if(len == 6){
- return '⑥';
- }else if(len == 7){
- return '⑦';
- }else if(len == 8){
- return '⑧';
- }else{}
- return '';
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Mix선택 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingMix(){
- var row = group3.grd_druglist.currentrow;
- var col = "";
- var tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- var orgprcpclscd = ds_main_warddruginfo_warddruglist.getColumn(row, "orgprcpclscd");
- var drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec");
- var prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpmixno");
- var mixflag = true;
-
- //-----------(20080924)
- //mixno cancel은 fSettingMixCancle에서 처리한다.
- if( utlf_isNull(prcpmixno) ) return;
- //-----------(20080924)
-
- if( utlf_isNull(drugtmspec) ){
- sysf_messageBox("기준시간을 ","C001");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- group3.grd_druglist.setCellPos(4);
- return;
- }
- if(orgprcpclscd != "A6"){
- sysf_messageBox("주사/수액만 Mix 할 수 있습니다.","C999");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- group3.grd_druglist.setCellPos(4);
- return;
- }
- for( var i=0 ; i<row ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno") == prcpmixno &&
- ds_main_warddruginfo_warddruglist.getColumn(i, "tims") != tims ){
- mixflag = false;
- }
- }
- if(mixflag == true){
- for( var j=0 ; j<eval(xWardDrugListPath+row+"for").rowcount ; j++ ){
- //#n개가 있어도 처음exip에만 mixno를 넣고 있군.0925 --> 이상하군..이때는 그렇던것 같던데...음.~~~
- //#n개가 있으면 전부 반영하네.....(20081223)
- fChangeValueStatus(row, j);
- ds_main_warddruginfo_warddruglist.rowposition = row+1;
- }
- }else if(mixflag == false){
- sysf_messageBox("횟수가 동일한 처방만 Mix 할 수 있습니다.","C999");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- group3.grd_druglist.setCellPos(4);
- }else{}
- ////////////////alert("mixno기록");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Mix취소 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSettingMixCancle(){
- ////////////////alert("mixno삭제1");
- var row = group3.grd_druglist.currentrow;
- var drugtmspec = ds_main_warddruginfo_warddruglist.getColumn(row, "drugtmspec").split(" ");
- var tims = ds_main_warddruginfo_warddruglist.getColumn(row, "tims");
- ds_main_warddruginfo_warddruglist.setColumn(row, "prcpmixno", "");
- group3.grd_druglist.setCellPos(4);
- for( var i=0 ; i<eval(xWardDrugListPath+row+"for").rowcount ; i++ ){
- fChangeValueStatus(row, i);
- }
- ////////////////alert("mixno삭제2");
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Remark등록
- * @param :
- * @return :
- * @---------------------------------------------------
- */
-
- //변경없음
- function fSetRemarkReg(){
- var rows = grd_druglist.rows;
- var drugtmspec = "";
- var tims = "";
- var col = "";
- var row = "";
- var cnt = 0;
- var execcarestatcd = "";
- var forarr = "";
- var timesch = "";
-
- for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- col = grd_druglist.selectedCells.item(i).col;
- row = grd_druglist.selectedCells.item(i).row -1;
- drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
-
- if(forarr != ""){
- for(var j = 0; j < forarr.length-1; j++){
- execcarestatcd = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd");
- if(execcarestatcd == "" || execcarestatcd == "N"){
- messageBox("미확인 상태에서는 Remark등록을 ","E001");
- return;
- }else{
- cnt++;
- }
- }
- }
-
- }
-
- if(cnt == 0){
- messageBox("Remark등록할 범위를 정확히","C002");
- return;
- }
-
- var inst_row = grd_druglist.row - 1;
- var grd_row = grd_druglist.row;
- var grd_col = grd_druglist.col;
- var setRemarkInfo = "";
- if(cnt == 1){
- sRemarkIndex = model.getValue(xWardDrugListPath +"[" + inst_row + "]/forarr" + grd_col);
- setRemarkInfo = model.instances(0).selectNodes(xWardDrugListPath + "[" + inst_row + "]/for[" + sRemarkIndex + "]");
- setParameter("SPMNR03400_param", getNodeListCSV(setRemarkInfo));
- }else{
- setParameter("SPMNR03400_param1", "");
- setParameter("SPMNR03400_param2", "");
- }
- modal("SPMNR03400");
- var carecfactcd = getParameter("SPMNR03400_RtnParam1"); //간호사REMARK(상용REMARK코드)
- var carecfact = getParameter("SPMNR03400_RtnParam2"); //간호전달사항(REMARK직접입력)
- var carecfactnm = getParameter("SPMNR03400_RtnParam3"); //상용REMARK코드의 명칭+REMARK직접입력사항
- var paramYN = getParameter("SPMNR03400_RtnParamYN"); //리턴 여부
-
- setParameter("SPMNR03400_RtnParam1", "");
- setParameter("SPMNR03400_RtnParam2", "");
- setParameter("SPMNR03400_RtnParam3", "");
- setParameter("SPMNR03400_RtnParamYN", "");
- if(paramYN == "Y"){
-
- //------------(20081205)
- toprow = grd_druglist.toprow;
- toprowflag = "Y";
- //------------(20081205)
-
- for(var k = 0; k < grd_druglist.selectedCells.length; k++){
-
- col = grd_druglist.selectedCells.item(k).col;
- row = grd_druglist.selectedCells.item(k).row -1;
- drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
- timesch = fSetTimsSetting(forarr.length-1); //????
-
- if(forarr != ""){
- for(var l = 0; l < forarr.length-1; l++){
- //---------------(20081211)
- //예방적항생제
- var preantiyn = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/preantiyn");
- var preantimsg = "예방적항생제";
-
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactcd", carecfactcd);
-
- if (preantiyn == "Y") { //예방적항생제인경우
- carecfactnm = fnReplace(carecfactnm,preantimsg,'');
- carecfact = fnReplace(carecfact,preantimsg,'');
-
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactnm", carecfactnm + " " + preantimsg);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfact", carecfact + " " + preantimsg);
- model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, timesch + carecfactnm + " " + preantimsg);
- } else {
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactnm", carecfactnm);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfact", carecfact);
- model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, timesch + carecfactnm);
- }
- //---------------(20081211)
-
- //입력/수정 상태값 변경
- fChangeValueStatus(row, forarr[l]);
- }
- }
- }
- }
-
- grd_druglist.row = 1;
- //------------------(20081205)
- if (toprowflag == "Y") {
- if (grd_druglist.rows > toprow) {
- grd_druglist.toprow = toprow;
- }
- toprowflag = "N";
- }
- //------------------(20081205)
- model.refresh();
- }
- //function fSetRemarkReg_OLD(){
- // var rows = grd_druglist.rows;
- // var drugtmspec = "";
- // var tims = "";
- // var col = "";
- // var row = "";
- // var cnt = 0;
- // var execcarestatcd = "";
- // var forarr = "";
- // var timesch = "";
- // for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- // col = grd_druglist.selectedCells.item(i).col;
- // row = grd_druglist.selectedCells.item(i).row -1;
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- // tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- // forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
- // if(forarr != ""){
- // for(var j = 0; j < forarr.length-1; j++){
- // execcarestatcd = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd");
- // if(execcarestatcd == "" || execcarestatcd == "N"){
- // messageBox("미확인 상태에서는 Remark등록을 ","E001");
- // return;
- // }else{
- // cnt++;
- // }
- // }
- // }
- // }
- // if(cnt == 0){
- // messageBox("Remark등록할 범위를 정확히","C002");
- // return;
- // }
- // var inst_row = grd_druglist.row - 1;
- // var grd_row = grd_druglist.row;
- // var grd_col = grd_druglist.col;
- // var setRemarkInfo = "";
- // if(cnt == 1){
- // sRemarkIndex = model.getValue(xWardDrugListPath +"[" + inst_row + "]/forarr" + grd_col);
- // setRemarkInfo = model.instances(0).selectNodes(xWardDrugListPath + "[" + inst_row + "]/for[" + sRemarkIndex + "]");
- // setParameter("SPMNR03400_param", getNodeListCSV(setRemarkInfo));
- // }else{
- // setParameter("SPMNR03400_param1", "");
- // setParameter("SPMNR03400_param2", "");
- // }
- // modal("SPMNR03400");
- // var carecfactcd = getParameter("SPMNR03400_RtnParam1");
- // var carecfact = getParameter("SPMNR03400_RtnParam2");
- // var carecfactnm = getParameter("SPMNR03400_RtnParam3");
- // var paramYN = getParameter("SPMNR03400_RtnParamYN");
- // setParameter("SPMNR03400_RtnParam1", "");
- // setParameter("SPMNR03400_RtnParam2", "");
- // setParameter("SPMNR03400_RtnParam3", "");
- // setParameter("SPMNR03400_RtnParamYN", "");
- //
- // if(paramYN == "Y"){
- // for(var k = 0; k < grd_druglist.selectedCells.length; k++){
- // col = grd_druglist.selectedCells.item(k).col;
- // row = grd_druglist.selectedCells.item(k).row -1;
- // drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/drugtmspec").split(" ");
- // tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- // forarr = model.getValue(xWardDrugListPath + "[" + row + "]/forarr" + col).split(" ");
- // timesch = fSetTimsSetting(forarr.length-1);
- // if(forarr != ""){
- // for(var l = 0; l < forarr.length-1; l++){
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactcd", carecfactcd);
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfactnm", carecfactnm);
- // model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[l] + "]/carecfact", carecfact);
- // model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, timesch + carecfactnm);
- //
- // //입력/수정 상태값 변경
- // fChangeValueStatus(row, forarr[l]);
- // }
- // }
- // }
- // }
- // grd_druglist.row = 1;
- // model.refresh();
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기준시간 변경
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //warddruginfo에는 정보가 부분만 있음(마스타정보와,상세중1첫번째 자료만 넘긴다)
- function fSetDrugBaseTime(){
-
- var inst_row= grd_druglist.row - 1;
- var rows = grd_druglist.rows;
- var cols = grd_druglist.cols;
- var tims = 0;
- var count = 0;
-
- //---------------(20080912)
- var calctims = 0;
- //---------------(20080912)
-
- //임시INSTANCE제거
- model.removeNodeSet("/root/temp/warddruginfo/warddruglist");
- baseCol_Array = new Array;
-
- if(grd_druglist.selectedCells.length > 0){
- tims = model.getValue(xWardDrugListPath + "[" + (grd_druglist.selectedCells.item(0).row -1) + "]/tims");
- //---------------(20080912)
- calctims = model.getValue(xWardDrugListPath + "[" + (grd_druglist.selectedCells.item(0).row -1) + "]/calctims");
- //---------------(20080912)
- //횟수가 동일한 처방만 추출
- for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- row = grd_druglist.selectedCells.item(i).row -1;
-
- if(tims == model.getValue(xWardDrugListPath +"[" + row + "]/tims")){
- //-----------------(20080912)
- if(calctims == model.getValue(xWardDrugListPath +"[" + row + "]/calctims")){
- if(!isSearchArrayString(baseCol_Array, row)){
- baseCol_Array[baseCol_Array.length] = row;
- //xWardDrugListPath +"[" + row + "]" ==> "/root/temp/warddruginfo"
- model.duplicate("/root/temp/warddruginfo", xWardDrugListPath +"[" + row + "]");
- }
- } else {
- messageBox("외용제끼리 별도로 처리하십시오","I9999");
- return;
- }
- //-----------------(20080912)
- }else{
- messageBox("횟수가 동일한 처방만 동시에 기준시간을 변경할 수 있습니다.","I9999");
- return;
- }
- for(var j = 1; j <= getNodesetCount(xWardDrugListPath + "[" + row + "]/for"); j++){
- //---------(20081211)
- //예방적항생제인 경우를 생각해봐야 할것 같음(미확인이나 저장을 해야하는 경우가 있는것임)
- if(model.getValue(xWardDrugListPath + "[" + row + "]/for[" + j + "]/medrexecdd") != "00000000"){
- count++;
- }
- //---------(20081211)
- }
- }
- }
- if(getNodesetCount("/root/temp/warddruginfo/warddruglist") == 1){
- //-----------------(20080912)
- if(count == model.getValue("/root/temp/warddruginfo/warddruglist/tims")){
- messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- return;
- } else if(count == model.getValue("/root/temp/warddruginfo/warddruglist/calctims")){
- //외용제는 caletims가 무조건 1이고 , tims은 1회이상일수 있다.
- messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- return;
- }
- //-----------------(20080912)
- }else if(getNodesetCount("/root/temp/warddruginfo/warddruglist") > 1){
- if(count > 0){
- messageBox("선택한 처방 중 이미 기록된 내용이 있어 함께 변경할 수","I004");
- return;
- }
- }
- //기준시간 변경하기 전 변경된 내용을 저장
- if(fChangeDrugInfo() == "true"){
- messageBox("변경된 내용을 저장 후 진행하세요.","I9999");
- return;
- }
-
- //변경된 시간은 넘어가지 않음(문제점)
- //warddruginfo에는 화면에 보여줄 자료만 있으므
- var setDrugBaseTimeList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist");
- var setDrugBaseTimeDetlList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist/for");
-
- setParameter("SPMNR03300_param1", getNodeListCSV(setDrugBaseTimeList));
- setParameter("SPMNR03300_param2", getNodeListCSV(setDrugBaseTimeDetlList));
- //------------(20081205)
- toprow = grd_druglist.toprow;
- toprowflag = "Y";
- //------------(20081205)
-
- modal("SPMNR03300");
- var RtnParamYN = getParameter("SPMNR03300_RtnParamYN");
-
- fClickDrugListBefore(); //------------(20081031)
- if(RtnParamYN == "Y"){
-
- if(screen_mode == "pat"){
- fClickDrugList(screen_mode, grd_patlist.row);
- }else if(screen_mode == "act"){
- fClickDrugList(screen_mode, grd_actlist.row);
- }
- }
- fClickDrugListAfter(); //------------(20081031)
- //------------------(20081205)test중
- //fClickDrugListAfter 모듈안에 아래의 기능이 있음
- //if (toprowflag == "Y") {
- // if (grd_druglist.rows > toprow) {
- // grd_druglist.toprow = toprow;
- // }
- // toprowflag = "N";
- //}
- //model.refresh();
- //------------------(20081205)
-
- setParameter("SPMNR03300_param", "");
- setParameter("SPMNR03300_RtnParamYN", "");
- }
- //function fSetDrugBaseTime_OLD(){
- //
- // var inst_row = grd_druglist.row - 1;
- // var rows = grd_druglist.rows;
- // var cols = grd_druglist.cols;
- // var tims = 0;
- // var count = 0;
- //
- // model.removeNodeSet("/root/temp/warddruginfo/warddruglist");
- // baseCol_Array = new Array;
- //
- // if(grd_druglist.selectedCells.length > 0){
- // tims = model.getValue(xWardDrugListPath + "[" + (grd_druglist.selectedCells.item(0).row -1) + "]/tims");
- // for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- // row = grd_druglist.selectedCells.item(i).row -1;
- // if(tims == model.getValue(xWardDrugListPath +"[" + row + "]/tims")){
- // if(!isSearchArrayString(baseCol_Array, row)){
- // baseCol_Array[baseCol_Array.length] = row;
- // model.duplicate("/root/temp/warddruginfo", xWardDrugListPath +"[" + row + "]");
- // }
- // }else{
- // messageBox("횟수가 동일한 처방만 동시에 기준시간을 변경할 수 있습니다.","I9999");
- // return;
- // }
- // for(var j = 1; j <= getNodesetCount(xWardDrugListPath + "[" + row + "]/for"); j++){
- // if(model.getValue(xWardDrugListPath + "[" + row + "]/for[" + j + "]/medrexecdd") != "00000000"){
- // count++;
- // }
- // }
- // }
- // }
- // if(getNodesetCount("/root/temp/warddruginfo/warddruglist") == 1){
- // if(count == model.getValue("/root/temp/warddruginfo/warddruglist/tims")){
- // messageBox("실시가 마무리 된 처방은 기준시간을 변경할 수","I004");
- // return;
- // }
- // }else if(getNodesetCount("/root/temp/warddruginfo/warddruglist") > 1){
- // if(count > 0){
- // messageBox("선택한 처방 중 이미 기록된 내용이 있어 함께 변경할 수","I004");
- // return;
- // }
- // }
- // //기준시간 변경하기 전 변경된 내용을 저장
- // if(fChangeDrugInfo() == "true"){
- // messageBox("변경된 내용을 저장 후 진행하세요.","I9999");
- // return;
- // }
- // var setDrugBaseTimeList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist");
- // var setDrugBaseTimeDetlList = model.instances(0).selectNodes("/root/temp/warddruginfo/warddruglist/for");
- // setParameter("SPMNR03300_param1", getNodeListCSV(setDrugBaseTimeList));
- // setParameter("SPMNR03300_param2", getNodeListCSV(setDrugBaseTimeDetlList));
- // modal("SPMNR03300");
- // var RtnParamYN = getParameter("SPMNR03300_RtnParamYN");
- // if(RtnParamYN == "Y"){
- // if(screen_mode == "pat"){
- // fClickDrugList(screen_mode, grd_patlist.row);
- // }else if(screen_mode == "act"){
- // fClickDrugList(screen_mode, grd_actlist.row);
- // }
- // }
- // setParameter("SPMNR03300_param", "");
- // setParameter("SPMNR03300_RtnParamYN", "");
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미확인(Acting 취소)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetNurseConfrim(){
- fSetDrug("N");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2008.12.01
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미확인(예방적항생제)(Acting 취소)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //20081201
- function fSetNurseConfrimPreAnti(){
- fSetDrug("M");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugActing(){
- fSetDrug("R");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약X 반환가능
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRtnPosActing(){
- fSetDrug("P");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약X 반환불가
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetRtnImposActing(){
- fSetDrug("I");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 퇴원당일 남은약
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetLeaveRemain(){
- fSetDrug("L");
- grd_druglist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Acting이벤트시 공통 함수
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrug(actingflag){
- var rows = grd_druglist.rows;
- var tims = "";
- var drugtmspec = "";
- var col = "";
- var row = "";
- var dccomcountyn = "";
- var messageyn = "N";
- var messageactyn = "N";
- var prnmessageyn = "N";
- var medrexecdd = "";
- var medrexectm = "";
- var prcpdd = "";
- var for_arr = "";
- var cell_color = "";
- var careprnexecflag = "";
-
- //그리드에서 선택상태인 셀들의 collection 객체를 반환하는 속성이다
- for(var i = 0; i < grd_druglist.selectedCells.length; i++){
- col = grd_druglist.selectedCells.item(i).col;
- row = grd_druglist.selectedCells.item(i).row -1;
- cell_color = grd_druglist.cellstyle("background-color",row+1,col);
- forarr = model.getValue(xWardDrugListPath + "[" + row+ "]/forarr" + col).split(" ");
- tims = model.getValue(xWardDrugListPath + "[" + row + "]/tims");
- dccomcountyn = model.getValue(xWardDrugListPath + "[" + row + "]/dccomcountyn");
- prcpdd = model.getValue(xWardDrugListPath + "[" + row + "]/prcpdd");
-
- //-----------(20081011)
- //prcpdd = model.getValue(xWardDrugListPath + "[" + row + "]/prcpdd");
- var prcphopedd = model.getValue(xWardDrugListPath + "[" + row + "]/prcphopedd");
- //-----------(20081011)
- careprnexecflag = model.getValue(xWardDrugListPath + "[" + row + "]/careprnexecflag");
- //--------------------------------------------------------------------------(20080913)
- var sdrughang = model.getValue(xWardDrugListPath + "[" + row + "]/prcpkindnm")
- var prcphistcd = model.getValue(xWardDrugListPath + "[" + row + "]/prcphistcd")
- var sdrughangflag = "";
- if ( sdrughang.indexOf('항암') != -1 ) {
- sdrughangflag = "Y"; //항암
- } else {
- sdrughangflag = "N";
- }
- //////////////////////alert(actingflag + ":" + sdrughang + ":" + sdrughangflag + ":" +prcphistcd);
- //항암프로토콜로 발생된 것은 검정색 D/C인 경우만 반환가능을 지정할수 있다.
- if(sdrughangflag == "Y" && actingflag == "P" && prcphistcd != "D" && prcphistcd != "E" ){
- if(messageyn == "N"){
- messageBox("항암 처방은 의사D/C이전에는 투약X 반환가능을 지정 할 수","I004");
- messageyn = "Y";
- }
- } else if(careprnexecflag == "P" && (actingflag == "P" || actingflag == "L")){ //prn처방에 대한 action시
- //if(careprnexecflag == "P" && (actingflag == "P" || actingflag == "L")){ //prn처방에 대한 action시
- //--------------------------------------------------------------------------(20080913)
- if(prnmessageyn == "N"){
- messageBox("PRN 처방은 투약X 반환가능, 퇴원당일 남은약을 지정 할 수","I004");
- prnmessageyn = "Y";
- }
- }else if(dccomcountyn == "Y" && cell_color != "white"){
- if(messageyn == "N"){
- messageBox("D/C확정된 처방은 변경 할 수","I004");
- messageyn = "Y";
- }
- }else if(dccomcountyn == "N" && cell_color != "white"){
- for(var j = 0; j < forarr.length-1; j++){
- if(forarr[j] != ""){
- if(actingflag == model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd")){
- if(messageactyn == "N"){
- messageBox("동일한 투약기록을 할 수","I004");
- messageactyn = "Y";
- }
- }else{
- if(actingflag == "R"){
- grd_druglist.cellstyle("background-color",row+1,col) = yellow;
- }else if(actingflag == "P"){
- grd_druglist.cellstyle("background-color",row+1,col) = yellowishgreen;
- }else if(actingflag == "I"){
- grd_druglist.cellstyle("background-color",row+1,col) = red;
- }else if(actingflag == "L"){
- grd_druglist.cellstyle("background-color",row+1,col) = sky;
-
- //-------------(20081211)
- }else if(actingflag == "N"){
- //색상
- grd_druglist.cellstyle("background-color",row+1,col) = gray;
- //주석
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfactnm", "");
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfactcd", "");
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfact", "");
- model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, "");
- //flag
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/preantiyn", "N");
- }else if(actingflag == "M"){
- var preantimsg = "예방적항생제";
- //색상
- grd_druglist.cellstyle("background-color",row+1,col) = orange;
- //주석
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfactnm", preantimsg);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfactcd", "");
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/carecfact", preantimsg);
- model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, preantimsg);
- //flag
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/preantiyn", "Y");
- //-------------(20081211)
- }else{}
- //입력/수정 상태값 변경
- fChangeValueStatus(row, forarr[j]);
-
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/execcarestatcd", actingflag);
- //----------(20081211)확인중
- //미확인 또는 예방적항생제(미확인) : 둘다 미확인임으로 투약기록일자/시간정보 clear
- if(actingflag == "N" || actingflag == "M" ){
- //----------(20081211)
- medrexecdd = "00000000";
- medrexectm = "0000";
- }else{
- if(model.getValue("/root/main/cond/acttimeflag") == "true"){
- medrexecdd = model.getValue("/root/main/cond/currentday");
- medrexectm = model.getValue("/root/main/cond/currenttime");
-
- //-------------------------------(20080802)
- //////////////////////alert(medrexectm);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/currentflag", "Y");
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/currentdd", medrexecdd);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/currenttm", medrexectm);
- //model.setValue(xWardDrugListPath + "[" + row + "]/carecfactnm" + col, medrexectm); //현재시간설정여부알림(화면상만)
- //-------------------------------
-
- }else{
-
- drugtmspec = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/drugtmspeccal");
-
- ////////////alert("drugtmspec:" + drugtmspec);
- //-------------(20081011)
- //medrexecdd = getDateAddc(prcpdd, parseInt(drugtmspec / 2400)); //처방발생일
- medrexecdd = getDateAddc(prcphopedd, parseInt(drugtmspec / 2400)); //처방희망일
- //-------------(20081011)
- medrexectm = Number(drugtmspec) % 2400;
- medrexectm = fCarec_GetFillZeno(Math.abs(Number(medrexectm)), 4,0);
-
- ////////////alert("medrexecdd:" + medrexecdd + "/" + medrexectm);
- }
- }
- //-------------(20080731)test:정상
- //////////////////////alert("일자----------:" + medrexecdd + "/ 시간:" + medrexectm);
- //-------------(20080731)
-
- //--------------------------(20080731)TEST중
- //미투약리스트에서 과거를 선택하고 현재시각으로 하면 어떻게 되야 하는건가요?
- //시간대를 읽어서 다시 생성하는 로직
- //--------------------------
- /*
- var tempTimet = "";
- var tempTimej = "";
-
- if(actingflag == "N"){
- }else{
- if(model.getValue("/root/main/cond/acttimeflag") == "true"){
- //-----------
- var tempforarr = getNodesetCount(xWardDrugListPath + "[" + row + "]/for");
-
- ////////////////////alert("1:"+ tempforarr+ "/" + forarr[j]);
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/drugtmspeccal",medrexectm);
-
- for(var t = 1; t <= tempforarr; t++){
- ////////////////////alert("2:"+t);
- tempTimej = model.getValue(xWardDrugListPath + "[" + row + "]/for[" + t + "]/drugtmspeccal");
- if (t == tempforarr) {
- tempTimet += tempTimej
- } else {
- tempTimet += tempTimej + " ";
- }
- ////////////////////alert("3:"+tempTimet);
- }
- ////////////////////alert ("시간대:" + tempTimet);
- //-----------
- }else{
- }
- }
- */
- //--------------------------
-
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/medrexecdd", medrexecdd);
- if(medrexectm != ""){
- model.setValue(xWardDrugListPath + "[" + row + "]/for[" + forarr[j] + "]/medrexectm", medrexectm + "00");
- }
- }
- }
- }
- }else{}
- }
- //-----------(20081121:test) grd_druglist.row = 1;가 있는데, 막고 테스트 진행함)
- //grd_druglist.row = 1;
- //숨겨진필드로 이동한다.
- grd_druglist.select(grd_druglist.row,grd_druglist.colref("engnm")) = true;
- grd_druglist.col = grd_druglist.colref("engnm");
- //-----------(20081121)
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 시간별 일괄 투약(기존Acting이 없을 경우만...)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetDrugAllActing(drugstat){
- return; //-----------(20081226)
-
- var rows = grd_druglist.rows;
- var col = grd_druglist.mouseCol;
- //for(var i = 2; i <= rows-1; i++ ){
- grd_druglist.select(2, col, rows-1, col) = true;
- //}
- fSetDrug(drugstat);
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 내용 저장
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickSave(signflagyn){
- //-------------(20081121)
- toprow = group3.grd_druglist.vscrollbar.pos;
- toprowflag = "Y";
- //-------------(20081121)
- //--------------------------(20080627)
- //상단에 정보가 없이 투약기록을 연다.
- //그러면 투약기록에서 환자선택시 상단으로 올리고
- //저장전에 다시 한번 내린다.
- //-------------------------------------
- //상단정보가 없을경우 인증저장시 오류
- //var signgenrflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- //java.sql.SQLException: ORA-01400: NULL을 ("EMR"."MRIMESPI"."SIGNGENRFLAG") 안에 삽입할 수 없습니다
- //himed.his.emr.emrreclib.elctcert.dao.ElctCertMngtDAOImpl.insElctCertInfo() at line 128 in ElctCertMngtDAOImpl.java
- /*
- var tempioflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- if ( tempioflag == "" ) {
- // 환자정보 조회
- var tempPamInfo = getGlobalVariable("paminfo");
- setCSVToNode("/root/main/paminfo",tempPamInfo,"pamlist"); //환자정보내리기
- //messageBox("상단정보가 존재하지 않습니다.저장할 수 없습니다.","E999");
- //return;
- }
- tempioflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- */
- //------------------(20080917)
- //상단정보를 이용하지 않고, 환자리스트에서 ordtype를 이용한다.(20080721)
- /*
- if ( grd_patlist.row <= 0 ) {
- messageBox("환자를 선택하십시오 ","E999");
- return;
- }
- var tempioflag = model.getValue(xWardPatListPath + "[" + grd_patlist.row + "]/ordtype");
- if ( tempioflag == "" ) {
- messageBox("원무정보를 확인하십시오 ","E999");
- return;
- }
- */
- var pGrdTemp = "";
- var temppatlistPath = ""; //0929
- //var xWardPatListPath = "/root/main/wardpatinfo/wardpatlist";
- //var xWardActListPath = "/root/main/wardactinfo/wardactlist";
- if(screen_mode == "pat"){
- pGrdTemp = group3.swtpatList.pat.grd_patlist;
- temppatlistPath = eval(xWardPatListPath); //0929
-
- }else if(screen_mode == "act"){
- pGrdTemp = group3.swtpatList.act.grd_actlist;
- temppatlistPath = eval(xWardActListPath); //0929
- }
- if ( pGrdTemp.currentrow < 0 ) {
- sysf_messageBox("환자를 선택하십시오 ","E999");
- return;
- }
- var tempioflag = temppatlistPath.getColumn(pGrdTemp.currentrow, "ordtype"); //0929
-
- ////////////////alert( pGrdTemp.caption +"/"+ pGrdTemp.row +"/"+tempioflag ) ; //0924
-
- if( utlf_isNull(tempioflag) ){
- sysf_messageBox("원무정보를 확인하십시오 ","E999");
- return;
- }
- //------------------(20080917)
-
-
- var rows = group3.grd_druglist.rowcount;
- var drugtmspec = "";
- var carebasetmspec = "";
- var tims = "";
- var iudflag = "";
- var inst_cnt = 0;
- var prcpdd = "";
- var prcpno = "";
- var prcphistno = "";
- var execprcpno = "";
- var carertnyn = "";
- var execprcptims = "";
- var pid = "";
- var indd = "";
- var cretno = "";
- var prcpvol = "";
- var fluidflag = "";
- var mixno = "";
- var mixyn = "";
- var carecfact = "";
- var carecfactcd = "";
- var carecfactnm = "";
- var carebasedd = "";
- var carebasetm = "";
- var execcarestatcd = "";
- var pastexeccarestatcd = "";
- var prcpcd = "";
- var carebasetmspec = "";
- var execprcpuniqno = "";
- var acttimeflag = ds_main_cond.getColumn(0, "acttimeflag");
- var currentday = ds_main_cond.getColumn(0, "currentday");
- var currenttime = ds_main_cond.getColumn(0, "currenttime");
- var execdd = "";
- var exectm = "";
- var prcpclscd = "";
- var drugrateqty = "";
- var spcldrug = "";
- var signno = "";
- var recdd = utlf_getCurrentDate();
- var rectm = utlf_getCurrentTime();
- var recsaveflag = "N";
- var signflag = "02";
- //---------------------------(20080721)
- //상단정보를 이용하지 않고 환자리스트정보를 이용한다.
- //var signgenrflag = model.getValue("/root/main/paminfo/pamlist/ioflag");
- var signgenrflag = tempioflag;
- //---------------------------
- var formcd = "0000002476";
- var orddeptcd = "";
- var orddrid = "";
- var patnm = "";
- var medrexecdd = "";
- var medrexectm = "";
- var prcpkindnm = "";
- var orddrnm = "";
- var prcpnm = "";
-
- //-----------------(20080802)
- var currentflag = "";
- var currentdd = "";
- var currenttm = "";
- //-----------------(20080802)
-
- //-----------------(20081211)
- var preantiyn = "";
- //-----------------(20081211)
- //-----------------(20081226)
- var carebasedd = "";
- var carebasetm = "";
- //-----------------(20081226)
- //-------------------(20080820)
- //저장전 사전 체크기능
- ds_send_savedata_drugreportinfo.clearData();
-
- //---------(20081203)
- //for(var i = 1; i < rows; i++){
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- //---------
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- iudflag = objDsxWardDrugListPath.getColumn(j, "iudflag");
- signflag = objDsxWardDrugListPath.getColumn(j, "signflag");
- if((iudflag == "I") ||
- (iudflag == "U") ||
- (iudflag == "-" && signflagyn == "Y" && signflag == "N")){//임시저장한 상태에서 수정없이 인증저장하는 경우
-
- //--------------------
- //node에 해당하는 노드 하나만 남기고, 같은 node Name 을 갖는 노드들은 삭제시켜준다.
- //다른 노드들을 삭제시키고 남겨진 노드의 속성이나 value 값은공백으로 세팅이 된다.
- //노드 하나만 남기고 다른 노드들을 삭제하지만,
- //남겨진 하나의 노드에 설정되었던 값들도 삭제되므로 주의해서 사용해야 한다.
-
- //변수로
- carebasetmspec = ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec");
- drugtmspec = carebasetmspec.split(" ");
- prcpdd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- prcpno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno");
- carertnyn = ds_main_warddruginfo_warddruglist.getColumn(i, "carertnyn");
- execprcptims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- pid = ds_main_warddruginfo_warddruglist.getColumn(i, "pid");
- indd = ds_main_warddruginfo_warddruglist.getColumn(i, "indd");
- cretno = ds_main_warddruginfo_warddruglist.getColumn(i, "cretno");
- prcpvol = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpvol");
- mixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd");
- drugrateqty = ds_main_warddruginfo_warddruglist.getColumn(i, "drugrateqty");
- spcldrug = ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug");
- orddeptcd = ds_main_warddruginfo_warddruglist.getColumn(i, "orddeptcd");
- orddrid = ds_main_warddruginfo_warddruglist.getColumn(i, "orddrid");
- patnm = ds_main_warddruginfo_warddruglist.getColumn(i, "patnm");
- prcpkindnm = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpkindnm");
- orddrnm = ds_main_warddruginfo_warddruglist.getColumn(i, "orddrnm");
- prcpnm = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpnm");
- prcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- if( utlf_isNull(mixno) ){
- mixyn = "N";
- }else{
- mixyn = "Y";
- }
- prcphistno = objDsxWardDrugListPath.getColumn(j, "prcphistno");
- execprcpno = objDsxWardDrugListPath.getColumn(j, "execprcpno");
- carecfact = objDsxWardDrugListPath.getColumn(j, "carecfact");
- carecfactcd = objDsxWardDrugListPath.getColumn(j, "carecfactcd");
- carecfactnm = objDsxWardDrugListPath.getColumn(j, "carecfactnm");
-
- //---------------------------(20081226)
- //carebasedd = getDateAddc(prcpdd, drugtmspec[j] / 2400);
- //carebasetm = fCarec_GetFillZeno(Math.abs(Number(drugtmspec[j]) % 2400), 4,0) + "00";
- //---------------------------(20081226)
-
- execcarestatcd = objDsxWardDrugListPath.getColumn(j, "execcarestatcd");
- pastexeccarestatcd = objDsxWardDrugListPath.getColumn(j, "pastexeccarestatcd");
- execprcpuniqno = objDsxWardDrugListPath.getColumn(j, "execprcpuniqno");
- signno = objDsxWardDrugListPath.getColumn(j, "signno");
- execdd = objDsxWardDrugListPath.getColumn(j, "execdd"); //과거실행일자(exip.execdd)
-
- medrexecdd = objDsxWardDrugListPath.getColumn(j, "medrexecdd"); //투약일자
- medrexectm = objDsxWardDrugListPath.getColumn(j, "medrexectm");
- ////////////alert(medrexecdd + "/" + medrexectm);
-
-
- //---------------------------(20080802)
- // 현재시간설정정보
- currentflag = objDsxWardDrugListPath.getColumn(j, "currentflag"); //현재시간설정flag
- currentdd = objDsxWardDrugListPath.getColumn(j, "currentdd"); //현재시간설정시일자
- currenttm = objDsxWardDrugListPath.getColumn(j, "currenttm"); //현재시간설정시시간
- //---------------------------(20080802)
- //---------------------------(20081226)
- // 투약시간변경
- carebasedd = objDsxWardDrugListPath.getColumn(j, "carebasedd"); //투약시간변경
- carebasetm = objDsxWardDrugListPath.getColumn(j, "carebasetm"); //투약시간변경
- var sddmax = getDateAddc(ds_main_warddruginfo_warddruglist.getColumn(i, "prcphopedd"), 3); //계산일
- var sddmin = getDateAddc(ds_main_warddruginfo_warddruglist.getColumn(i, "prcphopedd"), -3); //계산일
- ////alert(model.getValue(xWardDrugListPath + "[" + i + "]/prcphopedd"));
- ////alert(carebasedd + "/" + sddmax + "/" + sddmin);
- if (carebasedd != '00000000') {
- if (carebasedd > sddmax || carebasedd < sddmin) {
- sysf_messageBox("처방코드(" + prcpcd + ")의 day가 -3일 ~ 3일 구간 범위를 벗어났습니다.","I999");
- return;
- }
- }
- //---------------------------(20081226)
-
- //---------------------------(20081211)
- preantiyn = objDsxWardDrugListPath.getColumn(j, "preantiyn"); //예방적항생제
- //---------------------------(20081211)
-
- //값 반영
- ds_hidden_drugreportinfo.setColumn(0, "prcpdd", prcpdd);
- ds_hidden_drugreportinfo.setColumn(0, "prcpno", prcpno);
- ds_hidden_drugreportinfo.setColumn(0, "prcphistno", prcphistno);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpno", execprcpno);
-
- if( utlf_isNull(carertnyn) ){
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", "N");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", carertnyn);
- }
- ds_hidden_drugreportinfo.setColumn(0, "execprcptims", execprcptims);
- ds_hidden_drugreportinfo.setColumn(0, "pid", pid);
- ds_hidden_drugreportinfo.setColumn(0, "indd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "orddd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "signno", signno);
- ds_hidden_drugreportinfo.setColumn(0, "recdd", recdd);
- ds_hidden_drugreportinfo.setColumn(0, "rectm", rectm);
- ds_hidden_drugreportinfo.setColumn(0, "recsaveflag", recsaveflag);
- ds_hidden_drugreportinfo.setColumn(0, "signflag", "02");
- ds_hidden_drugreportinfo.setColumn(0, "signgenrflag", signgenrflag);
- ds_hidden_drugreportinfo.setColumn(0, "formcd", formcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddeptcd", orddeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddrid", orddrid);
- ds_hidden_drugreportinfo.setColumn(0, "cretno", cretno);
- ds_hidden_drugreportinfo.setColumn(0, "prcpvol", prcpvol);
- ds_hidden_drugreportinfo.setColumn(0, "patnm", patnm);
- ds_hidden_drugreportinfo.setColumn(0, "fluidflag", fluidflag);
- ds_hidden_drugreportinfo.setColumn(0, "mixno", mixno);
- ds_hidden_drugreportinfo.setColumn(0, "mixyn", mixyn);
- ds_hidden_drugreportinfo.setColumn(0, "carecfact", carecfact);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactcd", carecfactcd);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactnm", carecfactnm);
- ds_hidden_drugreportinfo.setColumn(0, "carebasedd", carebasedd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetm", carebasetm);
-
- if(execcarestatcd == "N" && pastexeccarestatcd == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", "-");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", execcarestatcd);
- }
- ds_hidden_drugreportinfo.setColumn(0, "prcpcd", prcpcd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetmspec", carebasetmspec);
- ds_hidden_drugreportinfo.setColumn(0, "acttimeflag", acttimeflag);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpuniqno", execprcpuniqno);
-
- //-------------------------------------------
- //현재일자(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currentday", currentday);
- //현재시간(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currenttime", currenttime);
- //-------------------------------------------
-
- ds_hidden_drugreportinfo.setColumn(0, "iudflag", iudflag);
- ds_hidden_drugreportinfo.setColumn(0, "pastexecdd", execdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexecdd", medrexecdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexectm", medrexectm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpclscd", prcpclscd);
- ds_hidden_drugreportinfo.setColumn(0, "drugrateqty", drugrateqty);
- ds_hidden_drugreportinfo.setColumn(0, "spcldrug", spcldrug);
- ds_hidden_drugreportinfo.setColumn(0, "prcpkindnm", prcpkindnm);
- ds_hidden_drugreportinfo.setColumn(0, "orddrnm", orddrnm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpnm", prcpnm);
- ds_hidden_drugreportinfo.setColumn(0, "signflagyn", signflagyn);
- if(iudflag == "-" && signflagyn == "Y" && signflag == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "1");//임시저장 후 인증저장
- }else if(signflagyn == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "0");//임시저장
- }else if(signflagyn == "Y"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "2");//인증저장
- }else{}
- //--------------------------(20081203)
- //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- //건별인증은 dispyn ='N'
- //하단의 일자별인 경우만 보임
- //20081204 APP에서 인증저장시에도 다시 한번 더 반영함
- ds_hidden_drugreportinfo.setColumn(0, "dispyn", "N");
- //--------------------------(20081203)
-
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", ""); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", ""); // 공인인증 처리후 데이터
- //---------------------------(20080802)
- // 현재시간설정정보
- ds_hidden_drugreportinfo.setColumn(0, "currentflag", currentflag); //현재시간설정flag
- ds_hidden_drugreportinfo.setColumn(0, "currentdd", currentdd); //현재시간설정시일자
- ds_hidden_drugreportinfo.setColumn(0, "currenttm", currenttm); //현재시간설정시시간
- //---------------------------(20080802)
-
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "preantiyn", preantiyn); //예방적항생제추가
- //---------------------------(20081211)
-
- ds_send_savedata_drugreportinfo.addRow();
- ds_send_savedata_drugreportinfo.copyRow(inst_cnt, ds_hidden_drugreportinfo, 0);
- inst_cnt++;
- }
- }
- }
- if(inst_cnt > 0){
- //------------------------------------
- //반환사유확인 후 진행여부 결과 받음
- var endflag = fnEndddSave();
- if ( endflag == false) return;
- //------------------------------------
-
- }else{
- sysf_messageBox("저장 할 내용이","I004");
- return;
- }
- //------------------------(20080820)
- //------------------------(20080820)
- //다시 초기화
- currentflag = "";
- currentdd = "";
- currenttm = "";
- inst_cnt = 0;
- //------------------------(20080820)
- //---------------------------(20081226)
- // 투약시간변경
- carebasedd = "";
- carebasetm = "";
- //---------------------------(20081226)
-
- //------------------------(20081211)
- preantiyn = "N";
- //------------------------(20081211)
-
- //------------------------(20080902)
- var signDates = new Array;
- var signDateCnt = 0;
- var signdispdd = "";
- //------------------------(20080902)
-
- //--------------------------(20080917)
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- //--------------------------(20080917)
-
- ds_send_savedata_drugreportinfo.clearData();
-
- //--------------------------(20081203)테스트해야함
-
- //for(var i = 1; i < rows; i++){
- for( var i=0 ; i<group3.grd_druglist.rowcount ; i++ ){
- //--------------------------
- var objDsxWardDrugListPath = eval(xWardDrugListPath+i+"for");
-
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- iudflag = objDsxWardDrugListPath.getColumn(j, "iudflag");
- signflag = objDsxWardDrugListPath.getColumn(j, "signflag");
- if((iudflag == "I") ||
- (iudflag == "U") ||
- (iudflag == "-" && signflagyn == "Y" && signflag == "N")){//임시저장한 상태에서 수정없이 인증저장하는 경우
-
- //--------------------
- //node에 해당하는 노드 하나만 남기고, 같은 node Name 을 갖는 노드들은 삭제시켜준다.
- //다른 노드들을 삭제시키고 남겨진 노드의 속성이나 value 값은공백으로 세팅이 된다.
- //노드 하나만 남기고 다른 노드들을 삭제하지만,
- //남겨진 하나의 노드에 설정되었던 값들도 삭제되므로 주의해서 사용해야 한다.
-
- //변수로
- carebasetmspec = ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec");
- drugtmspec = carebasetmspec.split(" ");
- prcpdd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- prcpno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpno");
- carertnyn = ds_main_warddruginfo_warddruglist.getColumn(i, "carertnyn");
- execprcptims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- pid = ds_main_warddruginfo_warddruglist.getColumn(i, "pid");
- indd = ds_main_warddruginfo_warddruglist.getColumn(i, "indd");
- cretno = ds_main_warddruginfo_warddruglist.getColumn(i, "cretno");
- prcpvol = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpvol");
- mixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "orgprcpclscd");
- drugrateqty = ds_main_warddruginfo_warddruglist.getColumn(i, "drugrateqty");
- spcldrug = ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug");
- orddeptcd = ds_main_warddruginfo_warddruglist.getColumn(i, "orddeptcd");
- orddrid = ds_main_warddruginfo_warddruglist.getColumn(i, "orddrid");
- patnm = ds_main_warddruginfo_warddruglist.getColumn(i, "patnm");
- prcpkindnm = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpkindnm");
- orddrnm = ds_main_warddruginfo_warddruglist.getColumn(i, "orddrnm");
- prcpnm = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpnm");
- prcpcd = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- if( utlf_isNull(mixno) ){
- mixyn = "N";
- }else{
- mixyn = "Y";
- }
- prcphistno = objDsxWardDrugListPath.getColumn(j, "prcphistno");
- execprcpno = objDsxWardDrugListPath.getColumn(j, "execprcpno");
- carecfact = objDsxWardDrugListPath.getColumn(j, "carecfact");
- carecfactcd = objDsxWardDrugListPath.getColumn(j, "carecfactcd");
- carecfactnm = objDsxWardDrugListPath.getColumn(j, "carecfactnm");
-
- //---------------------------(20081226)
- //carebasedd = getDateAddc(prcpdd, drugtmspec[j] / 2400);
- //carebasetm = fCarec_GetFillZeno(Math.abs(Number(drugtmspec[j]) % 2400), 4,0) + "00";
- //---------------------------(20081226)
-
- execcarestatcd = objDsxWardDrugListPath.getColumn(j, "execcarestatcd");
- pastexeccarestatcd = objDsxWardDrugListPath.getColumn(j, "pastexeccarestatcd");
- execprcpuniqno = objDsxWardDrugListPath.getColumn(j, "execprcpuniqno");
- signno = objDsxWardDrugListPath.getColumn(j, "signno");
- execdd = objDsxWardDrugListPath.getColumn(j, "execdd"); //과거실행일자(exip.execdd)
-
- medrexecdd = objDsxWardDrugListPath.getColumn(j, "medrexecdd"); //투약일자
- medrexectm = objDsxWardDrugListPath.getColumn(j, "medrexectm");
- ////////////alert(medrexecdd + "/" + medrexectm); //-----1011
-
- //---------------------------(20080802)
- // 현재시간설정정보
- currentflag = objDsxWardDrugListPath.getColumn(j, "currentflag"); //현재시간설정flag
- currentdd = objDsxWardDrugListPath.getColumn(j, "currentdd"); //현재시간설정시일자
- currenttm = objDsxWardDrugListPath.getColumn(j, "currenttm"); //현재시간설정시시간
- //---------------------------(20080802)
- //---------------------------(20081226)
- // 투약시간변경
- carebasedd = objDsxWardDrugListPath.getColumn(j, "carebasedd"); //투약시간변경
- carebasetm = objDsxWardDrugListPath.getColumn(j, "carebasetm"); //투약시간변경
- //위에서 체크함
- //var sddmax = getDateAddc(model.getValue(xWardDrugListPath + "[" + i + "]/prcphopedd"), 3); //계산일
- //var sddmin = getDateAddc(model.getValue(xWardDrugListPath + "[" + i + "]/prcphopedd"), -3); //계산일
- ////alert(carebasedd + "/" + sddmax + "/" + sddmin);
- //if (carebasedd > sddmax || carebasedd < sddmin) {
- // messageBox("처방코드(" + prcpcd + ")의 day가 -3일 ~ 3일 구간 범위를 벗어났습니다.","I999");
- // return;
- //}
- //---------------------------(20081226)
- //---------------------------(20081211)
- preantiyn = objDsxWardDrugListPath.getColumn(j, "preantiyn"); //예방적항생제
- //---------------------------(20081211)
- //--------------------------(20080902)
- signdispdd = objDsxWardDrugListPath.getColumn(j, "dispdd"); //화면상의 일자
-
- //////////////////////alert( "전체loop:" + signdispdd + "/"+ medrexecdd + "/" + currentdd);
- if ( signDates.length == 0) {
- signDateCnt =0;
- signDates[signDateCnt] = "";
- }
- // if (signdayFind(signDates,medrexecdd) == true ) { //------(투약일자)
- // signDateCnt ++;
- // signDates[signDateCnt] = medrexecdd;
- // ////////////////////alert("b:" + signDates[signDateCnt] +"/" + medrexecdd);
- // }
- if (signdayFind(signDates,signdispdd) == true ) { //------(투약일자)
- signDateCnt ++;
- signDates[signDateCnt] = signdispdd;
- //////////////////////alert("b:" + signDates[signDateCnt] +"/" + signdispdd);
- }
- if (signdayFind(signDates,currentdd) == true ) { //------(현재일자)
- signDateCnt ++;
- signDates[signDateCnt] = currentdd;
- //////////////////////alert("c:" + signDates[signDateCnt] +"/" + currentdd);
- }
- //--------------------------(20080902)
-
- //값 반영
- ds_hidden_drugreportinfo.setColumn(0, "prcpdd", prcpdd);
- ds_hidden_drugreportinfo.setColumn(0, "prcpno", prcpno);
- ds_hidden_drugreportinfo.setColumn(0, "prcphistno", prcphistno);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpno", execprcpno);
-
- if( utlf_isNull(carertnyn) ){
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", "N");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "carertnyn", carertnyn);
- }
- ds_hidden_drugreportinfo.setColumn(0, "execprcptims", execprcptims);
- ds_hidden_drugreportinfo.setColumn(0, "pid", pid);
- ds_hidden_drugreportinfo.setColumn(0, "indd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "orddd", indd);
- ds_hidden_drugreportinfo.setColumn(0, "signno", signno);
- ds_hidden_drugreportinfo.setColumn(0, "recdd", recdd);
- ds_hidden_drugreportinfo.setColumn(0, "rectm", rectm);
- ds_hidden_drugreportinfo.setColumn(0, "recsaveflag", recsaveflag);
- ds_hidden_drugreportinfo.setColumn(0, "signflag", "02");
- ds_hidden_drugreportinfo.setColumn(0, "signgenrflag", signgenrflag);
- ds_hidden_drugreportinfo.setColumn(0, "formcd", formcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddeptcd", orddeptcd);
- ds_hidden_drugreportinfo.setColumn(0, "orddrid", orddrid);
- ds_hidden_drugreportinfo.setColumn(0, "cretno", cretno);
- ds_hidden_drugreportinfo.setColumn(0, "prcpvol", prcpvol);
- ds_hidden_drugreportinfo.setColumn(0, "patnm", patnm);
- ds_hidden_drugreportinfo.setColumn(0, "fluidflag", fluidflag);
- ds_hidden_drugreportinfo.setColumn(0, "mixno", mixno);
- ds_hidden_drugreportinfo.setColumn(0, "mixyn", mixyn);
- ds_hidden_drugreportinfo.setColumn(0, "carecfact", carecfact);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactcd", carecfactcd);
- ds_hidden_drugreportinfo.setColumn(0, "carecfactnm", carecfactnm);
- ds_hidden_drugreportinfo.setColumn(0, "carebasedd", carebasedd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetm", carebasetm);
-
- if(execcarestatcd == "N" && pastexeccarestatcd == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", "-");
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "execcarestatcd", execcarestatcd);
- }
- ds_hidden_drugreportinfo.setColumn(0, "prcpcd", prcpcd);
- ds_hidden_drugreportinfo.setColumn(0, "carebasetmspec", carebasetmspec);
- ds_hidden_drugreportinfo.setColumn(0, "acttimeflag", acttimeflag);
- ds_hidden_drugreportinfo.setColumn(0, "execprcpuniqno", execprcpuniqno);
-
- //-------------------------------------------
- //현재일자(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currentday", currentday);
- //현재시간(현재시간클릭시)APP에서사용하지않는것 같음확인요구됨(20080802)
- ds_hidden_drugreportinfo.setColumn(0, "currenttime", currenttime);
- //-------------------------------------------
-
- ds_hidden_drugreportinfo.setColumn(0, "iudflag", iudflag);
- ds_hidden_drugreportinfo.setColumn(0, "pastexecdd", execdd);
-
- ds_hidden_drugreportinfo.setColumn(0, "medrexecdd", medrexecdd);
- ds_hidden_drugreportinfo.setColumn(0, "medrexectm", medrexectm);
-
- ds_hidden_drugreportinfo.setColumn(0, "prcpclscd", prcpclscd);
- ds_hidden_drugreportinfo.setColumn(0, "drugrateqty", drugrateqty);
- ds_hidden_drugreportinfo.setColumn(0, "spcldrug", spcldrug);
- ds_hidden_drugreportinfo.setColumn(0, "prcpkindnm", prcpkindnm);
- ds_hidden_drugreportinfo.setColumn(0, "orddrnm", orddrnm);
- ds_hidden_drugreportinfo.setColumn(0, "prcpnm", prcpnm);
- ds_hidden_drugreportinfo.setColumn(0, "signflagyn", signflagyn);
- if(iudflag == "-" && signflagyn == "Y" && signflag == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "1");//임시저장 후 인증저장
- }else if(signflagyn == "N"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "0");//임시저장
- }else if(signflagyn == "Y"){
- ds_hidden_drugreportinfo.setColumn(0, "saveflag", "2");//인증저장
- }else{}
- //--------------------------(20080921)
- //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- //건별인증은 dispyn ='N'
- //하단의 일자별인 경우만 보임
- //20081204 APP에서 인증저장시에도 다시 한번 더 반영함
- ds_hidden_drugreportinfo.setColumn(0, "dispyn", "N");
- //--------------------------(20080921)
-
- if(signflagyn == "Y"){
- //----------------(20081112)
- //sign_row = inst_cnt; //저장대상으므로 inst_cnt를 사용하면 안됨
- sign_row = i; //row
-
- sign_saverow = i;
- sign_savecol = j;
- //signdispdd = model.getValue(xWardDrugListPath + "[" + i + "]/for[" + j + "]/dispdd"); //화면상의 일자
- //----------------(20081112)
-
- //-------------(20080924)
- if(Sign.signprocess() == false){//인증저장 데이터 생성
- //Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리(20080921)
- return;
- }
- //------------(20080924)
-
-
- Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리(20080921)
-
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
- }else{
- ds_hidden_drugreportinfo.setColumn(0, "signbfcnts", ""); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- ds_hidden_drugreportinfo.setColumn(0, "signaftcnts", ""); // 공인인증 처리후 데이터
- }
- //---------------------------(20080802)
- // 현재시간설정정보
- ds_hidden_drugreportinfo.setColumn(0, "currentflag", currentflag); //현재시간설정flag
- ds_hidden_drugreportinfo.setColumn(0, "currentdd", currentdd); //현재시간설정시일자
- ds_hidden_drugreportinfo.setColumn(0, "currenttm", currenttm); //현재시간설정시시간
- //---------------------------(20080802)
-
- //---------------------------(20081226)
- // 투약시간변경
- ds_hidden_drugreportinfo.setColumn(0, "carebasedd", carebasedd); //투약시간변경
- ds_hidden_drugreportinfo.setColumn(0, "carebasetm", carebasetm); //투약시간변경
- //---------------------------(20081226)
-
- //---------------------------(20081211)
- ds_hidden_drugreportinfo.setColumn(0, "preantiyn", preantiyn); //예방적항생제
- //---------------------------(20081211)
-
- ds_send_savedata_drugreportinfo.addRow();
- ds_send_savedata_drugreportinfo.copyRow(inst_cnt, ds_hidden_drugreportinfo, 0);
- inst_cnt++;
- }
- }
- }
-
-
- // ////////////alert("중지"); //-----1011
- // return;
-
- //-----------------------(20080820)
- //return;
- //-----------------------(20080820)
- ////alert("저장전"+inst_cnt);
- if(inst_cnt > 0){
- /*-----------------------------------
- 3#에서 1개만 수정해도 전부(3개) 시간대가 들어감(기존프로그램)
- UPDATE emr.mnrhmedr
- SET carebasedd = '20081216' :절대일자
- ,carebasetm = '100000' :절대시간
- ,carebaseid = 'DEV503'
- ,carebasetmspec = '1000 1200 4200' :계산시간
- ,lastupdtrid = 'DEV503'
- ,lastupdtdt = SYSTIMESTAMP
- WHERE execprcpuniqno = 300369816
- AND instcd = '012'
-
- mixno
- 3#에서 mixno 지정시 3row에 반영
-
- */
-
- dsf_setDefaultVal(ds_send_savedata_drugreportinfo, "all");
-
- dsf_createDsRow("ds_tempuserInfo", [{col: "uiUserId", val:sysf_getUserId() }]);
-
- var oParam = {};
- oParam.id = "TXMNR08001";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqExeChangeTimeInfo";
- oParam.inds = "reqcond=ds_send_savedata_drugreportinfo tempUserInfo=ds_tempuserInfo";
- oParam.outds = "";
- oParam.async = false;
- oParam.callback = "cf_TXMNR08001";
- tranf_submit(oParam);
-
- if( arErrorCode.pop("TXMNR08001") > -1 ){
- sysf_messageBox("성공적으로","I001");
- //-----------------------------------------------(20080901)
- // 투약기록을 일자별로 XLST를 만들기 위해서
- //java.sql.SQLException: ORA-01400: NULL을 ("EMR"."MRIMESPI"."SIGNGENRFLAG") 안에 삽입할 수 없습니다
- //himed.his.emr.emrreclib.elctcert.dao.ElctCertMngtDAOImpl.insElctCertInfo() at line 128 in ElctCertMngtDAOImpl.java
- //오류로 임시로막음
- //-----------------------------------------------
- //////////////////alert("test");
- //--------------------------(20080917)
- //Sign.certreload = false ; // 전자서명 호출시 인증저장 버튼을 누늘때마다 인증서가 뜨도록 처리
- //--------------------------(20080917)
- fnWorkddSign(signDates);
- //-----------------------------------------------(20080901)
- }
-
- fClickDrugListBefore(); //------------(20081031)
- if(screen_mode == "pat"){
- fClickDrugList(screen_mode, group3.swtpatList.pat.grd_patlist.currentrow);
- }else if(screen_mode == "act"){
- fClickDrugList(screen_mode, group3.swtpatList.act.grd_actlist.currentrow);
- fGetActList();
- }else{}
- fClickDrugListAfter(); //------------(20081031)
-
- }else{
- sysf_messageBox("저장 할 내용이","I004");
- return;
- }
-
- //-----------------------(20080819)
- //저장한후 현재시각을 초기화 한다.
- ds_main_cond.setColumn(0, "acttimeflag", "");
- ds_main_cond.setColumn(0, "currentday", "");
- ds_main_cond.setColumn(0, "currenttime", "");
- //-----------------------(20080819)
- }
- function cf_TXMNR08001(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //------------------------------------------(20080902)
- function fnWorkddSign(signDates) {
- //-----------------------------------------------(20080901)
- // 투약기록을 일자별로 XLST를 만들기 위해서
- //-----------------------------------------------
- var sPathSign = "/root/signinfo";
-
- //----------------------(20081012)
- var pGrd = group3.swtpatList.pat.grd_patlist;
- if(screen_mode == "act") pGrd = group3.swtpatList.act.grd_actlist;
- //----------------------(20081012)
- var signDate = "";
-
- for( var i=0 ; i<signDates.length ; i++ ){
- signDate = "" + signDates[i];
-
- if( !utlf_isNull(signDate) ){
- signDate = signDate.replace("-","");
-
- var spid = ds_main_wardpatinfo_wardpatlist.getColumn(pGrd.currentrow, "pid"); //등록번호 (필수)
- var sinstcd = "";//model.getValue("/root/main/wardpatinfo/wardpatlist/instcd"); //기관코드 (사용X)
- var sindd = ds_main_wardpatinfo_wardpatlist.getColumn(pGrd.currentrow, "indd"); //입원일자 (필수)
- var scretno = ds_main_wardpatinfo_wardpatlist.getColumn(pGrd.currentrow, "cretno");//생성번호 (사용X)
- var sprcpdd = ""; //처방일자 (PRN시 필수)
- var sprcpno = ""; //처방번호 (확인사항)
- var sworkdd = signDate; //model.getValue("/root/main/cond/orddd"); //투약일(일자그룹일때만 (필수)
- var slistflag = "90"; //작업구분 (필수)
- var snursnm = sysf_getUserName(); //간호사명추가 (필수)
- var shngnm = ds_main_wardpatinfo_wardpatlist.getColumn(pGrd.currentrow, "patnm"); //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
-
- ds_signinfo_reqsigncond.setColumn(0, "pid", spid); //desc="등록번호"
- ds_signinfo_reqsigncond.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- ds_signinfo_reqsigncond.setColumn(0, "indd", sindd); //desc="입원일자"
- ds_signinfo_reqsigncond.setColumn(0, "cretno", scretno); //desc="생성번호"
- ds_signinfo_reqsigncond.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- ds_signinfo_reqsigncond.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- ds_signinfo_reqsigncond.setColumn(0, "workdd", sworkdd); //desc="투약일"
- ds_signinfo_reqsigncond.setColumn(0, "listflag", slistflag); //desc="작업구분"
- ds_signinfo_reqsigncond.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- ds_signinfo_reqsigncond.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- ds_signinfo_reqsigncond.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- ds_signinfo_reqsigncond.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
-
- var pFlag = "Drug"; //저장구분 (Drug : 투약기록)
- var pNode1 = "ds_signinfo_reqsigncond"; //조회할 조건 PATH(의미없음)
- var pNode2 = "ds_signinfo_signdruginfo_signdruglist"; //Return 리스트 PATH
-
- var pIoflag = ds_main_wardpatinfo_wardpatlist.getColumn(pGrd.currentrow, "ordtype"); //---(20080917)
-
- fCare_SignNode(pFlag, pNode1, pNode2,spid,sindd,scretno,pIoflag);
- //fCare_SignNode(pFlag, pNode1, pNode2, pPid, pIndd, pCretno, pIoflag){
- }
- }
- }
- //------------------------------------------(20080902)
- /**
- * @group :
- * @ver : 2007.12.15
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 인증데이터 생성 함수
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //------투약기록용
- function fMake_SignData(){
-
- /*
- <signinfo>
- <signdata>
- <pid>29953</pid>
- <hngnm>T입0820</hngnm>
- <prcpdd>20080821</prcpdd>
- <execdd>20080821</execdd>
- <prcpkindnm/>
- <prcpmixno/>
- <prcpcd>DSSL500</prcpcd>
- <prcpnm>Disal tab. 500mg (Salsalate)</prcpnm>
- <prcpvolnm>1500mg</prcpvolnm>
- <prcpqtynm>3T</prcpqtynm>
- <abbrnm>PO</abbrnm>
- <exectm>130000</exectm>
- <nursnm>김보성</nursnm>
- <execcarestatnm>정상투약</execcarestatnm>
- <carecfactnm> </carecfactnm>
- <orddrnm>김만수</orddrnm>
- </signdata>
- </signinfo>
- */
-
- var execcarestatcd = ds_hidden_drugreportinfo.getColumn(0, "execcarestatcd");
- var medrexecdd = ds_hidden_drugreportinfo.getColumn(0, "medrexecdd");
- var medrexectm = ds_hidden_drugreportinfo.getColumn(0, "medrexectm");
-
- //----------------------(20081112)
- //var prcpvol = grd_druglist.labelMatrix((sign_row+1), 5);
- //var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), 6);
- //var prcpqty = grd_druglist.labelMatrix((sign_row+1), 7);
- //var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), 8);
-
- //var prcpvol = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpvol"));
- //var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpvolunitflag"));
- //var prcpqty = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpqty"));
- //var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcpqtyunitflag"));
- //var prcptims = grd_druglist.labelMatrix((sign_row+1), grd_druglist.colref("prcptims"));
- //소숫점3자리에서 반올림
- //prcptims = prcptims.replace("#","");
- //prcpvol = fnRound(prcpvol/prcptims,3);
- //prcpqty = fnRound(prcpqty/prcptims,3);
-
- var objDsxWardDrugListPath = eval(xWardDrugListPath+sign_saverow+"for");
-
- var prcpvol = objDsxWardDrugListPath.getColumn(sign_savecol, "execprcpvol");
- var prcpvolunitflag = group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "prcpvolunitflag"));
- var prcpqty = objDsxWardDrugListPath.getColumn(sign_savecol, "execprcpqty");
- var prcpqtyunitflag = group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "prcpqtyunitflag"));
- ////////////alert( prcpvol + "/" + prcpvolunitflag + "/" + prcpqty + "/" +prcpqtyunitflag);
- //----------------------(20081112)
-
- ds_send_signinfo_signdata.setColumn(0, "pid", ds_hidden_drugreportinfo.getColumn(0, "pid"));
- ds_send_signinfo_signdata.setColumn(0, "hngnm", ds_hidden_drugreportinfo.getColumn(0, "patnm"));
- ds_send_signinfo_signdata.setColumn(0, "prcpdd", ds_hidden_drugreportinfo.getColumn(0, "prcpdd")); //처방일자
-
- if(medrexecdd == "00000000"){ //투약일자
- ds_send_signinfo_signdata.setColumn(0, "execdd", "");
- }else{
- ds_send_signinfo_signdata.setColumn(0, "execdd", medrexecdd);
- }
- /*
- ,CASE WHEN a.careprnexecflag = 'P' THEN 'PRN' ELSE '' END || ' ' ||
- CASE WHEN a.anticncrprtlno <> 0 THEN '항암' ELSE '' END || ' ' ||
- CASE WHEN a.dccountyn = 'Y' AND a.selfdrugflag = 'Y' THEN 'self D/C'
- WHEN a.dccountyn = 'Y' then 'D/C'
- WHEN a.selfdrugflag = 'Y' then 'self'
- END prcpkindnm
- //처방종류명 (다른업무에서 투약기록관련인증정보를 생성시 어려운 항목
- */
- ds_send_signinfo_signdata.setColumn(0, "prcpkindnm", ds_hidden_drugreportinfo.getColumn(0, "prcpkindnm"));
- ds_send_signinfo_signdata.setColumn(0, "prcpmixno", ds_hidden_drugreportinfo.getColumn(0, "mixno")); //MIXNO
- ds_send_signinfo_signdata.setColumn(0, "prcpcd", ds_hidden_drugreportinfo.getColumn(0, "prcpcd")); //처방코드
- ds_send_signinfo_signdata.setColumn(0, "prcpnm", ds_hidden_drugreportinfo.getColumn(0, "prcpnm")); //처방명
- ds_send_signinfo_signdata.setColumn(0, "prcpvolnm", prcpvol + prcpvolunitflag); //용량단위명칭(용량+용량단위명칭)
- ds_send_signinfo_signdata.setColumn(0, "prcpqtynm", prcpqty + prcpqtyunitflag); //수량단위명칭(수량+수량단위명칭)
-
- //투여방법약어명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- //-----------------(20081112)
- //model.makeValue("/root/send/signinfo/signdata/abbrnm", grd_druglist.labelMatrix((sign_row+1), 10));
- ds_send_signinfo_signdata.setColumn(0, "abbrnm", group3.grd_druglist.getCellText(sign_row, group3.grd_druglist.getBindCellIndex("body", "abbrnm")));
- //-----------------
-
- if(medrexectm == "000000"){ //투약시간
- ds_send_signinfo_signdata.setColumn(0, "exectm", "");
- }else{
- ds_send_signinfo_signdata.setColumn(0, "exectm", medrexectm);
- }
- ds_send_signinfo_signdata.setColumn(0, "nursnm", sysf_getUserName()); //간호사명칭
-
- if( utlf_isNull(execcarestatcd) ){
- execcarestatcd = "N";
- }
- //미확인,정상투약,투약X-반환가능,투약X-반환불가,퇴원당일남은약
- //(다른업무에서 투약기록관련인증정보를 생성시 정상투약,)
- ds_send_signinfo_signdata.setColumn(0, "execcarestatnm", ds_hidden_actmenu_menu.getColumn(ds_hidden_actmenu_menu.findRow("cd", execcarestatcd), "nm"));
- //간호사REMARK CODE에 대한 REMARK 명칭((다른업무에서 투약기록관련인증정보를 생성시 공백)
- ds_send_signinfo_signdata.setColumn(0, "carecfactnm", ds_hidden_drugreportinfo.getColumn(0, "carecfactnm"));
- //진료의명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- ds_send_signinfo_signdata.setColumn(0, "orddrnm", ds_hidden_drugreportinfo.getColumn(0, "orddrnm"));
-
- Sign.addnode("/signdata", ds_send_signinfo_signdata.saveXML());
-
- //Sign.signedInfos[1] 는 없음
- //////////////////////alert("fmake_signdata"+ Sign.signedInfos[1] );
- }
- //----------투약기록-INTERFACE용 (test완료)
- //TEST용
- //function fMake_SignData_interface(){
- //
- // ////////////////////alert("fMake_SignData---------시작");
- // /*
- // <signinfo>
- // <signdata>
- // <pid>29953</pid>
- // <hngnm>T입0820</hngnm>
- // <prcpdd>20080821</prcpdd>
- // <execdd>20080821</execdd>
- // <prcpkindnm/>
- // <prcpmixno/>
- // <prcpcd>DSSL500</prcpcd>
- // <prcpnm>Disal tab. 500mg (Salsalate)</prcpnm>
- // <prcpvolnm>1500mg</prcpvolnm>
- // <prcpqtynm>3T</prcpqtynm>
- // <abbrnm>PO</abbrnm>
- // <exectm>130000</exectm>
- // <nursnm>김보성</nursnm>
- // <execcarestatnm>정상투약</execcarestatnm>
- // <carecfactnm> </carecfactnm>
- // <orddrnm>김만수</orddrnm>
- // </signdata>
- // </signinfo>
- // */
- //
- // var ssigndruglist = "/root/signinfo/signdruginfo/signdruglist";
- //
- // var spid = model.getValue(ssigndruglist + "[" + sSignRow + "]/pid");
- // var shngnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/hngnm");
- // var sprcpdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpdd");
- // var sexecdd = model.getValue(ssigndruglist + "[" + sSignRow + "]/execdd");
- // /*
- // ,CASE WHEN a.careprnexecflag = 'P' THEN 'PRN' ELSE '' END || ' ' ||
- // CASE WHEN a.anticncrprtlno <> 0 THEN '항암' ELSE '' END || ' ' ||
- // CASE WHEN a.dccountyn = 'Y' AND a.selfdrugflag = 'Y' THEN 'self D/C'
- // WHEN a.dccountyn = 'Y' then 'D/C'
- // WHEN a.selfdrugflag = 'Y' then 'self'
- // END prcpkindnm
- // //처방종류명 (다른업무에서 투약기록관련인증정보를 생성시 어려운 항목
- // */
- // var sprcpkindnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpkindnm");
- // var sprcpmixno = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpmixno");
- // var sprcpcd = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpcd");
- // var sprcpnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpnm");
- // var sprcpvolnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpvolnm");
- // var sprcpqtynm = model.getValue(ssigndruglist + "[" + sSignRow + "]/prcpqtynm");
- // var sabbrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/abbrnm");
- // var sexectm = model.getValue(ssigndruglist + "[" + sSignRow + "]/exectm");
- // var snursnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/nursnm");
- // var sexeccarestatnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/execcarestatnm");
- // var scarecfactnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/carecfactnm");
- // var sorddrnm = model.getValue(ssigndruglist + "[" + sSignRow + "]/orddrnm");
- //
- // model.resetInstanceNode("/root/send/signinfo/signdata");
- // model.makeValue("/root/send/signinfo/signdata/pid", spid );
- // model.makeValue("/root/send/signinfo/signdata/hngnm", shngnm );
- // model.makeValue("/root/send/signinfo/signdata/prcpdd", sprcpdd ); //처방일자
- //
- // if(sexecdd == "00000000"){ //투약일자
- // model.makeValue("/root/send/signinfo/signdata/execdd", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/execdd", sexecdd);
- // }
- //
- // model.makeValue("/root/send/signinfo/signdata/prcpkindnm", sprcpkindnm );
- // model.makeValue("/root/send/signinfo/signdata/prcpmixno", sprcpmixno ); //MIXNO
- //
- // model.makeValue("/root/send/signinfo/signdata/prcpcd", sprcpcd ); //처방코드
- // model.makeValue("/root/send/signinfo/signdata/prcpnm", sprcpnm ); //처방명
- // model.makeValue("/root/send/signinfo/signdata/prcpvolnm", sprcpvolnm ); //용량단위명칭(용량+용량단위명칭)
- // model.makeValue("/root/send/signinfo/signdata/prcpqtynm", sprcpqtynm ); //수량단위명칭(수량+수량단위명칭)
- // //투여방법약어명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- // model.makeValue("/root/send/signinfo/signdata/abbrnm", sabbrnm );
- //
- // if(sexectm == "000000"){ //투약시간
- // model.makeValue("/root/send/signinfo/signdata/exectm", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/exectm", sexectm);
- // }
- // model.makeValue("/root/send/signinfo/signdata/nursnm", snursnm); //간호사명칭
- // if(sexeccarestatnm == "") sexeccarestatnm = "N";
- //
- // //미확인,정상투약,투약X-반환가능,투약X-반환불가,퇴원당일남은약
- // //(다른업무에서 투약기록관련인증정보를 생성시 정상투약,)
- // model.makeValue("/root/send/signinfo/signdata/execcarestatnm", sexeccarestatnm);
- // //간호사REMARK CODE에 대한 REMARK 명칭((다른업무에서 투약기록관련인증정보를 생성시 공백)
- // model.makeValue("/root/send/signinfo/signdata/carecfactnm", scarecfactnm);
- // //진료의명(다른업무에서 투약기록관련인증정보를 생성시 어려운 항목)
- // model.makeValue("/root/send/signinfo/signdata/orddrnm", sorddrnm);
- // //--------------------------(20080902)
- // //건별인증은 통합기록조회에서 보이지 않고 일자별을 보이기 위해서
- // //건별인증은 dispyn ='N'
- // model.makeValue("/root/send/signinfo/signdata/dispyn", "N");
- // //--------------------------(20080902)
- //
- // Sign.addnode("/root/send/signinfo/signdata");
- // ////////////////////alert("fMake_SignData---------종료");
- // //Sign.signedInfos[1] 는 없음
- // //////////////////////alert("fmake_signdata"+ Sign.signedInfos[1] );
- //}
-
- //원본(20080825)
- //function fMake_SignData_OLD(){
- //
- // var execcarestatcd = model.getValue("/root/hidden/drugreportinfo/execcarestatcd");
- // var medrexecdd = model.getValue("/root/hidden/drugreportinfo/medrexecdd");
- // var medrexectm = model.getValue("/root/hidden/drugreportinfo/medrexectm");
- // var prcpvol = grd_druglist.labelMatrix((sign_row+1), 5);
- // var prcpvolunitflag = grd_druglist.labelMatrix((sign_row+1), 6);
- // var prcpqty = grd_druglist.labelMatrix((sign_row+1), 7);
- // var prcpqtyunitflag = grd_druglist.labelMatrix((sign_row+1), 8);
- // model.resetInstanceNode("/root/send/signinfo/signdata");
- // model.makeValue("/root/send/signinfo/signdata/pid", model.getValue("/root/hidden/drugreportinfo/pid"));
- // model.makeValue("/root/send/signinfo/signdata/hngnm", model.getValue("/root/hidden/drugreportinfo/patnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpdd", model.getValue("/root/hidden/drugreportinfo/prcpdd"));
- // if(medrexecdd == "00000000"){
- // model.makeValue("/root/send/signinfo/signdata/execdd", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/execdd", medrexecdd);
- // }
- // model.makeValue("/root/send/signinfo/signdata/prcpkindnm", model.getValue("/root/hidden/drugreportinfo/prcpkindnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpmixno", model.getValue("/root/hidden/drugreportinfo/mixno"));
- // model.makeValue("/root/send/signinfo/signdata/prcpcd", model.getValue("/root/hidden/drugreportinfo/prcpcd"));
- // model.makeValue("/root/send/signinfo/signdata/prcpnm", model.getValue("/root/hidden/drugreportinfo/prcpnm"));
- // model.makeValue("/root/send/signinfo/signdata/prcpvolnm", prcpvol + prcpvolunitflag);
- // model.makeValue("/root/send/signinfo/signdata/prcpqtynm", prcpqty + prcpqtyunitflag);
- // model.makeValue("/root/send/signinfo/signdata/abbrnm", grd_druglist.labelMatrix((sign_row+1), 10));
- // if(medrexectm == "000000"){
- // model.makeValue("/root/send/signinfo/signdata/exectm", "");
- // }else{
- // model.makeValue("/root/send/signinfo/signdata/exectm", medrexectm);
- // }
- // model.makeValue("/root/send/signinfo/signdata/nursnm", getUserName());
- // if(execcarestatcd == ""){
- // execcarestatcd = "N";
- // }
- // model.makeValue("/root/send/signinfo/signdata/execcarestatnm", model.getValue("/root/hidden/actmenu/menu[cd ='" + execcarestatcd + "']/nm"));
- // model.makeValue("/root/send/signinfo/signdata/carecfactnm", model.getValue("/root/hidden/drugreportinfo/carecfactnm"));
- // model.makeValue("/root/send/signinfo/signdata/orddrnm", model.getValue("/root/hidden/drugreportinfo/orddrnm"));
- // Sign.addnode("/root/send/signinfo/signdata");
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 미투약 환자 리스트 조회
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fGetActList(){
- var pid = "";
- var indd = "";
- var cretno = "";
- var comppid = "";
- var compprcpdd = "";
- var prcptims = "";
- var prcpdd = "";
- var row = -1;
- var drugtmspec = "";
- var calcdate = "";
- var prcpdd_Array = new Array;
- var pid_Array = new Array;
- var cnt = 1;
- if( ds_main_wardactinfo_wardactlist.rowcount > 0 ){
- pid = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "pid");
- indd = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "indd");
- cretno = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "cretno");
- prcpdd = ds_main_wardactinfo_wardactlist.getColumn(ds_main_wardactinfo_wardactlist.rowposition, "prcpdd");
- }
- //model.resetInstanceNode("/root/send/reqdata");
-
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR00605";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetWardActList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_main_wardactinfo_wardactlist=wardactlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00605";
- tranf_submit(oParam);
-
- ds_main_wardactinfo_wardactlist.rowposition = -1;
-
- for( var i=0 ; i<ds_main_wardactinfo_wardactlist.rowcount ; i++ ){
- if( pid == ds_main_wardactinfo_wardactlist.getColumn(i, "pid") &&
- indd == ds_main_wardactinfo_wardactlist.getColumn(i, "indd") &&
- cretno == ds_main_wardactinfo_wardactlist.getColumn(i, "cretno") &&
- prcpdd == ds_main_wardactinfo_wardactlist.getColumn(i, "prcpdd") ){
- row = i;
- }
- }
- ds_main_wardactinfo_wardactlist.rowposition = row;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약카드 출력(A2:경구, A4:외용, A61:주사, A60:수액)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fClickDrugPrint(){
- ds_send_medicard_warddruglist.clearData();
-
- var prt_row = ds_temp.getColumn(0, "row");
- var prt_col = ds_temp.getColumn(0, "col");
- if( utlf_isNull(prt_row) || prt_row > 4 ){
- sysf_messageBox("1 ~ 4줄만 입력할수 있습니다.","I999");
- return;
- }
- if( utlf_isNull(prt_col) || prt_col > 4 ){
- sysf_messageBox("1 ~ 4 칸만 입력할수 있습니다.","I999");
- return;
- }
- var rows = group3.grd_druglist.rowcount;
- var prcpclscd = "";
- var prcptims = "";
- var mthdcd = "";
- var prcpmixno = "";
- var drugbasetmspec = "";
- var medicardcnt = 1;//경구
- //var medicardcnt5 = 1;//주사
- //var medicardcnt7 = 1;//외용
- var prtTims_Array = new Array;
- var prtMthd_Array = new Array;
- var prtBaseTims_Array = new Array;
- var prtMix_Array = new Array;
- var viewroomcd = "";
-
- flagDsWarddruglist = true;
-
- for( var i=0 ; i<rows ; i++ ){
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "check") == "1" ){
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- mthdcd = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "mthdcd"));
- prcpmixno = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"));
- drugbasetmspec = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec"));
- viewroomcd = group3.caption57.text; //20090629
-
- if(prcpclscd == "A2"){//경구
- if( isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd) == -1 ){
- prtBaseTims_Array[medicardcnt] = drugbasetmspec;
- prtMthd_Array[medicardcnt] = mthdcd;
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }else{
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", isSearchArrayIndex2(prtBaseTims_Array, drugbasetmspec, prtMthd_Array, mthdcd));
- }
- }
-
- //if(prcpclscd == "A60" || prcpclscd == "A61"){//주사
- if(prcpclscd == "A60"){//주사_의정부간호사 이언희선생님 요청으로 수액제외함_20090529(ByJA)
- if( utlf_isNull(prcpmixno) || isSearchArrayIndex(prtMix_Array, prcpmixno) == -1){
- prtMix_Array[medicardcnt] = prcpmixno;
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }else{
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", isSearchArrayIndex(prtMix_Array, prcpmixno));
- }
- }
-
- if(prcpclscd == "A4"){//외용
- ds_main_warddruginfo_warddruglist.setColumn(i, "soding", medicardcnt);
- medicardcnt++;
- }
-
- // 투약카드 출력 시 사용
- var drugtmspect = "";
- var drugtmspectime = "";
- var tmpdrugtmspect = "";
- var drugtmspectlist = "";
- var tims = "";
- var space;
- drugtmspect = ds_main_warddruginfo_warddruglist.getColumn(i, "drugtmspec_recalc1"); // drugbasetmspec
- drugtmspect = drugtmspect.split(" ");
- tims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
-
- // 횟수별 시간공백지정
- if(tims < 4){
- space = " ";
- }else{
- space = " ";
- }
-
- // Sort기능
- var tempmin=0, tempmax=0;
- for(var j=1; j<drugtmspect.length; j++){
- if(Number(drugtmspect[j-1]) > Number(drugtmspect[j])){
- tempmin = drugtmspect[j];
- drugtmspect[j] = drugtmspect[j-1];
- drugtmspect[j-1] = tempmin;
- }
- }
- for(var j=0; j<drugtmspect.length; j++){
- if(Number(drugtmspect[j]) > Number(drugtmspect[j+1])){
- tempmax = drugtmspect[j];
- drugtmspect[j] = drugtmspect[j+1];
- drugtmspect[j+1] = tempmax;
- }
- }
-
- for(var j=0; j<drugtmspect.length; j++){
- if( !utlf_isNull(drugtmspect[j]) ){
- tmpdrugtmspect = Number(drugtmspect[j]);
- if(tmpdrugtmspect > 1200){
- if(tmpdrugtmspect >= 1300){
- tmpdrugtmspect = tmpdrugtmspect - 1200;
- }
- if(tmpdrugtmspect < 1000){
- tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
- }
- if(String(tmpdrugtmspect).substr(2,2) == "00"){
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "P" + space;
- }else{
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "P" + space;
- }
- }else if(tmpdrugtmspect <= 1200){
- if(tmpdrugtmspect < 1000){
- tmpdrugtmspect = "0"+ String(tmpdrugtmspect);
- }
- if(String(tmpdrugtmspect).substr(2,2) == "00"){
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + "A" + space;
- }else{
- drugtmspectime += String(tmpdrugtmspect).substr(0,2) + ":" + String(tmpdrugtmspect).substr(2,2) + "A" + space;
- }
- }
- }
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "tempdrugtmspeccal", "string", drugtmspectime, i);
- } // end for 투약카드
- } // end if check
- } // end for
-
- for( var j=0 ; j<rows ; j++ ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "last", "string", medicardcnt-1, j);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "row", "string", ds_temp.getColumn(0, "row"), j);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "col", "string", ds_temp.getColumn(0, "col"), j);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "viewroomcd", "string", viewroomcd, j);
- var nRow = ds_send_medicard_warddruglist.addRow();
- ds_send_medicard_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, j);
- }
-
- flagDsWarddruglist = false;
- if(medicardcnt > 1){
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "root/send/medicard/warddruglist", ds_send_medicard_warddruglist); // 데이터셋
- rptf_setNodeListToDOM(objDOM, "root/send/medicard5/warddruglist", ds_send_medicard_warddruglist); // 데이터셋
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- objParam.xml_data_XML2 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- objParam.xml_data_XML3 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
-
- var option = "open=1;save=1;directprint=1;printdialog=0;print=1;zoom=0;";
-
- rptf_exeReportPreview30(["RPMNR00600"],[objParam], option);
- }else{
- sysf_messageBox("투약카드 출력항목이 아닙니다","I");
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayIndex2(baseCol_Array1, sData1, baseCol_Array2, sData2){
- for( var i=0 ; i<=baseCol_Array1.length ; i++ ){
- if( baseCol_Array1[i] == sData1 && baseCol_Array2[i] == sData2 ){
- return i;
- }
- }
- return -1;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 수액라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //------------(20080929로직변경됨)
- function fClickHydPrint(){
- ds_send_medicard8_warddruglist.clearData();
-
- var rows = ds_main_warddruginfo_warddruglist.rowcount;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- //----------------------
- //1-1. 자동체크하기1: 동일MIXNO가 체크되어 있으면 자동 체크하기
- //----------------------
- var chkMixnoi = "";
- var chkMixnoj = "";
- var chkflag = "";
- var chkcnt = 0;
- for( var i=0 ; i<rows ; i++ ){
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(i, "check");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- if( prcpclscd != "A61" ) continue;
-
- if( chkflag != "1" ){ //체크가 안되어있는것 중에서
- chkMixnoi = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- if( !utlf_isNull(chkMixnoi) ){ //mixno가 있는경우
- for( var j=0 ; j<rows ; j++ ){ //동일mix가 체크되어 있으면
- chkMixnoj = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(i, "check");
- if( i != j && chkMixnoi == chkMixnoj && chkflag == "1" ){
- ds_main_warddruginfo_warddruglist.setColumn(i, "check", "1"); //체크자신의 체크로 변경함
- j=rows;
- chkcnt ++;
- }
- }
- }
- }
- }
-
- if (chkcnt >0) {
- sysf_messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n동일mixno의 다른 항목도 자동출력 선택 되었습니다. ","E999");
- }
- //----------------------
- //1-2. 자동체크하기1: 출력대상아닌것은 체크풀기
- //----------------------
- chkMixnoi = "";
- chkMixnoj = "";
- chkflag = "";
- chkcnt = 0;
- var sapnoyndept = "";
- var sapnoynall = "";
- var sapnoyn = "";
- var sapnoprtyn = "true";
-
- for( var i=0 ; i<rows ; i++ ){
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(i, "check");
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- if( prcpclscd != "A61" ) continue;
-
- sapnoprtyn = "true"; //수액라벨출력 가능
- if( chkflag == "1" ){ //체크되어있는것 중에서
- sapnoyn = ds_main_warddruginfo_warddruglist.getColumn(i, "sapnoyn");
- sapnoyndept = sapnoyn.substr(1,1); //수액기준정보자료에 수액 & 부서로 자료가 있는지 여부(0이면 없는경우)
- sapnoynall = sapnoyn.substr(2,1); //수액기준정보자료에 수액 & 공통로 자료가 있는지 여부(0이면 없는경우)
- if (sapnoyndept == "N") { //부서에 자료가 있는데 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false";
- } else if (sapnoyndept == "0" && sapnoynall == "N") {//부서에 자료가 없고, 공통에 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false"; //수액라벨출력 불가
- }
- if (sapnoprtyn == "false") {
- chkMixnoi = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno");
- if( !utlf_isNull(chkMixnoi) ){ //mixno가 있으면서
- for( var j=0 ; j<rows ; j++ ){
- chkMixnoj = ds_main_warddruginfo_warddruglist.getColumn(j, "prcpmixno");
- if ( chkMixnoi == chkMixnoj ) { //같은 mixno이면 출력을 해제한다.
- //model.setValue(xWardDrugListPath + "[" + j + "]/check","true");
- ds_main_warddruginfo_warddruglist.setColumn(j, "check", "0") //1001
- chkcnt++;
- }
- }
- }
- }
- }
- }
- if (chkcnt >0) {
- sysf_messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n수액기준정보에 수액no적용정보가 'N'로 설정된 자료가 있습니다. \n수액라벨출력을 해제합니다.","E999");
- }
- //----------------------
- //3. 출력내역정리하기
- //---------------------- 작업중...........
- var subcnt = 0; //해당번호
- var prcptimscalc ="";
- var mainpre_prcpmixno = "999999999"; //main이전mixno
- var subnow_prcpmixno = ""; //sub현재mixno
- var startrow = "";
- //전체
-
- for( var i=0 ; i<rows ; i++ ){
- prcpclscd = ds_main_warddruginfo_warddruglist.getColumn(i, "prtprcpclscd");
- if(prcpclscd == "A61"){//수액
- if( ds_main_warddruginfo_warddruglist.getColumn(i, "check") == "1" ){
- prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(i, "prcpmixno"); //현재mixno
- prcptims = ds_main_warddruginfo_warddruglist.getColumn(i, "tims");
- prcptimscalc = ds_main_warddruginfo_warddruglist.getColumn(i, "calctims"); //------------(20080912)
- startrow = i;
- if (mainpre_prcpmixno != prcpmixno) { //main 이전mixno가 다른경우
- //횟수만큼
- for( var j=0 ; j<prcptimscalc ; j++ ){ //for(var j = 0; j < prcptims; j++){ //--------(20080912)
- subcnt ++;
- //startrow부터 같은 mixno를 찾는다.
- for( var k=startrow ; k<rows ; k++ ){
- subnow_prcpmixno = ds_main_warddruginfo_warddruglist.getColumn(k, "prcpmixno"); //현재mixno
- if (prcpmixno != subnow_prcpmixno) {
- // i = k; //main첨자를 sub에서 증가한 것 만큼 더한다.
- // i--; //i가 전체 main loop로 돌아가면 자동 증가되므로 -1를 해준다.
- k = rows; //k loop를 벗어남
- } else {
- //mixno가 연속해서 없는 경우에는 다른것으로 인식하기 위해서 구분한다.
- if ( k > startrow && utlf_isNull(prcpmixno) && utlf_isNull(subnow_prcpmixno) ){
- k=rows;
- } else {
- flagDsWarddruglist = true;
-
- ds_main_warddruginfo_warddruglist.setColumn(k, "soding", subcnt);
-
- flagDsWarddruglist = false;
- var nRow = ds_send_medicard8_warddruglist.addRow();
- ds_send_medicard8_warddruglist.copyRow(nRow, ds_main_warddruginfo_warddruglist, k);
- }
- }
- }
- }
- mainpre_prcpmixno = prcpmixno;
- if( utlf_isNull(prcpmixno) ) mainpre_prcpmixno = "999999999"; //mix no가 지정되지 않은것이 연속으로 되어 있는경우, 구분하기 위해서
- }
- }
- }
- }
-
- //수액
- if (subcnt > 0) {
- //if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- //------------------(20081024)
- if( ds_data_setupinfo.rowcount <=0 ){
- //messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- //return;
- //fGetBarCodeInfo(getScreenID());
- ds_barcdprntsetup.clearData();
-
- ds_send.setColumn(0, "scrnid", getScreenID());
-
- var oParam = {};
- oParam.id = "TRLLC90101";
- oParam.service = "diagtestapplib.LisCommon";
- oParam.method = "reqGetSetUpInfo";
- oParam.inds = "scrnid=ds_send";
- oParam.outds = "ds_barcdprntsetup=getSetUpInfo";
- oParam.async = false;
- //oParam.callback = "cf_TRLLC90101";
- tranf_submit(oParam);
-
- // 노드값을 컬럼 값으로 가져옴에 따라 DS 로 변환 처리 ---------------------------------------------------
-
- //XML string 값을 파라미터로 넘김
- //성공시 : 'success' 실패시 : 'error' 값을 리턴함
- var sParamObj = new Object();
- sParamObj.pathYN = 'N'; //dsvaluepath 컬럼 사용여부
-
- var pXmlStr = ds_barcdprntsetup.getColumn(0, "prntsetupinfo");
-
- var succYn = lf_convertXmlToDs(pXmlStr, sParamObj);
-
- sysf_trace(succYn);
-
- // => retrun DS
- // : ds_data_setupinfo(prntkind, commkind)
- // : ds_data_comm01(setupval)
- // : ds_data_comm02(comm, databit, stopbit, baudrate, parity, setupval)
- // : ds_data_comm03(setupval)
- // : ds_data_blank(left, top)
-
- // ------------------------------------------------------------------------------------------------------------
- }
- //------------------(20081024)
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- fSetNursBarcdInfo("/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); //CommAX.PortOpen(true)이 있음(20081024)
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- var nodecnt = ds_send_medicard8_warddruglist.rowcount;
- var prev_soding = "";
- var prcpvol = "";
- var prcpvolunitflag = "";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var drugspdunitflag = "";
- var labelcnt = 0;
- var labelindex = 0;
- var sDate = ds_main_cond.getColumn(0, "orddd").substr(4,2) + "/" + ds_main_cond.getColumn(0, "orddd").substr(6,2);
- var soding = "";
- var last = "";
- var overcnt = 1;
- var iHeight = 0;
- var sTempData = "";
- var sLabelData_Array = new Array;
- var iLeft = Number(ds_data_blank.getColumn(0, "left"));
- var iTop = Number(ds_data_blank.getColumn(0, "top"));
- if( utlf_isNull(iLeft) || iLeft == "-" ){
- iLeft = 0;
- }
- if( utlf_isNull(iTop) || iTop == "-" ){
- iTop = 0;
- }
-
- /*수액 라벨 출력*/
- var sLabelSndMsg = BP_StartFormat;
- for( var j=0 ; j<nodecnt ; j++ ){
- if( j == 1 || prev_soding != ds_send_medicard8_warddruglist.getColumn(j, "soding") ){
- /*환자정보 라벨 출력*/
- prev_soding = ds_send_medicard8_warddruglist.getColumn(j, "soding");
- //-----------------------------(20080917)
- //이름과 등록번호 크게 출력하기
- //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + ds_main_patinfo.getColumn(0, "pid") + ")","");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", ds_main_patinfo.getColumn(0, "roomcd"),"");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", ds_main_patinfo.getColumn(0, "patnm"),"");
- sLabelSndMsg += fCareBP_EndFormat(1);
- //-----------------------------(20080917)
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- sLabelSndMsg = BP_StartFormat;
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", ds_main_patinfo.getColumn(0, "roomcd"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", ds_main_patinfo.getColumn(0, "patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", ds_main_patinfo.getColumn(0, "sexage"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- }
- prcpvol = ds_send_medicard8_warddruglist.getColumn(j, "prcpvol");
- prcpvolunitflag = ds_send_medicard8_warddruglist.getColumn(j, "prcpvolunitflag");
-
- prcpqty = ds_send_medicard8_warddruglist.getColumn(j, "prcpqty");
- prcpqtyunitflag = ds_send_medicard8_warddruglist.getColumn(j, "prcpqtyunitflag");
-
- drugspdunitflag = ds_send_medicard8_warddruglist.getColumn(j, "drugspdunitflag");
- //---------------(20080927)
- //1일횟수로 나눈다.
- var tims = ds_send_medicard8_warddruglist.getColumn(j, "tims");
- if (tims > 0 ) {
- prcpvol = prcpvol / tims;
- prcpqty = prcpqty / tims;
- }
- //---------------(20080927)
-
- sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag+ "/" + drugspdunitflag;
- iHeight = ((labelcnt + overcnt) * 30) + 30;
-
- //--------------------(20081118):원래대로
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 3, "N", ds_send_medicard8_warddruglist.getColumn(j, "prcpcdprt"), ""); //원본
- ////처방 영문명, 폰트 축소(안됨)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 0, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- //--------------------(20081118)
-
- sLabelSndMsg += fCarePrintOutA(iLeft + 220, iTop + iHeight, 3, "N", sTempData, "");
- labelcnt++;
- soding = Number(ds_send_medicard8_warddruglist.getColumn(j, "soding"));
- last = ds_send_medicard8_warddruglist.getColumn(j, "last");
- /*수액정보 라벨 출력*/
- if( j == nodecnt || prev_soding != ds_send_medicard8_warddruglist.getColumn(j+1, "soding") ){
- // 총수 - 현위치
-
- //----------(20080927)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", subcnt + " - " + soding, "");
- //----------(20080927)
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 1;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else if((labelcnt + overcnt) == 5){
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 0;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else{}
- }
- /*순서 뒤집기*/
- /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- CommAX.SendMessage(sLabelData_Array[k]);
- }*/
- //-----------(20081031)
- CommAX.PortOpen(false);
- //CommAX.PortClose();
- //-----------(20081031)
- }else{
- sysf_messageBox("수액이 존재하지","E007");
- }
- }
- ///-----------------(20081210)
- //약그리드 확대/축소 기능
- function fDruglist_Extend(workflag){
- switch (workflag) {
-
- case "pat":
- if ( group3.btnExtend.text == "축소") {
- group3.btnExtend.text = "확대"; //축소되었으므로 확대시켜야한다.
- //group3.swtpatList.visible = true ;
- group3.grd_druglist.position.left = 220;
- group3.grd_druglist.position.width = 970;
-
- group3.bolall.position.left = 227;
- }
- break;
- case "drug":
- if ( group3.btnExtend.text == "축소") {
- group3.btnExtend.text = "확대"; //축소되었으므로 확대시켜야한다.
- //group3.swtpatList.visible = true ;
- group3.grd_druglist.position.left = 220;
- group3.grd_druglist.position.width = 970;
-
- group3.bolall.position.left = 227;
- } else {
- group3.btnExtend.text = "축소"; //확대되었으므로 축소시켜야한다.
- //group3.swtpatList.visible = false ;
- group3.grd_druglist.position.left = 1;
- group3.grd_druglist.position.width = 1185;
-
- group3.bolall.position.left = 7;
- }
- break;
-
- default :
- break;
- }
- }
- ///-----------------(20081210)
- ///-----------------(20081208 임시작업분)
- function fClickHydPrint_TEMP(){
- return;
- //수액라벨 간호itc에서 임시테스트용으로 작성한 소스임(20081209)
- model.removeNodeSet("/root/send/medicard8/warddruglist");
- var rows = grd_druglist.rows-1;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- //----------------------
- //1-1. 자동체크하기1: 동일MIXNO가 체크되어 있으면 자동 체크하기
- //----------------------
- var chkMixnoi = "";
- var chkMixnoj = "";
- var chkflag = "";
- var chkcnt = 0;
- for(var i = 1; i < rows; i++){
- chkflag = model.getValue(xWardDrugListPath + "[" + i + "]/check");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd != "A61") continue;
-
- if (chkflag != "true" ) { //체크가 안되어있는것 중에서
- chkMixnoi = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- if ( chkMixnoi != "") { //mixno가 있는경우
- for (var j=1;j<rows;j++) { //동일mix가 체크되어 있으면
- chkMixnoj = model.getValue(xWardDrugListPath + "[" + j + "]/prcpmixno");
- chkflag = model.getValue(xWardDrugListPath + "[" + j + "]/check");
- if ( i != j && chkMixnoi == chkMixnoj && chkflag == "true") {
- model.setValue(xWardDrugListPath + "[" + i + "]/check","true"); //체크자신의 체크로 변경함
- j=rows;
- chkcnt ++;
- }
- }
- }
- }
- }
-
- if (chkcnt >0) {
- messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n동일mixno의 다른 항목도 자동출력 선택 되었습니다. ","E999");
- }
- //----------------------
- //1-2. 자동체크하기1: 출력대상아닌것은 체크풀기
- //----------------------
- chkMixnoi = "";
- chkMixnoj = "";
- chkflag = "";
- chkcnt = 0;
- var sapnoyndept = "";
- var sapnoynall = "";
- var sapnoyn = "";
- var sapnoprtyn = "true";
-
- for(var i = 1; i < rows; i++){
- chkflag = model.getValue(xWardDrugListPath + "[" + i + "]/check");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd != "A61") continue;
-
- sapnoprtyn = "true"; //수액라벨출력 가능
- if (chkflag == "true" ) { //체크되어있는것 중에서
- sapnoyn = model.getValue(xWardDrugListPath + "[" + i + "]/sapnoyn");
- sapnoyndept = sapnoyn.substr(1,1); //수액기준정보자료에 수액 & 부서로 자료가 있는지 여부(0이면 없는경우)
- sapnoynall = sapnoyn.substr(2,1); //수액기준정보자료에 수액 & 공통로 자료가 있는지 여부(0이면 없는경우)
- if (sapnoyndept == "N") { //부서에 자료가 있는데 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false";
- } else if (sapnoyndept == "0" && sapnoynall == "N") {//부서에 자료가 없고, 공통에 수액라벨출력 불가로 들어가 있는경우
- sapnoprtyn = "false"; //수액라벨출력 불가
- }
- if (sapnoprtyn == "false") {
- chkMixnoi = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- if ( chkMixnoi != "") { //mixno가 있으면서
- for (var j=1;j<rows;j++) {
- chkMixnoj = model.getValue(xWardDrugListPath + "[" + j + "]/prcpmixno");
- if ( chkMixnoi == chkMixnoj ) { //같은 mixno이면 출력을 해제한다.
- //model.setValue(xWardDrugListPath + "[" + j + "]/check","true");
- model.setValue(xWardDrugListPath + "[" + j + "]/check","false"); //1001
- chkcnt++;
- }
- }
- }
- }
- }
- }
- if (chkcnt >0) {
- messageBox("Mixno가 수액라벨 체크 되어 있는 경우 \n수액기준정보에 수액no적용정보가 'N'로 설정된 자료가 있습니다. \n수액라벨출력을 해제합니다.","E999");
- }
- //----------------------
- //3. 출력내역정리하기
- //---------------------- 작업중...........
- var subcnt = 0; //해당번호
- var prcptimscalc ="";
- var mainpre_prcpmixno = "999999999"; //main이전mixno
- var subnow_prcpmixno = ""; //sub현재mixno
- var startrow = "";
- //전체
- for(var i = 1; i < rows; i++){
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- if(prcpclscd == "A61"){//수액
- if(model.getValue(xWardDrugListPath + "[" + i + "]/check") == "true"){
- prcpmixno = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno"); //현재mixno
- prcptims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- prcptimscalc = model.getValue(xWardDrugListPath + "[" + i + "]/calctims"); //------------(20080912)
- startrow = i;
- if (mainpre_prcpmixno != prcpmixno) { //main 이전mixno가 다른경우
- //횟수만큼
- for(var j = 0; j < prcptimscalc; j++){ //for(var j = 0; j < prcptims; j++){ //--------(20080912)
- subcnt ++;
- //startrow부터 같은 mixno를 찾는다.
- for(var k = startrow; k < rows; k++){
- subnow_prcpmixno = model.getValue(xWardDrugListPath + "[" + k + "]/prcpmixno"); //현재mixno
- if (prcpmixno != subnow_prcpmixno) {
- // i = k; //main첨자를 sub에서 증가한 것 만큼 더한다.
- // i--; //i가 전체 main loop로 돌아가면 자동 증가되므로 -1를 해준다.
- k = rows; //k loop를 벗어남
- } else {
- //mixno가 연속해서 없는 경우에는 다른것으로 인식하기 위해서 구분한다.
- if ( k > startrow && prcpmixno =="" && subnow_prcpmixno == "") {
- k=rows;
- } else {
- model.setValue("/root/main/warddruginfo/warddruglist[" + k + "]/soding", subcnt);
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + k + "]");
- }
- }
- }
- }
- mainpre_prcpmixno = prcpmixno;
- if (prcpmixno == "") mainpre_prcpmixno = "999999999"; //mix no가 지정되지 않은것이 연속으로 되어 있는경우, 구분하기 위해서
- }
- }
- }
- }
-
- //수액
- if (subcnt > 0) {
- //if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- //------------------(20081024)
- if ( getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo") <=0 ) {
- //messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- //return;
- fGetBarCodeInfo(getScreenID());
- }
- //------------------(20081024)
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo"); //CommAX.PortOpen(true)이 있음(20081024)
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- var nodecnt = getNodesetCount(xMediCard8);
- var prev_soding = "";
- var prcpvol = "";
- var prcpvolunitflag = "";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var labelcnt = 0;
- var labelindex = 0;
- var sDate = model.getValue("/root/main/cond/orddd").substr(4,2) + "/" + model.getValue("/root/main/cond/orddd").substr(6,2);
- var soding = "";
- var last = "";
- var overcnt = 1;
- var iHeight = 0;
- var sTempData = "";
- var sLabelData_Array = new Array;
- var iLeft = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left"));
- var iTop = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top"));
- if(iLeft == "" || iLeft == "-"){
- iLeft = 0;
- }
- if(iTop == "" || iTop == "-"){
- iTop = 0;
- }
-
- /*수액 라벨 출력*/
- var sLabelSndMsg = BP_StartFormat;
- for(var j = 1; j <= nodecnt; j++){
- //하단
- if(j == 1 || prev_soding != model.getValue(xMediCard8 + "[" + j + "]/soding")){
- /*환자정보 라벨 출력*/
- prev_soding = model.getValue(xMediCard8 + "[" + j + "]/soding");
- //-----------------------------(20080917)
- //이름과 등록번호 크게 출력하기
- //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
-
- //-----------하단의 성별/나이(20081208)
- sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- //-----------
-
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCareBP_EndFormat(1);
- //-----------------------------(20080917)
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- sLabelSndMsg = BP_StartFormat;
- //-----------상단의 등록번호(20081208)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- //sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- //sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 180, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/pid"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 280, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- //-----------
-
- }
- prcpvol = model.getValue(xMediCard8 + "[" + j + "]/prcpvol");
- prcpvolunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpvolunitflag");
-
- prcpqty = model.getValue(xMediCard8 + "[" + j + "]/prcpqty");
- prcpqtyunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpqtyunitflag");
- //---------------(20080927)
- //1일횟수로 나눈다.
- var tims = model.getValue(xMediCard8 + "[" + j + "]/tims");
- if (tims > 0 ) {
- prcpvol = prcpvol / tims;
- prcpqty = prcpqty / tims;
- }
- //---------------(20080927)
-
- sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag;
- iHeight = ((labelcnt + overcnt) * 30) + 30;
-
- //--------------------(20081208)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/prcpcd"), ""); //원본
- //sLabelSndMsg += fCarePrintOutA(iLeft + 220, iTop + iHeight, 3, "N", sTempData, "");
- ////처방 영문명, 폰트 축소(안됨)
-
- //1. 한글,특수문자(이미지)과 영문(텍스트)을 분리해서 보냄 ===> //이미지로 보내서 속도가 아주 떨어짐
- //2. 한번에 보내는 버퍼용량이 제한이 있음
-
- //대한5%포도당가생리식염액 1000ml (Dextrose, Electrolytes)
- //sLabelSndMsg += fCarePrintOutH(iLeft + 10, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- CommAX.SendMessage(sLabelSndMsg);
- sLabelSndMsg = "";
- sLabelSndMsg += fCarePrintOutH(iLeft + 10, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/engnm"), "");
- CommAX.SendMessage(sLabelSndMsg);
- sLabelSndMsg = "";
- sLabelSndMsg += fCarePrintOutA(iLeft + 230, iTop + iHeight, 3, "N", sTempData, "");
- //--------------------(20081208)
- labelcnt++;
- soding = Number(model.getValue(xMediCard8 + "[" + j + "]/soding"));
- last = model.getValue(xMediCard8 + "[" + j + "]/last");
- /*수액정보 라벨 출력*/
- if(j == nodecnt || prev_soding != model.getValue(xMediCard8 + "[" + (j+1) + "]/soding")){
- // 총수 - 현위치
-
- //----------(20080927)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
-
- //------------------(20081208)
- var Mixno = "mixno";
- var DrugTime = "10:00";
-
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 180, 1, "N", Mixno, "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 10, iTop + 210, 1, "N", DrugTime, "");
- //------------------(20081208)
-
- sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", subcnt + " - " + soding, "");
- //----------(20080927)
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 1;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else if((labelcnt + overcnt) == 5){
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 0;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else{}
- }
- /*순서 뒤집기*/
- /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- CommAX.SendMessage(sLabelData_Array[k]);
- }*/
- //-----------(20081031)
- CommAX.PortOpen(false);
- //CommAX.PortClose();
- //-----------(20081031)
- }else{
- messageBox("수액이 존재하지","E007");
- }
- }
- //----------(20080929이전버젼)
- function fClickHydPrint_OLD(){
- model.removeNodeSet("/root/send/medicard8/warddruglist");
- var rows = grd_druglist.rows-1;
- var prcpclscd = "";
- var prcpmixno = "";
- var prcptims = "";
- var medicardcnt8 = 0;//라벨 출력 총 건수
- var prtMix_Array = new Array;
- var acctims = 0;
-
- //-----------------(20080927)
- var totcnt = "";
- //-----------------(20080927)
-
- for(var i = 1; i < rows; i++){
- prcpclscd = model.getValue(xWardDrugListPath + "[" + i + "]/prtprcpclscd");
- prcpmixno = model.getValue(xWardDrugListPath + "[" + i + "]/prcpmixno");
- prcptims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- //------------(20080912)
- var prcptimscalc = model.getValue(xWardDrugListPath + "[" + i + "]/calctims");
- //------------(20080912)
- if(prcpclscd == "A61"){//수액
- if(model.getValue(xWardDrugListPath + "[" + i + "]/check") == "true"){
- //--------(20080912)
- //for(var j = 0; j < prcptims; j++){
- for(var j = 0; j < prcptimscalc; j++){
- //--------(20080912)
- if((prcpmixno == "" || isSearchArrayIndex(prtMix_Array, prcpmixno) == -1) && j == 0){
- medicardcnt8++;
- prtMix_Array[medicardcnt8] = prcpmixno;
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", medicardcnt8 + acctims);
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
-
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }else if(j > 0){
- acctims++;
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", Number(isSearchArrayIndex(prtMix_Array, prcpmixno)) + Number(acctims));
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
-
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }else{
- model.setValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding", Number(isSearchArrayIndex(prtMix_Array, prcpmixno)) + Number(acctims));
- model.duplicate("/root/send/medicard8", "/root/main/warddruginfo/warddruglist[" + i + "]");
- //-----------------(20080927)
- if ( model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding") != "-") {
- totcnt = model.getValue("/root/main/warddruginfo/warddruglist[" + i + "]/soding");
- }
- //-----------------(20080927)
- }
- }
- }
- }
- }
- //수액
- if(medicardcnt8 >0){
- //exeReportPreview("RPMNW01000", "XMLSTR" , "" , "" , "ZDesigner S4M ZPL 203DPI" , "", "", "", "", "true");
- //----------------------------(20080917) 다시 막고 화면 초기화시 open함
- // 바코드OCX 생성(20080720)
- // if(document.all("CommAX") == null){
- // //lzzfMakeBrcdPrntObj("CommAX");
- // lzzfMakeBrcdPrntObjHanDo("CommAX"); //(20080721)
- // }
-
- if ( getNodesetCount("/root/main/barcdprntsetup/prntsetupinfo/setupinfo") <=0 ) {
- messageBox("바코드 환경정보가 없습니다. \n프린터 설정을 클릭하여 환경정보를 설정하십시오.","E999");
- return;
- }
- // LLZ001.JS참고
- // messageBox("아래 사항을 확인후 재출력해주십시오."
- // + " \n 1.프린트설정 화면에서 통신유형을 com 으로 선택한 경우 port 번호 확인"
- // + " \n 2.케이블 확인"
- // + " \n 3.먼저 출력중인 바코드 확인(모두 출력된 후 재출력하십시오.)", "I", "");
-
- //--------------------------------
-
- fSettingBarCode("/root/main/barcdprntsetup/prntsetupinfo/setupinfo");
- //CommAX.CommPort = "7"; // 출력 Port
- //CommAX.Settings = "9600,n,8,1"; // Comm 설정
- var nodecnt = getNodesetCount(xMediCard8);
- var prev_soding = "";
- var prcpvol = "";
- var prcpvolunitflag = "";
- var prcpqty = "";
- var prcpqtyunitflag = "";
- var labelcnt = 0;
- var labelindex = 0;
- var sDate = model.getValue("/root/main/cond/orddd").substr(4,2) + "/" + model.getValue("/root/main/cond/orddd").substr(6,2);
- var soding = "";
- var last = "";
- var overcnt = 1;
- var iHeight = 0;
- var sTempData = "";
- var sLabelData_Array = new Array;
- var iLeft = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/left"));
- var iTop = Number(model.getValue("/root/main/barcdprntsetup/prntsetupinfo/setupinfo/blank/top"));
- if(iLeft == "" || iLeft == "-"){
- iLeft = 0;
- }
- if(iTop == "" || iTop == "-"){
- iTop = 0;
- }
-
- /*수액 라벨 출력*/
- var sLabelSndMsg = BP_StartFormat;
- for(var j = 1; j <= nodecnt; j++){
- if(j == 1 || prev_soding != model.getValue(xMediCard8 + "[" + j + "]/soding")){
- /*환자정보 라벨 출력*/
- prev_soding = model.getValue(xMediCard8 + "[" + j + "]/soding");
- //-----------------------------(20080917)
- //이름과 등록번호 크게 출력하기
- //sLabelSndMsg += fCarePrintOutA(iLeft + 100, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 60, 3, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- //sLabelSndMsg += fCarePrintOutH(iLeft + 100, iTop + 160, 3, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 50, iTop + 10, 3, "N", "(" + model.getValue("/root/main/patinfo/pid") + ")","");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 60, 9, "Y", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH2(iLeft + 50, iTop + 160, 9, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCareBP_EndFormat(1);
- //-----------------------------(20080917)
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- sLabelSndMsg = BP_StartFormat;
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + 10, 4, "N", model.getValue("/root/main/patinfo/roomcd"),"");
- sLabelSndMsg += fCarePrintOutH(iLeft + 150, iTop + 10, 1, "Y", model.getValue("/root/main/patinfo/patnm"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 250, iTop + 10, 3, "N", model.getValue("/root/main/patinfo/sexage"),"");
- sLabelSndMsg += fCarePrintOutA(iLeft + 350, iTop + 10, 4, "N", sDate,"");
- }
- prcpvol = model.getValue(xMediCard8 + "[" + j + "]/prcpvol");
- prcpvolunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpvolunitflag");
-
- prcpqty = model.getValue(xMediCard8 + "[" + j + "]/prcpqty");
- prcpqtyunitflag = model.getValue(xMediCard8 + "[" + j + "]/prcpqtyunitflag");
- //---------------(20080927)
- //1일횟수로 나눈다.
- var tims = model.getValue(xMediCard8 + "[" + j + "]/tims");
- if (tims > 0 ) {
- prcpvol = prcpvol / tims;
- prcpqty = prcpqty / tims;
- }
- //---------------(20080927)
-
- sTempData = prcpvol + prcpvolunitflag + "/" + prcpqty + prcpqtyunitflag;
- iHeight = ((labelcnt + overcnt) * 30) + 30;
- sLabelSndMsg += fCarePrintOutA(iLeft + 20, iTop + iHeight, 3, "N", model.getValue(xMediCard8 + "[" + j + "]/prcpcd"), "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 220, iTop + iHeight, 3, "N", sTempData, "");
- labelcnt++;
- soding = Number(model.getValue(xMediCard8 + "[" + j + "]/soding"));
- last = model.getValue(xMediCard8 + "[" + j + "]/last");
- /*수액정보 라벨 출력*/
- if(j == nodecnt || prev_soding != model.getValue(xMediCard8 + "[" + (j+1) + "]/soding")){
- // 총수 - 현위치
-
- //----------(20080927)
- //sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", (Number(medicardcnt8) + Number(acctims)) + " - " + soding, "");
- sLabelSndMsg += fCarePrintOutA(iLeft + 200, iTop + 220, 1, "N", totcnt + " - " + soding, "");
- //----------(20080927)
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 1;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else if((labelcnt + overcnt) == 5){
- sLabelSndMsg += fCareBP_EndFormat(1);
- sLabelData_Array[labelindex] = sLabelSndMsg;
-
- CommAX.SendMessage(sLabelSndMsg);
- ////////////////alert(sLabelSndMsg);
-
- labelindex = labelindex + 1;
- overcnt = 0;
- labelcnt = 0;
- sLabelSndMsg = BP_StartFormat;
- }else{}
- }
- /*순서 뒤집기*/
- /*for(var k = sLabelData_Array.length-1; k >= 0; k--){
- CommAX.SendMessage(sLabelData_Array[k]);
- }*/
- }else{
- messageBox("수액이 존재하지","E007");
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 라벨 출력
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fPatLabelPrint(sSndMsg){
- //출력매수
- //sSndMsg = sSndMsg + "^PQ1";
- //끝
- sSndMsg = sSndMsg + "^XZ";
- CommAX.SendMessage(sSndMsg);
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상단정보 셋팅
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPatInfo(pid, indd, cretno, instcd, orddd, ordtype){
- var condparam = "";
-
- if(top_pid != pid){
- if(ordtype == "I" || ordtype == "D"){
- // 상단 세팅을 위한 파라미터
- condparam = "I" + "▦" + pid
- + "▦" + indd
- + "▦" + cretno
- + "▦" + instcd
- + "▦" + orddd;
- }else if(ordtype == "E"){
- // 상단 세팅을 위한 파라미터
- condparam = "E" + "▦" + pid
- + "▦" + indd
- + "▦" + cretno
- + "▦" + instcd
- + "▦";
- }else{}
- if(ordtype == "I" || ordtype == "E" || ordtype == "D"){
- //frmf_setParameter("condparam", condparam);
-
- //상단 세팅 화면 사이즈 작게 띄움
- //----------------------(20080618이전버젼)
- //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
- //top_pid = pid;
- //----------------------(20080618이후버젼)
- //modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
-
-
- var useyn = appf_initPatientInfo(condparam); //상단정보 셋팅 // 입원,외래 원무환자정보 존재 "true" / 존재하지 않을 경우 "false"
- if(useyn == true) { // 원무환자정보 있을 경우만 다음 단계 진행
- top_pid = pid;
- group3.btn_save.enable = true;
- group3.btn_tempsave.enable = true;
- } else {
- sysf_messageBox("원무정보가 없습니다. 투약기록일 할 수 업습니다.","E999");
- group3.btn_save.enable = false;
- group3.btn_tempsave.enable = false;
- }
- //---------------------
- }
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 리스트 클릭시
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDrugListClick(){
- return;
-
- var row = grd_druglist.mouseRow;
- var col = grd_druglist.mouseCol;
- var drugstat = model.getValue("/root/main/cond/drugstat"); //ACTING구분
- //데이터 컬럼을 클릭시
- if(isDataCell() && col >= grd_colcnt){ //해당 셀을 누를 경우 해당하는 자료만
- if(event.button == 1){
- fSetDrug(drugstat); //Acting이벤트시 공통 함수(ACTING구분 파라미터)상단으로 올라감
- grd_druglist.refresh();
- }
- if(grd_colcnt <= col){
- //-----------(20081121:test) grd_druglist.row = 1;가 있는데, 막고 테스트 진행함)
- //grd_druglist.row = 1;
- //숨겨진필드로 이동한다.
- grd_druglist.select(grd_druglist.row,grd_druglist.colref("engnm")) = true;
- grd_druglist.col = grd_druglist.colref("engnm");
- //-----------(20081121)
- }
- }else if(row == 0 || row == 1){ //헤더를 누를 경우 해당하는 모든 ROW의 컬럼
- if(col >= grd_colcnt){
- fSetDrugAllActing(drugstat);
- grd_druglist.refresh();
- }
- }else{}
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 디스플레이(환자리스트)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetPatTopInfo(){
-
- var patcnt = ds_main_wardpatinfo_wardpatlist.rowcount;
- var row = ds_main_wardpatinfo_wardpatlist.rowposition;
- var pid = ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid");
- var indd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "indd");
- var cretno = ds_main_wardpatinfo_wardpatlist.getColumn(row, "cretno");
- var instcd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "instcd");
- var ordtype = ds_main_wardpatinfo_wardpatlist.getColumn(row, "ordtype");
- var orddd = ds_main_cond.getColumn(0, "orddd");
- var roomcd = ds_main_wardpatinfo_wardpatlist.getColumn(row, "roomcd");
- var patnm = ds_main_wardpatinfo_wardpatlist.getColumn(row, "patnm");
- var sexage = ds_main_wardpatinfo_wardpatlist.getColumn(row, "sexage");
-
- ds_main_patinfo.setColumn(0, "roomcd", roomcd);
- ds_main_patinfo.setColumn(0, "pid", pid);
- ds_main_patinfo.setColumn(0, "patnm", patnm);
- ds_main_patinfo.setColumn(0, "sexage", sexage);
-
- //-----------------(20080912)
- ds_main_cond.setColumn(0, "roomcd", roomcd);
- //-----------------(20080912)
-
- if( row > -1 && row < patcnt){
- fSetPatInfo(pid,indd,cretno,instcd,orddd,ordtype);
- }
- //----------(20081226)
- //if(mouserow > 0 && mouserow <= patcnt){
- // fClickDrugListBefore(); //------------(20081031)
- // fClickDrugList("drg", row);
- // fClickDrugListAfter(); //------------(20081031)
- //}
- //----------(20081226)
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 환자정보 디스플레이(미투약리스트)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSetActTopInfo(){
- var mouserow = grd_actlist.mouseRow;
- var patcnt = getNodesetCount(xWardActListPath);
- var row = grd_actlist.mouserow;
- var pid = model.getValue(xWardActListPath + "[" + row + "]/pid");
- var indd = model.getValue(xWardActListPath + "[" + row + "]/indd");
- var cretno = model.getValue(xWardActListPath + "[" + row + "]/cretno");
- var instcd = model.getValue(xWardActListPath + "[" + row + "]/instcd");
- var ordtype = model.getValue(xWardActListPath + "[" + row + "]/ordtype");
- var orddd = model.getValue(xWardActListPath + "[" + row + "prcpdd");
- var roomcd = model.getValue(xWardActListPath + "[" + row + "]/roomcd");
- var patnm = model.getValue(xWardActListPath + "[" + row + "]/patnm");
- var sexage = model.getValue(xWardActListPath + "[" + row + "]/sexage");
- model.setValue("/root/main/patinfo/roomcd", roomcd);
- model.setValue("/root/main/patinfo/pid", pid);
- model.setValue("/root/main/patinfo/patnm", patnm);
- model.setValue("/root/main/patinfo/sexage", sexage);
- if(mouserow > 0 && mouserow <= patcnt){
- fSetPatInfo(pid,indd,cretno,instcd,orddd,ordtype);
- }
- if(mouserow > 0 && mouserow <= patcnt){
-
- fClickDrugListBefore(); //------------(20081031)
- fClickDrugList("act", row);
- fClickDrugListAfter(); //------------(20081031)
-
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 상태값 변경 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangeValueStatus(row, forarr){
- // var iudflag = model.getValue(xWardDrugListPath + "[" + row+ "]/for[" + forarr + "]/iudflag");
- // if(iudflag == "-"){
- // model.setValue(xWardDrugListPath + "[" + row+ "]/for[" + forarr + "]/iudflag", "U");
- // }else if(iudflag == ""){
- // model.setValue(xWardDrugListPath + "[" + row+ "]/for[" + forarr + "]/iudflag", "I");
- // }else{}
- //exip전부 수정한다.
- var objDsxWardDrugListPath = eval(xWardDrugListPath+row+"for");
- for( var j=0 ; j<objDsxWardDrugListPath.rowcount ; j++ ){
- var iudflag = objDsxWardDrugListPath.getColumn(j, "iudflag");
- if(iudflag == "-"){
- objDsxWardDrugListPath.setColumn(j, "iudflag", "U");
- }else if( utlf_isNull(iudflag) ){
- objDsxWardDrugListPath.setColumn(j, "iudflag", "I");
- }else{}
- }
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약 시간 셀 color 변경
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fDrugCellColorChg(){
- var rows = group3.grd_druglist.rowcount;
- var execcarestatcd = "";
- var spcldrug = "";
- var dccomcountyn = "";
- var forarr = "";
- var todaydrugflag = ""; //---(20080920)
- var execprcpnoarr = "";
- var cols = 0;
- var cole = 0;
-
- var sExprBack = "EXPR(";
-
- for( var i=0 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "background", "");
- group3.grd_druglist.setCellProperty("Body", i, "background2", "");
- }
-
- for( var i=0 ; i<rows ; i++ ){
- //AST.ADBMDRUG(약품기본정보)spcldrug(특별약품구분(코드군 A0006 참조))
- spcldrug = ds_main_warddruginfo_warddruglist.getColumn(i, "spcldrug");
- //D/C확정여부
- dccomcountyn = ds_main_warddruginfo_warddruglist.getColumn(i, "dccomcountyn");
- execprcpnoarr = ds_main_warddruginfo_warddruglist.getColumn(i, "execprcpnoarr");
- for( var j=0 ; j<execprcpnoarr.length ; j++ ){
-
- var colposi = (j*2)+parseInt(grd_colcnt);
-
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr"+colposi)) ){
- forarr = utlf_transNullToEmpty(ds_main_warddruginfo_warddruglist.getColumn(i, "forarr"+colposi)).split(" ");
- }else{
- forarr = "";
- }
- if( !utlf_isNull(forarr) ){
- for( var k=(forarr.length-2) ; k>=0 ; k-- ){
- //간호Acting진행상태(N(미확인)/R(정상투약)/P(투약X-반환가능)/I(투약X-반환불가)/L(퇴원당일 남은약)
- execcarestatcd = eval(xWardDrugListPath+i+"for").getColumn(forarr[k]-1, "execcarestatcd");
-
- //--------------------------------------
- //원본:조건체크없이 설정했음
- //수정:조회일 기준으로 투약대상이 아니면 색상을 표시하지 않는다.
-
- //todaydrugflag = model.getValue(xWardDrugListPath + "[" + i + "]/for[" + forarr[k] + "]/todaydrug"); //--(0920)
-
- //if (todaydrugflag == "Y") { //--(0920)
-
- //cols = (j*3)+parseInt(grd_colcnt);
- cols = (j*2)+parseInt(grd_colcnt); //----(20081226)
- cole = (j*2)+parseInt(grd_colcnt)+1;
-
- if(execcarestatcd == "N" ||execcarestatcd == "-"){
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+gray+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+gray+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", gray, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", gray, i);
- }
- }else if(execcarestatcd == "R"){
- ////////alert(cols + "/" +cole);
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+yellow+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+yellow+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", yellow, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", yellow, i);
- }
- }else if(execcarestatcd == "P"){
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+yellowishgreen+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+yellowishgreen+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", yellowishgreen, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", yellowishgreen, i);
- }
- }else if(execcarestatcd == "I"){
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+red+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+red+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", red, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", red, i);
- }
- }else if(execcarestatcd == "L"){
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+sky+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+sky+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", sky, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", sky, i);
- }
- //-------------(20081201)
- }else if(execcarestatcd == "M"){
- sExprBack += "currow == "+i+" && self.col == "+cols+" ? '"+orange+"' : ";
- sExprBack += "currow == "+i+" && self.col == "+cole+" ? '"+orange+"' : ";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+cols)) || utlf_isNull(ds_main_warddruginfo_warddruglist.getColumn(i, "color"+cols)) ){
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cols, "string", orange, i);
- dsf_makeValue(ds_main_warddruginfo_warddruglist, "color"+cole, "string", orange, i);
- }
- //-------------(20081201)
- }else{}
- //}
- //--------------------------------------
- }
- }
- }
- //-----------------------------(20080731)
- //마약,향정신성인 경우
- //if(spcldrug == "M"){
- // if( spcldrug == "M" || spcldrug == "H" ){
- // //grd_druglist.cellstyle("font-weight",i+1,1,i+1,grd_colcnt-3) = "bold";
- // //grd_druglist.cellstyle("font-weight",i+1,grd_colcnt-1,i+1,grd_colcnt-1) = "bold";
- // grd_druglist.cellstyle("font-weight",i+1,1,i+1,grd_druglist.cols-1) = "bold";
- // }
- //-----------------------------
- //D/C확정여부
- // if(dccomcountyn == "Y"){
- // //grd_druglist.cellstyle("color",i+1,1,i+1,grd_colcnt-3) = red;
- // //grd_druglist.cellstyle("color",i+1,grd_colcnt-1,i+1,grd_colcnt-1) = red;
- // grd_druglist.cellstyle("color",i+1,1,i+1,grd_druglist.cols-1) = red;
- // }
-
- //bfprcpequalyn : 전일처방 비교 getbfprcpequalyninfo 추가 김홍점 'N'일때 색깔표현
-
- // if ( model.getValue(xWardDrugListPath + "[" + i + "]/bfprcpequalyn") == "N"){
- // grd_druglist.cellstyle("background-color",i+1,grd_druglist.colRef("prcpmixno"),i+1,grd_druglist.colRef("drugmthdspccd")) = "#cceeee";
- // }
- }
-
- sExprBack += "'')";
-
- for( var i=grd_colcnt ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "background", sExprBack);
- group3.grd_druglist.setCellProperty("Body", i, "background2", sExprBack);
- }
-
- for( var i=3 ; i<14 ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "background", "EXPR(bfprcpequalyn == 'N' ? '#cceeee' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "background2", "EXPR(bfprcpequalyn == 'N' ? '#cceeee' : '')");
- }
-
- for( var i=1 ; i<group3.grd_druglist.getCellCount("Body") ; i++ ){
- group3.grd_druglist.setCellProperty("Body", i, "font", "EXPR(spcldrug == 'M' || spcldrug == 'H' ? 'Dotum,9,bold' : 'Dotum,9')");
- group3.grd_druglist.setCellProperty("Body", i, "selectfont", "EXPR(spcldrug == 'M' || spcldrug == 'H' ? 'Dotum,9,bold' : 'Dotum,9')");
-
- group3.grd_druglist.setCellProperty("Body", i, "color", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "color2", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- group3.grd_druglist.setCellProperty("Body", i, "selectcolor", "EXPR(dccomcountyn == 'Y' ? 'red' : '')");
- }
- }
- //-------------------------------------(20080920)
- // todaydrug 을 기준으로 화면에 보이는 것을 재 설정한다.
- function fDrugCellDispChg(){
- var pGrd = grd_druglist;
- var rows = pGrd.rows;
- var cols = pGrd.cols;
- var execcarestatcd = "";
- var spcldrug = "";
- var dccomcountyn = "";
- var forarr = "";
- var todaydrugflag = "";
-
- //-----------------------------
- //column 설정
- //화면에 보이는 자료에 대해서 색상이 없는경우는 colwidth = 0으로 설정한다.
- //-----------------------------
- for(var col = grd_colcnt; col < cols; col++){
- var dispyn = false; //보이지 않아야 하는 컬럼
- for(var row = 2; row < rows; row++){
- //if (pGrd.rowheight(row) != 0) { //----(20080923)
- if ( pGrd.cellstyle("background-color",row,col) == gray ||
- pGrd.cellstyle("background-color",row,col) == yellow ||
- pGrd.cellstyle("background-color",row,col) == yellowishgreen ||
- pGrd.cellstyle("background-color",row,col) == red ||
- //-------------(20081201)
- pGrd.cellstyle("background-color",row,col) == orange ||
- //-------------(20081201)
- pGrd.cellstyle("background-color",row,col) == sky ) {
- dispyn = true;
- }
- //}
- }
- if (dispyn == false) {
- pGrd.colWidth(col) = 0;
- }
- }
- //-----------------------------
- //row 설정
- //화면에 보이는 자료에 대해서 색상이 없는경우는 rowheight = 0으로 설정한다.
- //-----------------------------
- for(var row = 2; row < rows; row++){
- var dispyn = false; //보이지 않아야 하는 컬럼
- for(var col = grd_colcnt; col < cols; col++){
- if (pGrd.colwidth(col) != 0) { //----(20080925)
- if ( pGrd.cellstyle("background-color",row,col) == gray ||
- pGrd.cellstyle("background-color",row,col) == yellow ||
- pGrd.cellstyle("background-color",row,col) == yellowishgreen ||
- pGrd.cellstyle("background-color",row,col) == red ||
- //-----------(20081201)
- pGrd.cellstyle("background-color",row,col) == orange ||
- //-----------(20081201)
- pGrd.cellstyle("background-color",row,col) == sky ) {
- dispyn = true;
- }
- }
- }
- if (dispyn == false) {
- pGrd.rowheight(row) = 0;
- }
- }
- }
- //-------------------------------------(20080920)
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : Tree 셋팅
- * @param : Object gridObj - 그리드 오브텍트
- Integer levelcol - Depth 컬럼 위치
- Integer targetcol - 아웃라인 생성 컬럼 위치
- Boolean collapsed - Expand 설정
- * @return :
- * @---------------------------------------------------
- */
- function careSetTree( gridObj, levelcol, targetcol, collapsed ) {
- // 그리드 아웃라이바 초기화
- gridObj.outlinebar=0;
- var prcpmixno = "0";
- var prcpclscd = "";
- //tree 및 레벨설정
- for(var j = gridObj.fixedRows; j < gridObj.rows; j++)
- {
- gridObj.IsSubtotal(j) = false;
- }
- gridObj.refresh();
- mixno_Array = new Array;
- //tree 및 레벨설정
- for(var i = gridObj.fixedRows; i < gridObj.rows; i++)
- {
- prcpmixno = model.getValue(xWardDrugListPath + "[" + (i-1) + "]/prcpmixno");
- prcpclscd = model.getValue(xWardDrugListPath + "[" + (i-1) + "]/prcpclscd");
- if(prcpmixno != ""){
- try {
- if(mixno_Array[parseInt(prcpmixno)] == null){
- gridObj.IsSubtotal(i) = true;
- gridObj.outlinelevel(i) = 1; //인스턴스 levl 값임
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "1");
- mixno_Array[parseInt(prcpmixno)] = "Y";
- }else if(mixno_Array[parseInt(prcpmixno)] == "Y"){
- gridObj.IsSubtotal(i) = true;
- gridObj.outlinelevel(i) = 2; //인스턴스 levl 값임
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "2");
- }else{}
- } catch(e) {
- //////////////////////alert("i:"+i+",levelcol:"+levelcol);
- }
- }else{
- model.setValue(xWardDrugListPath + "[" + (i-1) + "]/depth", "0");
- }
- }
- // tree 대상 컬럼 및 형태 설정
- gridObj.outlinecol=targetcol; //연결선이 표현되는 컬럼
- gridObj.outlinebar=2; //연결선 형태 설정 (+ , - , 사각형 안보이게 하려면 0 으로 세팅)
- gridObj.treecolor="#948777"
- // 자식 트리 접기
- if(collapsed != null) {
- setCollapsed(gridObj, collapsed);
- }
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayString(baseCol_Array, row){
- for(var i = 0; i <= baseCol_Array.length; i++){
- if((baseCol_Array[i]) == row){
- return true;
- }
- }
- return false;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 문자열 검색(배열)
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function isSearchArrayIndex(baseCol_Array, sData){
- for( var i=0 ; i<=baseCol_Array.length ; i++ ){
- if( baseCol_Array[i] == sData ){
- return i;
- }
- }
- return -1;
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 기준시간 변경전 변경된 내용이 있는지 체크
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fChangeDrugInfo(){
- var rows = grd_druglist.rows - 1;
- var drugtmspec = "";
- var tims = "";
- var stat = "false";
- var iudflag = "";
- for(var i = 1; i < rows; i++){
- drugtmspec = model.getValue(xWardDrugListPath + "[" + i + "]/drugtmspec").split(" ");
- tims = model.getValue(xWardDrugListPath + "[" + i + "]/tims");
- for(var j = 0; j < rows; j++){
- iudflag = model.getValue(xWardDrugListPath + "[" + i + "]/iudflag" + drugtmspec[j]);
- if(iudflag != "-" && iudflag != ""){
- return "true";
- }
- }
- }
- return "false";
- }
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 그리드 기본/펼치기 모드 이벤트
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fSelectOpenMoe(){
- if( group3.rdo_openmode.value == "O" ){ //펼치기
- group3.grd_druglist.setFormatColProperty(grd_colcnt-8, "size", 90); //기준시간setting(drugtmspeccal)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-7, "size", 80); //처방remark(prcpdelivefact)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-6, "size", 55); //처방의(orddrnm)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-5, "size", 101); //처방시간(fstrgstdt)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-4, "size", 70); //처방적용일(prcphopedd)
- //grd_druglist.colHidden(grd_colcnt - 2) = false; //수액라벨출력여부(sapnoyn)(20080929)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-3, "size", 0); //수액라벨출력여부(sapnoyn)(20081114)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-2, "size", 70); //처방명문명(20081118)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-1, "size", 0); //depth(depth)
- }else if( group3.rdo_openmode.value == "B" ){ //기본
- group3.grd_druglist.setFormatColProperty(grd_colcnt-8, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-7, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-6, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-5, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-4, "size", 0);
- group3.grd_druglist.setFormatColProperty(grd_colcnt-3, "size", 0); //수액라벨출력여부(sapnoyn)(20080929)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-2, "size", 0); //처방명문명(20081118)
- group3.grd_druglist.setFormatColProperty(grd_colcnt-1, "size", 0);
- }else {}
- }
- /**
- * @group :
- * @ver : 2007.06.23
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 문자열 정렬
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //일자별정렬
- function sortHashKeys(col, cnt){
- var sColArray = new Array; //파라미터를 배열 구조로 변경 저장
- var sCol = utlf_transNullToEmpty(col).split("^");
- var temp = "";
- for(var i = 0; i < cnt; i++){
- sColArray[i] = Number(sCol[i]);
- }
- //sColArray.sort();
- for(i = 0; i < sColArray.length; i++){
- for(j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = sColArray[i];
- sColArray[i] = sColArray[j];
- sColArray[j] = temp;
- }
- }
- }
- return sColArray;
- }
- //시간대정렬(20080918)
- function sortHashKeys2(col, cnt){
- var sColArray = new Array; //파라미터를 배열 구조로 변경 저장
- var sCol = utlf_transNullToEmpty(col).split("^");
- var temp = "";
- for(var i = 0; i < cnt; i++){
- sColArray[i] = Number(sCol[i]);
- }
- //sColArray.sort();
- for(i = 0; i < sColArray.length; i++){
- for(j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = sColArray[i];
- sColArray[i] = sColArray[j];
- sColArray[j] = temp;
- }
- }
- }
- //////////////////alert("1");
- //가공
- var sColArraytemp0 = new Array;
- var sColArraytemp1 = new Array;
- var sColArraytemp2 = new Array;
- var sColArraytemp3 = new Array;
- var sColArraytemp4 = new Array;
-
- var cnt0 = -1;
- var cnt1 = -1;
- var cnt2 = -1;
- var cnt3 = -1;
- var cnt4 = -1;
- //////////////////alert("2");
- for(i = 0; i < sColArray.length; i++){
- var tempv = parseInt(sColArray[i]);
- ////////////////////alert(tempv);
-
- if (tempv < 0) {
- //////////////////alert("나누기전:" +tempv);
- tempv = tempv / 2400 ;
- //////////////////alert("나누기후:" +tempv.toString().getTruncate());
-
- if (tempv.toString().getTruncate() == 0) {
- cnt0++;
- sColArraytemp0[cnt0] = sColArray[i];
- //////////////////alert(sColArraytemp0[cnt0]);
-
- }else if(tempv.toString().getTruncate() == -1) {
- cnt1++;
- sColArraytemp1[cnt1] = sColArray[i];
- }else if(tempv.toString().getTruncate() == -2) {
- cnt2++;
- sColArraytemp2[cnt2] = sColArray[i];
- }else if (tempv.toString().getTruncate() == -3) {
- cnt3++;
- sColArraytemp3[cnt3] = sColArray[i];
- }else if (tempv.toString().getTruncate() == -4) {
- cnt4++;
- sColArraytemp4[cnt4] = sColArray[i];
- }
- }
- }
- //////////////////alert("3");
- var totcnt = -1;
- for (i=0;i<sColArraytemp4.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp4[i];
- //////////////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp3.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp3[i];
- //////////////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp2.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp2[i];
- //////////////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp1.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp1[i];
- //////////////////alert(sColArray[totcnt]);
- }
- for (i=0;i<sColArraytemp0.length;i++) {
- totcnt ++;
- sColArray[totcnt]=sColArraytemp0[i];
- //////////////////alert(sColArray[totcnt]);
- }
- //////////////////alert("4");
- return sColArray;
- }
- //기준시간setting정렬(0930)
- function sortHashKeysString(sColString){
- var sColArray = new Array;
-
- //string -> 배열로
- var sCol = utlf_transNullToEmpty(sColString).split(" ");
- var temp = "";
- for(var i = 0; i < sCol.length; i++){
- //sColArray[i] = Number(sCol[i]);
- sColArray[i] = fCarec_GetFillZeno(sCol[i],4,0);
- sColArray[i] = sColArray[i].toString().replace(":",""); //-----(20080919)
- }
- //배열 정렬
- for(var i = 0; i < sColArray.length; i++){
- for(var j = 0; j < sColArray.length; j++){
- if(sort2(sColArray[i],sColArray[j]) == false){
- temp = fCarec_GetFillZeno(sColArray[i],4,0);
- sColArray[i] = fCarec_GetFillZeno(sColArray[j],4,0);
- sColArray[j] = fCarec_GetFillZeno(temp,4,0);
- }
- }
- }
- //중복제거
- // sColString = "";
- // for(var i = 0; i < sColArray.length; i++){
- // if ( sColArray[i] == "") continue;
- //
- // for(var j = i+1; j < sColArray.length; j++){
- // if ( sColArray[i] == sColArray[j]) sColArray[j] = "";
- // }
- // }
- //배열 -> string
- sColString = "";
- for(var i = 0; i < sColArray.length; i++){
- //if (sColArray[i] == "0000") continue; //---0919
- sColString += sColArray[i] + " ";
- }
- //마지막 " " 제거
- sColString = sColString.substr(0,sColString.length-1);
- //string 리턴
- return sColString;
- }
- //--------------------(20080605)
- // 음수끼리의 정렬은 반대임(기능추가)
- // -1800 < -2000 임 시간이므로(오류가 있음) -1800 -2000 이 되어야함
- // -1800 < -4000 인 경우는 날짜가 달라짐(0918) -4000 -1800 이 되어야함
- // return false를 리터하면 change하라
- //--------------------
- function sort2(a,b){
-
- var temp1,temp2;
- var temp1mok,temp2mok;
-
- // 두변수가 전부 음수인 경우(음수,음수) -1800 < -2000
- // a을 비교한다.
- ////////////////////alert("비교:" + parseInt(a) + "/" + parseInt(b))
- if ( parseInt(a) < 0 && parseInt(b) < 0 ) { //: 작은순정렬(큰순<작은순)
- if(parseInt(a) < parseInt(b)){
- return true; //no change
- }else if(parseInt(a) > parseInt(b)){
- return false; //change
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- } else {
- //그외경우 (음수,양수/양수,음수/양수,양수) //: 큰순정렬(작은순->큰순)
- if(parseInt(a) > parseInt(b)){
- return true; //no change
- }else if(parseInt(a) < parseInt(b)){
- return false; //change
- }else{
- var sort = new Array(a,b);
- sort.sort();
- return (sort[0] == a)? false:true;
- }
- }
- }
- //function sort2_OLD(a,b){
- // if(parseInt(a) > parseInt(b)){
- // return true;
- // }else if(parseInt(a) < parseInt(b)){
- // return false;
- // }else{
- // var sort = new Array(a,b);
- // sort.sort();
- // return (sort[0] == a)? false:true;
- // }
- //}
- /**
- * @group :
- * @ver : 2007.06.25
- * @by : 최경용
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : grid mouse down
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fMouseDownGridRow(){
- var rows = grd_druglist.rows;
- var row = grd_druglist.mouseRow-1;
- var col = grd_druglist.mouseCol;
- if(row + 1 <= rows && rows > 2 && row > 0){
- if(event.button == 3){
- if(col >= grd_colcnt){
- window.setPopupMenu(true, "/root/hidden/drg_popmenu1/menu", "name", "func", false);
- }else{
- window.setPopupMenu(true, "/root/hidden/drg_popmenu2/menu", "name", "func", false);
- }
- }
- }else{
- window.setPopupMenu(false);
- }
- }
- /**
- * @---------------------------------------------------
- * @desc : 전체 문장에서 특정 문장이 있는지를 검사하는 함수
- * @param : strSrc - 전체 문장
- * @param : strFind - 찾을 문장
- * @return : boolean
- * @---------------------------------------------------
- */
- function careIsSearchString(strSrc, strFind){
- strSrc = utlf_transNullToEmpty(strSrc).split("^");
- for(var i = 0; i < strSrc.length; i++){
- if(strFind == strSrc[i]){
- return true;
- }
- }
- return false;
- }
- /*
- 20080809
- prcpno별로 drugbasetmspec_TM를 기준으로
- model.getValue(xHiddenWardDrugPath + "[" + i + "]/drugtmspec")에 값설정 한다.
- */
- function fndrugcalcbefore() {
- var querydrugddfr = ds_main_cond.getColumn(0, "orddd"); //조회일(투약(예정)일 (화면에 나와야하는 일자)
- var querydrugddto = getDateAddc(querydrugddfr, 1); //조회일(투약(예정)일+1 (화면에 나와야하는 일자)
- var prcpdd = "";
- var prcpno = "";
- var prcphistno = "";
- var drugbasetmspec_tm = "";
- var fridx = 0;
- var toidx = 0;
- var rows = ds_hidden_warddruginfo_warddruglist.rowcount;
-
- for( var i=0 ; i<rows ; i++ ){
- //////////////////////alert( "읽기:" +prcpdd + "/" + prcpno + "/" + prcphistno );
- if (i == 0) {
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- //prcphistno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno");
-
- fridx = 0;
- toidx = 0;
- //////////////////////alert("시작:"+ i + "/" + drugbasetmspec_tm+ "/");
- }
- if (
- prcpdd == ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd") &&
- prcpno == ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno") //&&
- //prcphistno == model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno")
- ) {
-
- drugbasetmspec_tm += ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec_tm") + " ";
- //////////////////////alert("같음:"+ i + "/" + drugbasetmspec_tm+ "/");
- } else {
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- //prcphistno = model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcphistno");
-
- //반영을 위한 값설정
- toidx = i-1;
- drugbasetmspec_tm = drugbasetmspec_tm.substring(0,drugbasetmspec_tm.length-1);
- //////////////////////alert("다름1:" + i + "/" + drugbasetmspec_tm+ "/");
- //반영
- for( var j=fridx ; j<=toidx ; j++ ){
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugtmspec", drugbasetmspec_tm);
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugbasetmspec", drugbasetmspec_tm);
- }
- //////////////////////alert("다름2:" + i + "/" + drugbasetmspec_tm+ "/");
- //초기화
- fridx = i;
- drugbasetmspec_tm = "";
- drugbasetmspec_tm += ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugbasetmspec_tm") + " ";
- //////////////////////alert("다름3:" + i + "/" + drugbasetmspec_tm+ "/");
- }
- if (i == (rows-1)) {
- //반영을 위한 값설정
- toidx = i;
- drugbasetmspec_tm = drugbasetmspec_tm.substring(0,drugbasetmspec_tm.length-1);
-
- //////////////////////alert("종료1:" + i + "/" + drugbasetmspec_tm+ "/");
- //반영
- for( var j=fridx ; j<=toidx ; j++ ){
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugtmspec", drugbasetmspec_tm);
- ds_hidden_warddruginfo_warddruglist.setColumn(j, "drugbasetmspec", drugbasetmspec_tm);
- }
- //////////////////////alert("종료2:" + i + "/" + drugbasetmspec_tm+ "/");
- }
- }
- }
- /*
- 20080529
- 조회자료에서 기준시간setting을 편집한다.
- 시간대를 row별로 반영한다.
- */
- function fndrugcalc() {
- //----(2008222)
- //var querydrugddfr = model.getValue("/root/main/cond/orddd"); //조회일(투약(예정)일 (화면에 나와야하는 일자)
- //var querydrugddto = getDateAddc(querydrugddfr, 1); //조회일(투약(예정)일+1 (화면에 나와야하는 일자)
- for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
- //-------(20081222)
- var querydrugddfr = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphopedd"); //조회일(투약(예정)일 (화면에 나와야하는 일자)
- var querydrugddto = getDateAddc(querydrugddfr, 1); //조회일(투약(예정)일+1 (화면에 나와야하는 일자)
- //------------------------------------------------------------------------------------------
- //drugtmspec : 조회해온 표준시간대(표준시간대+변경된시간대, 단 투약시간대는 반영되지 않았음)
- // 변경하지 않는다.
- //------------------------------------------------------------------------------------------
- var drugtmspec = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugtmspec"); //1 부터임(질의문에서 받아온 시간 그대로)
- var prcphopedd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphopedd");
- var prcpcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- var drugdd = "";
- var drugtm = "";
- var i_init = i
- var drugtmspeccal1 = ""; //조회자료에 대한 DRUGDD,DRUGTM
- var drugtmspeccal2 = ""; //조회기간에 대한(조회일~조회일+1) 을 연산한것으로 변경한 것
- var dispddarray = ""; //투약(예정)일
- var disptmarray = ""; //투약(예정)시간
- var dispflagarray = ""; //조회기간안의 투약(예정)일 여부 flag(화면상계산의미없음)전부보임
-
- var todaydrugtimes = ""; //질의문을 기준으로 화면에 보일자료 (20080920)
-
- var carebasedd = ""; //-------(20081226)
- var carebasetm = ""; //-------(20081226)
-
- if( !utlf_isNull(drugtmspec) ){
- array_drugtmspec = drugtmspec.split(" ");
- for( var j=0 ; j<array_drugtmspec.length ; j++ ){
-
- //------------------------------------------------------------
- //처방적용일기준으로 표준 시간대를 계산한다.[절대시간대]
- //------------------------------------------------------------
- //처방적용희망일+설정된시간(표준시간대또는 변경된시간대):실질적인 투약일/투약시간을 찾는다.
- //------------------------------------------------------------
- drugdd = getDateAddc(prcphopedd, parseInt(array_drugtmspec[j] / 2400));
- drugtm = Number(array_drugtmspec[j]) % 2400;
- drugtm = Math.abs(Number(drugtm)).toString();
- //------------------------------------------------------------
- //투약된일자가 있으면
- //투약된일자와 투약된시간대를 반영한다.
- //
- //변경시간은 반영된 상태이고,
- //투약일(medr.execdd)이 있으면 투약일로 설정한다.
- //------------------------------------------------------------
- var execdrugdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execdd");
- var execdrugtm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "exectm");
- //------------(20080710) 투약기록과 시행일자가 분리되었음
- // if (execdrugdd != "" && execdrugdd != "00000000") drugdd = execdrugdd;
- // if (execdrugtm != "" && execdrugtm != "000000") drugtm = execdrugtm.substring(0,4);
- //////////////////////alert("drugtmspeccal1:" + drugtmspeccal1);
- drugtmspeccal1 += fCarec_GetFillZeno(drugtm,4,0) + " ";
- drugtm = fCarec_GetFillZeno(drugtm,4,0);
- //투약(예정)일을 찾는다.
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispdd", drugdd);
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "disptm", drugtm);
- //투약(예정)일을 string형태로 생성한다.
- dispddarray += drugdd + " ";
- disptmarray += drugtm + " ";
- //------------------------------------------------------------
- //화면에 표시하기 위하여 조회일자를 기준으로 시간대를 다시 계산한다.[24시간 기준대로]//[상대시간대]
- //------------------------------------------------------------
- //실질적인 투약일을 구한것을 기준으로
- //조회일과의 일수차를 계산하여
- //투약시간대와 일수를 감안하여 재계산한다.
- //------------------------------------------------------------
- var dispdd2 = ds_hidden_warddruginfo_warddruglist.getColumn(i, "dispdd"); //의미없음(dispdd와 동일)
- var disptm2 = ds_hidden_warddruginfo_warddruglist.getColumn(i, "disptm");
-
-
- //test(20081222)
- ////alert(querydrugddfr + "/" + dispdd2);
- var intervaldd = utlf_getDateInterval(querydrugddfr,dispdd2); //투약(예정)일-희암일
-
- if (intervaldd >= 0 ) {
- disptm2 = Number(disptm2) + (Number(intervaldd) * 2400); //일수 반영한 시간대
- } else {
- disptm2 = (-Number(disptm2) + (Number(intervaldd) * 2400))
- }
- drugtmspeccal2 += fCarec_GetFillZeno(disptm2,4,0) + " "; //drugtmspeccal 만든다.
- //////alert("drugtmspeccal2:" + drugtmspeccal2);
- //------------------------------------------------------------
- //자료들 중 화면에 표시해야 하는 것들을 표시한다.:
- //
- //조회일<= 투약(예정)일 and 투약(예정)일 <= 조회일+1
- //------------------------------------------------------------
- //test
- //---------------(20081222)
- //if (querydrugddfr <= dispdd2 && dispdd2 <= querydrugddto) {
- //////////////////////alert(querydrugddfr + "/" +drugdd +"/" + dispdd2 + "/" + querydrugddto);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflag", "string", "Y", i); //화면에 표시대상FLAG
- dispflagarray += "Y" + "/";
- //} else {
- // dispflagarray += "" + "/";
- //}
-
- todaydrugtimes += ds_hidden_warddruginfo_warddruglist.getColumn(i, "todaydrug") + "/"; //-----(20080920)
- //////////////////alert(todaydrugtimes);
- carebasedd += ds_hidden_warddruginfo_warddruglist.getColumn(i, "carebasedd") + "/"; //-----(20081226)
- carebasetm += ds_hidden_warddruginfo_warddruglist.getColumn(i, "carebasetm") + "/"; //-----(20081226)
- i++;
- }
- //------------------------------------------------------------
- //위에서 계산대 정보를 각 row에 반영한다.
- //------------------------------------------------------------
- drugtmspeccal1 = drugtmspeccal1.substring(0,drugtmspeccal1.length-1);
- drugtmspeccal2 = drugtmspeccal2.substring(0,drugtmspeccal2.length-1);
-
- dispddarray = dispddarray.substring(0,dispddarray.length-1);
- disptmarray = disptmarray.substring(0,disptmarray.length-1);
- dispflagarray = dispflagarray.substring(0,dispflagarray.length-1);
-
- todaydrugtimes = todaydrugtimes.substring(0,todaydrugtimes.length-1); //(20080920)
-
- i=i_init; //시작첨자
- for( var j=0 ; j<array_drugtmspec.length ; j++ ){
-
- //if ( model.getValue(xHiddenWardDrugPath + "[" + i + "]/prcpcd") == "DTMD100J") {
- ////////////////////alert("DTMD100J:" +drugtmspeccal2);
- //}
-
- //처방적용일기준으로 표준 시간대를 계산한다.
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspec_recalc1", "string", drugtmspeccal1, i);
- //조회일자를 기준으로 시간대를 다시 계산한다(화면표시용)
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspec_recalc2", "string", drugtmspeccal2, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "drugtmspeccal", "string", drugtmspeccal2, i);
-
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispddarray", "string", dispddarray, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "disptmarray", "string", disptmarray, i);
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflagarray", "string", dispflagarray, i);
-
- dispflagarray = dispflagarray.replace("/","");
- if ( dispflagarray.length > 0) {
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "dispflaggroup", "string", "Y", i);
- }
- //실질적인 당일투약대상또는 투약한 대상
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "todaydrugtimes", "string", todaydrugtimes, i); //--(20080920)
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "carebasedd", "string", carebasedd, i); //--(20081226)
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "carebasetm", "string", carebasetm, i); //--(20081226)
-
- i++;
- }
- i--;
- drugtmspeccal1 = "";
- drugtmspeccal2 = "";
- dispddarray = "";
- disptmarray = "";
- dispflagarray = "";
- } else {
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspec_recalc1", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspec_recalc2", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "drugtmspeccal", "");
-
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispddarray", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "disptmarray", "");
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "dispflagarray", "");
-
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "todaydrugtimes", ""); //--(20080920)
-
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "carebasedd", ""); //--(20081226)
- ds_hidden_warddruginfo_warddruglist.setColumn(i, "carebasetm", ""); //--(20081226)
- }
- }
- }
- /**
- * @group :
- * @ver : 2008.06.19
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 반환사유내역등록기능
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- function fnEndddSave() {
-
- var sPathSave = "/root/send/savedata/drugreportinfo"; //저장원본
-
- var sPathEndCond = "/root/endsave/endcond"; //enddd 확인 결과(조회)
- var sPathEndResult = "/root/endsave/endresult"; //enddd 확인 결과(결과)
-
- var sPathEndSave = "/root/endsave/endinfo"; //반환사유정보생성path
- var sRows = ds_send_savedata_drugreportinfo.rowcount; //저장원본총갯수
- var sRowsEnd = 0;
- var sTempExecdd = "";
- var sinstcd = sysf_getUserInfo("dutplceinstcd");
- var sEndFlag = false;
- var sprcpdd = "";
- var sprcpno = "";
- var sprcphistno = "";
- var sexecprcpno = "";
- var sinstcd = "";
- var sioflag = "";
- var enddd = ""; //(20080731)
- var endddflag = true; //(20080820) 처음만 물어본다.
-
- for( var row=0 ; row<sRows ; row++ ){
- //////////////////////alert (sRows + "/" + row);
-
- sTempExecdd = ds_send_savedata_drugreportinfo.getColumn(row, "execcarestatcd");
- sEndFlag = false;
- //간호Acting진행상태(N(미확인)/R(정상투약)/P(투약X-반환가능)/I(투약X-반환불가)/L(퇴원당일 남은약)
- //Execcarestatcd = model.getValue(xWardDrugListPath + "[" + i + "]/for[" + forarr[k] + "]/execcarestatcd");
- //-------------------------------------------------------------------------
- //ACTING된후 미확인으로 전환되거나, 투약X-반환가능인경우 ACTING이 취소된다
- //마감이 되어 있으면 사유팝업을 이용한다.
- //-------------------------------------------------------------------------
- //////////////////////alert(sTempExecdd);
- if ( sTempExecdd == "N" || sTempExecdd == "P") {
- // <pastexecdd>20080618</pastexecdd> //exip의 실시일자
- // <medrexecdd>20080617</medrexecdd> //medr의 투약일자(현재시점:20080619에서는 투약일자=실시일자이다.
- sprcpdd = ds_send_savedata_drugreportinfo.getColumn(row, "prcpdd");
- sprcpno = ds_send_savedata_drugreportinfo.getColumn(row, "prcpno");
- sprcphistno = ds_send_savedata_drugreportinfo.getColumn(row, "prcphistno");
- sexecprcpno = ds_send_savedata_drugreportinfo.getColumn(row, "execprcpno");
- sinstcd = sysf_getUserInfo("dutplceinstcd");
- sioflag = "I";
- sTempExecdd = ds_send_savedata_drugreportinfo.getColumn(row, "pastexecdd"); //---------(20080820)
- //////////////////////alert(sTempExecdd);
- //acting된것
- if (sTempExecdd != "00000000" ) {
- //현재시점의 마감을 확인한다.
- //model.removeNodeset(sPathEndResult+"/enddd");
- //model.makeNode(sPathEndResult+"/enddd");
-
- ds_endsave_endcond.setColumn(0, "prcpdd", sprcpdd);
- ds_endsave_endcond.setColumn(0, "prcpno", sprcpno);
- ds_endsave_endcond.setColumn(0, "prcphistno", sprcphistno);
- ds_endsave_endcond.setColumn(0, "execprcpno", sexecprcpno);
- ds_endsave_endcond.setColumn(0, "instcd", sinstcd);
- ds_endsave_endcond.setColumn(0, "ioflag", sioflag);
-
- var oParam = {};
- oParam.id = "TRMNR00610";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetEndddList";
- oParam.inds = "endcond=ds_endsave_endcond";
- oParam.outds = "ds_endsave_endresult=endresult ds_endsave_narcresult=narcresult";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00610";
- tranf_submit(oParam);
-
- //////////////////////alert(model.getValue(sPathEndResult + "/enddd"));
- /*
- if ((model.getValue(sPathEndResult + "/enddd") == "00000000") ||
- (model.getValue(sPathEndResult + "/enddd") == "") ||
- (model.getValue(sPathEndResult + "/enddd") == "-")) {
- */
- //--------test(20080731)
- enddd = ds_endsave_endresult.getColumn(0, "enddd");
- enddd = enddd.substr(0,8);
-
- //////////////////////alert("마감일자:" + enddd);
- //return
- //----------------------
-
- if ( enddd == "99991231") {
- sEndFlag = false;
- } else {
- sEndFlag = true;
- }
- }
- if ( sEndFlag ) {
- //check: acting된것인데, enddd가 있는경우에 미확인으로 처리할경우인지를 확인해야함
- sRowsEnd++;
-
- ds_endsave_endinfo_list.setColumn(0, "prcpdd", sprcpdd);
- ds_endsave_endinfo_list.setColumn(0, "prcpno", sprcpno);
- ds_endsave_endinfo_list.setColumn(0, "prcphistno", sprcphistno);
- ds_endsave_endinfo_list.setColumn(0, "execprcpno", sexecprcpno);
- ds_endsave_endinfo_list.setColumn(0, "instcd", sinstcd);
- ds_endsave_endinfo_list.setColumn(0, "ioflag", sioflag);
- //////////////////////alert("반환사유 테스트");
- if( ds_endsave_endinfo_list.rowcount > 0 ){
- //-------------------------
- //처음만 물어본다.
- if ( endddflag == true) {
- //if (messageBox("이미 마감된 투약처방입니다. 정말 취소 ","Q003","") != 6) {
- if (sysf_messageBox("저장대상 자료중 이미 마감된 투약처방이 존재합니다. 정말 취소작업을 ","Q003","") != 6) {
- return false;
- } else {
- endddflag == false;
- }
- }
- //-------------------------
-
- var objArg = new Object();
- objArg.arg_ds_endinfo_result_list = ds_endsave_endinfo_list;
-
- frmf_modal("SPPAS03000","SPPAS03000",objArg,"",2,100,100,"","","","","","M");
- }
- }
- }
- }
- return true;
- }
- /**
- * @group :
- * @ver : 2008.08.01
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : worklist 호출
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
-
- //------------------(20080801)
- function fnWorkListCall() {
-
- var sWardCd = ds_main_cond.getColumn(0, "wardcd");
- var sRoomCd = ds_main_patinfo.getColumn(0, "roomcd");
- var sPid = ds_main_patinfo.getColumn(0, "pid");
- var sPatNm = ds_main_patinfo.getColumn(0, "patnm");
-
- //-----------(20081226)
- //var sDd = model.getValue("/root/main/cond/orddd");
- var sDd = utlf_transNullToEmpty(ds_main_cond.getColumn(0, "rgstddtm"));
- sDd = sDd.substring(0,8);
- //-----------(20081226)
- if( utlf_isNull(sPid) ){
- sysf_messageBox("환자가 선택되지 않았습니다.","E999");
- return;
- }
- frmf_setParameter("SMMNR06300_Param", sWardCd);
- frmf_setParameter("SMMNR06300_Param1", sRoomCd);
- frmf_setParameter("SMMNR06300_Param2", sPid);
- frmf_setParameter("SMMNR06300_Param3", sPatNm);
- frmf_setParameter("SMMNR06300_Param4", sDd);
-
- //////////////////////alert(sPid);
- //------------------------(20080910)
- //그리드를 선택한 자료를 worklist에 전달한다.
- var sCnt = 5;
- var sParamNm = "";
- var sParamValue = "";
- //var sPath = "/root/main/warddruginfo/warddruglist";
-
- frmf_setParameter("SMMNR06300_Param5", "N0");
- for( var row=0 ; row<ds_main_warddruginfo_warddruglist.rowcount ; row++ ){
- sParamValue = "";
- if( ds_main_warddruginfo_warddruglist.getColumn(row, "check") == "1" ){
- sParamValue = ds_main_warddruginfo_warddruglist.getColumn(row, "prcpdd");
- sParamValue += "/" + ds_main_warddruginfo_warddruglist.getColumn(row, "prcpno");
-
- sCnt ++;
- frmf_setParameter("SMMNR06300_Param5", "Y"+sCnt);
- sParamNm = "SMMNR06300_Param" + sCnt;
- frmf_setParameter(sParamNm, sParamValue);
- }
- }
- //------------------------(20080910)
-
- //modal("SMMNR06300");
- frmf_modal("SMMNR06300","SMMNR06300",null,null,1,"","","","","","","","M"); //yjh
- }
- //------------------(20080801)
-
-
-
- //------------------(20080829)
- //TEST
- // 투약기록 통합기록을 위한 자료 추출질의문 -- 작업 중(LOOP만큼 호출할것)
- function fnSignSaveCall(workflag) {
-
- var spid = "13573600"; //desc="등록번호"(필수)
- var sinstcd = "012"; //desc="기관코드"(사용X)
- var sindd = "20081003"; //desc="입원일자"(필수)
- var scretno = "1"; //desc="생성번호"(사용X)
- var sprcpdd = ""; //desc="처방일자"(PRN시 필수아닌것 같음)
- var sprcpno = ""; //desc="처방번호"(확인사항)
- var sworkdd = "20081215"; //desc="투약일" (일자그룹일때만 (필수))
- var slistflag = "90"; //desc="작업구분"(필수)
- var snursnm = "간호사명"; //desc="간호사명추가"(필수)
- var shngnm = "환자명"; //desc="환자명추가" (필수)
- var smedrexecdd = ""; //desc="화면에서저장할투약일자"(사용X)
- var smedrexectm = ""; //desc="화면에서저장할투약시간"(사용X)
- ds_signinfo_reqsigncond.setColumn(0, "pid", spid); //desc="등록번호"
- ds_signinfo_reqsigncond.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- ds_signinfo_reqsigncond.setColumn(0, "indd", sindd); //desc="입원일자"
- ds_signinfo_reqsigncond.setColumn(0, "cretno", scretno); //desc="생성번호"
- ds_signinfo_reqsigncond.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- ds_signinfo_reqsigncond.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- ds_signinfo_reqsigncond.setColumn(0, "workdd", sworkdd); //desc="투약일"
- ds_signinfo_reqsigncond.setColumn(0, "listflag", slistflag); //desc="작업구분"
- ds_signinfo_reqsigncond.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- ds_signinfo_reqsigncond.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- ds_signinfo_reqsigncond.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- ds_signinfo_reqsigncond.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
-
- ds_signinfo_signdruginfo_signdruglist.clearData();
-
- var oParam = {};
- oParam.id = "TRMNR00609";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetSignDrugList";
- oParam.inds = "reqsigncond=ds_signinfo_reqsigncond";
- oParam.outds = "ds_signinfo_signdruginfo_signdruglist=signdruglist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR00609";
- tranf_submit(oParam);
- }
- //------------------(20080829)
- /**
- * @group :
- * @ver : 2008.08.31
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약기록 관련 인증저장(interface제공한 web에서 사용)(iprc단위 1개 처리용)
- * : 따라서 여러개의 iprc이면 n번 호출해야한다.
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /* // TEST용
- function fnSignSaveWork() {
-
- var sSignPath = "/root/signinfo/signdruginfo/signdruglist";
- var sSignPathCount = getNodesetCount(sSignPath);
- var sPathSignSave = "/root/signinfo/signsave/signdata";
- if ( sSignPathCount <= 0 ) {
- messageBox("자료가 존재하지 않습니다. ","E999");
- return;
- }
-
- model.removenode("/root/send/savedata");
- for(var j = 1; j <= getNodesetCount(sSignPath); j++){
-
- sSignRow= j; //전역변수(프로그램내)
- if(Sign.signprocess() == false){//인증저장 데이터 생성fMake_SignData 호출
- return;
- }
- //////////////////////alert("j=" + j);
-
- var temppid = model.getValue(sSignPath + "[j]/pid"); //pid
- var temporddd = model.getValue(sSignPath + "[j]/orddd"); //입원일자
- var tempsignno = ""; //서명번호
- var tempcretno = model.getValue(sSignPath + "[j]/cretno"); //생성번호
- var temporddeptcd = model.getValue(sSignPath + "[j]/orddeptcd"); //진료부서코드
- var temporddrid = model.getValue(sSignPath + "[j]/orddrid"); //진료의사id
-
- model.makeValue(sPathSignSave + "[j-1]/pid", temppid); //pid
- model.makeValue(sPathSignSave + "[j-1]/orddd", temporddd); //입원일자
- model.makeValue(sPathSignSave + "[j-1]/signno", tempsignno); //서명번호
- model.makeValue(sPathSignSave + "[j-1]/cretno", tempcretno); //생성번호
- model.makeValue(sPathSignSave + "[j-1]/recdd", getCurrentDate()); //실제기록이 이루어진 기록일자
- model.makeValue(sPathSignSave + "[j-1]/rectm", getCurrentTime()); //실제기록이 이루어진 기록시간
- model.makeValue(sPathSignSave + "[j-1]/recsaveflag", "Y"); //전자서명인적정보변경여부
- model.makeValue(sPathSignSave + "[j-1]/signflag", "02"); //서명자료구분(02:간호)
- model.makeValue(sPathSignSave + "[j-1]/signgenrflag", "I"); //외래/입원구분
- model.makeValue(sPathSignSave + "[j-1]/formcd", "0000002476"); //투약기록 서식번호
- model.makeValue(sPathSignSave + "[j-1]/orddeptcd", temporddeptcd); //진료부서코드
- model.makeValue(sPathSignSave + "[j-1]/orddrid", temporddrid); //진료부서ID
- model.makeValue(sPathSignSave + "[j-1]/signbfcnts", Sign.signedInfos[1]); // 인증할 데이터 정보(미기록 노드 제거된 정보)
- model.makeValue(sPathSignSave + "[j-1]/signaftcnts", Sign.signedInfos[2]); // 공인인증 처리후 데이터
- }
- }
- */
- //-----------------------------
- //TEST 일자별 인증정보 생성하기
- //-----------------------------
- function fnSignSaveWork() {
- var signDate = "20081212"
- var sPathSign = "/root/signinfo";
-
- var spid = "13573600"; //등록번호 (필수)
- var sinstcd = "";//model.getValue("/root/main/wardpatinfo/wardpatlist/instcd"); //기관코드
- var sindd = "20081003"; //입원일자 (필수)
- var scretno = "2"; //생성번호
-
- var sprcpdd = ""; //처방일자 (PRN시 필수)
- var sprcpno = ""; //처방번호 (확인사항)
- var sworkdd = "20081215"; //model.getValue("/root/main/cond/orddd"); //투약일(일자그룹일때만 (필수)
- var slistflag = "90"; //고정 //작업구분 (필수)
- var snursnm = "간호사명"; //간호사명추가 (필수)
- var shngnm = "이정희" //환자명추가 (필수)
- var smedrexecdd = ""; //화면에서저장할투약일자(사용X)
- var smedrexectm = ""; //화면에서저장할투약시간(사용X)
- ds_signinfo_reqsigncond.setColumn(0, "pid", spid); //desc="등록번호"
- ds_signinfo_reqsigncond.setColumn(0, "instcd", sinstcd); //desc="기관코드"
- ds_signinfo_reqsigncond.setColumn(0, "indd", sindd); //desc="입원일자"
- ds_signinfo_reqsigncond.setColumn(0, "cretno", scretno); //desc="생성번호"
- ds_signinfo_reqsigncond.setColumn(0, "prcpdd", sprcpdd); //desc="처방일자"
- ds_signinfo_reqsigncond.setColumn(0, "prcpno", sprcpno); //desc="처방번호"
- ds_signinfo_reqsigncond.setColumn(0, "workdd", sworkdd); //desc="투약일"
- ds_signinfo_reqsigncond.setColumn(0, "listflag", slistflag); //desc="작업구분"
- ds_signinfo_reqsigncond.setColumn(0, "nursnm", snursnm); //desc="간호사명추가"
- ds_signinfo_reqsigncond.setColumn(0, "hngnm", shngnm); //desc="환자명추가"
- ds_signinfo_reqsigncond.setColumn(0, "medrexecdd", smedrexecdd); //desc="화면에서저장할투약일자"
- ds_signinfo_reqsigncond.setColumn(0, "medrexectm", smedrexectm); //desc="화면에서저장할투약시간"
- var pFlag = "Drug"; //저장구분 (Drug : 투약기록)
- var pNode1 = "ds_signinfo_reqsigncond"; //조회할 조건 PATH(의미없음)
- var pNode2 = "ds_signinfo_signdruginfo_signdruglist"; //Return 리스트 PATH
-
- var pIoflag = "I"; //---(20080917)
-
- fCare_SignNode(pFlag, pNode1, pNode2,spid,sindd,scretno,pIoflag);
-
- }
- //------------------------(20080902)
- //일자별 인증정보를 묶을 일자를 찾는다
- //넣어야 할지는 판단한다.
- function signdayFind(signDates,findDate) {
- var sreturn = false;
- if( findDate == "00000000" || utlf_isNull(findDate) ){
-
- } else {
- //////////////////////alert("signDates.length:"+ signDates.length);
- for( var i=0 ; i<signDates.length ; i++ ){
- //////////////////////alert("비교:" + signDates[i] + "/" + findDate);
- sreturn = true;
- if ( signDates[i] == findDate) {
- sreturn = false;
- break;
- }
- }
- }
- return sreturn;
- }
- //------------------------(20080902)
- /**
- * @group :
- * @ver : 2008.10.10
- * @by : 김보성
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc : 투약내역 리스트 정리
- * @param :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- //---------------(20081015)
- function fnClearGrid() {
- ds_main_patinfo.setColumn(0, "roomcd", "");
- ds_main_patinfo.setColumn(0, "pid", "");
- ds_main_patinfo.setColumn(0, "patnm", "");
- ds_main_patinfo.setColumn(0, "sexage", "");
-
- //----------(20081226)
- ds_init2_rgstddtminfo_rgstddtmlist.deleteRow(0);
- ds_main_cond.setColumn(0, "rgstddtm", "");
- //----------(20081226)
-
- if(screen_mode == "pat"){
- fClickDrugList("drg", 0);
- }else if(screen_mode == "act"){
- fClickDrugList("act", 0);
- }else{}
- }
- //---------------(20081010)
- //---------------(20081014)
- /*
- 20081014
- validate
- hidden의 instance에 있는 drugtmspec 의 항목의 split 수와 calctims수를 확인한다.
- */
- function fndrugcalcCheck() {
- var drugtmspec = "";
- var calctims = "";
- var validateYN = "";
-
- var prcpdd = "";
- var prcpno = "";
- var prcphistno = "";
- var execprcpno = "";
- var spid = "";
- var prcpcd = "";
- var mthdcd = "";
- var execprcpuniqno = "";
- var timscnt = 0;
- var prcptimscalc= "";
- var drugerrmsg = "";
- var drugerrPath = ds_drugerrinfo_drugerrlist;
-
- drugerrPath.clearData();
-
- var drugerrcnt = -1;
-
- for( var i=0 ; i<ds_hidden_warddruginfo_warddruglist.rowcount ; i++ ){
- drugtmspec = ds_hidden_warddruginfo_warddruglist.getColumn(i, "drugtmspec");
- calctims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "calctims");
-
- prcpdd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpdd");
- prcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpno");
- prcphistno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphistno");
- execprcpno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execprcpno");
- execprcpuniqno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execprcpuniqno");
-
- spid = ds_hidden_warddruginfo_warddruglist.getColumn(i, "pid");
- prcpcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpcd");
- mthdcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "mthdcd");
- prcptims = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcptims");
- var execcarestatcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "execcarestatcd");
- var prcphistcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcphistcd");
- var fstrgstdt = ds_hidden_warddruginfo_warddruglist.getColumn(i, "fstrgstdt");
- var orddrnm = ds_hidden_warddruginfo_warddruglist.getColumn(i, "orddrnm");
- var indd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "indd");
- var cretno = ds_hidden_warddruginfo_warddruglist.getColumn(i, "cretno");
- var prcpclscd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "prcpclscd");
- var wardcd = ds_hidden_warddruginfo_warddruglist.getColumn(i, "wardcd");
-
- validateYN = "Y"; //정상자료
- timscnt = utlf_transNullToEmpty(drugtmspec).split(" ").length;
- //-------------------(20081105)
- drugtmspec = fntrim(drugtmspec);
- if ( utlf_isNull(drugtmspec) ){
- //-------------------(20081105)
- validateYN = "N"; //이상자료
- timscnt = 0;
- }
- if (timscnt != calctims) validateYN = "N"; //이상자료
- ////////////alert( timscnt + "/" + calctims + "/" +validateYN + "/" + drugtmspec + "/");
- if (validateYN == "N") {
- if( utlf_isNull(drugtmspec) ){
- drugerrmsg += "용법(" + mthdcd + ")의 횟수에 대한 시간대정보(" + drugtmspec + "없음)가 존재하지 않습니다("+ prcpcd +") \n"
- } else {
- drugerrmsg += "용법(" + mthdcd + ")의 횟수에 대한 시간대정보갯수(" + timscnt + ")와 " +
- " 처방("+ prcpcd + ")에 대한 횟수(" + prcptims + ")가 다릅니다. \n"
- }
- drugerrcnt ++;
-
- drugerrPath.addRow();
- drugerrPath.setColumn(drugerrcnt, "prcpdd", prcpdd);
- drugerrPath.setColumn(drugerrcnt, "prcpno", prcpno);
- drugerrPath.setColumn(drugerrcnt, "prcphistno", prcphistno);
- drugerrPath.setColumn(drugerrcnt, "execprcpno", execprcpno);
- drugerrPath.setColumn(drugerrcnt, "execprcpuniqno", execprcpuniqno);
- drugerrPath.setColumn(drugerrcnt, "prcpcd", prcpcd);
- drugerrPath.setColumn(drugerrcnt, "drugtmspec", drugtmspec);
- drugerrPath.setColumn(drugerrcnt, "execcarestatcd", execcarestatcd);
- drugerrPath.setColumn(drugerrcnt, "prcphistcd", prcphistcd);
- drugerrPath.setColumn(drugerrcnt, "exipfstrgstdt", fstrgstdt);
- drugerrPath.setColumn(drugerrcnt, "orrdnm", orddrnm);
- drugerrPath.setColumn(drugerrcnt, "prcpclscd", prcpclscd);
- drugerrPath.setColumn(drugerrcnt, "pid", spid);
- drugerrPath.setColumn(drugerrcnt, "indd", indd);
- drugerrPath.setColumn(drugerrcnt, "cretno", cretno);
- drugerrPath.setColumn(drugerrcnt, "wardcd", wardcd);
- }
- dsf_makeValue(ds_hidden_warddruginfo_warddruglist, "validateyn1", "string", validateYN, i);
- }
-
- if( !utlf_isNull(drugerrmsg) ){
- drugerrmsg += "" +
- " \n" +
- " 투약기준시간관리에서 용법에 대한 자료를 확인하십시오( " + (drugerrcnt+1) +" 건 )";
-
- sysf_messageBox( "투약기준시간관리에 등록된 \n\n" + drugerrmsg ,"E999");
- }
- }
- //---------------(20081014)
- //fClickDrugListBefore(); //------------(20081031)
- //fClickDrugListAfter(); //------------(20081031)
-
- //-------------------(20081031)
- function fClickDrugListBefore() {
- group3.grd_druglist.visible = false;
- group3.bolall.visible = false;
-
- //grp//////////alert.visible = true;
- callLoadingWindow("");
- }
- function fClickDrugListAfter() {
- group3.grd_druglist.visible = true;
- group3.bolall.visible = true;
-
- removeLoadingWindow();
-
- group3.grd_druglist.vscrollbar.pos = 0;
- //--------------(20081121)
- //숨겨진 상태에서는 포커스가 설정되지 않는다.
- //저장전 위치로 저장이후 재조회시 위치이동시킴
- if (toprowflag == "Y") {
- if( group3.grd_druglist.vscrollbar.max > toprow) {
- group3.grd_druglist.vscrollbar.pos = toprow;
- }
- toprowflag = "N";
- }
- //--------------(20081121)
- }
- //--------원무팀의 입원등록에서 사용하는 것 이용함
- function callLoadingWindow(msg){
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시
- // body.createChild("xforms:iviewer", "id:ivr_progress; src:../../../com/commonweb/xrw/SPZZZ00400_로딩중화면.xrw; left:435px; top:339px; width:330px; height:120px;");
- // var ivrObjt = document.all("ivr_progress");
- // if( msg == '' || msg == '-' ){
- // msg = "투약기록 조회 중 입니다...";
- // }
- // ivrObjt.model.setValue("/root/main/msg", msg);
- setWaitCursor(true);
- }
- function removeLoadingWindow(){
- //20080703 이동식 추가
- //환자정보 조회 중 상태 표시 지우기
- //body.removeChild("ivr_progress");
- setWaitCursor(false);
- }
- function WaitLoadingWindow(idx) {
- // var msg = "투약기록 조회 중 입니다...";
- // //var msg = "투약기록 조회(" + idx + ") 중 입니다...";
- // var ivrObjt = document.all("ivr_progress");
- // model.setFocus("ivr_progress");
- // ivrObjt.model.setFocus("caption75");
- //
- // ivrObjt.model.setValue("/root/main/msg", msg);
- // ivrObjt.model.refresh();
- // //model.setFocus("output33");
- // model.refresh();
- setWaitCursor(true);
- }
- //-------------------(20081031)
- //-------------------(20081105)
- function fntrim(tmpValue) {
- for(;tmpValue.indexOf(" ")!= -1;) {
- tmpValue = tmpValue.replace(" ","");
- }
- return tmpValue;
- }
- //-------------------(20081105)
- //-------------------(20081211)
- // tmpvalue : 원본 문자열
- // str1 : 찾고자 하는 문자열
- // str2 : 바꾸고자 문자열
- function fnReplace(tmpValue,str1,str2) {
- for(;tmpValue.indexOf(str1)!= -1;) {
- tmpValue = tmpValue.replace(str1,str2);
- }
- return tmpValue;
- }
- //-------------------(20081211)
- //--------------------(20081112)
- //sDigit 에서 반올림
- function fnRound(sValue,sDigit) {
- var rtnValue ;
- var stemp = Math.pow(10,sDigit);
- rtnValue = sValue;
- rtnValue = rtnValue * stemp;
- rtnValue = rtnValue / stemp;
- rtnValue = Math.round(rtnValue);
- return rtnValue;
- }
- //--------------------(20081112)
- //시간대정보 변경시
- function fSetDrugCheck(row,col) {
- var grdRow = row;
- var xmlRow = row;
-
- var dccomcountyn = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "dccomcountyn");
- var messageyn = "N";
- var cell_color = "";
- var forarrcol = "";
- var chkflag = "";
- var chkarrno = "";
-
- if( col >= grd_colcnt ){
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("color"+col)) ){
- cell_color = ds_main_warddruginfo_warddruglist.getColumn(grdRow, "color"+col);
- }else{
- cell_color = "";
- }
-
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarrcol"+col)) ){
- forarrcol = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "forarrcol"+col);
- }else{
- forarrcol = "";
- }
-
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarr"+col)) ){
- chkflag = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "forarr"+col);
- }else{
- chkflag = "";
- }
-
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarrno"+col)) ){
- chkarrno = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "forarrno"+col);
- }else{
- chkarrno = "";
- }
- }
-
- //////alert(chkflag + "/" + xmlRow + "/" + col);
- if( utlf_isNull(chkflag) ){
- sysf_messageBox("입력항목이 아닌것은 입력 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- return false;
- }
-
- if( col >= grd_colcnt ){
- if ( chkarrno == "2" ) {
- sysf_messageBox("상태값은 변경 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- return false;
- } else {
- //////alert(cell_color + "/" + gray + "/" + orange);
-
- //-------------(20081226)
- if (chkarrno == 0) {
- cell_color = ds_main_warddruginfo_warddruglist.getColumn(grdRow, "color"+col);
- } else if (chkarrno ==1) {
- cell_color = ds_main_warddruginfo_warddruglist.getColumn(grdRow, "color"+col);
- }
- /*
- //입력사항 체크
- var tempInValue = grd_druglist.valueMatrix(row,col);
- //저장시도 체크해야 할것 같음
- if (chkarrno ==1) {
- if(tempInValue != "-3" && tempInValue != "-2" && tempInValue != "-1" && tempInValue != "0" &&
- tempInValue != "3" && tempInValue != "2" && tempInValue != "1"){
- messageBox("Day는 -3일 ~ 3일만 입력할수 있습니다.","I999");
-
- return;
- }
- } else if (chkarrno ==0) {
- if(tempInValue.length != 4){
- messageBox("기준시간은 4자리를 입력해야 합니다.","I999");
- return;
- }
- }
- */
- //-------------(20081226)
- if(cell_color == gray || cell_color == orange ){
- } else {
- sysf_messageBox("투약기록한 처방은 투약시간을 변경 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- return false;
- }
- //---------------(20081226)
- ////alert(dccomcountyn + "/" + cell_color + "/" + white);
- //---------------(20081226)
- if(dccomcountyn == "Y" && !utlf_isNull(cell_color) && cell_color != white ){
- sysf_messageBox("D/C확정된 처방은 변경 할 수","I004");
- ds_main_warddruginfo_warddruglist.rowposition = -1;
- return false;
- }
- }
- //입력/수정 상태값 변경
- //////alert(xmlRow + "/" + forarrcol);
- //////alert( model.getValue(xWardDrugListPath + "[" + xmlRow+ "]/for[" + forarrcol + "]/iudflag") );
-
- fChangeValueStatus(xmlRow, forarrcol);
-
- //-------------------------------------(20081223)
- //값반영(이곳까지 성공)
- //currentdd를 바꿀것
- var prcphopedd = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "prcphopedd");
- var saveday = "";
- var savetm = "";
-
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("times" + parseInt(col+1))) ){
- ds_main_warddruginfo_warddruglist.addColumn("times" + parseInt(col+1), "string");
- }
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("times" + col)) ){
- ds_main_warddruginfo_warddruglist.addColumn("times" + col, "string");
- }
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("times" + parseInt(col-1))) ){
- ds_main_warddruginfo_warddruglist.addColumn("times" + parseInt(col-1), "string");
- }
-
- if ( chkarrno == 0) {
- saveday = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "times" + parseInt(col+1));
- savetm = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "times" + col);
- } else if (chkarrno == 1) {
- saveday = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "times" + col);
- savetm = ds_main_warddruginfo_warddruglist.getColumn(xmlRow, "times" + parseInt(col-1));
- }
- var savedt = getDateAddc(prcphopedd, saveday);
-
- eval(xWardDrugListPath+xmlRow+"for").setColumn(forarrcol-1, "carebasedd", savedt);
- eval(xWardDrugListPath+xmlRow+"for").setColumn(forarrcol-1, "carebasetm", savetm);
-
- fncarebasetmspec(xmlRow);
- //-------------------------------------(20081223)
- }
- ////alert("fSetDrugCheck");
- return true;
-
- }
- //-------------------------------(20081223
- //시간대정보 변경시 전체 시간정보를 구한다.
- //-------------------------------
- function fncarebasetmspec(row) {
- var carebasetmspecarr ="";
- var sdaycnt = 0;
- var stime = 0;
-
- var stimecalctemp = 0;
-
- var stimecalc = "";
- var sdaycalc = "";
-
- var timescol = "";
- var tempvalue = "";
- var prcphopedd = "";
- var forarrnocnt = "";
-
- if (row >-1) {
- //증가된 컬럼수
- forarrnocnt = ds_main_warddruginfo_warddruglist.getColumn(row, "forarrnocnt");
- prcphopedd = ds_main_warddruginfo_warddruglist.getColumn(row, "prcphopedd");
-
- for( var j=0 ; j<=forarrnocnt ; j++ ){
- timescol = j + grd_colcnt
-
- if( !utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("forarrno"+timescol)) ){
- tempvalue = ds_main_warddruginfo_warddruglist.getColumn(row, "forarrno"+ timescol);
- }else{
- tempvalue = "";
- }
- ////alert("01:" + tempvalue);
-
- if( !utlf_isNull(tempvalue) ){
- if( utlf_isNull(ds_main_warddruginfo_warddruglist.getColumnInfo("times"+ timescol)) ){
- ds_main_warddruginfo_warddruglist.addColumn("times"+ timescol, "string");
- }
-
- if ( tempvalue == 0) {
- stime = ds_main_warddruginfo_warddruglist.getColumn(row, "times"+ timescol); //절대시간
- } else if ( tempvalue == 1) {
- sday = ds_main_warddruginfo_warddruglist.getColumn(row, "times"+ timescol); //일수
- } else {
- ////alert("02:" + stime + "/" + sday);
- sdaycalc = getDateAddc(prcphopedd,sday); //절대일자
- sday = parseInt(sday * 2400,10) ; //상대시간
-
- if ( sday >= 0) {
- ////alert("03:" + stime + "/" + sday);
- stimecalctemp = parseInt(sday,10) + parseInt(stime,10); //상대시간들을 계산한다.
- } else {
- ////alert("03:" + stime + "/" + sday);
- stimecalctemp = parseInt(sday,10) + ( (-1) * parseInt(stime,10)); //상대시간들을 계산한다.
- }
- ////alert("04:" + stimecalctemp);
- stimecalc += fCarec_GetFillZeno(stimecalctemp,4,0)+ " " ;
- }
- }
- }
- ////alert("10:"+ stimecalc);
- stimecalc = stimecalc.substring(0,stimecalc.length-1);
- stimecalc = sortHashKeysString(stimecalc); //1226(반드시 정렬을 해야한다)
-
- flagDsWarddruglist = true;
-
- ds_main_warddruginfo_warddruglist.setColumn(row, "drugbasetmspec", stimecalc);
-
- flagDsWarddruglist = false;
- }
- }
- //-------------------------------(20081223
- function fgetwarddrugtimecomboList(sParam, row){
- group3.btn_drugcard.enable = false;
- group3.btn_hydprint.enable = false;
- ds_send_medicard_warddruglist.clearData();
- ds_send_medicard8_warddruglist.clearData();
- var pid = "";
-
- if(sParam == "drg"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardpatinfo_wardpatlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardpatinfo_wardpatlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardpatinfo_wardpatlist.getColumn(row, "cretno"));
- }else if(sParam == "act"){
- ds_main_cond.setColumn(0, "pid", ds_main_wardactinfo_wardactlist.getColumn(row, "pid"));
- ds_main_cond.setColumn(0, "indd", ds_main_wardactinfo_wardactlist.getColumn(row, "indd"));
- ds_main_cond.setColumn(0, "cretno", ds_main_wardactinfo_wardactlist.getColumn(row, "cretno"));
- ds_main_cond.setColumn(0, "orddd", ds_main_wardactinfo_wardactlist.getColumn(row, "prcpdd"));
- }else{}
- //model.resetInstanceNode("/root/send/reqdata");
-
- ds_main_cond.setColumn(0, "yorddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),-1));
- ds_main_cond.setColumn(0, "torddd", getDateAddc(ds_main_cond.getColumn(0, "orddd"),+1));
-
- //---------------------(20080721)
- //ER 환자에 대한 선처치기능을 처리하기 위해서 ORDTYPE을 넘긴다.
- var ordtype = ds_main_wardpatinfo_wardpatlist.getColumn(row, "ordtype");
- ds_main_cond.setColumn(0, "ordtype", ordtype);
- //----------------------
- ds_send_reqdata.copyRow(0, ds_main_cond, 0);
-
- var oParam = {};
- oParam.id = "TRMNR08001";
- oParam.service = "caremedirecapp.CareMediRec";
- oParam.method = "reqGetwarddrugtimecomboList";
- oParam.inds = "reqcond=ds_send_reqdata";
- oParam.outds = "ds_init2_rgstddtminfo_rgstddtmlist=rgstddtmlist";
- oParam.async = false;
- //oParam.callback = "cf_TRMNR08001";
- tranf_submit(oParam); //처방일자 콤보
-
- //----------(20081226)
- if( ds_init2_rgstddtminfo_rgstddtmlist.rowcount > 0 ){ //자료가 존재하면 처음 index를 자동선택시킨다.
- group3.group5.cmbprcpddtm.index = 0;
- ds_main_cond.setColumn(0, "rgstddtm", group3.group5.cmbprcpddtm.value);
- group3_group5_cmbprcpddtm_onitemchanged();
- group3.group5.cmbprcpddtm.setFocus();
- } else {
- //화면정리를 위해서 호출한다.
- if(screen_mode == "pat"){
- fClickDrugList("drg", 0);
- }else if(screen_mode == "act"){
- fClickDrugList("act", 0);
- }else{}
- }
- //----------(20081226)
- }
- ]]></Script>
|